Este repositorio incluye versiones de código fuente y firmware para las impresoras 3D Original Prusa basadas en microcontroladores ARM de 32 bits.
Los modelos soportados actualmente son:
Ejecute git clone https://github.com/prusa3d/Prusa-Firmware-Buddy.git
.
Ejecute python utils/build.py
. Luego, los archivos binarios se almacenarán en ./build/products
.
.bbf
del firmware, utilice: ./utils/build.py --generate-bbf
.--build-type
para seleccionar las configuraciones de compilación que se crearán ( debug
, release
).--preset
para seleccionar para qué impresoras se debe crear el firmware.beta
. Puede cambiar la versión preliminar usando --prerelease alpha
o usar --final
para crear una versión final del firmware.--host-tools
para incluir herramientas de host en la compilación ( bin2cc
, png2font
, ...)--help
! Cree el firmware para MINI y XL en modo debug
:
python utils/build.py --preset mini,xl --build-type debug
Compile el firmware para MINI usando una versión personalizada de gcc-arm-none-eabi (disponible en $PATH
) y use Make
en lugar de Ninja
(no recomendado):
python utils/build.py --preset mini --toolchain cmake/AnyGccArmNoneEabi.cmake --generator ' Unix Makefiles '
Si tiene Python instalado y en su RUTA pero aún recibe el error cmake, Python3 not found.
Intente ejecutar Python y Python3 desde cmd. Si uno de ellos abre Microsoft Store en lugar de abrir el intérprete de Python o quejarse 'python3' is not recognized as an internal or external command, operable program or batch file.
Abra manage app execution aliases
y deshabilite la asociación App Installer
con python.exe
y python3.exe
.
El proceso de construcción de este proyecto está impulsado por CMake y build.py
es solo un contenedor de alto nivel a su alrededor. Como la mayoría de los IDE modernos admiten algún tipo de integración de CMake, debería ser posible utilizar casi cualquier editor para el desarrollo. A continuación se muestran algunos documentos que describen cómo configurar algunos editores de texto populares.
Si desea contribuir al código base, lea las Pautas de contribución.
Con el XL, la situación se vuelve un poco más compleja. El firmware de XLBuddy contiene firmwares para que los cachorros (Dwarf y Modularbed) los actualicen cuando sea necesario. Admitimos varias formas de tratar esos firmwares durante el desarrollo:
Cree el firmware Dwarf/Modularbed automáticamente y actualícelo al inicio con XLBuddy (el valor predeterminado)
Compile Dwarf/Modularbed desde un directorio fuente determinado y actualícelo al inicio con XLBuddy.
DWARF_SOURCE_DIR
/ MODULARBED_SOURCE_DIR
CMake variable de caché con el repositorio local que desea utilizar. 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
Utilice el firmware Dwarf/Modularbed prediseñado y actualícelo al iniciar con xlBuddy
DWARF_BINARY_PATH
/ MODULARBED_BINARY_PATH
. cmake .. --preset xl_release_boot -DDWARF_BINARY_PATH=/Downloads/dwarf-4.4.0-boot.bin
No incluya ningún firmware para cachorros y no actualice los cachorros con XLBuddy.
-DENABLE_PUPPY_BOOTLOAD=NO
ENABLE_PUPPY_BOOTLOAD
configurado en falso, el proyecto deshabilitará el flasheo de Puppy y la interacción con los cargadores de arranque de Puppy.Mantenga los cargadores de arranque pero no escriba firmware en el arranque.
-DPUPPY_SKIP_FLASH_FW=YES
PUPPY_SKIP_FLASH_FW
configurado en verdadero, el proyecto deshabilitará el flasheo de Puppy al arrancar.xl-dwarf_debug_boot
) en uno o más cachorros.puppy_task_body()
para evitar que Buddy reinicie el cachorro inmediatamente cuando el cachorro se detenga en el punto de interrupción.Consulte /ProjectOptions.cmake para obtener más información sobre esas variables de caché.
mkdir build-tests
cd build-tests
cmake ..
make tests
ctest .
La forma más sencilla de depurar (pasar a través) una prueba es especificar CMAKE_BUILD_TYPE al configurar cmake -DCMAKE_BUILD_TYPE=Debug ..
, compilarlo con make tests
como se indicó anteriormente y luego ejecutar la prueba con gdb
por ejemplo gdb tests/unit/configuration_store/eeprom_unit_tests
.
Para instalar firmware personalizado, debe romper el apéndice en la placa. Aprenda cómo hacerlo en el siguiente artículo https://help.prusa3d.com/article/zoiw36imrs-flashing-custom-firmware.
El código fuente del firmware tiene la licencia GNU General Public License v3.0 y los gráficos y el diseño tienen la licencia Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0). Las fuentes tienen licencias diferentes (ver LICENCIA).