Go to file
Yuri D'Elia f95c47638d CircularIndex: fight against type promotion in size checks
To generate optimal code, size itself needs to be of the same type as
the index to avoid promotion to the largest type.

In full(), wrap the subtraction explicity in another type cast to avoid
another automatic type promotion.
2021-07-06 12:51:56 +02:00
.vscode Add vscode configuration to allow easier switching among firmware and unit tests 2021-05-31 12:28:47 +02:00
cmake Define missing definition of CMAKE_OBJDUMP 2021-06-15 06:53:03 +02:00
lib Add first unit test 2021-05-13 17:35:08 +02:00
src CircularIndex: fight against type promotion in size checks 2021-07-06 12:51:56 +02:00
tests CircularIndex: alternate index management for full capacity 2021-07-06 12:51:56 +02:00
utils build.py: Switch to AnyAvrGcc.cmake 2021-04-19 07:03:47 +02:00
.clang-format Do not indent namespaces 2021-05-25 12:23:29 +02:00
.cmake-format.py Prepare parts of the build system 2021-04-19 07:03:47 +02:00
.gitignore Prepare parts of the build system 2021-04-19 07:03:47 +02:00
.pre-commit-config.yaml Prepare parts of the build system 2021-04-19 07:03:47 +02:00
CMakeLists.txt Add user_input module and use it instead of raw buttons 2021-06-30 07:39:31 +02:00
Doxyfile Update doxyfile + document modules namespace 2021-06-30 07:39:31 +02:00
README.md Update description of the build process 2021-04-19 07:03:47 +02:00
version.txt Prepare parts of the build system 2021-04-19 07:03:47 +02:00

README.md

Prusa-Firmware-MMU-Private

How to prepare build env and tools

As the first step extract the AVR-GCC to some dir, e.g. /home/user/AVRToolchainMMU/avr8-gnu-toolchain-5.4.0

Add /home/user/AVRToolchainMMU/avr8-gnu-toolchain-5.4.0/bin to your PATH.

mkdir .dependencies
cd .dependencies
mkdir gcc-avr-5.4.0
cd ..
utils/bootstrap.py

bootstrap.py will now download all the "missing" dependencies into the .dependencies folder:

  • clang-format-9.0.0-noext
  • cmake-3.15.5
  • ninja-1.9.0

Note: bootstrap.py will not try to download the AVR-GCC as there is already a directory called gcc-avr-5.4.0. This will be fixed when we find out where to download the correct packages reliably.

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

In case you'd like to build the project directly via cmake you can use an approach like this:

mkdir build
cd build
cmake .. -G Ninja -DCMAKE_TOOLCHAIN_FILE=../cmake/AnyAvrGcc.cmake
ninja

Should produce a firmware.hex file as well.