يتضمن هذا المستودع إصدارات التعليمات البرمجية المصدر والبرامج الثابتة لطابعات Prusa ثلاثية الأبعاد الأصلية المستندة إلى وحدات التحكم الدقيقة ARM 32 بت.
النماذج المدعومة حاليًا هي:
قم بتشغيل 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 بدلاً من فتح مترجم 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
مجرد غلاف عالي المستوى حوله. نظرًا لأن معظم بيئات التطوير المتكاملة الحديثة تدعم نوعًا ما من تكامل CMake، فمن الممكن استخدام أي محرر تقريبًا للتطوير. فيما يلي بعض المستندات التي توضح كيفية إعداد بعض برامج تحرير النصوص الشائعة.
إذا كنت ترغب في المساهمة في قاعدة التعليمات البرمجية، يرجى قراءة إرشادات المساهمة.
مع XL، يصبح الوضع أكثر تعقيدًا بعض الشيء. يحتوي البرنامج الثابت لـ XLBuddy على برامج ثابتة للكلاب (Dwarf وModularbed) لتحديثها عند الضرورة. نحن ندعم عدة طرق للتعامل مع تلك البرامج الثابتة عند التطوير:
قم ببناء البرنامج الثابت Dwarf/Modularbed تلقائيًا وقم بوميضه عند بدء التشغيل بواسطة XLBuddy (الافتراضي)
قم ببناء Dwarf/Modularbed من دليل مصدر محدد وقم بوميضه عند بدء التشغيل بواسطة XLBuddy.
DWARF_SOURCE_DIR
/ MODULARBED_SOURCE_DIR
CMإنشاء متغير ذاكرة التخزين المؤقت باستخدام الريبو المحلي الذي تريد استخدامه. 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
على "خطأ"، سيقوم المشروع بتعطيل وميض 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). الخطوط مرخصة بموجب ترخيص مختلف (انظر الترخيص).