GCodes

Aus RF1000 Wiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

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>


Hinweis
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.
Anmerkung ( JoBo): Dieser Befehl dient der Kommunikation zwischen Drucker und PC-Software, wie Repetier-Host.
Die Software sendet M105 Sn und der Drucker sendet die gemessene Temperatur des Extruder n zurück.

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
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.

M112 - Not-Abschaltung

Parameter

Keine

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]

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:
Basierend auf diese Seite müsste in der Firmware #define USE_OPS gesetzt sein. Nachdem diese Zeile unauffindbar ist, liegt die Vermutung nahe, dass der RFx000 diesen Befehl nicht unterstützt.
Die verlinkte Seite beschreibt die vorgesehene Funktion aber gut.

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).

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
Es gab einen Beitrag von RF1000, wo als Parameter "S6" übergeben wurde.
Siehe auch M111 für denStandard-Befehl für Debug-Codes

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

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 Notaus 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 vom Notaus 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 gestoppt werden.
Genaue Parametersyntax noch offen
Ab Version RF.01.10 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

Dzt unbekannt

Bemerkung

Ab Version RF.01.10 gültig

M3304 - Konfigurieren des RGB-Lichteffekts beim Drucken

Parameter

Dzt unbekannt

Bemerkung

Ab Version RF.01.10 gültig

M3305 - Konfigurieren des RGB-Lichteffekts beim Abkühlen

Parameter

Dzt unbekannt

Bemerkung

Ab Version RF.01.10 gültig

M3306 - Konfigurieren des RGB-Lichteffekts im Leerlauf

Parameter

Dzt unbekannt

Bemerkung

Ab Version RF.01.10 gültig

M3306 - Konfigurieren der RGB-Lichterfarben

Parameter

Dzt unbekannt

Bemerkung

Ab Version RF.01.10 gültig

M3308 - RGB-Lichtmodus konfigurieren

Parameter

Dzt unbekannt

Bemerkung

Ab Version RF.01.10 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.