Updated Howto: Firmware mit PlatformIO selbst kompilieren (markdown)
@@ -26,7 +26,7 @@ Zuerst brauchen wir Visual Studio Code. Dies können wir direkt von https://code
|
|||||||
|
|
||||||
### 2.2 Installation von PlatformIO
|
### 2.2 Installation von PlatformIO
|
||||||
|
|
||||||
Für PlatformIO brauchen wir nicht (wie meistens angenommen) irgendwas neues herunterladen oder manuell installieren. Stattdessen lässt sich diese Erweiterung direkt innerhalb der IDE installieren.
|
Für PlatformIO brauchen wir nicht (wie meistens angenommen) irgendwas Neues herunterladen oder manuell installieren. Stattdessen lässt sich diese Erweiterung direkt innerhalb der IDE installieren.
|
||||||
|
|
||||||
Hierzu klicken wir links auf das Symbol, welches wie ein Quadrat, bestehend aus 4 Quadraten aussieht und geben in die Suchleiste oben "platformio" ein. Der erste Treffer sollte das Plugin zeigen, welches wir dann mit einem Klick auf "Installieren" direkt herunterladen und installieren.
|
Hierzu klicken wir links auf das Symbol, welches wie ein Quadrat, bestehend aus 4 Quadraten aussieht und geben in die Suchleiste oben "platformio" ein. Der erste Treffer sollte das Plugin zeigen, welches wir dann mit einem Klick auf "Installieren" direkt herunterladen und installieren.
|
||||||
|
|
||||||
@@ -34,13 +34,13 @@ Wer will, kann hier auch gleich das Sprachpaket seiner Wahl installieren (z.B. D
|
|||||||
|
|
||||||
[[ https://raw.githubusercontent.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/master/images/platformio_01_install.jpg | width = 1000px ]]
|
[[ https://raw.githubusercontent.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/master/images/platformio_01_install.jpg | width = 1000px ]]
|
||||||
|
|
||||||
Nach der Installation sollte der blaue Button auf "uninstall" wechseln und links in der Leiste mit den Symbolen ein neues auftauchen, welches wie ein Alien aussieht.
|
Nach der Installation sollte der blaue Button auf "uninstall" wechseln und links in der Leiste ein neues Symbol auftauchen, welches wie ein Alien aussieht.
|
||||||
|
|
||||||
Die Installation ist damit abgeschlossen. Eventuell tauchen unten rechts noch Meldungen über Updates von Komponenten auf. Diese kann man bestätigen und dann einmal die gesamte IDE neustarten.
|
Die Installation ist damit abgeschlossen. Eventuell tauchen unten rechts noch Meldungen über Updates von Komponenten auf. Diese kann man bestätigen und dann einmal die gesamte IDE neustarten.
|
||||||
|
|
||||||
## 3. Herunterladen des Firmware-Quellcodes
|
## 3. Herunterladen des Firmware-Quellcodes
|
||||||
|
|
||||||
Ich empfehle, immer eine bestimmte Version des Quellcodes herunterzuladen, da es sein kann, dass der _Master_, also der wirklich aktuellste Stand der Firmware, sich in einem instabilen Zustand befindet. Man _kann_ natürlich auch den Master nutzen, doch dann muss einem bewusst sein, dass hier Änderungen vorhanden sind, die bisher noch nicht für die Öffentlichkeit bestimmt sind sich somit von den .hex Releaseversionen unterscheiden.
|
Ich empfehle, immer eine bestimmte Version des Quellcodes herunterzuladen, da es sein kann, dass der _Master_, also der wirklich aktuelle Stand der Firmware, sich in einem instabilen Zustand befindet. Man _kann_ natürlich auch den Master nutzen, doch dann muss einem bewusst sein, dass hier Änderungen vorhanden sind, die bisher noch nicht für die Öffentlichkeit bestimmt sind sich somit von den .hex Releaseversionen unterscheiden.
|
||||||
|
|
||||||
Um eine bestimmte Version herunterzuladen, klicken wir links oben auf "switch branches/tags" und dort auf den Reiter "Tags". Hier suchen wir die gewünschte Version und klicken sie an. Daraufhin wechselt die gesamte Quellcodeseite auf den Stand zu diesem Zeitpunkt und man kann oben rechts auf den grünen Button klicken, der mit **Code** beschriftet ist und hier beispielsweise den Code als .zip-Datei herunterladen.
|
Um eine bestimmte Version herunterzuladen, klicken wir links oben auf "switch branches/tags" und dort auf den Reiter "Tags". Hier suchen wir die gewünschte Version und klicken sie an. Daraufhin wechselt die gesamte Quellcodeseite auf den Stand zu diesem Zeitpunkt und man kann oben rechts auf den grünen Button klicken, der mit **Code** beschriftet ist und hier beispielsweise den Code als .zip-Datei herunterladen.
|
||||||
|
|
||||||
@@ -54,7 +54,7 @@ Alternativ liegt übrigens jedem Release auch der zugehörige Quellcode als Zip
|
|||||||
|
|
||||||
Haben wir unseren gewünschten Quellcode heruntergeladen, muss dieser natürlich entpackt werden. Am besten an einen Ort, den man leicht wiederfindet, und der nicht zu tief auf der Festplatte vergaben ist, da auch die Pfadlänge gerade unter älteren Windows-Versionen zu einem Problem werden kann.
|
Haben wir unseren gewünschten Quellcode heruntergeladen, muss dieser natürlich entpackt werden. Am besten an einen Ort, den man leicht wiederfindet, und der nicht zu tief auf der Festplatte vergaben ist, da auch die Pfadlänge gerade unter älteren Windows-Versionen zu einem Problem werden kann.
|
||||||
|
|
||||||
Der entpackte Ordner sieht nun nicht mehr sehr übersichtlich aus und beinhaltet sowohl sichtbare, als auch versteckte Dateien. (Dazu später mehr).
|
Der entpackte Ordner sieht nun nicht mehr sehr übersichtlich aus und beinhaltet sowohl sichtbare als auch versteckte Dateien. (Dazu später mehr).
|
||||||
|
|
||||||
[[ https://raw.githubusercontent.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/master/images/platformio_04_unzipped.jpg | width = 300px ]]
|
[[ https://raw.githubusercontent.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/master/images/platformio_04_unzipped.jpg | width = 300px ]]
|
||||||
|
|
||||||
@@ -96,7 +96,7 @@ Also navigieren wir zu **/Marlin/src/pins/ramps/** und suchen hier nach der Date
|
|||||||
|
|
||||||
Eine letzte wichtige Eigenschaft dieser _Hybrid Firmware_ sind die oben genannten Profile, über welche die einzelnen Druckerkonfigurationen angesteuert werden. An vielen Stellen im Quellcode sind diese Definitionen zu finden, oftmals mit einem **#IF ENABLED(<Konfigurationsname>). Hierüber werden zur Zeit der Kompilierung verschiedene Pfade ein- und ausgeschaltet oder an Bedingungen geknüpft.
|
Eine letzte wichtige Eigenschaft dieser _Hybrid Firmware_ sind die oben genannten Profile, über welche die einzelnen Druckerkonfigurationen angesteuert werden. An vielen Stellen im Quellcode sind diese Definitionen zu finden, oftmals mit einem **#IF ENABLED(<Konfigurationsname>). Hierüber werden zur Zeit der Kompilierung verschiedene Pfade ein- und ausgeschaltet oder an Bedingungen geknüpft.
|
||||||
|
|
||||||
So hat beispielsweise der [Bondtech Mini Geared (BMG) Extruder](https://www.bondtech.se/product/bmg-extruder/) gewisse Eigenschaften und eine entgegengesetzte Laufrichtung im Vergleich zum MK8 oder Titan Extruder. Um diese Eigenschaften zu aktivieren reicht es, das Build-Flag **KNUTWURST_BMG** zu setzen. Um es als Buildflag zu dektarieren, muss vor dem Namen noch ein *-D* stehen. Also wird für den Mega Pro, welcher mit einem BMG Extruder ausgeliefert wird, das Flag **-DKNUTWURST_BMG** gesetzt, welches all diese Einstellungen im Quellcode dann übernimmt.
|
So hat beispielsweise der [Bondtech Mini Geared (BMG) Extruder](https://www.bondtech.se/product/bmg-extruder/) gewisse Eigenschaften und eine entgegengesetzte Laufrichtung im Vergleich zum MK8 oder Titan Extruder. Um diese Eigenschaften zu aktivieren reicht es, das Build-Flag **KNUTWURST_BMG** zu setzen. Um es als Buildflag zu deklarieren, muss vor dem Namen noch ein *-D* stehen. Also wird für den Mega Pro, welcher mit einem BMG Extruder ausgeliefert wird, das Flag **-DKNUTWURST_BMG** gesetzt, welches all diese Einstellungen im Quellcode dann übernimmt.
|
||||||
|
|
||||||
Das funktioniert auch mit allen anderen Konfigurationen/Buildflags und kann auch in andere Druckerkonfigurationen übernommen werden. So ist es einfach, neue Drucker in das bestehende Projekt einzubinden, oder den eigenen Drucker den Bedürfnissen anzupassen.
|
Das funktioniert auch mit allen anderen Konfigurationen/Buildflags und kann auch in andere Druckerkonfigurationen übernommen werden. So ist es einfach, neue Drucker in das bestehende Projekt einzubinden, oder den eigenen Drucker den Bedürfnissen anzupassen.
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user