Prusa Mini Firmware compilieren - howto  

  RSS
Karl Herbert
(@karl-herbert)
Famed Member

Hallo Leute,

nachdem ich einen gebrauchten und defekten Mini günstig erworben habe, Garantieansprüche diesbzgl. kein Thema für mich ist, habe ich mich entschlossen vorerst einige mechanischen Änderungen und Reparaturen durchzuführen und anschl. die Firmware anzupassen.

Die Mechanik ist nicht das Problem, auch nicht das Anpassen der FW sondern vielmehr das Compilieren derselben.

Vorerst wurde an der FW nichts geändert und wie folgt vorgegangen:

Klonen: git clone --recurse https://github.com/prusa3d/Prusa-Firmware-Buddy.git

zum Verzeichnis Prusa-Firmware-Buddy gewechselt

git init (mit und ohne init versucht - Ergebnis dasselbe)

python3 utils/build.py --printer mini --build-type debug

Ergebnis:

(Nachdem Wordfence ansch. das veröffentlichen technischer Daten/Inhalte blockiert - hier zum Download:)

Compiling-errors

Nun meine Frage an die Programmier bzw. C/C++ Profis: Wodurch wird dieser Fehler verursacht? Hat jemand einen gute Idee wie man eine Spur zu einer Lösung finden könnte?

Getestet habe ich dies auf 4 Rechnern, jeweils W7 und Linux Ubuntu 18.04.02

Danke für Eure Bemühungen!!

Schöne Grüße,
Karl

This topic was modified 2 months ago by Karl Herbert
Statt zu klagen, dass wir nicht alles haben, was wir wollen, sollten wir lieber dankbar sein, dass wir nicht alles bekommen, was wir verdienen....
Posted : 03/08/2020 1:55 pm
holger.s3
(@holger-s3)
Honorable Member

Hallo Karl,

hatte gerade etwas lange Weile und hab's mal eben nach der Anleitung auf Github mit Win10-64pro ausprobiert.

Dabei bekomme ich folgenden Text auf die Power-Shell Konsole:

>python utils/build.py --printer mini --build-type release
Downloading ninja-1.9.0
Extracting ninja-1.9.0
Downloading cmake-3.15.5
Extracting cmake-3.15.5
Downloading gcc-arm-none-eabi-7.3.1
Extracting gcc-arm-none-eabi-7.3.1
Downloading clang-format-9.0.0-noext
Extracting clang-format-9.0.0-noext
Downloading bootloader-mini-1.0.0
Extracting bootloader-mini-1.0.0
fatal: not a git repository (or any of the parent directories): .git
WARNING: Failed to check submodules status
Building mini_release_noboot
Building mini_release_emptyboot
Building mini_release_boot

Building finished: 3 success, 0 failure(s).
mini_release_noboot SUCCESS
mini_release_emptyboot SUCCESS
mini_release_boot SUCCESS

 

Also nur eine normale Warning. Bist Du sicher, dass Du alle libs (submodules) korrekt installiert hast?

Kontrolliere im Unterordner libs/, ob dort noch leere Verzeichnisse existieren. Falls ja, installiere die nach.

Auch mit der STM32Cube IDE erhalte ich eine Firmware.bin (je nach Build, ca. 700 - 800KB groß).

Mit VSCode habe ich es jetzt nicht probiert, wird aber wohl auch funktionieren.

Vermutlich liegt bei Dir auf allen 4 Rechnern der selbe Fehler vor. 

Ich besitze jedoch keinen Mini, um die erstellte Firmware zu Testen.

Viel Erfolg!

Grüße, Holger 🙂 

This post was modified 2 months ago by holger.s3
2x Personal MK3IR-BMG09 (Full) BEAR + MMU2S mod., ......
Posted : 06/08/2020 2:27 am
holger.s3
(@holger-s3)
Honorable Member

p.s. Welche Python Version ist bei Dir installiert?

Requirements

  • Python 3.6 or newer
  • python3-pip

 

z. B.

$ python --version
Python 3.8.5

 

Grüße, Holger 🙂 

 

2x Personal MK3IR-BMG09 (Full) BEAR + MMU2S mod., ......
Posted : 06/08/2020 5:10 am
Karl Herbert
(@karl-herbert)
Famed Member

@holger-s3

Servus Holger,

vielen Dank für die Rückmeldung! Du hast um 3 Uhr morgens Langeweile?

Ich habe Python 3.8.1 64-bit auf allen Rechnern installiert, auch pip und git. Grundsätzlich mache ich alle Firmwarearbeiten auf meinem kleinen HP Elitebook. Da ist mir aber gerade die Festplatte eingegangen. Wie gesagt, weder das clonen des repos. läuft, noch die Downloadvariante.

"Also nur eine normale Warning. Bist Du sicher, dass Du alle libs (submodules) korrekt installiert hast?

Kontrolliere im Unterordner libs/, ob dort noch leere Verzeichnisse existieren. Falls ja, installiere die nach."

Könntest Du dies etwas genauer ausführen? Welche Verzeichnisse bzw. Submodule sind im Ordner /libs/ zu installieren?

Danke und schöne Grüße aus Wien,

Karl

 

 

This post was modified 2 months ago by Karl Herbert
Statt zu klagen, dass wir nicht alles haben, was wir wollen, sollten wir lieber dankbar sein, dass wir nicht alles bekommen, was wir verdienen....
Posted : 06/08/2020 9:33 pm
holger.s3
(@holger-s3)
Honorable Member

@karl-herbert

Langeweile um die Zeit kann vorkommen, besonders wenn es eine warme Nacht ist  😊 .

