Dieses Repository enthält Quellcode- und Firmware-Versionen für die Original Prusa 3D-Drucker, die auf den 32-Bit-ARM-Mikrocontrollern basieren.
Die derzeit unterstützten Modelle sind:
Führen Sie git clone https://github.com/prusa3d/Prusa-Firmware-Buddy.git
aus.
Führen Sie python utils/build.py
aus. Die Binärdateien werden dann unter ./build/products
gespeichert.
.bbf
Versionen der Firmware zu generieren, verwenden Sie: ./utils/build.py --generate-bbf
.--build-type
, um zu erstellende Build-Konfigurationen auszuwählen ( debug
, release
).--preset
, um auszuwählen, für welche Drucker die Firmware erstellt werden soll.beta
eingestellt ist. Sie können die Vorabversion mit --prerelease alpha
ändern oder mit --final
eine endgültige Version der Firmware erstellen.--host-tools
, um Host-Tools in den Build einzubinden ( bin2cc
, png2font
, ...).--help
! Erstellen Sie die Firmware für MINI und XL im debug
-Modus:
python utils/build.py --preset mini,xl --build-type debug
Erstellen Sie die Firmware für MINI mit einer benutzerdefinierten Version von gcc-arm-none-eabi (verfügbar in $PATH
) und verwenden Sie Make
anstelle von Ninja
(nicht empfohlen):
python utils/build.py --preset mini --toolchain cmake/AnyGccArmNoneEabi.cmake --generator ' Unix Makefiles '
Wenn Sie Python installiert und in Ihrem PATH haben, aber immer noch der cmake-Fehler Python3 not found.
Versuchen Sie, Python und Python3 über cmd auszuführen. Wenn einer davon den Microsoft Store öffnet, anstatt entweder den Python-Interpreter zu öffnen oder sich zu beschweren 'python3' is not recognized as an internal or external command, operable program or batch file.
Öffnen Sie manage app execution aliases
und deaktivieren Sie App Installer
Zuordnung mit python.exe
und python3.exe
.
Der Build-Prozess dieses Projekts wird von CMake gesteuert und build.py
ist nur ein High-Level-Wrapper darum herum. Da die meisten modernen IDEs eine Art CMake-Integration unterstützen, sollte es möglich sein, nahezu jeden Editor für die Entwicklung zu verwenden. Nachfolgend finden Sie einige Dokumente, die die Einrichtung einiger gängiger Texteditoren beschreiben.
Wenn Sie zur Codebasis beitragen möchten, lesen Sie bitte die Beitragsrichtlinien.
Beim XL wird die Situation etwas komplexer. Die Firmware von XLBuddy enthält Firmwares für die Welpen (Dwarf und Modularbed), um sie bei Bedarf zu flashen. Wir unterstützen verschiedene Möglichkeiten, mit diesen Firmwares bei der Entwicklung umzugehen:
Erstellen Sie die Dwarf-/Modularbed-Firmware automatisch und flashen Sie sie beim Start durch XLBuddy (Standardeinstellung).
Erstellen Sie Dwarf/Modularbed aus einem bestimmten Quellverzeichnis und flashen Sie es beim Start durch XLBuddy.
DWARF_SOURCE_DIR
/ MODULARBED_SOURCE_DIR
mit dem lokalen Repo an, das Sie verwenden möchten. cmake .. --preset xl_release_boot -DMODULARBED_SOURCE_DIR=/Projects/Prusa-Firmware-Buddy-ModularBed
cmake .. --preset xl_release_boot
-DMODULARBED_SOURCE_DIR=/Projects/Prusa-Firmware-Buddy-ModularBed
-DMODULARBED_BINARY_DIR=/Projects/Prusa-Firmware-Buddy-ModularBed/build
Verwenden Sie vorgefertigte Dwarf/Modularbed-Firmware und flashen Sie sie beim Start durch xlBuddy
DWARF_BINARY_PATH
/ MODULARBED_BINARY_PATH
. cmake .. --preset xl_release_boot -DDWARF_BINARY_PATH=/Downloads/dwarf-4.4.0-boot.bin
Fügen Sie keine Welpen-Firmware hinzu und flashen Sie die Welpen nicht von XLBuddy.
-DENABLE_PUPPY_BOOTLOAD=NO
ENABLE_PUPPY_BOOTLOAD
auf „false“ gesetzt ist, deaktiviert das Projekt das Puppy-Flashen und die Interaktion mit Puppy-Bootloadern.Behalten Sie die Bootloader bei, aber schreiben Sie beim Booten keine Firmware.
-DPUPPY_SKIP_FLASH_FW=YES
PUPPY_SKIP_FLASH_FW
auf „true“ gesetzt ist, deaktiviert das Projekt das Puppy-Flashen beim Booten.xl-dwarf_debug_boot
) für einen oder mehrere Welpen.puppy_task_body()
um zu verhindern, dass Buddy den Welpen sofort zurücksetzt, wenn der Welpe am Haltepunkt stoppt.Weitere Informationen zu diesen Cache-Variablen finden Sie unter /ProjectOptions.cmake.
mkdir build-tests
cd build-tests
cmake ..
make tests
ctest .
Der einfachste Weg, einen Test zu debuggen (durchzugehen), besteht darin, bei der Konfiguration von cmake -DCMAKE_BUILD_TYPE=Debug ..
CMAKE_BUILD_TYPE anzugeben, ihn wie zuvor angegeben mit make tests
zu erstellen und den Test dann mit gdb
auszuführen, z. B. gdb tests/unit/configuration_store/eeprom_unit_tests
.
Um benutzerdefinierte Firmware zu installieren, müssen Sie den Anhang auf der Platine aufbrechen. Erfahren Sie im folgenden Artikel, wie das geht: https://help.prusa3d.com/article/zoiw36imrs-flashing-custom-firmware.
Der Firmware-Quellcode ist unter der GNU General Public License v3.0 lizenziert und die Grafiken und das Design sind unter Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) lizenziert. Schriftarten unterliegen einer anderen Lizenz (siehe LIZENZ).