| 
				     | 
				
| Zeile 1: | 
Zeile 1: | 
 | [[Kategorie:GCode]]
  |  | 
 | ''Ich habe mich bemüht, nach bestem Wissen und Gewissen, die GCode-Befehle für den RF1000 ins Deutsche zu übersetzen.
  |  | 
 | 
  |  | 
  | 
 | ''Alle Angaben ohne Gewähr!
  |  | Diese ursprüngliche Übersetzung der GCodes von mjh11 ist '''komplett überarbeitet''' worden.  | 
 | ''
  |  | 
 | ''Der Stand der Befehle/Dokumentation entspricht der Firmware-Version 0.91.49 vom RF1000 (datiert 20141222)
  |  | 
 | ''Ich konnte einige Befehle nicht prüfen (keinen Fräser).  Andere sind schlecht oder gar nicht dokumentiert und ich konnte'' ''die Syntax und/oder den Zweck nicht eruieren.  |  | 
 | 
  |  | 
  | 
 | ''Ich werde diese Datei nicht warten bzw. pflegen.  Korrekturen/Ergänzungen werden jedoch gerne entgegengenommen.  Vielleicht kann ein Anderer diese einarbeiten.''
  |  | Die überarbeitete Version ist [[GCodes|hier]] zu finden.  | 
 | ''
  |  | 
 |    |  | 
 | ----
  |  | 
 |  <nowiki>Diese G-Codes wurden aus den Firmware-Dateien vom RF1000 erstellt
  |  | 
 | (v. 0.91.49, datiert 20141222)
  |  | 
 |    |  | 
 |    |  | 
 | Implementierte Codes im RF1k:   (#######   aus der Datei "Repetier.ino"    #######)
  |  | 
 |    |  | 
 | Deutsche Übersetzung durch mjh11 - Alle Angaben ohne Gewähr!!
  |  | 
 |    |  | 
 |    |  | 
 | - G0  -> siehe G1
  |  | 
 | - G1  [X Y Z E F] - Koordinierte Bewegung entlang einer oder mehrerer Achsen 
  |  | 
 | 	(X Y Z E) F ist dabei die geforderte Verfahrgeschwindigkeit
  |  | 
 | - G2  [X Y I J E F] - Kreisbogen im Uhrzeigersinn
  |  | 
 | 	(Dabei gilt: X= die Endpos. auf der X Achse, Y= die Endposi. auf der Y Achse
  |  | 
 | 	Innn= X-Koordinate des Kreismittelpunkts, Jnnn= Y-Koordinate des
  |  | 
 | 	Kreismittelpunkts, E= Extrusionslänge entlang des Kreisbogens, in mm und 
  |  | 
 | 	F= Verfahrgeschwindigkeit, wobei E und F optional sind - {allerdings, ein
  |  | 
 | 	Kreisbogen zu fahren, OHNE Extrusion, ist sinnlos})
  |  | 
 | - G3  [X Y I J E F] - Kreisbogen gegen den Uhrzeigersinn - siehe G2
  |  | 
 | Hinweis:  G2 und G3 müssen von der Slicer-Software unterstützt werden.
  |  | 
 | - G4  - Pause S<Sekunden> or P<Millisekunden>
  |  | 
 | - G20 - Einheiten der Bewegungsbefehle (G0-G2) sind in Zoll.
  |  | 
 | - G21 - Einheiten der Bewegungsbefehle (G0-G2) sind in Millimeter.
  |  | 
 | - G28 - Fahre alle Achsen (oder die bezeichnete(n)) zum Ursprung, z.B. "G28 Y0 Z0"
  |  | 
 | 	fährt nur in Y und Z auf "0".
  |  | 
 | !! G29 bis G32 werden scheinbar nicht unterstützt.  Wozu denn auch?  RF1k hat 
  |  | 
 | 	Z-Kompensation!
  |  | 
 | X- G29 S<0..2> - Messe Z-Höhe an den 3 vor definierten Punkten. S = 1 messe 
  |  | 
 | 	durchschn. zHöhe, S = 2 speichere durchschn. zHöhe
  |  | 
 | X- G30 P<0..3> - Messe Z-Höhe an der augenblicklichen Pos.. P = 1 erste Messung, 
  |  | 
 | 	P = 2 letzte Messung P = 0 oder 3 : erste und letzte Messung
  |  | 
 | X- G31 - Speichere Wert des Z-Höhentasters
  |  | 
 | X- G32 S<0..2> P<0..1> - Automatische Bettausrichtung. S = 1 messe zHöhe, 
  |  | 
 | 	S = 2 messe und speichere neue zHöhe
  |  | 
 | 		Entspricht in etwa "M3010" beim RF1k
  |  | 
 | !! G29 bis G32 werden scheinbar nicht unterstützt.  Wozu denn auch?  RF1k hat 
  |  | 
 | 	Z-Kompensation!
  |  | 
 | - G90 - Interpretiere Koordinaten als absolut
  |  | 
 | - G91 - Interpretiere Koordinaten als relativ
  |  | 
 | - G92 [X<Wert> Y<Wert> Z<Wert> E<Wert>] - Setze die angegebene Koordinate(n) auf den
  |  | 
 | 	vorgegebenen Wert
  |  | 
 | 		Wird z.B. für die "E"-Koordinate häufig verwendet, so: "G92 E0"
  |  | 
 | !! 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.
  |  | 
 | - G131 - set extruder offset position to 0 - needed for calibration with G132
  |  | 
 | - G132 - calibrate endstop positions. Call this, after calling G131 and after
  |  | 
 | 	centering the extruder holder.
  |  | 
 |    |  | 
 | RepRap M Codes - Standard M-Befehle
  |  | 
 |    |  | 
 | - M104 <Snnn> - Setze Extrudertemperatur.  Hier wird nicht gewartet.  Die nächsten
  |  | 
 | 	Befehle werden unmittelbar danach abgearbeitet
  |  | 
 | - M105 - Gebe Extrudertemperatur aus (wird scheinbar auch nicht unterstützt - man
  |  | 
 | 	hat ja das Display)
  |  | 
 | - M106 <Sxxx> - Schalte Lüfter ein.  Parameter S von 0-255 zulässig (255=100%)
  |  | 
 | - M107 - Schalte Lüfter aus (gleich wie "M106 S0")
  |  | 
 | - M109 <Snnn> - Setze Extrudertemperatur.  Hier WIRD gewartet.  Die nächsten Befehle
  |  | 
 | 	werden erst NACH erreichen der Temperatur abgearbeitet
  |  | 
 | - M111 S<0....9> - Setze Debug Level  (nicht dokumentiert in der RF1k Firmware?)
  |  | 
 | - M114 - Zeige Koordinaten der augenblicklichen Position (berücksichtigt G92!!)
  |  | 
 |    |  | 
 |    |  | 
 | Custom M Codes - Spezielle M-befehle
  |  | 
 |    |  | 
 | - M20  - Liste Inhalt der SD Karte
  |  | 
 | - M21  - SD Karte initialisieren (mounten - ist nicht dasselbe wie formatieren)
  |  | 
 | - M23 <Dateiname> - Wähle Datei auf der SD Karte aus ("M23 {\Pfad\}Dateiname.gcode")
  |  | 
 | - M24  - Starte Druck von der SD-Karte, oder fahre mit Druck wieder fort
  |  | 
 | - M25  - Druck von der SD Karte pausieren
  |  | 
 | - M26 <Snnnnn> - Setze Zeiger-Position innerhalb der gewählten SD Datei in Bytes
  |  | 
 | 	Beispiel: "M26 S12345"
  |  | 
 | - M27  - Melde Status des Drucks von der SD Karte
  |  | 
 | - M28 <Dateiname> - Schreibe Datei auf SD Karte ("M28 {\Pfad\}Dateiname.gcode")
  |  | 
 | - M29  - Beende Schreibvorgang auf der SD Karte
  |  | 
 | - M30 <Dateiname> - Lösche Datei von der SD Karte
  |  | 
 | - M32 <Ordnername> - Erstelle Ordner/Unterordner auf der SD Karte
  |  | 
 | - M42 P<Pinnummer> S<Wert:0-255> - Ändere Output des Pins P auf den Wert S.
  |  | 
 | 	Funktioniert nur auf gewissen Pins.
  |  | 
 | - M80  - Netzteil einschalten (NICHT für RF1k!)
  |  | 
 | - M81  - Netzteil ausschalten (NICHT für RF1k!)
  |  | 
 | - M82  - Interpretiere Werte für den Extruder (=E-Werte) als absolute Werte
  |  | 
 | 	(Standardeinstellung)
  |  | 
 | - M83  - Interpretiere Werte für den Extruder als relative Werte, auch wenn im
  |  | 
 | 	absoluten Koordinaten-Modus (G90)
  |  | 
 | - M84  - Schrittmotore bis zur nächsten Bewegung ausschalten (stromlos setzen).
  |  | 
 | 	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 <Snnn> - Setzt Zeitfenster, in Sekunden, ab dem die Motore abgeschaltet
  |  | 
 | 	werden.  Neuerliche Eingabe mit S0 deaktiviert das Zeitfenster wieder
  |  | 
 | 	(S0 ist Standardvorgabe).
  |  | 
 | - M92 [X<Wert> Y<Wert> Z<Wert> E<Wert>] - Stelle Schritte pro mm für die 
  |  | 
 | 	angegebene(n) Achse ein - Verwendung sollte nicht notwendig sein (wirklich
  |  | 
 | 	nur für Sonderfälle, zum Beispiel bei einer vorhandenen GCode-Datei, die
  |  | 
 | 	skaliert werden muss.)
  |  | 
 | - M99 S<Wartezeit> X0 Y0 Z0 - Schalte angegebene(n) Motor(en) für S-Sekunden ab,
  |  | 
 | 	Standardwert:10
  |  | 
 | - M104 S<temp> T<extruder> P1 F1 - Setze Extrudertemperatur, ohne Warten. 
  |  | 
 | 	P1 = Warte bis alle vorhergehenden Bewegungen abgeschlossen sind, 
  |  | 
 | 	F1 = piepse wenn die vorgegebene Temperatur erstmals erreicht wurde.
  |  | 
 | 	Single-Extruder = T0 (Bett = T1 !!)
  |  | 
 | - M105 X0 - Melde Temperaturen. X0 = zeige auch die nicht-umgerechneten digitalen
  |  | 
 | 	Werte.  Scheinbar nicht durch RF1k unterstützt
  |  | 
 | - M112 - Not-Abschaltung
  |  | 
 | - M115 - Schreibe Firmware-String.  Zeigt Firmware-Infos an.
  |  | 
 | - M116 - Warte bis alle angegebenen Temperaturen innerhalb von +/- 1° sind
  |  | 
 | - M117 <Nachricht> - Schreibe eine (kurze) Nachricht ins Display
  |  | 
 | - M119 - Melde Endschalterstatus (nicht-betätigter Schalter wird als "L" gemeldet)
  |  | 
 | - M140 S<temp> F1 - Setze Betttemperatur (OHNE Warten), mit F1 piepst es beim ersten
  |  | 
 | 	Erreichen der Temperatur
  |  | 
 | - M190 S<temp> - Setze Betttemperatur (hier WIRD aber gewartet)
  |  | 
 | - M201 [Xnn Ynn Znn] - Max. Beschleunigungswerte in Einheiten/s² für Druckbewegungen
  |  | 
 | 	Beispiel: "M201 X1000 Y1000"
  |  | 
 | - M202 [Xnn Ynn Znn] - Max. Beschleunigungswerte in Einheiten/s² für Leerfahrten
  |  | 
 | 	ohne Extrusion
  |  | 
 | - M203 S<temp> - Temperaturüberwachung einschalten - (Konnte beim RF1k keine Wirkung
  |  | 
 | 	feststellen)
  |  | 
 | - M204 - Setze PID Parameter X => Kp Y => Ki Z => Kd S<Extruder> 
  |  | 
 | 	Standardmäßig wird der aktive Extruder angesprochen 
  |  | 
 | 	Mit SingleExtruder: 0 = Extruder, 1 = Bett
  |  | 
 | 	Zum Beispiel "M204 X3752 Y1000 Z3518 S0" --> OHNE GEWÄHR
  |  | 
 | - M205 - EEPROM Werte ausgeben (Hinweis: hierfür muss der EEPROM Support in der 
  |  | 
 | 	Configuration.h eingeschalten werden)
  |  | 
 | - M206 T[type] P[pos] [Sint(long)] [Xfloat] - Einen Wert ins EEPROM schreiben
  |  | 
 | 	Dazu muss man wissen welche Werte wo abgespeichert sind.  EEPROM Support
  |  | 
 | 	in der Firmware vermutlich ebenfalls nötig.  Z.B. "M206 T3 P31 X200.00"
  |  | 
 | 	stellt die Geschwindigkeit, mit der in Y gegen 0 gefahren wird 
  |  | 
 | 	('ge-homed' wird), auf 200mm/s
  |  | 
 | - M207 - X<XY 'Ruckeln'> Z<Z 'Ruckeln'> E<Extruder-'Ruckeln'> - Das 'Ruckeln' (jerk)
  |  | 
 | 	entsteht durch sehr rasche, abwechselnde Bewegungen, die den Drucker
  |  | 
 | 	aufschaukeln können.  Mit Hilfe dieses Befehls schränkt man die
  |  | 
 | 	Geschwidigkeit der raschen Abfolge ein.  Die neuen, angegebenen Werte sind
  |  | 
 | 	temporär, sie werden NICHT im EEPROM gespeichert.  
  |  | 
 | 	Der RF1k, mit seiner soliden Bauweise, ist hier nicht sehr anfällig.
  |  | 
 | 	Beim RF1k ist der voreingestellte Wert für XY 10mm/s, für Z 20mm/s.
  |  | 
 | - M220 S<Prozent> - Verfahrgeschwindigkeitsmultiplikator, bei "M220 S50" gehts nur
  |  | 
 | 	mehr halb so schnell voran
  |  | 
 | - M221 S<Prozent> - Multiplikator für die Extrusionsmenge
  |  | 
 | - M231 S<OPS_MODUS> X<Min_Länge> Y<Retract> Z<Hysterese> F<RetractMove> - Stellt das 
  |  | 
 | 	Standard-Verhalten für Retract-Vorgänge ein. (Sollte beim RF1k nicht
  |  | 
 | 	notwendig sein)
  |  | 
 | - M232 - Lese max. 'Vorlaufdruck'-Wert aus und setze es wieder auf 0 (der
  |  | 
 | 	'Vorlaufdruck' ist ähnlich wie die 'Vorzündung' beim Otto-Motor.  Da baut
  |  | 
 | 	der Extruder vorzeitig Druck auf, damit der Druck rechtzeitig vorhanden ist.
  |  | 
 | 	RF1k hat standardmässig 0 eingestellt
  |  | 
 | - M233 X<VorlaufwertK> Y<VorlaufwertL> - Stellt temporäre Werte zur
  |  | 
 | 	Vorlaufdrucksteuerung (siehe M232)
  |  | 
 | - M251 - Messe Anzahl der Z-Schritte (NUR FÜR DELTA-DRUCKER). S0 - Reset, 
  |  | 
 | 	S1 - Print, S2 - Store to Z length (also EEPROM if enabled)
  |  | 
 | - M280 S<Modus> Modus 0 = Aus, 1 = Ein --> Zweck UNBEKANNT 
  |  | 
 | 	("Set ditto printing mode. mode: 0 = off, 1 = on")
  |  | 
 | - M300 S<Frequenz> P<Dauer> - Gibt einen Piepston aus. 'Dauer' wird in Millisekunden 
  |  | 
 | 	angegeben.  "M300 S440 P500" Gibt den Kammerton 'A' für eine halbe
  |  | 
 | 	Sekunde aus.
  |  | 
 | - M303 P<Extruder/Bett> S<Temperatur> X0 - Fährt ein automatisches Programm ab, wo
  |  | 
 | 	die PID-Werte für den Extruder oder das Bett, bei der angegebenen
  |  | 
 | 	Temperatur, ermittelt werden.  Mit SingleExtruder: P0 = Extruder, P1 = Bett.
  |  | 
 | 	Mit X0 wird der Wert im EEPROM gespeichert (benötigt evtl. EEPROM Support in
  |  | 
 | 	der Configuration.h).
  |  | 
 | - M320 - Aktiviere automatische Bettausrichtung (wird vermutlich beim RF1k nicht 
  |  | 
 | 	funktionieren, stattdessen "M3001" verwenden) - 
  |  | 
 | - M321 - Automatische Bettausrichtung ausschalten (wird vermutlich beim RF1k nicht 
  |  | 
 | 	funktionieren, stattdessen "M3000" verwenden)
  |  | 
 | - M322 - Matrix für Bettausrichten löschen/resetten (wird vermutlich beim RF1k nicht 
  |  | 
 | 	funktionieren, stattdessen "M3011" verwenden)
  |  | 
 | - M340 P<servoId> S<PulsInUS>  - Steuert ein zusätzliches Servo (bis zu 4 Stück)
  |  | 
 | 	servoID = 0..3, Servos werden per Puls angesteuert, mit Werten von 500 bis
  |  | 
 | 	2500, wobei 1500ms als Wert der Mittelstellung gilt.  Ein Pulswert von 0
  |  | 
 | 	schaltet das Servo aus.
  |  | 
 | - M350 S<mstepsAll> X<mstepsX> Y<mstepsY> Z<mstepsZ> E<mstepsE0> P<mstespE1> 
  |  | 
 | 	- Mikro-schritte einstellen (gilt nur für RAMBO Hauptplatine)
  |  | 
 | - M400 - Warte bis alle gepufferten Befehle abgearbeitet wurden
  |  | 
 | - M401 - Speichere die augenblicklichen X, Y und Z Koordinaten
  |  | 
 | - M402 [X Y Z] - Gehe zur gespeicherten Position.  Falls eine oder mehrere Achsen
  |  | 
 | 	angegeben wurden, werden nur diese Koordinaten verwendet.
  |  | 
 | - M500 - Speichere alle EEPROM-relevanten Werte ins EEPROM
  |  | 
 | - M501 - Lade alle EEPROM-Werte (evtl. geänderte Werte werden wieder auf EEPROM-
  |  | 
 | 	Werte zurückgesetzt)
  |  | 
 | - M908 - P<Addresse> S<Wert> - Strom für Schrittmotor einstellen (gilt nur für 
  |  | 
 | 	RAMBO Hauptplatine)
  |  | 
 |    |  | 
 |    |  | 
 |    |  | 
 | #######################################################################
  |  | 
 | /* Spezielle M Codes nur für RF1000   ###   Aus Datei: "RF1000.h"   ###
  |  | 
 | #######################################################################
  |  | 
 |    |  | 
 | - M3000 - Z-Kompensation ausschalten
  |  | 
 | - M3001 - Z-Kompensation einschalten
  |  | 
 | - M3002 - Unterste Schrittgrenze setzen (falls weniger Schritte notwendig wären,
  |  | 
 | 	werden diese einfach nicht ausgeführt)  Ist das richtig?
  |  | 
 | - M3003 - Maximale Schrittgrenze setzen (falls mehr Schritte notwendig wären, werden
  |  | 
 | 	trotzdem nur so viele gemacht)  Ist das richtig?
  |  | 
 | - M3004 S<Mikroschritte> - Manueller Z-Offset (bis v.0.91.49, danach ersetzt durch
  |  | 
 | 	M3006)
  |  | 
 | - M3005 - Spezielle Debug-Outputs einschalten
  |  | 
 | - M3006 S<mue-Meter> - Manueller Z-Offset (ab v.0.91.49, davor gab es nur M3004)
  |  | 
 | 	Positive S-Werte erhöhen den Düsenabstand (das Bett bewegt sich nach
  |  | 
 | 	unten)
  |  | 
 | - M3007 S<mue-Meter> - Minimaler Z-Komp-Offset (ähnlich wie M3002?)  
  |  | 
 | 	Ist das richtig?
  |  | 
 | - M3008 S<mue-Meter> - Maximaler Z-Komp-Offset (ähnlich wie M3003?)  
  |  | 
 | 	Ist das richtig?
  |  | 
 |    |  | 
 | - M3010 - Heat Bed Scan (HBS) starten.  Dabei wird die Oberfläche des Betts
  |  | 
 | 	abgetastet und die Lage/Form als Matrix für später gespeichert, wenn 
  |  | 
 | 	dann M3001 verwendet wird.
  |  | 
 | - M3011 - Die unter M3010 erhaltene Matrix aus dem EEPROM löschen
  |  | 
 | - M3012 - Die Standard-HBS-Parameter wieder herstellen (falls diese mit 
  |  | 
 | 	einem der Befehle von M3020 bis M3055 geändert wurden)
  |  | 
 | - M3013 - Die aktuelle Matrix des HBS ausgeben
  |  | 
 |    |  | 
 |    |  | 
 | Mit M3020 bis M3055 kann man die einzelnen Parameter des Bettabtastvorgangs ändern
  |  | 
 | falls dafür Bedarf besteht (analog zu, bzw. siehe auch M3160 bis M3165):
  |  | 
 | - M3020 - configure the x start position for the heat bed scan
  |  | 
 | - M3021 - configure the y start position for the heat bed scan
  |  | 
 | - M3022 - configure the x step size for the heat bed scan
  |  | 
 | - M3023 - configure the y step size for the heat bed scan
  |  | 
 | - M3024 - configure the x end position for the heat bed scan
  |  | 
 | - M3025 - configure the y end position for the heat bed scan
  |  | 
 |    |  | 
 | - M3030 - configure the fast step size for moving of the heat bed up during the 
  |  | 
 | 	heat bed scan
  |  | 
 | - M3031 - configure the slow step size for moving of the heat bed up during the 
  |  | 
 | 	heat bed scan
  |  | 
 | - M3032 - configure the fast step size for moving of the heat bed down during the
  |  | 
 | 	heat bed scan
  |  | 
 | - M3033 - configure the slow step size for moving of the heat bed down during the
  |  | 
 | 	heat bed scan
  |  | 
 |    |  | 
 | - M3040 - configure the delay (in ms) between two fast movements during the heat 
  |  | 
 | 	bed scan
  |  | 
 | - M3041 - configure the delay (in ms) between two slow movements during the heat 
  |  | 
 | 	bed scan
  |  | 
 | - M3042 - configure the delay (in ms) between reaching of a new x/y position and 
  |  | 
 | 	the test of the idle pressure
  |  | 
 |    |  | 
 | - M3050 - configure the contact pressure delta (in digits)
  |  | 
 | - M3051 - configure the retry pressure delta (in digits)
  |  | 
 | - M3052 - configure the idle pressure tolerance (in digits)
  |  | 
 | - M3053 - configure the number of A/D converter reads per pressure measurement
  |  | 
 | - M3054 - configure the delay (in ms) between two A/D converter reads
  |  | 
 | - M3055 - configure the pressure tolerance (in digits) per pressure measurement
  |  | 
 | Mit M3020 bis M3055 kann man die einzelnen Parameter des Bettabtastvorgangs (HBS)
  |  | 
 | ändern falls dafür Bedarf besteht.
  |  | 
 |    |  | 
 |    |  | 
 | Die folgenden M-Befehle sind für die allgemeine Konfiguration zuständig
  |  | 
 |    |  | 
 | - M3070 S1 oder S2 - Druck pausieren, als ob die Pause-Taste gedrückt wurde.  Dabei
  |  | 
 | 	gilt S1 : pausiere an der augenblicklichen Position
  |  | 
 | 	S2 : fahre zur vordefinierten Position (Standardposition oder mittels 
  |  | 
 | 	M3105 definierter Position) und pausiere
  |  | 
 | - M3071 - Warte bis die Weiter-taste ('Play'-Taste) gedrückt wurde ### neu ab
  |  | 
 | 	v0.91.49 ###
  |  | 
 |    |  | 
 | - M3079 - Druckobjekt 'ausgeben'.  Dabei wird zu einer vordefinierten Position
  |  | 
 | 	gefahren
  |  | 
 | - M3080 - Drucker in Parkposition fahren (definiert mittels M3103)
  |  | 
 |    |  | 
 | - M3090 - Watchdog Timer testen - dabei wird die Firmware zurückgesetzt
  |  | 
 | - M3091 - Externes EEPROM löschen
  |  | 
 |    |  | 
 | - M3100 - Einstellen, wie viele Mikroschritte sich das Bett bewegt, wenn einer der
  |  | 
 | 	Hardware-Tasten am Drucker betätigt wird
  |  | 
 | - M3101 - Einstellen, wie viele Mikroschritte sich der Extruderschrittmotor bewegt,
  |  | 
 | 	wenn einer der Hardware-Tasten am Drucker betätigt wird
  |  | 
 | - M3102 [Xnnn Ynnn Znnn Ennn] - Versatz, in Mikroschritten(!!), wo der Extruder
  |  | 
 | 	hinfahren soll, wenn die 'Pause' Taste gedrückt wird (ähnlich wie M3105)
  |  | 
 | - M3103 [Xnnn Ynnn Znnn] - Parkposition festlegen (siehe auch M3080)
  |  | 
 | - M3104 [Xnnn Ynnn Znnn] - Objektausgabeposition - Seit 0.91.48 NICHT MEHR VERWENDET
  |  | 
 | 	Diese Funktion wird durch den "OUTPUT_OBJECT_SCRIPT_PRINT" in der
  |  | 
 | 	Configuration.h ersetzt
  |  | 
 | - M3105 [Xnnn Ynnn Znnn Ennn] - Versatz, in Millimeter, wo der Extruder hinfahren
  |  | 
 | 	soll, wenn die 'Pause' Taste gedrückt wird (ähnlich wie M3102)
  |  | 
 |    |  | 
 | - M3110 - Aktuellen Statustext 'einfrieren'
  |  | 
 |    |  | 
 | - M3120 - Gehäuselüfter (unten, beim SD Kartenschlitz) einschalten
  |  | 
 | - M3121 - Gehäuselüfter (unten, beim SD Kartenschlitz) ausschalten
  |  | 
 |    |  | 
 |    |  | 
 | // Die folgenden M-Befehle gelten nur für den Modus "Fräsen" und dienen der
  |  | 
 | // Werkstückabtastung
  |  | 
 |    |  | 
 | - M3130 - Starte/beende die Suche nach 'Z=0'
  |  | 
 |    |  | 
 | - M3140 - Z-Kompensation ausschalten
  |  | 
 | - M3141 - Z-Kompensation einschalten
  |  | 
 | - M3146 S<nnn> - Manuellen Z-Offset angeben (Einheiten in mue-Meter)
  |  | 
 | - M3149 - Besorge/wähle Z-Kompensationsmatrix für das aktuelle Werkstück
  |  | 
 |    |  | 
 | - M3150 - Starten/Abbrechen der Werkstückabtastung
  |  | 
 | - M3151 - Lösche spezifizierte Werkstückabtastmatrix aus dem EEPROM
  |  | 
 | - M3152 - Setze Abtastparameter auf Standardwerte zurück (siehe M3160 bis M3165)
  |  | 
 | - M3153 - Gebe spezifizierte Werkstückabtastmatrix aus
  |  | 
 |    |  | 
 | - M3160 - Konfiguriere X Startposition für Werkstückabtastung (Einheit ist mm)
  |  | 
 | - M3161 - Konfiguriere Y Startposition für Werkstückabtastung (Einheit ist mm)
  |  | 
 | - M3162 - Konfiguriere X Schrittweite für Werkstückabtastung (Einheit ist mm)
  |  | 
 | - M3163 - Konfiguriere Y Schrittweite für Werkstückabtastung (Einheit ist mm)
  |  | 
 | - M3164 - Konfiguriere X Endposition für Werkstückabtastung (Einheit ist mm)
  |  | 
 | - M3165 - Konfiguriere Y Endposition für Werkstückabtastung (Einheit ist mm)
  |  | 
 |    |  | 
 |    |  | 
 | // Weitere M-Befehle
  |  | 
 |    |  | 
 | - M3200 - Reservirt für Test- und Debugzwecke</nowiki>
  |  |