@@ -31,6 +31,55 @@ const GCODE_COMMANDS = {
3131 'M600' : { name : 'Filament Change' , params : { X : 'Park X' , Y : 'Park Y' , Z : 'Park Z lift' , E : 'Retract length' } } ,
3232 'M862' : { name : 'Printer Model Check' , params : { P : 'Model ID' , Q : 'Nozzle diameter' } } ,
3333 'M900' : { name : 'Linear Advance' , params : { K : 'K-factor' } } ,
34+ // Movement (new)
35+ 'G5' : { name : 'Bézier Spline' , params : { X : 'End X' , Y : 'End Y' , I : 'X control point 1' , J : 'Y control point 1' , P : 'X control point 2' , Q : 'Y control point 2' , E : 'Extrude' , F : 'Feed rate' } } ,
36+ 'G12' : { name : 'Nozzle Clean' , params : { P : 'Pattern (0=stroke, 1=zig-zag)' , S : 'Strokes' , T : 'Triangles' } } ,
37+ 'G20' : { name : 'Set Units to Inches' , params : { } } ,
38+ 'G27' : { name : 'Park Toolhead' , params : { P : 'Park mode' } } ,
39+ // Probing & Leveling (new)
40+ 'G30' : { name : 'Single Z-Probe' , params : { X : 'Probe X' , Y : 'Probe Y' } } ,
41+ 'G33' : { name : 'Delta Auto Calibration' , params : { C : 'Calibration points' , V : 'Verbose level' } } ,
42+ 'G34' : { name : 'Z Stepper Alignment' , params : { } } ,
43+ 'G35' : { name : 'Tramming Assistant' , params : { } } ,
44+ 'G38.2' : { name : 'Probe Toward Target' , params : { X : 'Target X' , Y : 'Target Y' , Z : 'Target Z' , F : 'Feed rate' } } ,
45+ 'G38.3' : { name : 'Probe Toward (No Error)' , params : { X : 'Target X' , Y : 'Target Y' , Z : 'Target Z' , F : 'Feed rate' } } ,
46+ 'G38.4' : { name : 'Probe Away from Target' , params : { X : 'Target X' , Y : 'Target Y' , Z : 'Target Z' , F : 'Feed rate' } } ,
47+ 'G38.5' : { name : 'Probe Away (No Error)' , params : { X : 'Target X' , Y : 'Target Y' , Z : 'Target Z' , F : 'Feed rate' } } ,
48+ // Temperature (new)
49+ 'M105' : { name : 'Report Temperatures' , params : { } } ,
50+ 'M141' : { name : 'Set Chamber Temp' , params : { S : 'Target temp (°C)' } } ,
51+ 'M191' : { name : 'Wait for Chamber Temp' , params : { S : 'Target temp (°C)' , R : 'Wait for exact temp (°C)' } } ,
52+ // System & Info (new)
53+ 'M17' : { name : 'Enable Steppers' , params : { X : 'Enable X' , Y : 'Enable Y' , Z : 'Enable Z' , E : 'Enable E' } } ,
54+ 'M80' : { name : 'ATX Power On' , params : { } } ,
55+ 'M81' : { name : 'ATX Power Off' , params : { } } ,
56+ 'M85' : { name : 'Inactivity Shutdown' , params : { S : 'Timeout (s)' } } ,
57+ 'M92' : { name : 'Set Steps Per Unit' , params : { X : 'X steps/mm' , Y : 'Y steps/mm' , Z : 'Z steps/mm' , E : 'E steps/mm' } } ,
58+ 'M112' : { name : 'Emergency Stop' , params : { } } ,
59+ 'M114' : { name : 'Get Current Position' , params : { } } ,
60+ 'M115' : { name : 'Firmware Info' , params : { } } ,
61+ 'M119' : { name : 'Endstop Status' , params : { } } ,
62+ 'M155' : { name : 'Auto-Report Temperatures' , params : { S : 'Interval (s)' } } ,
63+ // Retraction & Filament (new)
64+ 'M200' : { name : 'Set Filament Diameter' , params : { D : 'Diameter (mm)' , T : 'Extruder index' } } ,
65+ 'M207' : { name : 'Set Retract Length' , params : { S : 'Retract length (mm)' , F : 'Retract speed (mm/min)' , Z : 'Z lift (mm)' } } ,
66+ 'M208' : { name : 'Set Recover Length' , params : { S : 'Extra recover length (mm)' , F : 'Recover speed (mm/min)' } } ,
67+ 'M412' : { name : 'Filament Runout' , params : { S : 'Enable (1) / Disable (0)' } } ,
68+ 'M702' : { name : 'Unload Filament' , params : { T : 'Extruder index' , U : 'Unload length (mm)' } } ,
69+ // Stepper & Motion (new)
70+ 'M206' : { name : 'Set Home Offset' , params : { X : 'X offset (mm)' , Y : 'Y offset (mm)' , Z : 'Z offset (mm)' } } ,
71+ 'M211' : { name : 'Software Endstops' , params : { S : 'Enable (1) / Disable (0)' } } ,
72+ 'M290' : { name : 'Babystepping' , params : { Z : 'Z offset (mm)' } } ,
73+ 'M350' : { name : 'Set Microstepping' , params : { X : 'X microsteps' , Y : 'Y microsteps' , Z : 'Z microsteps' , E : 'E microsteps' } } ,
74+ 'M420' : { name : 'Bed Leveling State' , params : { S : 'Enable (1) / Disable (0)' , Z : 'Fade height (mm)' } } ,
75+ 'M421' : { name : 'Set Mesh Point' , params : { I : 'X index' , J : 'Y index' , Z : 'Z offset (mm)' } } ,
76+ 'M906' : { name : 'Set Motor Current' , params : { X : 'X current (mA)' , Y : 'Y current (mA)' , Z : 'Z current (mA)' , E : 'E current (mA)' } } ,
77+ // Hardware & Misc (new)
78+ 'M42' : { name : 'Switch I/O Pin' , params : { P : 'Pin number' , S : 'Pin value (0-255)' } } ,
79+ 'M125' : { name : 'Park Head' , params : { X : 'Park X' , Y : 'Park Y' , Z : 'Z lift (mm)' } } ,
80+ 'M280' : { name : 'Set Servo Position' , params : { P : 'Servo index' , S : 'Angle (0-180)' } } ,
81+ 'M355' : { name : 'Case Light' , params : { S : 'On (1) / Off (0)' , P : 'Brightness (0-255)' } } ,
82+ 'M911' : { name : 'Power Loss Recovery' , params : { } } ,
3483} ;
3584
3685function decodeLine ( text ) {
@@ -107,3 +156,5 @@ function decodeLine(text) {
107156 params
108157 } ;
109158}
159+
160+ export { GCODE_COMMANDS , decodeLine } ;
0 commit comments