Этот репозиторий содержит исходный код и версии прошивки для 3D-принтеров Original Prusa на базе 32-битных микроконтроллеров ARM.
В настоящее время поддерживаются следующие модели:
Запустите git clone https://github.com/prusa3d/Prusa-Firmware-Buddy.git
.
Запустите python utils/build.py
. Затем двоичные файлы будут храниться в папке ./build/products
.
.bbf
, используйте: ./utils/build.py --generate-bbf
.--build-type
для выбора конфигураций сборки, которые нужно собрать ( debug
, release
).--preset
, чтобы выбрать, для каких принтеров должна быть создана прошивка.beta
. Вы можете изменить предварительную версию, используя --prerelease alpha
, или использовать --final
для сборки финальной версии прошивки.--host-tools
, чтобы включить в сборку инструменты хоста ( bin2cc
, png2font
, ...)--help
! Соберите прошивку для MINI и XL в режиме debug
:
python utils/build.py --preset mini,xl --build-type debug
Создайте прошивку для MINI, используя специальную версию gcc-arm-none-eabi (доступную в $PATH
) и используйте Make
вместо Ninja
(не рекомендуется):
python utils/build.py --preset mini --toolchain cmake/AnyGccArmNoneEabi.cmake --generator ' Unix Makefiles '
Если у вас установлен Python и в вашем PATH, но вы все равно получаете ошибку cmake Python3 not found.
Попробуйте запустить Python и Python3 из cmd. Если один из них открывает Microsoft Store вместо открытия интерпретатора Python или жалобы, 'python3' is not recognized as an internal or external command, operable program or batch file.
Откройте manage app execution aliases
и отключите связь App Installer
с python.exe
и python3.exe
.
Процесс сборки этого проекта управляется CMake, а build.py
— это всего лишь его высокоуровневая оболочка. Поскольку большинство современных IDE поддерживают некоторую интеграцию с CMake, для разработки можно использовать практически любой редактор. Ниже приведены некоторые документы, описывающие, как настроить некоторые популярные текстовые редакторы.
Если вы хотите внести свой вклад в базу кода, прочтите Руководство по участию.
С XL ситуация становится немного сложнее. Прошивка XLBuddy содержит прошивки для щенков (Dwarf и Modularbed), которые можно прошивать при необходимости. Мы поддерживаем несколько способов работы с этими прошивками при разработке:
Автоматически создайте прошивку Dwarf/Modularbed и прошивайте ее при запуске с помощью XLBuddy (по умолчанию)
Соберите Dwarf/Modularbed из заданного исходного каталога и прошейте его при запуске с помощью XLBuddy.
DWARF_SOURCE_DIR
/ MODULARBED_SOURCE_DIR
CMake с локальным репозиторием, который вы хотите использовать. 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
Используйте готовую прошивку Dwarf/Modularbed и прошивайте ее при запуске с помощью xlBuddy.
DWARF_BINARY_PATH
/ MODULARBED_BINARY_PATH
. cmake .. --preset xl_release_boot -DDWARF_BINARY_PATH=/Downloads/dwarf-4.4.0-boot.bin
Не включайте никаких прошивок щенков и не прошивайте щенков с помощью XLBuddy.
-DENABLE_PUPPY_BOOTLOAD=NO
ENABLE_PUPPY_BOOTLOAD
установлено значение false, проект отключит прошивку Puppy и взаимодействие с загрузчиками Puppy.Сохраняйте загрузчики, но не записывайте прошивку при загрузке.
-DPUPPY_SKIP_FLASH_FW=YES
PUPPY_SKIP_FLASH_FW
установлено значение true, проект отключит прошивку Puppy при загрузке.xl-dwarf_debug_boot
) на одном или нескольких щенках.puppy_task_body()
чтобы приятель не мог немедленно сбросить настройки щенка, когда щенок останавливается на точке останова.См. /ProjectOptions.cmake для получения дополнительной информации об этих переменных кэша.
mkdir build-tests
cd build-tests
cmake ..
make tests
ctest .
Самый простой способ отладки (пошагового выполнения) теста — указать CMAKE_BUILD_TYPE при настройке cmake -DCMAKE_BUILD_TYPE=Debug ..
, построить его с помощью make tests
, как указано ранее, а затем запустить тест с помощью gdb
например, gdb tests/unit/configuration_store/eeprom_unit_tests
.
Чтобы установить кастомную прошивку, придется ломать аппендикс на плате. Узнайте, как это сделать, в следующей статье https://help.prusa3d.com/article/zoiw36imrs-flashing-custom-firmware.
Исходный код прошивки распространяется по лицензии GNU General Public License v3.0, а графика и дизайн — по лицензии Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0). Шрифты лицензируются по другой лицензии (см. ЛИЦЕНЗИЯ).