Endlich ist die alte Festplatte eingegangen 😋 jetzt wird's Zeit für eine SSD und der Turbo eingelegt 🤣 .

Wenn Du Git zum kompilieren benutzt kommt diese Warning auch nicht, das liegt in diesem Fall einfach am Windows, die "Submodule" können nicht überprüft werden. Wenn du hier und hier auf Github schaust, siehst Du einige Ordner die jeweils nur einen Link darstellen. Der Code hinter den Links muss dort heruntergeladen werden und in dem entsprechenden Ordner entpackt und kopiert werden. Das macht unter Git die Anweisung "git clone --recurse https://github.com/prusa3d/Prusa-Firmware-Buddy.gi t" von allein und muss nicht mehr manuell durchgeführt werden. Man sollte aber kontrollieren, ob es auch korrekt geklappt hat und sich alle Daten wie erwartet in den Ordnern befinden, Github ist leider nicht unfehlbar, besonders wenn es zu seltsamen Fehlern beim kompilieren kommt. Bei mir hat "Git clone" jedenfalls funktioniert.

Insgesamt konnte ich bisher keinen Fehler in der Beschreibung zum Kompilieren finden, funktioniert bei mir mit Windows, Git und der STM32CodeIDE. Es gibt bestimmt noch mehrere weitere Möglichkeiten zum Übersetzen, Prusa hat das nur angedeutet..... Dir wird es auch gelingen, alles kein Hexenwerk.

Grüße, Holger 🙂 

 

 

2x Personal MK3IR-BMG09 (Full) BEAR + MMU2S mod., ......
Posted : 06/08/2020 10:20 pm
Karl Herbert
(@karl-herbert)
Famed Member

@holger-s3

Vielen Dank für Deine Hilfe! Ich werde mir die Sache mal in Ruhe anschauen. Aber zuerst organisiere ich mir einen neuen Laptop. Der HP hat ausgedient und da möchte ich nichts mehr investieren. Wird lustig, wieder alles so einzurichten, dass alle meine tools rund ums Raspi und MK3 wieder laufen. Man hat ja sonst nichts zu tun 😋 ...

Der Mini läuft inzwischen. Einmal komplett zerlegt, einige Teile ausgetauscht und wieder zusammengebaut. Ich bin überrascht wie gut der "Kleine" druckt, aber man soll den Tag nicht vor dem Abend loben. Wenn er sich bewährt, werde ich den Mini wohl als Arbeitstier einsetzen und soweit nichts daran ändern (vielleicht eine Mini BMG Variante). Die Sache mit der Firmware ist halt doch interessant.

Schöne Grüße,

Karl

This post was modified 2 months ago 2 times by Karl Herbert
Statt zu klagen, dass wir nicht alles haben, was wir wollen, sollten wir lieber dankbar sein, dass wir nicht alles bekommen, was wir verdienen....
Posted : 06/08/2020 10:31 pm
Karl Herbert
(@karl-herbert)
Famed Member

So, habe das Ganze mal erneut getestet.

Mit folgendem Kommando den Download durchgeführt:

git clone --recurse https://github.com/prusa3d/Prusa-Firmware-Buddy.git -b RELEASE-4.1.0

Ordner gewechselt:

cd Prusa-Firmware-Buddy

compiliert:

python utils/build.py

...hat funktioniert:

..einige Zeilen in "Configuration_A3ides_2209_MINI.h" geändert und folgendes Ergebnis:

Für mich sieht das so aus, als dass eine Checksumme nicht passt o.Ä.?

Habs auch hiermit versucht, aber keine Änderung -> failed:

Git status

Git add include/marlin/ Configuration_A3ides_2209_MINI.h

Git status

Git diff –-staged

Git config –global user.email „meine@emailadresse“

Git commit

Git checkout master

Git branch M500

???

Schöne Grüße,

Karl

 

Statt zu klagen, dass wir nicht alles haben, was wir wollen, sollten wir lieber dankbar sein, dass wir nicht alles bekommen, was wir verdienen....
Posted : 11/08/2020 10:13 pm
holger.s3
(@holger-s3)
Honorable Member

Moin Karl,

ich hab mal wieder Langeweile gehabt 😊 .

Ich vermute Du wolltest dort villt. diese Zeile ändern? :

#define EEPROM_SETTINGS // Enable for M500 and M501 commands

Ich denke, Prusa will einfach nicht, dass es jemand so simpel in Betrieb nimmt und hat eine zus. Barriere eingebaut.

Der notwendige Source wird einfach nicht mit kompiliert und fehlt daher zum Erstellen der Firmware, was mit einem Fehler quittiert wird.

Ich habe die fehlenden Zeilen ergänzt und kompiliert. Ob es im Drucker funktioniert weis ich jedoch nicht, da ich keinen Mini besitze, um es zu probieren. Ich habe die 4.2.0 benutzt, bei der 4.1.0 ist es wohl ähnlich.

Rest per PN.

Grüße, Holger 🙂 

>python utils/build.py --printer mini --build-type debug

Building mini_debug_noboot
Building mini_debug_emptyboot
Building mini_debug_boot

Building finished: 3 success, 0 failure(s).
mini_debug_noboot SUCCESS
mini_debug_emptyboot SUCCESS
mini_debug_boot SUCCESS

python utils/build.py --printer mini --build-type release

Building mini_release_noboot
Building mini_release_emptyboot
Building mini_release_boot

Building finished: 3 success, 0 failure(s).
mini_release_noboot SUCCESS
mini_release_emptyboot SUCCESS
mini_release_boot SUCCESS

2x Personal MK3IR-BMG09 (Full) BEAR + MMU2S mod., ......
Posted : 12/08/2020 12:50 am
Share:

Please Login or Register