GCodes: Unterschied zwischen den Versionen
(→M3075 - Minimal- und Maximalkräfte für Notaus definieren: Parametersystax abgeklärt - mjh11) |
(→M112 - Not-Abschaltung: ; mjh11: Hinweis hinzugefügt) |
||
(22 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 49: | Zeile 49: | ||
:Jnnn: Y-Koordinate des Kreismittelpunkts | :Jnnn: Y-Koordinate des Kreismittelpunkts | ||
:Ennn: Extrusionslänge entlang des Kreisbogens, in mm | :Ennn: Extrusionslänge entlang des Kreisbogens, in mm | ||
:Fnnn: Verfahrgeschwindigkeit, wobei E und F optional sind - {allerdings, ein Kreisbogen zu fahren, OHNE Extrusion, | :Fnnn: Verfahrgeschwindigkeit, wobei E und F optional sind - {allerdings, ein Kreisbogen zu fahren, OHNE Extrusion, macht nur beim Fräsen Sinn} | ||
Damit ist ein Kreisbogen exakt definiert - der Startpunkt ist die aktuelle Position, der Endpunkt und der Kreismittelpunkt werden angegeben. | Damit ist ein Kreisbogen exakt definiert - der Startpunkt ist die aktuelle Position, der Endpunkt und der Kreismittelpunkt werden angegeben. | ||
Zeile 87: | Zeile 87: | ||
'''Beispiel''' | '''Beispiel''' | ||
:"G28 Y0 Z0" fährt nur in Y und Z auf "0" | :"G28 Y0 Z0" fährt nur in Y und Z auf "0" | ||
:<span style="color: red;">'''Anmerkung''' (mjh11): Hier scheint es einen kleinen Bug in der Syntaxabarbeitung zu geben. Bei Eingabe von "G28 X Z" oder "G28 X Y Z" wird nur X zum Ursprung gefahren (bei "G28 Y Z" nur Y, usw.).</span> | |||
:<span style="color: red;">Daraus folgt, dass die Angabe von "0" nach der Achsenangabe zwingend notwendig ist, wenn man mehr als eine Achse zum Ursprung fahren möchte.</span> | |||
:<span style="color: red;">In Wirklichkeit kann man eine beliebige Zahl angeben, der tatsächliche Wert wird einfach ignoriert. Demnach würde "G28 Y2 Z31" die Y und Z Achse zum Ursprung fahren.</span> | |||
:<span style="color: red;">Diese dargestellte Abarbeitung des Befehls weicht damit etwas von der 'offiziellen' Syntax ab.</span> | |||
---- | ---- | ||
=== G29 - Messe Z-Höhe an den 3 vordefinierten Punkten === | === G29 - Messe Z-Höhe an den 3 vordefinierten Punkten === | ||
Zeile 193: | Zeile 200: | ||
'''Parameter''' | '''Parameter''' | ||
:<Snnn> | :<Snnn> | ||
:<X0> | |||
;:'''Hinweis''' | ;:'''Hinweis''' | ||
: Mit der Option 'X0' wird in der Log-Datei auch der ADC-Wert mit der Temperatur ausgegeben. Hierbei gibt es jedoch in der Firmware zur Zeit noch einen Bug, wo nur der ADC-Wert des Heizbetts gemeldet wird. | |||
:Einige Programme, Repetier-Host zum Beispiel, unterdrücken standardmäßig alle M105-Meldungen in der Logdatei. Damit erscheint der Befehl ohne Funktion. Das Unterdrücken im Log lässt sich meistens umstellen, falls Bedarf besteht. | :Einige Programme, Repetier-Host zum Beispiel, unterdrücken standardmäßig alle M105-Meldungen in der Logdatei. Damit erscheint der Befehl ohne Funktion. Das Unterdrücken im Log lässt sich meistens umstellen, falls Bedarf besteht. | ||
:<span style="color: red;">''Anmerkung'' ( JoBo): Dieser Befehl dient der Kommunikation zwischen Drucker und PC-Software, wie Repetier-Host.</span> | :<span style="color: red;">''Anmerkung'' ( JoBo): Dieser Befehl dient der Kommunikation zwischen Drucker und PC-Software, wie Repetier-Host.</span> | ||
Zeile 447: | Zeile 456: | ||
'''Parameter''' | '''Parameter''' | ||
:Keine | :Keine | ||
:<span style="color: red;">'''Anmerkung''' (mjh11): Hinweis: Es findet keine wirkliche Notabschaltung statt, sondern die Druckerfirmware wird resettet. Damit ist der Druck vermutlich für die Tonne. Alle Achsen verlieren ihre Position, und hoffentlich schalten sich alle Heizungen ab. </span> | |||
---- | ---- | ||
==== M115 - Schreibe Firmware-String ==== | ==== M115 - Schreibe Firmware-String ==== | ||
Zeile 462: | Zeile 473: | ||
'''Parameter''' | '''Parameter''' | ||
:Keine | :Keine | ||
'''Bemerkung''' | |||
:<span style="color: red;">Achtung!</span> ab Version ''RF.01.37'' gilt +/- 2°. Davor war dieser GCode teilweise problematisch, wenn Heizbett oder Extruder konstant überregelt, d.h. den Zielwert nie exakt erreicht haben. | |||
---- | ---- | ||
==== M117 - Schreibe Nachricht in die Statuszeile des Displays ==== | ==== M117 - Schreibe Nachricht in die Statuszeile des Displays ==== | ||
Zeile 554: | Zeile 569: | ||
'''Parameter''' | '''Parameter''' | ||
:T[type] P[pos] [Sint(long)] [Xfloat] | :T[type] P[pos] [Sint(long)] [Xfloat] | ||
:<type>: 0 = 8 bit integer, 1 = 16 bit integer, 2 = 32 bit integer, 3 = float | |||
'''Bemerkung''' | '''Bemerkung''' | ||
Zeile 561: | Zeile 577: | ||
:"M206 T3 P31 X200.00" stellt die Geschwindigkeit, mit der in Y gegen 0 gefahren wird ('ge-homed' wird), auf 200mm/s | :"M206 T3 P31 X200.00" stellt die Geschwindigkeit, mit der in Y gegen 0 gefahren wird ('ge-homed' wird), auf 200mm/s | ||
---- | ---- | ||
==== M207 - Ändere die aktuellen Werte für das 'Ruckeln' (jerk), aber speichere sie nicht im EEPROM ==== | ==== M207 - Ändere die aktuellen Werte für das 'Ruckeln' (jerk), aber speichere sie nicht im EEPROM ==== | ||
Zeile 690: | Zeile 707: | ||
:; '''Hinweis:''' | :; '''Hinweis:''' | ||
:Der Befehl löscht normalerweise die gespeicherte Matrix zur automatischen Ausrichtung des Druckbetts. Da ein RFx000-Drucker eine andere Methode verwendet, funktioniert dieser Befehl beim RFx000 nicht. Der Befehl gehört aber zum Standard-Befehlssatz der Repetier- Firmware. | :Der Befehl löscht normalerweise die gespeicherte Matrix zur automatischen Ausrichtung des Druckbetts. Da ein RFx000-Drucker eine andere Methode verwendet, funktioniert dieser Befehl beim RFx000 nicht. Der Befehl gehört aber zum Standard-Befehlssatz der Repetier- Firmware. | ||
:Beim RFx000 Drucker wird stattdessen "M3011" verwendet. | :Beim RFx000 Drucker wird stattdessen "[[GCodes#M3011_-_Die_unter_M3010_erhaltene_Matrix_aus_dem_EEPROM_l.C3.B6schen|M3011]]" verwendet. | ||
---- | ---- | ||
====M340 - Externes Servo ansteuern==== | ====M340 - Externes Servo ansteuern==== | ||
'''Parameter''' | '''Parameter''' | ||
:P<n> ... Nummer von 0-3, die dem angesprochenen Servo entspricht (bis zu 4 Servos ansprechbar) | :P<n> ... Nummer von 0-3, die dem angesprochenen Servo entspricht (bis zu 4 Servos ansprechbar) | ||
:RF1000 | |||
:S<PulsLänge> .... Zahl die den Ausschlag des Servos bestimmt, von 500-2500 (1500 entspricht der Mittelstellung) | :S<PulsLänge> .... Zahl die den Ausschlag des Servos bestimmt, von 500-2500 (1500 entspricht der Mittelstellung) | ||
:RF2000 | |||
:S<PulsLänge> .... Zahl die den Ausschlag des Servos bestimmt, von 800-2200 (1500 entspricht der Mittelstellung) | |||
'''Bemerkung''' | '''Bemerkung''' | ||
Zeile 706: | Zeile 729: | ||
:configuration.h (Vers. 0.91.48 und 0.91.59). Dies überschreibt euch u.U. eure Pin-Definition! | :configuration.h (Vers. 0.91.48 und 0.91.59). Dies überschreibt euch u.U. eure Pin-Definition! | ||
:Update: In Version RF.01.10 sind die Pins in pins.h definiert und die RAMBO-Definition aus der Configuration.h gelöscht. | :Update: In Version RF.01.10 sind die Pins in pins.h definiert und die RAMBO-Definition aus der Configuration.h gelöscht. | ||
:'''RF2000:''' | |||
:Bei der Platine V3.0 werden die 3 Servoanschlüsse nicht mehr vom Board versorgt. Die externe 5V Spannungsquelle wird mit Klemmleiste X46 verbunden. | |||
:Siehe http://www.rf1000.de/viewtopic.php?f=74&t=1651 "RF2000 - 3 Servos ansteuern" | |||
:Siehe http://www.rf1000.de/viewtopic.php?f=73&t=1472 "Mainboard Vergleich RF2000 vs. RF1000" | |||
---- | ---- | ||
Zeile 871: | Zeile 899: | ||
:<span style="color: red;">'''Neu ab Version RF.01.21'''</span>. Es können bis zu 9 verschiedene Matrizen gespeichert und wieder abgerufen werden. | :<span style="color: red;">'''Neu ab Version RF.01.21'''</span>. Es können bis zu 9 verschiedene Matrizen gespeichert und wieder abgerufen werden. | ||
: | :Man muss vor einem [[Heat Bed Scan]] mit M3009 Sn eine Speicherstelle auswählen und dann erst den [[HBS]] machen, bevor man diese Matrix auch verwenden kann. | ||
---- | ---- | ||
Zeile 960: | Zeile 988: | ||
'''Bemerkung''' | '''Bemerkung''' | ||
:Legt den Endpunkt des HBS in X-Richtung mit 'mm' in Millimeter fest | :Legt den Endpunkt des HBS in X-Richtung mit 'mm' in Millimeter fest (als Abstand des Endpunkt zur maximalen X-Position des Druckers) | ||
---- | ---- | ||
Zeile 1.084: | Zeile 1.112: | ||
---- | ---- | ||
====M3075 - Minimal- und Maximalkräfte für | ====M3075 - Minimal- und Maximalkräfte für Notfall-Pause / Emergency-Pause definieren==== | ||
'''Parameter''' | '''Parameter''' | ||
:S<nnn> ... legt die maximale 'Negativkraft' fest, in Digits, ab dem der Drucker eine 'Notfallpause' einlegt. | :S<nnn> ... legt die maximale 'Negativkraft' fest, in Digits, ab dem der Drucker eine 'Notfallpause' einlegt. | ||
Zeile 1.090: | Zeile 1.118: | ||
'''Bemerkung''' | '''Bemerkung''' | ||
:Damit kann man den Auslösepunkt | :Damit kann man den Auslösepunkt von der Notfall-Pause definieren, der bei Überschreiten der Kräfte auf den Wägezellen aktiviert wird. | ||
:Der ''S<nnn>'' Parameter sollte sinnvollerweise negativ sein, damit eine starke, nach oben wirkende Kraft auf den Extruder/Fräsaufsatz den Drucker stoppt. Der ''P<nnn>'' Parameter sollte hier als positiver Wert angegeben werden. Damit könnte, indirekt, eventuell eine verstopfte Düse, oder der Ausfall der Extruderheizung erkannt, und der Druck | :Der ''S<nnn>'' Parameter sollte sinnvollerweise negativ sein, damit eine starke, nach oben wirkende Kraft auf den Extruder/Fräsaufsatz den Drucker stoppt. Der ''P<nnn>'' Parameter sollte hier als positiver Wert angegeben werden. Damit könnte, indirekt, eventuell eine verstopfte Düse, oder der Ausfall der Extruderheizung erkannt, und der Druck pausiert werden. | ||
:<span style="color: red;">'''Ab Version ''RF.01.10'' gültig'''</span> | :<span style="color: red;">'''Ab Version ''RF.01.10'' gültig'''</span> | ||
---- | |||
====M3076 - Minimal- und Maximalkräfte für Z-Not-Stop / Emergency-Stop definieren==== | |||
'''Parameter''' | |||
:S<nnn> ... legt die maximale 'Negativkraft' fest, in Digits, ab dem der Drucker einen 'Z-Not-Stop' einleitet, wenn in Z verfahren wird. | |||
:P<nnn> ... legt die maximale 'Positivkraft' fest, in Digits, ab dem der Drucker einen 'Z-Not-Stop' einleitet, wenn in Z verfahren wird. | |||
'''Bemerkung''' | |||
:Damit kann man den Auslösepunkt vom Notaus definieren, der bei Überschreiten der Kräfte auf den Wägezellen aktiviert wird. Standardbeispiel: M3076 S-5000 P5000 | |||
:Der ''S<nnn>'' Parameter sollte sinnvollerweise negativ sein, damit eine starke, nach oben wirkende Kraft auf den Extruder/Fräsaufsatz den Drucker stoppt. Der ''P<nnn>'' Parameter sollte hier als positiver Wert angegeben werden. Damit soll ein eventueller destruktiver Crash während der Fahrt in Z vermieden werden. M3076 S0 P0 deaktiviert den Z-Notstopp. Der Z-Notstopp bei +-5000 Digits ist unter anderem während des Vase-Mode hinderlich, da hier oft in Z verfahren wird und hohe Hotend-Innen-Drücke bei manchen Materialien nicht ungewöhnlich sind. Im Vasemode kann z.B. M3076 S-10000 P10000 helfen. | |||
:<span style="color: red;">'''Ab Version ''RF.01.39'' gültig'''</span> | |||
---- | ---- | ||
Zeile 1.342: | Zeile 1.380: | ||
=== Andere M-Codes === | === Andere M-Codes === | ||
==== M3190 - Test der Dehnmessstreifen starten oder abbrechen ==== | |||
'''Parameter''' | |||
:Unbekannt | |||
'''Bemerkung''' | |||
: Das ist eine Testfunktion von und für Conrad zum Testen des Emergency-Stops (etc.). Funktioniert nicht ohne Aktivierung in Firmware-Konfiguration. Ausgebaut in Firmware-Mod mangels Nutzen für den Enduser. | |||
---- | |||
==== M3200 - Reserviert für Testzwecke und Fehlersuche ==== | ==== M3200 - Reserviert für Testzwecke und Fehlersuche ==== | ||
'''Parameter''' | '''Parameter''' | ||
Zeile 1.348: | Zeile 1.393: | ||
:P1: Speicherausgaben | :P1: Speicherausgaben | ||
:P2: Ausgabe Homing Geschwindigkeiten | :P2: Ausgabe Homing Geschwindigkeiten | ||
:P3: Ausgabe Piepser - Unterschiedlich je nach S1 bis | :P3: Ausgabe Piepser - Unterschiedlich je nach S1 bis S13 | ||
:P4: Simuliert Blockade der Z-Achse | :P4: Simuliert Blockade der Z-Achse | ||
:P5: Simuliert einen Temperatursensor-Fehler | :P5: Simuliert einen Temperatursensor-Fehler | ||
Zeile 1.356: | Zeile 1.401: | ||
:P9: Ausgabe Debug-Level | :P9: Ausgabe Debug-Level | ||
:P10: Ausgabe Betriebsmodus und diverse Endstopp-Angaben | :P10: Ausgabe Betriebsmodus und diverse Endstopp-Angaben | ||
:P13: LCD Display zurücksetzen (falls das Display leer ist oder 'spinnt') | |||
::: - Funktion bestätigt beim RF1000 und RF2000 | |||
---- | ---- | ||
===Spezielle M-Codes, nur für den RF2000=== | ===Spezielle M-Codes, nur für den RF2000=== | ||
Zeile 1.363: | Zeile 1.412: | ||
====M3300 - Konfigurieren der 24V FET-Ausgänge (Ein/Aus)==== | ====M3300 - Konfigurieren der 24V FET-Ausgänge (Ein/Aus)==== | ||
'''Parameter''' | '''Parameter''' | ||
: | :P<n> S<0,1> | ||
:P1: FET1 = Stecker X42 | |||
:P2: FET2 = Stecker X44 | |||
:P3: FET3 = Board-Lüfter an Stecker X45 | |||
:S0: 0V | |||
:S1: 24V | |||
'''Bemerkung''' | '''Bemerkung''' | ||
:<span style="color: red;">'''Ab Version ''RF.01.10'' gültig'''</span> | :<span style="color: red;">'''Ab Version ''RF.01.10'' gültig'''</span> | ||
: FET3 sollte man nicht benutzen, denn dieser ist bereits durch den Board-Lüfter belegt. ''Bestätigt für Platine V3.0'' | |||
: Die Leistung der FET-Ausgänge ist thermisch limitiert, Vorsicht Polung! http://www.rf1000.de/viewtopic.php?f=73&t=1472&start=10#p16160 | |||
---- | ---- | ||
====M3301 - Konfigurieren des 220V Ausgangs (Ein/Aus)==== | ====M3301 - Konfigurieren des 220V Ausgangs (Ein/Aus)==== | ||
'''Parameter''' | '''Parameter''' | ||
: | :S<0,1> | ||
:S0: 230V Steckdose aus | |||
:S1: 230V Steckdose ein | |||
'''Bemerkung''' | '''Bemerkung''' | ||
:<span style="color: red;">'''Ab Version ''RF.01.10'' gültig'''</span> | :<span style="color: red;">'''Ab Version ''RF.01.10'' gültig'''</span> | ||
:Die Steckdose ist nach dem Druckerstart immer aus. Leistungslimit: Auf dem RF2000-Aufkleber steht 800W max. | |||
---- | ---- | ||
====M3303 - Konfigurieren des RGB-Lichteffekts beim Heizen==== | ====M3303 - Konfigurieren des RGB-Lichteffekts beim Heizen==== | ||
'''Parameter''' | '''Parameter''' | ||
: | :P<n> S<n> | ||
::Parameter 'P' verlangt '1', '2' oder '3', wobei P1 ein rotes, P2 ein grünes und P3 ein blaues Licht zur Folge hätte | |||
::Parameter 'S' erlaubt die Festlegung der Helligkeit. Zulässige Werte von 0 (=minimale) bis 255 (=maximale Helligkeit) | |||
:'''Beispiel: | |||
:M3303 P1 S120 | |||
::würde die RGB LED Streifen mit mittlerer Helligkeit rot leuchten lassen, solange der Drucker am Aufheizen ist | |||
'''Bemerkung''' | '''Bemerkung''' | ||
Zeile 1.387: | Zeile 1.456: | ||
====M3304 - Konfigurieren des RGB-Lichteffekts beim Drucken==== | ====M3304 - Konfigurieren des RGB-Lichteffekts beim Drucken==== | ||
'''Parameter''' | '''Parameter''' | ||
: | :P<n> S<n> | ||
Anwendung analog zu "[[GCodes#M3303_-_Konfigurieren_des_RGB-Lichteffekts_beim_Heizen|M3303]]", jedoch nur solange der Drucker am drucken ist | |||
'''Bemerkung''' | '''Bemerkung''' | ||
Zeile 1.395: | Zeile 1.465: | ||
====M3305 - Konfigurieren des RGB-Lichteffekts beim Abkühlen==== | ====M3305 - Konfigurieren des RGB-Lichteffekts beim Abkühlen==== | ||
'''Parameter''' | '''Parameter''' | ||
: | :P<n> S<n> | ||
Anwendung analog zu "[[GCodes#M3303_-_Konfigurieren_des_RGB-Lichteffekts_beim_Heizen|M3303]]", jedoch nur wenn der Drucker am Abkühlen ist | |||
'''Bemerkung''' | '''Bemerkung''' | ||
Zeile 1.403: | Zeile 1.474: | ||
====M3306 - Konfigurieren des RGB-Lichteffekts im Leerlauf==== | ====M3306 - Konfigurieren des RGB-Lichteffekts im Leerlauf==== | ||
'''Parameter''' | '''Parameter''' | ||
: | :P<n> S<n> | ||
Anwendung analog zu "[[GCodes#M3303_-_Konfigurieren_des_RGB-Lichteffekts_beim_Heizen|M3303]]", jedoch nur solange der Drucker im Leerlauf ist | |||
'''Bemerkung''' | '''Bemerkung''' | ||
Zeile 1.409: | Zeile 1.481: | ||
---- | ---- | ||
==== | ====M3307 - Konfigurieren der RGB-Lichterfarben im manuellen Modus==== | ||
'''Parameter''' | '''Parameter''' | ||
: | : P<n> S<n> | ||
Anwendung analog zu "[[GCodes#M3303_-_Konfigurieren_des_RGB-Lichteffekts_beim_Heizen|M3303]]", jedoch nur solange der Drucker im manuellen RGB Modus ist. Siehe dazu auch "[[GCodes#M3308 - Konfigurieren des RGB-Lichtermodusses|M3308]]", mit dem man den manuellen Modus auswählen kann (mittels 'M3308 P3') | |||
'''Bemerkung''' | '''Bemerkung''' | ||
Zeile 1.419: | Zeile 1.493: | ||
====M3308 - RGB-Lichtmodus konfigurieren==== | ====M3308 - RGB-Lichtmodus konfigurieren==== | ||
'''Parameter''' | '''Parameter''' | ||
: | :P<n> . . . Zulässige Werte von 'n' von 0 bis 3 | ||
:P0 Schaltet den RGB Lichtmodus auf 'Aus' | |||
:P1 Schaltet den RGB Lichtmodus auf 'Weiss' | |||
:P2 Schaltet den RGB Lichtmodus auf 'Auto' | |||
:P3 Schaltet den RGB Lichtmodus auf 'Manuell' | |||
Siehe auch "[[GCodes#M3307 - Konfigurieren der RGB-Lichterfarben im manuellen Modus|M3307]]", wo das Leuchtverhalten im manuellen Modus bestimmt werden kann. | |||
<span style="color: red;">'''Unbestätigt''' - (mjh11) - Vermutlich muss der Modus auf 'Auto' stehen, damit Befehle wie ''M3303, M3304, M3305'' und ''M3306'' wirksam werden können - Bitte jemand mit einem RF2000 das Verhalten entsprechend testen!</span> | |||
'''Bemerkung''' | '''Bemerkung''' | ||
:<span style="color: red;">'''Ab Version ''RF.01.10'' gültig'''</span> | :<span style="color: red;">'''Ab Version ''RF.01.10'' gültig'''</span> | ||
---- | |||
====M3309 - Align Extruders / Extruder einfluchten ==== | |||
'''Parameter''' | |||
:Keine | |||
'''Bemerkung''' | |||
:Lässt die Hotend-Düse auf das Heizbett hinab, sodass die Düse dieses berührt. Dann kann das zweite Hotend auf dasselbe Niveau hinabgelassen und erneut festgespannt werden. Es ist dasselbe Vorgehen wie beim Heat-Bed-Scan "Scan PLA"/"Scan ABS". In der Offiziellen Firmware muss vorher gehomed werden und man muss das Hotend durch Bewegung über dem Heizbett platzieren. (Beim Community-Mod >=1.38.01 ist das Homing und Platzieren optional. Ohne Homing oder manuelle Platzierung der Einfluchtposition wird automatisch gehomed und eine Einfluchtposition gewählt.) | |||
:<span style="color: red;">'''Ab Version ''RF.01.39''/''RF.01.38.01.Mod'' gültig'''</span> | |||
---- | ---- | ||
Aktuelle Version vom 3. November 2023, 19:07 Uhr
Einleitung
Im folgenden findet ihr eine Auflistung der GCodes, wie sie in den RF1000 Firmware Dateien dokumentiert sind.
- Der Strichpunkt ( ";" )
- Der Strichpunkt wird im GCode dazu verwendet, Kommentare hinzu zu fügen. Der Strichpunkt gilt immer nur für eine Zeile des GCodes. Alles in der selben Zeile nach einem Strichpunkt wird vom Drucker (von der Firmware) ignoriert.
- Hinweis:
- Die Firmware wird kontinuierlich weiterentwickelt, daher können neue GCode-Befehle dazu kommen, oder bestehende GCode-Befehle entfernt oder geändert worden sein. Falls ein GCode-Befehl nicht das erwartete Verhalten zeigt, sollte man in der Firmware-Dokumentation nachsehen.
- Die jeweils unterstützten Befehle sind in mehreren Dateien untergebracht. Je nach Version sind das die Dateien Repetier.ino und RF1000.h oder Repetier.ino und RF.h.
- Deutsche Übersetzung durch mjh11
Alle Angaben ohne Gewähr!!
G-Codes
G0 - Schnelle lineare Bewegung
Parameter
- [X] [Y] [Z] [E]
Siehe auch G1
G1 - Koordinierte Bewegung entlang einer oder mehrerer Achsen
Parameter
- [X] [Y] [Z] [E] [F]
- E gibt vor wieviel Filament entlang der angegebenen Strecke gefördert werden soll
- F ist dabei die geforderte Verfahrgeschwindigkeit
G2 - Kreisbogen im Uhrzeigersinn
Parameter
- [X] [Y] [I] [J] [E] [F]
- Xnnn: Endposition, die auf der X-Achse angefahren werden soll
- Ynnn: Endposition, die auf der Y-Achse angefahren werden soll
- Innn: X-Koordinate des Kreismittelpunkts
- Jnnn: Y-Koordinate des Kreismittelpunkts
- Ennn: Extrusionslänge entlang des Kreisbogens, in mm
- Fnnn: Verfahrgeschwindigkeit, wobei E und F optional sind - {allerdings, ein Kreisbogen zu fahren, OHNE Extrusion, macht nur beim Fräsen Sinn}
Damit ist ein Kreisbogen exakt definiert - der Startpunkt ist die aktuelle Position, der Endpunkt und der Kreismittelpunkt werden angegeben.
Hinweis:
- Nicht alle Slicer unterstützen diese Befehle und generieren daher nur G1 Befehle. Falls der verwendetet Slicer die Kreisbogenfunktion beherrscht, kann viel an GCode eingespart werden, falls Kreisbögen vorkommen.
G3 - Kreisbogen gegen den Uhrzeigersinn
Parameter
- [X Y I J E F]
- siehe G2
G4 - Verzögerung / Pause
Parameter
- S<Sekunden> oder P<Millisekunden>
G20 - Einheiten der Bewegungsbefehle (G0-G3) sind in Zoll
Parameter
- Keine
G21 - Einheiten der Bewegungsbefehle (G0-G3) sind in Millimeter
Parameter
- Keine
G28 - Fahre alle Achsen (oder die bezeichnete(n)) zum Ursprung
Parameter
- [X Y Z] ... optional. Wird keine Achse angegeben, werden alle Achsen zum Ursprung gefahren.
Beispiel
- "G28 Y0 Z0" fährt nur in Y und Z auf "0"
- Anmerkung (mjh11): Hier scheint es einen kleinen Bug in der Syntaxabarbeitung zu geben. Bei Eingabe von "G28 X Z" oder "G28 X Y Z" wird nur X zum Ursprung gefahren (bei "G28 Y Z" nur Y, usw.).
- Daraus folgt, dass die Angabe von "0" nach der Achsenangabe zwingend notwendig ist, wenn man mehr als eine Achse zum Ursprung fahren möchte.
- In Wirklichkeit kann man eine beliebige Zahl angeben, der tatsächliche Wert wird einfach ignoriert. Demnach würde "G28 Y2 Z31" die Y und Z Achse zum Ursprung fahren.
- Diese dargestellte Abarbeitung des Befehls weicht damit etwas von der 'offiziellen' Syntax ab.
G29 - Messe Z-Höhe an den 3 vordefinierten Punkten
Parameter
- S<0..2>
- S = 1 messe durchschn. zHöhe
- S = 2 speichere durchschn. zHöhe
- Hinweis:
- Der Befehl dient normalerweise zur Ausrichtung des Druckbetts. Da ein RFx000-Drucker eine andere Methode verwendet, funktioniert dieser Befehl beim RFx000 nicht. Der Befehl gehört aber zum Standard-Befehlssatz der Repetier- Firmware.
G30 - Messe Z-Höhe an der aktuellen Position
Parameter
- P<0..3>
- P = 1 erste Messung
- P = 2 letzte Messung
- P = 0 oder 3 erste und letzte Messung
- Hinweis:
- Der Befehl dient normalerweise zur Ausrichtung des Druckbetts. Da ein RFx000-Drucker eine andere Methode verwendet, funktioniert dieser Befehl beim RFx000 nicht. Der Befehl gehört aber zum Standard-Befehlssatz der Repetier- Firmware.
G31 - Speichere Wert des Z-Höhentasters
Parameter
- Keine
- Hinweis:
- Der Befehl dient normalerweise zur Ausrichtung des Druckbetts. Da ein RFx000-Drucker eine andere Methode verwendet, funktioniert dieser Befehl beim RFx000 nicht. Der Befehl gehört aber zum Standard-Befehlssatz der Repetier- Firmware.
G32 - Automatische Bettausrichtung
Parameter
- S<0..2> P<0..1>
- S = 1 messe zHöhe
- S = 2 messe und speichere neue zHöhe
Bemerkung
- Entspricht in etwa "M3010" beim RF1000
- Hinweis:
- Der Befehl dient normalerweise zur Ausrichtung des Druckbetts. Da ein RFx000-Drucker eine andere Methode verwendet, funktioniert dieser Befehl beim RFx000 nicht. Der Befehl gehört aber zum Standard-Befehlssatz der Repetier- Firmware.
G90 - Interpretiere Koordinaten als absolut
Parameter
- Keine
G91 - Interpretiere Koordinaten als relativ
Parameter
- Keine
G92 - Setze die Koordinate(n) der aktuellen Position auf den vorgegebenen Wert
Set current position to cordinates given / Setze die angegebene Koordinate(n) auf den vorgegebenen Wert
- Vorschlag: Setze die Koordinate(n) der aktuellen Position auf den vorgegebenen Wert
Parameter
- [X<value> Y<value> Z<value> E<value>]
Bemerkung
- Wird z.B. für die "E"-Koordinate häufig so verwendet: "G92 E0"
G131 - Extruderoffset auf 0 setzen
set extruder offset position to 0 - needed for calibration with G132
Parameter
- Keine
Bemerkung
- G131 und G132 haben vermutlich was mit Schnellwechselextruder, oder Ähnliches, zu tun, wo man die Position der Extruderdüse nach einem Wechsel neu kalibrieren muss
G132 - Kalibriere Endpunkte (Schnellwechselextruder)
calibrate endstop positions. Call this, after calling G131 and after centering the extruder holder.
Parameter
- Keine
Bemerkung
- G131 und G132 haben vermutlich was mit Schnellwechselextruder, oder Ähnliches, zu tun, wo man die Position der Extruderdüse nach einem Wechsel neu kalibrieren muss
M-Codes
Generelle M-Codes (RepRap)
M104 - Setze Extrudertemperatur
Parameter
- <Snnn>
Bemerkung
- Hier wird nicht gewartet. Die nächsten Befehle werden unmittelbar danach abgearbeitet
M105 - Melde aktuelle Extrudertemperatur
Parameter
- <Snnn>
- <X0>
- Hinweis
M106 - Schalte Lüfter ein
Parameter
- <Sxxx>
Bemerkung
- Parameter S von 0-255 zulässig (0 = 0% ... 255 = 100%)
M107 - Schalte Lüfter aus
Parameter
- Keine
Bemerkung
- Entspricht "M106 S0"
M109 - Setze Extrudertemperatur und warte
Parameter
- <Snnn>
Bemerkung
- Hier WIRD gewartet. Die nächsten Befehle werden erst NACH erreichen der Temperatur abgearbeitet
M111 - Setze Debug Level
Parameter
- S<0....15>
Bemerkung
- Mittels Setzen eines Bits können verschiedene Informationen übermittelt werden (z.B. ins Log)
- Bit 1 (=1): Echo - damit werden alle gesendeten Befehle dokumentiert
- Bit 2 (=2): zusätzliche Informationen (welche es sind, ist noch offen)
- Bit 3 (=4): Fehler werden angezeigt, z.B Kommunikationsfehler
- Bit 4 (=8): Speziell für Repetier-Firmware, der "Dry-Run"-Modus - hier werden alle Extrusionsbefehle ignoriert und nur die Koordinaten abgefahren
- Die Bit-Werte lassen sich beliebig addieren, um Kombinationen zu ermöglichen, z.B. Bit 1 & Bit 3 ergeben 5. Damit würde "M111 S5" zur Folge haben, dass alle Befehle und Fehler angezeigt werden, aber keine Zusatzinformationen.
- Die Funktion der Bits lässt sich in Repetier-Host an den Debug-Optionen auf der "Manual Control" Lasche, unten, schön im Log verfolgen.
M114 - Zeige Koordinaten der augenblicklichen Position
Parameter
- Keine
Bemerkung
- Berücksichtigt G92!!
Spezielle M-Codes (Repetier)
M20 - Liste Inhalt der SD Karte
Parameter
- Keine
M21 - SD Karte initialisieren
Parameter
- Keine
Bemerkung
- mounten - ist nicht dasselbe wie formatieren
M22 - SD Karte freigeben
Parameter
- Keine
Bemerkung
- Damit kann die SD Karte gefahrlos aus dem Drucker entnommen werden
M23 - Wähle Datei auf der SD Karte aus
Parameter
- <Dateiname>
Beispiel
- "M23 filename.g"
M24 - Starte Druck von der SD-Karte, oder fahre mit Druck wieder fort
Parameter
- Keine
M25 - Druck von der SD Karte pausieren
Parameter
- Keine
M26 - Setze Zeiger-Position innerhalb der gewählten SD Datei in Bytes
Parameter
- Snnnnn
Beispiel
- "M26 S12345"
Hinweis:
- Wird ab Version 0.91.53 nicht mehr unterstützt
M27 - Melde Status des Drucks von der SD Karte
Parameter
- Keine
M28 - Schreibe Datei auf SD Karte
Parameter
- <Dateiname>
Beispiel
- "M23 filename.g"
M29 - Beende Schreibvorgang auf der SD Karte
Parameter
- Keine
M30 - Lösche Datei von der SD Karte
Parameter
- <Dateiname>
Beispiel
- "M30 filename.g"
M32 - Erstelle Ordner/Unterordner auf der SD Karte
Parameter
- <Ordnername>
Beispiel
- "M30 dirname"
M42 - Ändere Zustand des Pins P auf den Wert S
Parameter
- P<pin nummer>
- S<wert 0..255>
Bemerkung
- Funktioniert nur auf gewissen Pins
Hinweis:
- Wird ab Version 0.91.53 nicht mehr unterstützt
M80 - Netzteil einschalten
Parameter
- Keine
Bemerkung
- Funktioniert nicht beim RF1000
M81 - Netzteil ausschalten
Parameter
- Keine
Bemerkung
- Funktioniert nicht beim RF1000
M82 - Interpretiere Werte für den Extruder (=E-Werte) als absolute Werte
Parameter
- Keine
Bemerkung
- Standardeinstellung
M83 - Interpretiere Werte für den Extruder als relativ, auch im absoluten Koordinaten-Modus (G90)
Parameter
- Keine
M84 - Schrittmotore bis zur nächsten Bewegung oder nach Inaktivität ausschalten (stromlos setzen)
Parameter
- S<Sekunden>
Bemerkung
- Mittels S<Sekunden> kann ein Zeitfenster definiert werden - findet innerhalb dieser Zeit keine Bewegung statt, schalten die Motore ab. Neuerliche Eingabe mit S0 deaktiviert das Zeitfenster wieder.
M85 - Setzt Zeitfenster, in Sekunden, ab dem die Motore abgeschaltet werden
Parameter
- S<Sekunden>
Bemerkung
- S0 deaktiviert das Zeitfenster wieder (S0 ist Standardeinstellung)
M92 - Stelle Schritte pro mm für die angegebene(n) Achse ein
Parameter
- [X<Wert> Y<Wert> Z<Wert> E<Wert>]
Bemerkung
- Schreibweise wie bei G92
- Verwendung sollte nicht notwendig sein (wirklich nur für Sonderfälle, zum Beispiel bei einer vorhandenen GCode-Datei, die skaliert werden muss.)
Hinweis:
- Wird ab Version 0.91.53 nicht mehr unterstützt
M99 - Schalte angegebene(n) Motor(en) für S-Sekunden ab
Parameter
- S<verzInSek> X0 Y0 Z0
Bemerkung
- Standardeinstellung 10 Sek.
M104 - Setze Extrudertemperatur, ohne Warten
Parameter
- S<temp> T<extruder> [P1 F1]
- S: Temperatur
- T: Extruder
- P1: Warte bis alle vorhergehenden Bewegungen abgeschlossen sind
- F1: Piepse wenn die vorgegebene Temperatur erstmals erreicht wurde
Bemerkung
- In einem Single-Extruder System wird der Extruder mit T0 angesprochen, das Bett mit T1 !!. (Bei einem Dual-System wird das Bett vermutlich zu T2, da der zweite Extruder T1 ist.)
M105 - Melde Temperatur
Parameter
- [X0]
Bemerkung
- X0 = zeige auch die nicht-umgerechneten digitalen Werte. Scheinbar nicht durch RF1000 unterstützt (JoBo: Worauf bezieht sich letzte Bemerkung?)
- Hinweis
M112 - Not-Abschaltung
Parameter
- Keine
- Anmerkung (mjh11): Hinweis: Es findet keine wirkliche Notabschaltung statt, sondern die Druckerfirmware wird resettet. Damit ist der Druck vermutlich für die Tonne. Alle Achsen verlieren ihre Position, und hoffentlich schalten sich alle Heizungen ab.
M115 - Schreibe Firmware-String
Parameter
- Keine
Bemerkung
- Zeigt Firmware-Infos an
- Siehe auch M3060, wo ebenfalls die Firmware-Version ausgegeben wird.
M116 - Warte bis alle angegebenen Temperaturen innerhalb von +/- 1° sind
Parameter
- Keine
Bemerkung
- Achtung! ab Version RF.01.37 gilt +/- 2°. Davor war dieser GCode teilweise problematisch, wenn Heizbett oder Extruder konstant überregelt, d.h. den Zielwert nie exakt erreicht haben.
M117 - Schreibe Nachricht in die Statuszeile des Displays
Parameter
- <message>
Bemerkung
- Zeigt <message> im Display (kurz halten, max. 17 Zeichen! für <message>)
- Achtung! - Der GCode M3117 (verwendbar ab Version RF.01.21) kann den GCode M117 vorübergehend unwirksam machen (ist kein Bug).
M119 - Melde Endschalterstatus
Parameter
- Keine
Bemerkung
- Nicht-betätigter Schalter wird als "L" gemeldet ("L"= low), betätigter Schalter meldet "H" (high).
M140 - Setze Betttemperatur OHNE Warten
Parameter
- S<temp> [F1]
- <temp>: Temperatur
- F1: Piepse beim ersten Erreichen der Temperatur
M190 - Setze Betttemperatur MIT Warten
Parameter
- S<temp>
- <temp>: Temperatur
M201 - Setze max. Beschleunigungswerte in Einheiten/s² für Druckbewegungen
Parameter
- [Xnn Ynn Znn]
- X: Beschleunigung in X-Richtung
- Y: Beschleunigung in Y-Richtung
- Z: Beschleunigung in Z-Richtung
Beispiel
- "M201 X1000 Y1000"
M202 - Setze max. Beschleunigungswerte in Einheiten/s² für Leerfahrten ohne Extrusion
Parameter
- [Xnn Ynn Znn]
- X: Beschleunigung in X-Richtung
- Y: Beschleunigung in Y-Richtung
- Z: Beschleunigung in Z-Richtung
Beispiel
- "M202 X1000 Y1000"
M203 - Temperaturüberwachung einschalten
Parameter
- S<Temp>
Bemerkung
- Konnte beim RF1k keine Wirkung feststellen (mjh11)
M204 - Setze PID Parameter
Parameter
- Xn Yn Zn [S<extruder>]
- X: Kp
- Y: Ki
- Z: Kd
- <extruder>: Standardmäßig wird der aktive Extruder angesprochen, NUM_EXTRUDER (Vorgabe in configuration.h) entspricht Heizbett
Beispiel "M204 X3752 Y1000 Z3518 S0"
Bemerkung
- Siehe auch M303, wo die PID-Werte automatisch ermittelt werden können
M205 - EEPROM Werte ausgeben
Parameter
- Keine
Bemerkung
- Hierfür muss der EEPROM Support in der Configuration.h eingeschalten werden
M206 - Schreibe Wert ins EEPROM
Parameter
- T[type] P[pos] [Sint(long)] [Xfloat]
- <type>: 0 = 8 bit integer, 1 = 16 bit integer, 2 = 32 bit integer, 3 = float
Bemerkung
- Dazu muss man wissen welche Werte wo abgespeichert sind. EEPROM Support in der Firmware vermutlich ebenfalls nötig.
Beispiel
- "M206 T3 P31 X200.00" stellt die Geschwindigkeit, mit der in Y gegen 0 gefahren wird ('ge-homed' wird), auf 200mm/s
M207 - Ändere die aktuellen Werte für das 'Ruckeln' (jerk), aber speichere sie nicht im EEPROM
Parameter
- X<XY jerk> Z<Z Jerk> E<ExtruderJerk>
Bemerkung
- Das 'Ruckeln' (jerk) entsteht durch sehr rasche, abwechselnde Bewegungen, die den Drucker aufschaukeln können. Mit Hilfe dieses Befehls schränkt man die Geschwindigkeit der raschen Abfolge ein.
- Die neuen, angegebenen Werte sind temporär, sie werden NICHT im EEPROM gespeichert.
- Der RF1000, mit seiner soliden Bauweise, ist hier nicht sehr anfällig.
- Beim RF1000 ist der voreingestellte Wert für XY 10mm/s, für Z 20mm/s.
M220 - Multiplikator für die Verfahrgeschwindigkeit
Parameter
- S<prozent>
Beispiel
- "M220 S50" halbiert die Verfahrgeschwindigkeit
M221 - Multiplikator für die Extrusionsmenge
Parameter
- S<prozent>
Beispiel
- "M221 S50" halbiert die Extrusionsmenge
M231 - Stelle das Standard-Verhalten für Retract-Vorgänge ein
Parameter
- S<OPS_MODE> X<Min_Distance> Y<Retract> Z<Backlash> F<ReatrctMove>
Bemerkung
- Sollte beim RF1000 nicht notwendig sein
- Hinweis:
M232 - Lese max. 'Vorlaufdruck'-Wert aus und setze es wieder auf 0
Parameter
- Keine
Bemerkung
- Der 'Vorlaufdruck' ist ähnlich wie die 'Vorzündung' beim Otto-Motor. Da baut der Extruder vorzeitig Druck auf, damit der Druck rechtzeitig vorhanden ist.
- Der RF1000 hat standardmässig 0 eingestellt
M233 - Stellt temporäre Werte zur Vorlaufdrucksteuerung ein
Parameter
- X<AdvanceK> Y<AdvanceL>
Bemerkung
- Siehe auch M232
M251 - Messe Anzahl der Z-Schritte vom Homing-Stop
Parameter
- S<n>
- S0 - Setze zurück
- S1 - Drucke
- S2 - Speiche nach Z Höhe (auch ins EEPROM sofern eingeschaltet)
Bemerkung
- NUR FÜR DELTA-DRUCKER
Hinweis:
- Wird ab Version 0.91.53 nicht mehr unterstützt
M280 - Setze "Ditto"-Druckmodus
Parameter
- S<mode>
- S0 - Aus
- S1 - An
Bemerkung
- Der "Ditto"-Druckmodus ist für Drucker interessant, die 2 Extruder haben
- Arbeitet ein solcher Drucker im Ditto-Modus, wird ein Objekt von beiden Extrudern gleichzeitig (parallel) gedruckt
M300 - Piepston am Lautsprecher ausgeben
Parameter
- S<Frequenz> - in Herz
- P<Dauer> - in Millisekunden
Bemerkung
- "M300 S440 P500" gibt den Kammerton "A" eine halbe Sekunde lang aus.
M303 - Automatisches Programm um PID-Werte zu ermitteln
- Startet ein automatisches Programm, wo die PID-Werte für den Extruder oder das Bett, bei der angegebenen Temperatur, ermittelt werden.
Parameter
- P<Extruder/Bett> .. Nummer, die bestimmt welche Heizung verwendet werden soll (wobei, bei Single-Extruder P0 der Extruder ist, und P1 das Bett)
- S<sollTemperatur> ...auf welche Temperatur soll geheizt werden (die übliche Arbeitstemperatur verwenden)
- X0 ... Ermittelten Werte ins EEPROM schreiben
Bemerkung
- X0 benötigt evtl. EEPROM Support in der Configuration.h.
- Test bei Zimmertemperatur beginnen!!
- Siehe auch M204 für das manuelle Setzen der PID-Werte
M320 - Aktiviere automatische Bettausrichtung
Parameter
- Keine
- Hinweis:
- Der Befehl aktiviert normalerweise die automatische Ausrichtung des Druckbetts. Da ein RFx000-Drucker eine andere Methode verwendet, funktioniert dieser Befehl beim RFx000 nicht. Der Befehl gehört aber zum Standard-Befehlssatz der Repetier- Firmware.
- Beim RFx000 Drucker wird stattdessen "M3001" verwendet.
M321 - Automatische Bettausrichtung ausschalten
Parameter
- Keine
- Hinweis:
- Der Befehl deaktiviert normalerweise die automatische Ausrichtung des Druckbetts. Da ein RFx000-Drucker eine andere Methode verwendet, funktioniert dieser Befehl beim RFx000 nicht. Der Befehl gehört aber zum Standard-Befehlssatz der Repetier- Firmware.
- Beim RFx000 Drucker wird stattdessen "M3000" verwendet.
M322 - Matrix für Bettausrichten löschen/zurücksetzen
Parameter
- Keine
- Hinweis:
- Der Befehl löscht normalerweise die gespeicherte Matrix zur automatischen Ausrichtung des Druckbetts. Da ein RFx000-Drucker eine andere Methode verwendet, funktioniert dieser Befehl beim RFx000 nicht. Der Befehl gehört aber zum Standard-Befehlssatz der Repetier- Firmware.
- Beim RFx000 Drucker wird stattdessen "M3011" verwendet.
M340 - Externes Servo ansteuern
Parameter
- P<n> ... Nummer von 0-3, die dem angesprochenen Servo entspricht (bis zu 4 Servos ansprechbar)
- RF1000
- S<PulsLänge> .... Zahl die den Ausschlag des Servos bestimmt, von 500-2500 (1500 entspricht der Mittelstellung)
- RF2000
- S<PulsLänge> .... Zahl die den Ausschlag des Servos bestimmt, von 800-2200 (1500 entspricht der Mittelstellung)
Bemerkung
- Eine PulsLänge von 0 schaltet das entsprechende Servo aus.
- Die Hauptplatine des RF1000 hat von Hause aus nur 3 Servoanschlüsse!
- Bei Tests zum Betrieb eines DGlass Dualextruders ist aufgefallen, dass der Servo anfangen kann zu 'zittern'.
- Eine Überprüfung mit dem Oszilloskop hat gezeigt, dass das Signal teilweise Ausreißer von ca. 30 µs aufweist.
- Desweiteren ist bei der Verwendung zu beachten, dass die Pins definiert werden müssen. Dies sollte vorzugsweise
- in der configuration.h erfolgen. Negativbeispiel ist die Definition der Servo-Pins für das RAMBO-Board in der
- configuration.h (Vers. 0.91.48 und 0.91.59). Dies überschreibt euch u.U. eure Pin-Definition!
- Update: In Version RF.01.10 sind die Pins in pins.h definiert und die RAMBO-Definition aus der Configuration.h gelöscht.
- RF2000:
- Bei der Platine V3.0 werden die 3 Servoanschlüsse nicht mehr vom Board versorgt. Die externe 5V Spannungsquelle wird mit Klemmleiste X46 verbunden.
- Siehe http://www.rf1000.de/viewtopic.php?f=74&t=1651 "RF2000 - 3 Servos ansteuern"
- Siehe http://www.rf1000.de/viewtopic.php?f=73&t=1472 "Mainboard Vergleich RF2000 vs. RF1000"
M350 - Mikro-Schritte Einstellen (RAMBO-Board)
Parameter
- S<MkrSchritteAlle> X<MkrSchritteX> Y<MkrSchritteY> Z<MkrSchritteZ> E<MkrSchritteE0> P<MkrSchritteE1>
Bemerkung
- Gilt NUR FÜR RAMBO Hauptplatine!! Nicht für RFx000 Drucker.
M400 - Warte bis alle gepufferten Befehle abgearbeitet wurden
Parameter
- Keine
Bemerkung
- Kann bei zeitkritischen Operationen nützlich sein.
M401 - Speichere die aktuellen X, Y und Z Koordinaten
Parameter
- Keine
Bemerkung
- Man kann danach, mittels M402, zur gespeicherten Position zurückfahren.
M402 - Gehe zur gespeicherten Position.
Parameter
- [X Y Z] ... keine, eine oder mehrere Achsen
- [F] ... damit kann die Verfahrgeschwindigkeit für diese eine Bewegung definiert werden.
Bemerkung
- Falls eine oder mehrere Achsen angegeben wurden, werden nur diese Koordinaten verwendet, sonst werden alle Koordinaten angefahren.
- Diese Koordinaten müssen zuvor mittels M401 gespeichert worden sein.
M500 - Speichere alle EEPROM-relevanten Werte ins EEPROM
Parameter
- Keine
Bemerkung
- EEPROM Support muss in der Configuration.h gesetzt worden sein, damit der Befehl funktioniert.
M501 - Lade alle EEPROM-Werte
Parameter
- Keine
Bemerkung
- Eventuell geänderte Werte werden damit wieder auf die EEPROM-Werte zurückgesetzt.
- EEPROM Support muss in der Configuration.h gesetzt worden sein, damit der Befehl funktioniert.
M502 - Konfigurations-Werte auf Configuration.h-Werte ändern
Parameter
- Keine
Bemerkung
- Eventuell abweichende EEPROM-Werte werden vorübergehend auf jene aus der Configuration.h geändert, aber nicht gespeichert. (Um diese im EEPROM zu speichern, sollte M500 verwendet werden)
- EEPROM Support muss in der Configuration.h gesetzt worden sein, damit der Befehl funktioniert.
M908 - Schrittmotorstrom ändern (nur RAMBO Board)
Parameter
- P<Addresse> S<Wert> ... legt Strom für Schrittmotor fest
Bemerkung
- Gilt NUR FÜR RAMBO Hauptplatine!! Nicht für RFx000 Drucker.
Spezielle M Codes nur für RFx000 Drucker
M3000 - Z-Kompensation ausschalten
Parameter
- Keine
Bemerkung
- Ist die Z-Kompensation nicht eingeschaltet, entspricht der Auslösepunkt des Z-Endschalters Z=0.
M3001 - Z-Kompensation einschalten
Parameter
- Keine
Bemerkung
- Die Z-Kompensation gleicht etwaige Unebenheiten oder Schieflagen des Druckbetts aus. Dazu wird mittels einer Abtastung (siehe M3010) eine Matrix erstellt, die der Kompensation als Grundlage dient. Diese Kompensation ist nur die ersten Millimeter aktiv (in Z), danach hört die Kompensation auf (Z<=3mm, außer in der Configuration.h anders definiert).
M3002 - Unterste Schrittgrenze für Z-Kompensation festlegen
Parameter
- S<Schritte> ...Anzahl der Mikroschritte, unter der nicht mehr kompensiert wird (die Mikroschritte entsprechen dabei eine Höhe).
Bemerkung
- Unter einer Layerhöhe, die der Mikroschrittanzahl entspricht, wird nicht kompensiert und der Druckkopf fährt somit parallel zur Oberfläche, entsprechend der erfassten Heat Bed Scan Matrix.
- Basierend auf die Zeile
#define HEAT_BED_Z_COMPENSATION_MIN_STEPS
bezieht es sich auf die Höhe, ab der die Kompensation läuft (darunter wird bloß parallel zum Bett gefahren, um eine gute Haftung des ersten Layers zu gewährleisten).
- Basierend auf die Zeile
M3003 - Maximale Schrittgrenze für Z-Kompensation festlegen
Parameter
- S<Mikroschritte> ...Anzahl der Mikroschritte, einer Höhe entsprechend, ab der die Z-Kompensation abgeschlossen ist und nicht mehr kompensiert wird. Ab dieser Höhe sind die Layer theoretisch völlig eben.
Bemerkung
- Basierend auf die Zeile
#define HEAT_BED_Z_COMPENSATION_MAX_STEPS
bezieht es sich auf die maximale Höhe, bis zu der noch eine Kompensation stattfindet. - Laut Configuration.h ist diese Höhe standardmäßig bei "3mm X Schritte/mm".
M3004 - Manueller Z-Offset
Parameter
- S<Mikroschritte>
Bemerkung
- Bis v.0.91.48, danach ersetzt durch M3006
- In späteren Firmwareversionen wird der Befehl nicht mehr akzeptiert und gibt eine entsprechende Fehlermeldung aus.
M3005 - Spezielle Debug-Ausgaben einschalten (veraltet)
Parameter
- Unbekannt Vermutlich S<n> ... wobei es keinerlei Dokumentation bzgl. der möglichen Werte, oder deren Auswirkung gibt.
- Hinweis
M3006 - Manueller/Statischer Z-Offset
Parameter
- S<µm>
- Z<mm> .. Achtung! - Dieser Parameter gilt erst ab Version RF.01.21
Bemerkung
- Neu in v.0.91.49, davor gab es nur M3004.
- Ab Version RF.01.21 kann man den Abstand direkt in Millimeter angeben, falls der Parameter 'Z' verwendet wird.
- Benötigt M3001! (Anmerkung (JoBo): Bedeutet, dass Z-Kopmensation eingeschaltet sein muss, sonst hat der Befehl keine Wirkung.)
- Positive S- oder Z-Werte erhöhen den Düsenabstand (das Bett bewegt sich nach unten).
M3007 - Minimale Höhe für Z-Kompensation festlegen
Parameter
- S<µm> ... Höhe, in µm, unter der keine Z-Kompensation stattfinden soll. Bis zu der angegebenen Höhe fährt die Düsenspitze parallel zur Bettoberfläche, entsprechend der erfassten Heat Bed Scan Matrix.
- Z<mm> ... Höhe in Millimeter - Achtung! - Dieser Parameter gilt erst ab Version RF.01.21
Bemerkung
- Neu in v.0.91.49. Ähnlich wie M3002, nur werden hier µm angegeben.
- Ab Version RF.01.21 kann man den Abstand direkt in Millimeter angeben, falls der Parameter 'Z' verwendet wird.
- Basierend auf die Zeile
#define HEAT_BED_Z_COMPENSATION_MIN_MM
bezieht es sich hier auf die Höhe, ab der die Kompensation läuft (darunter wird bloß parallel zum Bett gefahren, um eine gute Haftung des ersten Layers zu gewährleisten). - Laut Configuration.h wäre diese Höhe standardmäßig 0.2mm.
M3008 - Maximale Z-Kompensationshöhe festlegen
Parameter
- S<µm> ... die Höhe, in µm, ab der die Z-Kompensation abgeschlossen ist und nicht mehr kompensiert wird. Ab dieser Höhe sind die Layer theoretisch völlig eben.
- Z<mm> ... die Höhe in Millimeter - Achtung! - Dieser Parameter gilt erst ab Version RF.01.21
Bemerkung
- Neu in v.0.91.49. Ähnlich wie M3003, nur werden hier µm angegeben, statt Mikroschritte
- Ab Version RF.01.21 kann man den Abstand direkt in Millimeter angeben, falls der Parameter 'Z' verwendet wird.
- Basierend auf die Zeile
#define HEAT_BED_Z_COMPENSATION_MAX_MM
bezieht es sich auf die Höhe, ab der keine Kompensation mehr stattfindet. - Laut Configuration.h wäre diese Höhe 3mm.
M3009 - Wähle welche Heat Bed Matrix verwendet werden soll
Parameter
- (kein Parameter) ... gibt (im Log) Informationen darüber aus, welche Heat Bed Matrix gerade aktiv ist
- <Sn> (mit n: 1-9) ... wählt die entsprechende Matrix aus dem Speicher und setzt diese als aktiv.
Bemerkung
- Neu ab Version RF.01.21. Es können bis zu 9 verschiedene Matrizen gespeichert und wieder abgerufen werden.
- Man muss vor einem Heat Bed Scan mit M3009 Sn eine Speicherstelle auswählen und dann erst den HBS machen, bevor man diese Matrix auch verwenden kann.
M3010 - Heat Bed Scan (HBS) Starten/Abbrechen
Parameter
- Keine ... startet einen Heat Bed Scan (HBS) oder bricht einen laufenden Scan ab.
- S1 ... startet einen HBS, der für zukünftige PLA Drucke optimiert ist (temperaturmäßig)
- Achtung! - Dieser Parameter gilt erst ab Version RF.01.21
- S2 ... startet einen HBS, der für zukünftige ABS Drucke optimiert ist
- Achtung! - Dieser Parameter gilt erst ab Version RF.01.21
Bemerkung
- Startet einen Heat Bed Scan (HBS). Dabei wird die Oberfläche des Betts abgetastet und die Lage/Form der Bettoberfläche als Matrix für später gespeichert. Man kann, mittels M3009, bis zu 9 mögliche Speicherstellen dafür aussuchen, um diese später explizit wieder mittels 'M3009' auszuwählen (Nachprüfung nötig).
- Mittels M3001 wird die Z-Kompensation aktiviert, die anhand der Matrix die Unebenheiten/Schieflage des Betts kompensiert.
- Bis inklusive Version RF.01.19 akzeptiert dieses Kommando keine Parameter
- Ein zweiter Aufruf des Befehls bricht einen laufenden Scan ab.
M3011 - Die unter M3010 erhaltene Matrix aus dem EEPROM löschen
Parameter
- Keine ... löscht die aktuell aktive Heat Bead Scan Matrix (HBS Matrix) aus dem EEPROM Speicher
- <Sn> (mit n von 1-9) ... Löscht die mit [n] angegebene HBS Matrix aus dem EEPROM Speicher
- Achtung! - Dieser Parameter, <Sn>, gilt erst ab Version RF.01.21
Bemerkung
- Bis inklusive Version RF.01.19 akzeptiert dieses Kommando keine Parameter.
- Hier ist KEIN EEPROM Support in der Configuration.h notwendig!! Ich habe gerade beim Testen des Befehls meine Matrix gelöscht!
- Nach der Ausführung des Befehls werden alle Matrixwerte ohne Sicherheits-Nachfrage auf "0" gesetzt. Danach ist ein neuer HBS notwendig (siehe dazu M3010)
M3012 - Die Standard-HBS-Parameter wieder herstellen
Parameter
- Keine
Bemerkung
- Damit kann man die Heat-Bed-Scan-Parameter (HBS-Parameter) wieder auf die Standardwerte zurücksetzen, falls diese mittels einen der Befehle (M3020 bis M3050) verändert wurden.
M3013 - Die aktuelle Matrix des HBS ausgeben
Parameter
- Keiner ... gibt (im Log) die aktive Heat Bed Scan Matrix (HBS Matrix) aus, dabei wird die Einheit des Z-Abstands in [Schritte] dargestellt.
- S<n> (mit n von 1-9)
- ....gibt die HBS Matrix aus, die an Speicherstelle <n> gespeichert wurde, wobei die Einheit [Schritte] ist.
- Achtung! - Dieser Parameter, Sn, gilt erst ab Version RF.01.21
- P1 .... gibt die aktuell aktive Matrix aus, dabei wird die Einheit des Z-Abstands in [mm] dargestellt.
- Achtung! - Dieser Parameter, P1, gilt erst ab Version RF.01.21
Bemerkung
- Eine Kombination der Parameter S<n> und P1 ist zulässig, z.B. M3013 S4 P1 (erst ab Version RF.01.21).
- Siehe dazu auch M3009, wo man sich eine Speicherstelle aussuchen kann (ab Version RF.01.21).
- Die Heat Bed Scan (HBS) Matrix wird durch den Befehl M3010 erstellt. Die Ausgabe durch M3013 geschieht im Log-Bereich, z.B. von Repetier-Host.
M3020 - X-Startpunkt für HBS festlegen
Parameter
- S<mm>
Bemerkung
- Legt den Startpunkt HBS in X-Richtung mit 'mm' in Millimeter fest
M3021 - Y-Startpunkt für HBS festlegen
Parameter
- S<mm>
Bemerkung
- Legt den Startpunkt HBS in Y-Richtung mit 'mm' in Millimeter fest
M3022 - X-Schrittweite für HBS festlegen
Parameter
- S<mm>
Bemerkung
- Legt die Schrittweite des HBS in X-Richtung mit 'mm' in Millimeter fest
M3023 - Y-Schrittweite für HBS festlegen
Parameter
- S<mm>
Bemerkung
- Legt die Schrittweite des HBS in Y-Richtung mit 'mm' in Millimeter fest
M3024 - X-Endpunkt für HBS festlegen
Parameter
- S<mm>
Bemerkung
- Legt den Endpunkt des HBS in X-Richtung mit 'mm' in Millimeter fest (als Abstand des Endpunkt zur maximalen X-Position des Druckers)
M3025 - Y-Endpunkt für HBS festlegen
Parameter
- S<mm>
Bemerkung
- Legt den Endpunkt des HBS in Y-Richtung mit 'mm' in Millimeter fest
M3030 - Vertikale Schrittweite für HBS festlegen, Schnellgang, nach Oben
Parameter S<Mikroschritte>
Bemerkung
- <Mikroschritte> muss zw. 1 und 50 liegen, ansonsten wird 1 bzw. 50 gesetzt.
- Definiert die vertikale Schrittweite, wo das Bett beim HBS noch im Schnellgang Richtung Düse fährt. (Geprüft)
- In der Configuration.h ist der Wert 64 (v0.91.53).
M3031 - Vertikale Schrittweite für HBS festlegen, Langsamgang, nach Oben
Parameter S<Mikroschritte>
Bemerkung
- <Mikroschritte> muss zw. 1 und 50 liegen, ansonsten wird 1 bzw. 50 gesetzt.
- Definiert die vertikale Schrittweite, wo das Bett beim HBS im langsam-Gang Richtung Düse fährt. (Geprüft)
- In der Configuration.h ist der Wert 12.8 (v0.91.53).
M3032 - Vertikale Schrittweite für HBS festlegen, Schnellgang, nach Unten
Parameter S<Mikroschritte>
Bemerkung
- Definiert vermutlich die vertikale Schrittweite, wo das Bett beim HBS im Schnellgang von der Düse wegfährt. (Nachprüfung nötig)
- In der Configuration.h ist der Wert 640 (v0.91.53).
M3033 - Vertikale Schrittweite für HBS festlegen, Langsamgang, nach Unten
Parameter S<Mikroschritte>
Bemerkung
- Definiert vermutlich die vertikale Schrittweite, wo das Bett beim HBS im langsam-Gang von der Düse wegfährt. (Nachprüfung nötig)
- In der Configuration.h ist der Wert 80 (v0.91.53).
M3040 - Konfiguriere die Verzögerung (in ms) zw. zwei schnellen Bewegungen während des HBS
Paramater
- S<ms>
M3041 - Konfiguriere die Verzögerung (in ms) zw. zwei langsamen Bewegungen während des HBS
Paramater
- S<ms>
M3042 - Konfiguriere die Verzögerung (in ms) zw. Erreichen einer neuen x/y Position und Prüfung des Leerlaufdrucks
Parameter
- S<ms>
M3050 - Konfiguriere die Kontakttdruckdifferenz (in Digits)
Parameter
- S<digits>
M3051 - Konfiguriere die Wiederholdruckdifferenz (in digits)
Parameter
- S<digits>
M3052 - Konfiguriere die Leerlaufdrucktoleranz (in Digits)
Parameter
- S<digits>
M3053 - Konfiguriere die Anzahl, wie oft der A/D-Wandler während der Druckmessung gelesen werden soll
Parameter
- S<n>
M3054 - Konfiguriere die Verzögerung (in ms) zwischen zwei A/D-Wandler-Abfragen
Parameter
- S<ms>
M3055 - Konfiguriere die Drucktoleranz (in Digits) je Druckmessung
Parameter
- S<digits>
M3060 - Druckertyp und Firmwareversion ausgeben
Parameter
- Keine
Bemerkung
- Ab Version RF.01.10 gültig
M3070 - Druck pausieren (als ob Pause-Taste gedrückt wurde)
Parameter
- S1|S2
Bemerkung
- Ein Parameter ist notwendig.
- Dabei gilt:
- S1 : pausiere an der augenblicklichen Position
- S2 : fahre zur vordefinierten Position (Standardposition oder mittels M3105 definierter Position) und pausiere
- Ohne Parameterübergabe wird nicht pausiert !!
- Der Drucker bestätigt das Pausieren mit einem Dreifach-pieps. (Das Drücken der Weiter-Taste, danach, wird mit einem Doppel-pieps akustisch bestätigt).
M3071 - Warte mit der Abarbeitung, bis die Weiter-taste ('Play'-Taste) gedrückt wurde
Parameter
- Keine
Bemerkung
- Befehl neu ab v0.91.49
- Der Befehl wirkt zusammen mit M3070, wobei auch mit dem Abarbeiten weiterer GCodes gewartet wird, solange der Drucker im pausierten Zustand ist. Ohne den Befehl würden gewisse, ungepufferte Befehle weiterhin abgearbeitet werden.
M3075 - Minimal- und Maximalkräfte für Notfall-Pause / Emergency-Pause definieren
Parameter
- S<nnn> ... legt die maximale 'Negativkraft' fest, in Digits, ab dem der Drucker eine 'Notfallpause' einlegt.
- P<nnn> ... legt die maximale 'Positivkraft' fest, in Digits, ab dem der Drucker eine 'Notfallpause' einlegt.
Bemerkung
- Damit kann man den Auslösepunkt von der Notfall-Pause definieren, der bei Überschreiten der Kräfte auf den Wägezellen aktiviert wird.
- Der S<nnn> Parameter sollte sinnvollerweise negativ sein, damit eine starke, nach oben wirkende Kraft auf den Extruder/Fräsaufsatz den Drucker stoppt. Der P<nnn> Parameter sollte hier als positiver Wert angegeben werden. Damit könnte, indirekt, eventuell eine verstopfte Düse, oder der Ausfall der Extruderheizung erkannt, und der Druck pausiert werden.
- Ab Version RF.01.10 gültig
M3076 - Minimal- und Maximalkräfte für Z-Not-Stop / Emergency-Stop definieren
Parameter
- S<nnn> ... legt die maximale 'Negativkraft' fest, in Digits, ab dem der Drucker einen 'Z-Not-Stop' einleitet, wenn in Z verfahren wird.
- P<nnn> ... legt die maximale 'Positivkraft' fest, in Digits, ab dem der Drucker einen 'Z-Not-Stop' einleitet, wenn in Z verfahren wird.
Bemerkung
- Damit kann man den Auslösepunkt vom Notaus definieren, der bei Überschreiten der Kräfte auf den Wägezellen aktiviert wird. Standardbeispiel: M3076 S-5000 P5000
- Der S<nnn> Parameter sollte sinnvollerweise negativ sein, damit eine starke, nach oben wirkende Kraft auf den Extruder/Fräsaufsatz den Drucker stoppt. Der P<nnn> Parameter sollte hier als positiver Wert angegeben werden. Damit soll ein eventueller destruktiver Crash während der Fahrt in Z vermieden werden. M3076 S0 P0 deaktiviert den Z-Notstopp. Der Z-Notstopp bei +-5000 Digits ist unter anderem während des Vase-Mode hinderlich, da hier oft in Z verfahren wird und hohe Hotend-Innen-Drücke bei manchen Materialien nicht ungewöhnlich sind. Im Vasemode kann z.B. M3076 S-10000 P10000 helfen.
- Ab Version RF.01.39 gültig
M3079 - Druckobjekt 'ausgeben'
Parameter
- Keine
Bemerkung
- AB v0.91.48: Druckbett wird zu einer vordefinierten Position gefahren. Diese Position wird in der Firmware definiert, als Befehls-String unter
#define OUTPUT_OBJECT_SCRIPT_PRINT
- In früheren Versionen konnte man die Position mittels M3104 definieren.
M3080 - Drucker in Parkposition fahren
Parameter
- Keine
Bemerkung
- Parkposition definiert mittels M3103
M3090 - Watchdog Timer testen
Parameter
- Keine
Bemerkung
- Hierbei wird die Firmware zurückgesetzt
M3091 - Lösche externes EEPROM
Parameter
- Keine
M3100 - Einstellen, wie viele Mikroschritte sich das Bett bewegt, wenn "Bett auf" oder "Bett ab" Taste am Drucker betätigt wurde
Parameter
- S<n>
Bemerkung
- n gibt die Anzahl der Microschritte an
M3101 - Einstellen, wie viele Mikroschritte sich der Extruderschrittmotor bewegt, wenn eine der Tasten am Drucker betätigt wird
Parameter
- S<n>
Bemerkung
- n gibt die Anzahl der Mikroschritte an
M3102 - Konfiguriere Versatz, wenn die 'Pause' Taste gedrückt wird
Parameter
- [X<n>][Y<n>][Z<n>][E<n>]
Bemerkung
- n gibt jeweils die Anzahl der Mikroschritte an
- Konfiguriert den Versatz, wo der Extruder hinfahren soll, wenn die 'Pause' Taste gedrückt wird (ähnlich wie M3105)
- Voraussetzung: FEATURE_PAUSE_PRINTING muss in der configuration.h aktiviert sein (standardmäßig aktiviert).
M3103 - Parkposition festlegen
Parameter
- [Xnnn Ynnn Znnn]
Bemerkung
- Legt die Parkposition fest. Angaben nnn sind in Millimetern. Siehe auch M3080.
- Voraussetzung: FEATURE_PARK muss in der configuration.h aktiviert sein (standardmäßig NICHT aktiviert).
M3104 - Objektausgabeposition definieren - Gelöscht ab v0.91.48
Parameter
- X Y Z ... Koordinaten der Ausgabeposition
Bemerkung
- Dieser Befehl ist nur in Versionen vor v0.91.48 anwendbar. Der Befehl wurde gelöscht, da die Funktionalität durch das
OUTPUT_OBJECT_SCRIPT
in der Configuration.h (Firmware) ersetzt wurde. Siehe dazu auch M3079
M3105 - Konfiguriere Versatz in X-, Y- und Z-Richtung sowie Extruder Retract, wenn Pause gedrückt wurde
Parameter
- [x<nnn>][Y<nnn>][Z<nnn>][E<nnn>]
Bemerkung
- Angaben nnn sind in Millimetern.
- Voraussetzung: FEATURE_PAUSE_PRINTING muss in der configuration.h aktiviert sein (standardmäßig aktiviert).
- Diese Position wird auch angefahren, wenn der Befehl "M3070 S2" ausgeführt wird.
M3110 - Aktuellen Statustext 'einfrieren'
Parameter
- Keine
Bemerkung
- Nur bis inkl. Version RF.01.19 gültig.
- Der Befehl wurde im Prinzip durch M3117 ersetzt.
M3115 - X- und Y-Koordinaten der aktuellen Position auf Null setzen
Parameter
- Keine
Bemerkung
- Ab Version RF.01.10 gültig
M3117 - 'Permanente' Meldung am Statusdisplay einrichten
Parameter
- <Meldungstext> ... optional
- Damit lässt sich eine kurze Meldung in der 4. Zeile am Display einrichten, die nicht durch nachfolgende Meldungen verdrängt wird. Diese Meldung bleibt bestehen, bis entweder eine neue Meldung mittels M3117 definiert wird oder der Drucker ausgeschaltet wird. Um wieder zum ursprünglichen Display zu gelangen muss wieder M3117 gesendet werden, aber OHNE Parameter. Damit kann die letzte Zeile wieder diverse Meldungstexte übermitteln (z.B. mittels M117). Die maximale Länge der Meldung sind 17 Zeichen.
Bemerkung
- Ab Version RF.01.21 gültig Ab dieser Version hat M3117 den Befehl M3110 ersetzt.
M3120 - Gehäuse-Lüfter einschalten
Parameter
- Keine
Bemerkung
- Mit "Gehäuse-Lüfter" ist bei Vollmetallextrudern der Lüfter gemeint, der das "Extrudergehäuse" kühlt
M3121 - Gehäuse-Lüfter ausschalten
Parameter
- Keine
Bemerkung
- Mit "Gehäuse-Lüfter" ist bei Vollmetallextrudern der Lüfter gemeint, der das "Extrudergehäuse" kühlt
Die folgenden M-Codes sind für den Werkstück-Scan in der Betriebsart "Fräsen"
M3130 - Starte/Stoppe die Suche nach dem z-Ursprung
Parameter
- Keine
Hinweis:
- Wird erst ab Version 0.91.49 unterstützt
M3140 - Schalte die Z-Kompensation aus
Parameter
- Keine
M3141 - Schalte die Z-Kompensation ein
Parameter
- Keine
M3146 - Setze / Konfiguriere statischen Z-Offset
Patameter
Entweder
- S<µm>
oder
- Z<mm> .. hier kann man den Offset in Millimeter angeben
- Achtung! - Dieser Parameter, Z, gilt erst ab Version RF.01.21
M3149 - Hole/Wähle die aktive Werkstück-Z-Kompensations Matrix
Parameter
- S<n>
Bemerkung
- Liefert einen Fehler zurück, wenn n < 1 oder n > EEPROM_MAX_WORK_PART_SECTORS ist.
- Mit dem Parameter kann man gezielt eine Speicherstelle für einen nachfolgenden Scan (mittels M3150) auswählen. Wird kein neuerlicher Scan durchgeführt, wird die bereits gespeicherte Matrix an der Speicherstelle für die Z-Kompensation (im Fräsmodus) verwendet.
- (Vermutlich bleibt die Speicherstelle bis zum Ausschalten oder Neuauswahl ausgewählt. Die Matrixdaten, selbst, bleiben auch nach dem Ausschalten bestehen, da sie im EEPROM gespeichert werden).
M3150 - Werkstück-Scan starten/abbrechen
Parameter
- S<n> Hier sind nur 0 oder 1 zulässig.
Bemerkung
Mit n kann anscheinend ein Scan nummeriert werden.Mit n kann diese Matrix später gezielt mittels M3149 geladen werden- Ohne Parameter, bzw. mit Parameter "S0" wird vor dem Scan KEIN Homing durchgeführt. Mit "S1" wird vor dem Scan ein Homing durchgeführt. (Edit, basierend auf diesen Beitrag)
M3151 - Lösche die spezifizierte Z-Kompensations Matrix aus dem EEPROM
Parameter
- S<n>
Bemerkung
- Löscht die mit n spezifizierte Matrix aus dem EEPROM.
- Liefert einen Fehler zurück wenn n < 1 oder n > EEPROM_MAX_WORK_PART_SECTORS ist.
M3152 - Stelle die Standard Scan Parameter wieder her
Parameter
- Keine
M3153 - Gib die spezifizierte Werkstück-Z-Kompensations Matrix aus
Parameter
- Keiner ... gibt (im Log) die aktive Werkstück-Scan Matrix aus, dabei wird die Einheit des Z-Abstands in [Schritte] dargestellt.
- S<n> (mit n von 1-9)
- ....gibt die Werkstück-Scan Matrix aus, die an Speicherstelle <n> gespeichert wurde, wobei die Einheit [Schritte] ist.
- P1 .... gibt die aktuelle oder gewählte Matrix aus, dabei wird die Einheit des Z-Abstands in [mm] dargestellt.
- Achtung! - Dieser Parameter, P1, gilt erst ab Version RF.01.21
Bemerkung
- Gibt die aktuelle oder mit n spezifizierte Matrix aus, die Einheit ist dabei [Schritte] oder [mm].
- Eine Kombination der Parameter S<n> und P1 ist zulässig, z.B. M3153 S4 P1 (erst ab Version RF.01.21).
- Siehe dazu auch M3149, wo man sich eine Speicherstelle für das Speichern einer Matrix aussuchen kann.
- Die Werkstück-Scan Matrix wird durch den Befehl M3150 erstellt. Die Ausgabe durch M3153 geschieht im Log-Bereich, z.B. von Repetier-Host.
M3160 - Setze / Konfiguriere die X Startposition für den Werkstück-Scan
Parameter
- S<mm>
Bemerkung
- Legt die X Startposition mit 'mm' fest
M3161 - Setze / Konfiguriere die Y Startposition für den Werkstück-Scan
Parameter
- S<mm>
Bemerkung
- Legt die Y Startposition mit 'mm' fest.
M3162 - Setze / Konfiguriere die X Schrittweite für den Werkstück-Scan
Parameter
- S<mm>
Bemerkung
- Legt fest wie weit in mm die Scanpunkte in X-Richtung auseinanderliegen.
M3163 - Setze / Konfiguriere die Y Schrittweite für den Werkstück-Scan
Parameter
- S<mm>
Bemerkung
- Legt fest wie weit in mm die Scanpunkte in Y-Richtung auseinanderliegen.
M3164 - Setze / Konfiguriere die X Endposition für den Werkstück-Scan
Parameter
- S<mm>
Bemerkung
- Legt die X Endposition mit 'mm' fest
M3165 - Setze / Konfiguriere die Y Endposition für den Werkstück-Scan
Parameter
- S<mm>
Bemerkung
- Legt die Y Endposition mit 'mm' fest
Andere M-Codes
M3190 - Test der Dehnmessstreifen starten oder abbrechen
Parameter
- Unbekannt
Bemerkung
- Das ist eine Testfunktion von und für Conrad zum Testen des Emergency-Stops (etc.). Funktioniert nicht ohne Aktivierung in Firmware-Konfiguration. Ausgebaut in Firmware-Mod mangels Nutzen für den Enduser.
M3200 - Reserviert für Testzwecke und Fehlersuche
Parameter
- P<n> S<m>
Bemerkung
- P1: Speicherausgaben
- P2: Ausgabe Homing Geschwindigkeiten
- P3: Ausgabe Piepser - Unterschiedlich je nach S1 bis S13
- P4: Simuliert Blockade der Z-Achse
- P5: Simuliert einen Temperatursensor-Fehler
- P6: Diverse Kompensationsausgaben
- P7: Ausgabe Ursprung (inkl. statischer Z-Kompensation)
- P8: Ausgabe aktueller Befehl
- P9: Ausgabe Debug-Level
- P10: Ausgabe Betriebsmodus und diverse Endstopp-Angaben
- P13: LCD Display zurücksetzen (falls das Display leer ist oder 'spinnt')
- - Funktion bestätigt beim RF1000 und RF2000
Spezielle M-Codes, nur für den RF2000
- Die folgenden Befehle werden nur vom RF2000 akzeptiert, da dabei eine Funktion/Hardware angesprochen wird, die beim RF1000 standardmäßig fehlt.
M3300 - Konfigurieren der 24V FET-Ausgänge (Ein/Aus)
Parameter
- P<n> S<0,1>
- P1: FET1 = Stecker X42
- P2: FET2 = Stecker X44
- P3: FET3 = Board-Lüfter an Stecker X45
- S0: 0V
- S1: 24V
Bemerkung
- Ab Version RF.01.10 gültig
- FET3 sollte man nicht benutzen, denn dieser ist bereits durch den Board-Lüfter belegt. Bestätigt für Platine V3.0
- Die Leistung der FET-Ausgänge ist thermisch limitiert, Vorsicht Polung! http://www.rf1000.de/viewtopic.php?f=73&t=1472&start=10#p16160
M3301 - Konfigurieren des 220V Ausgangs (Ein/Aus)
Parameter
- S<0,1>
- S0: 230V Steckdose aus
- S1: 230V Steckdose ein
Bemerkung
- Ab Version RF.01.10 gültig
- Die Steckdose ist nach dem Druckerstart immer aus. Leistungslimit: Auf dem RF2000-Aufkleber steht 800W max.
M3303 - Konfigurieren des RGB-Lichteffekts beim Heizen
Parameter
- P<n> S<n>
- Parameter 'P' verlangt '1', '2' oder '3', wobei P1 ein rotes, P2 ein grünes und P3 ein blaues Licht zur Folge hätte
- Parameter 'S' erlaubt die Festlegung der Helligkeit. Zulässige Werte von 0 (=minimale) bis 255 (=maximale Helligkeit)
- Beispiel:
- M3303 P1 S120
- würde die RGB LED Streifen mit mittlerer Helligkeit rot leuchten lassen, solange der Drucker am Aufheizen ist
Bemerkung
- Ab Version RF.01.10 gültig
M3304 - Konfigurieren des RGB-Lichteffekts beim Drucken
Parameter
- P<n> S<n>
Anwendung analog zu "M3303", jedoch nur solange der Drucker am drucken ist
Bemerkung
- Ab Version RF.01.10 gültig
M3305 - Konfigurieren des RGB-Lichteffekts beim Abkühlen
Parameter
- P<n> S<n>
Anwendung analog zu "M3303", jedoch nur wenn der Drucker am Abkühlen ist
Bemerkung
- Ab Version RF.01.10 gültig
M3306 - Konfigurieren des RGB-Lichteffekts im Leerlauf
Parameter
- P<n> S<n>
Anwendung analog zu "M3303", jedoch nur solange der Drucker im Leerlauf ist
Bemerkung
- Ab Version RF.01.10 gültig
M3307 - Konfigurieren der RGB-Lichterfarben im manuellen Modus
Parameter
- P<n> S<n>
Anwendung analog zu "M3303", jedoch nur solange der Drucker im manuellen RGB Modus ist. Siehe dazu auch "M3308", mit dem man den manuellen Modus auswählen kann (mittels 'M3308 P3')
Bemerkung
- Ab Version RF.01.10 gültig
M3308 - RGB-Lichtmodus konfigurieren
Parameter
- P<n> . . . Zulässige Werte von 'n' von 0 bis 3
- P0 Schaltet den RGB Lichtmodus auf 'Aus'
- P1 Schaltet den RGB Lichtmodus auf 'Weiss'
- P2 Schaltet den RGB Lichtmodus auf 'Auto'
- P3 Schaltet den RGB Lichtmodus auf 'Manuell'
Siehe auch "M3307", wo das Leuchtverhalten im manuellen Modus bestimmt werden kann.
Unbestätigt - (mjh11) - Vermutlich muss der Modus auf 'Auto' stehen, damit Befehle wie M3303, M3304, M3305 und M3306 wirksam werden können - Bitte jemand mit einem RF2000 das Verhalten entsprechend testen!
Bemerkung
- Ab Version RF.01.10 gültig
M3309 - Align Extruders / Extruder einfluchten
Parameter
- Keine
Bemerkung
- Lässt die Hotend-Düse auf das Heizbett hinab, sodass die Düse dieses berührt. Dann kann das zweite Hotend auf dasselbe Niveau hinabgelassen und erneut festgespannt werden. Es ist dasselbe Vorgehen wie beim Heat-Bed-Scan "Scan PLA"/"Scan ABS". In der Offiziellen Firmware muss vorher gehomed werden und man muss das Hotend durch Bewegung über dem Heizbett platzieren. (Beim Community-Mod >=1.38.01 ist das Homing und Platzieren optional. Ohne Homing oder manuelle Platzierung der Einfluchtposition wird automatisch gehomed und eine Einfluchtposition gewählt.)
- Ab Version RF.01.39/RF.01.38.01.Mod gültig
T-Codes
Tn - Werkzeug (=Extruder) auswählen
Parameter
- [n] ... eine Ganzzahl, die 'Extrudernummer minus 1' entspricht
Beispiel
- T1 ... wählt den zweiten Extruder aus, damit werden alle folgenden Temperatur- und Extrusionsanforderungen an den zweiten Extruder gerichtet. T0 wechselt wieder zum ersten Extruder zurück.