Este repositório inclui código-fonte e versões de firmware para as impressoras 3D Prusa originais baseadas em microcontroladores ARM de 32 bits.
Os modelos atualmente suportados são:
Execute git clone https://github.com/prusa3d/Prusa-Firmware-Buddy.git .
Execute python utils/build.py . Os binários serão armazenados em ./build/products .
.bbf do firmware, use: ./utils/build.py --generate-bbf .--build-type para selecionar configurações de compilação a serem construídas ( debug , release ).--preset para selecionar para quais impressoras o firmware deve ser construído.beta . Você pode alterar o pré-lançamento usando --prerelease alpha ou usar --final para construir uma versão final do firmware.--host-tools para incluir ferramentas de host na compilação ( bin2cc , png2font , ...)--help ! Construa o firmware para MINI e XL em modo debug :
python utils/build.py --preset mini,xl --build-type debug Construa o firmware para MINI usando uma versão personalizada de gcc-arm-none-eabi (disponível em $PATH ) e use Make em vez de Ninja (não recomendado):
python utils/build.py --preset mini --toolchain cmake/AnyGccArmNoneEabi.cmake --generator ' Unix Makefiles ' Se você tem o python instalado e em seu PATH, mas ainda está recebendo o erro cmake Python3 not found. Tente executar python e python3 no cmd. Se um deles abrir a Microsoft Store em vez de abrir o interpretador python ou reclamar 'python3' is not recognized as an internal or external command, operable program or batch file. Abra manage app execution aliases e desative a associação App Installer com python.exe e python3.exe .
O processo de construção deste projeto é conduzido pelo CMake e build.py é apenas um wrapper de alto nível em torno dele. Como a maioria dos IDEs modernos suporta algum tipo de integração com o CMake, deve ser possível usar praticamente qualquer editor para desenvolvimento. Abaixo estão alguns documentos que descrevem como configurar alguns editores de texto populares.
Se você quiser contribuir com a base de código, leia as Diretrizes de Contribuição.
Com o XL, a situação fica um pouco mais complexa. O firmware do XLBuddy contém firmwares para os filhotes (Dwarf e Modularbed) para atualizá-los quando necessário. Apoiamos diversas maneiras de lidar com esses firmwares durante o desenvolvimento:
Crie firmware Dwarf/Modularbed automaticamente e atualize-o na inicialização pelo XLBuddy (o padrão)
Construa Dwarf/Modularbed a partir de um determinado diretório de origem e atualize-o na inicialização pelo XLBuddy.
DWARF_SOURCE_DIR / MODULARBED_SOURCE_DIR CMake com o repositório local que você deseja usar. 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
Use firmware Dwarf/Modularbed pré-construído e atualize-o na inicialização por xlBuddy
DWARF_BINARY_PATH / MODULARBED_BINARY_PATH . cmake .. --preset xl_release_boot -DDWARF_BINARY_PATH=/Downloads/dwarf-4.4.0-boot.bin
Não inclua nenhum firmware de filhote e não atualize os filhotes pelo XLBuddy.
-DENABLE_PUPPY_BOOTLOAD=NO
ENABLE_PUPPY_BOOTLOAD definido como falso, o projeto desabilitará o flash do Puppy e a interação com os bootloaders do Puppy.Mantenha os bootloaders, mas não grave firmware na inicialização.
-DPUPPY_SKIP_FLASH_FW=YES
PUPPY_SKIP_FLASH_FW definido como verdadeiro, o projeto desabilitará o flash do Puppy na inicialização.xl-dwarf_debug_boot ) em um ou mais filhotes.puppy_task_body() para evitar que o amigo reinicie o filhote imediatamente quando o filhote parar no ponto de interrupção.Consulte /ProjectOptions.cmake para obter mais informações sobre essas variáveis de cache.
mkdir build-tests
cd build-tests
cmake ..
make tests
ctest . A maneira mais simples de depurar (passo a passo) um teste é especificar CMAKE_BUILD_TYPE ao configurar cmake -DCMAKE_BUILD_TYPE=Debug .. , construí-lo com make tests conforme declarado anteriormente e então executar o teste com gdb <path to test binary> por exemplo gdb tests/unit/configuration_store/eeprom_unit_tests .
Para instalar o firmware personalizado, você precisa quebrar o apêndice na placa. Aprenda como fazer isso no seguinte artigo https://help.prusa3d.com/article/zoiw36imrs-flashing-custom-firmware.
O código-fonte do firmware é licenciado sob a GNU General Public License v3.0 e os gráficos e design são licenciados sob Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0). As fontes são licenciadas sob licenças diferentes (consulte LICENÇA).