From 8d9e9ea8b6767ce85d04391c2379ed97fdc79919 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Thu, 31 Aug 2023 07:59:07 +0200 Subject: [PATCH] First update of README --- README.md | 43 ++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 40 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 29ac5c1..f82b684 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,21 @@ # Prusa-Firmware-MMU-Private +This repository includes source code and firmware releases for the Original Prusa Multi Material Upgrade based on 8-bit ATMEL microcontroller. -## How to prepare build env and tools +The currently supported models are: +- Original Prusa MMU3 +- Original Prusa MMU2S + +## Getting Started + +### Requirements + +- Python 3.6 or newer (with pip) + +### Cloning this repository + +Run `git clone https://github.com/prusa3d/Prusa-Firmware-MMU.git`. + +### How to prepare build env and tools Run `./utils/bootstrap.py` `bootstrap.py` will now download all the "missing" dependencies into the `.dependencies` folder: @@ -9,13 +24,13 @@ Run `./utils/bootstrap.py` - ninja-1.10.2 - avr-gcc-7.3.0 -## How to build the preliminary project so far: +### How to build the preliminary project so far: Now the process is the same as in the Buddy Firmware: ``` ./utils/build.py ``` -builds the firmware.hex in build/mmu_release +builds the `MMU3_..+`` in build/release folder In case you'd like to build the project directly via cmake you can use an approach like this: ``` @@ -26,3 +41,25 @@ ninja ``` It will produce a `MMU3_.hex` file. + +### Development + +The build process of this project is driven by CMake and `build.py` is just a high-level wrapper around it. As most modern IDEs support some kind of CMake integration, it should be possible to use almost any editor for development. Below are some documents describing how to setup some popular text editors. + +- Visual Studio Code +- Vim +- Other LSP-based IDEs (Atom, Sublime Text, ...) + +#### Formatting + +All the source code in this repository is automatically formatted: + +- C/C++ files using [clang-format](https://clang.llvm.org/docs/ClangFormat.html), +- Python files using [yapf](https://github.com/google/yapf), +- and CMake files using [cmake-format](https://github.com/cheshirekow/cmake_format). + +If you want to contribute, make sure to install [pre-commit](https://pre-commit.com) and then run `pre-commit install` within the repository. This makes sure that all your future commits will be formatted appropriately. Our build server automatically rejects improperly formatted pull requests. + +## License + +The firmware source code is licensed under the GNU General Public License v3.0 and the graphics and design are licensed under Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0). Fonts are licensed under different license (see [LICENSE](LICENSE.md)).