Repositori ini mencakup kode sumber dan rilis firmware untuk printer 3D Prusa Asli berdasarkan mikrokontroler ARM 32-bit.
Model yang didukung saat ini adalah:
Jalankan git clone https://github.com/prusa3d/Prusa-Firmware-Buddy.git
.
Jalankan python utils/build.py
. Biner tersebut kemudian akan disimpan di bawah ./build/products
.
.bbf
, gunakan: ./utils/build.py --generate-bbf
.--build-type
untuk memilih konfigurasi build yang akan dibuat ( debug
, release
).--preset
untuk memilih printer mana yang firmwarenya harus dibuat.beta
. Anda dapat mengubah prarilis menggunakan --prerelease alpha
, atau menggunakan --final
untuk membuat versi final firmware.--host-tools
untuk menyertakan alat host dalam build ( bin2cc
, png2font
, ...)--help
! Bangun firmware untuk MINI dan XL dalam mode debug
:
python utils/build.py --preset mini,xl --build-type debug
Buat firmware untuk MINI menggunakan versi khusus gcc-arm-none-eabi (tersedia dalam $PATH
) dan gunakan Make
alih-alih Ninja
(tidak disarankan):
python utils/build.py --preset mini --toolchain cmake/AnyGccArmNoneEabi.cmake --generator ' Unix Makefiles '
Jika Anda telah menginstal python dan di PATH Anda tetapi masih mendapatkan kesalahan cmake, Python3 not found.
Coba jalankan python dan python3 dari cmd. Jika salah satunya membuka Microsoft Store alih-alih membuka juru bahasa python atau mengeluh 'python3' is not recognized as an internal or external command, operable program or batch file.
Buka manage app execution aliases
dan nonaktifkan asosiasi App Installer
dengan python.exe
dan python3.exe
.
Proses pembangunan proyek ini didorong oleh CMake dan build.py
hanyalah pembungkus tingkat tinggi di sekitarnya. Karena sebagian besar IDE modern mendukung semacam integrasi CMake, hampir semua editor dapat digunakan untuk pengembangan. Di bawah ini adalah beberapa dokumen yang menjelaskan cara menyiapkan beberapa editor teks populer.
Jika Anda ingin berkontribusi pada basis kode, harap baca Pedoman Kontribusi.
Dengan XL, situasinya menjadi lebih rumit. Firmware XLBuddy berisi firmware untuk anak anjing (Dwarf dan Modularbed) untuk mem-flash-nya bila diperlukan. Kami mendukung beberapa cara menangani firmware tersebut saat mengembangkan:
Buat firmware Dwarf/Modularbed secara otomatis dan flash saat startup oleh XLBuddy (default)
Bangun Dwarf/Modularbed dari direktori sumber tertentu dan flash saat startup oleh XLBuddy.
DWARF_SOURCE_DIR
/ MODULARBED_SOURCE_DIR
CBuat variabel cache dengan repo lokal yang ingin Anda gunakan. 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
Gunakan firmware Dwarf/Modularbed bawaan dan flash saat startup oleh xlBuddy
DWARF_BINARY_PATH
/ MODULARBED_BINARY_PATH
. cmake .. --preset xl_release_boot -DDWARF_BINARY_PATH=/Downloads/dwarf-4.4.0-boot.bin
Jangan sertakan firmware anak anjing apa pun, dan jangan mem-flash anak anjing tersebut dengan XLBuddy.
-DENABLE_PUPPY_BOOTLOAD=NO
ENABLE_PUPPY_BOOTLOAD
disetel ke false, proyek akan menonaktifkan flashing Puppy & interaksi dengan bootloader Puppy.Pertahankan bootloader tetapi jangan menulis firmware saat boot.
-DPUPPY_SKIP_FLASH_FW=YES
PUPPY_SKIP_FLASH_FW
disetel ke true, proyek akan menonaktifkan flashing Puppy saat boot.xl-dwarf_debug_boot
) pada satu atau lebih anak anjing.puppy_task_body()
untuk mencegah sobat menyetel ulang anak anjing segera ketika anak anjing berhenti pada breakpoint.Lihat /ProjectOptions.cmake untuk informasi selengkapnya tentang variabel cache tersebut.
mkdir build-tests
cd build-tests
cmake ..
make tests
ctest .
Cara paling sederhana untuk men-debug (melangkah melalui) suatu pengujian adalah dengan menentukan CMAKE_BUILD_TYPE ketika mengonfigurasi cmake -DCMAKE_BUILD_TYPE=Debug ..
, buat dengan make tests
seperti yang dinyatakan sebelumnya dan kemudian jalankan tes dengan gdb
misalnya gdb tests/unit/configuration_store/eeprom_unit_tests
.
Untuk menginstal firmware khusus, Anda harus memecahkan lampiran di papan. Pelajari caranya di artikel berikut https://help.prusa3d.com/article/zoiw36imrs-flashing-custom-firmware.
Kode sumber firmware dilisensikan di bawah GNU General Public License v3.0 dan grafis serta desainnya dilisensikan di bawah Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0). Font dilisensikan dengan lisensi yang berbeda (lihat LISENSI).