|
@@ -183,19 +183,23 @@
|
183
|
183
|
* M150 - Set BlinkM Color Output R: Red<0-255> U(!): Green<0-255> B: Blue<0-255> over i2c, G for green does not work.
|
184
|
184
|
* M190 - Sxxx Wait for bed current temp to reach target temp. Waits only when heating
|
185
|
185
|
* Rxxx Wait for bed current temp to reach target temp. Waits when heating and cooling
|
186
|
|
- * M200 - set filament diameter and set E axis units to cubic millimeters (use S0 to set back to millimeters).:D<millimeters>-
|
|
186
|
+ * M200 - Set filament diameter, D<diameter>, setting E axis units to cubic. (Use S0 to revert to linear units.)
|
187
|
187
|
* M201 - Set max acceleration in units/s^2 for print moves (M201 X1000 Y1000)
|
188
|
188
|
* M202 - Set max acceleration in units/s^2 for travel moves (M202 X1000 Y1000) Unused in Marlin!!
|
189
|
|
- * M203 - Set maximum feedrate that your machine can sustain (M203 X200 Y200 Z300 E10000) in mm/sec
|
190
|
|
- * M204 - Set default acceleration: P for Printing moves, R for Retract only (no X, Y, Z) moves and T for Travel (non printing) moves (ex. M204 P800 T3000 R9000) in mm/sec^2
|
191
|
|
- * M205 - advanced settings: minimum travel speed S=while printing T=travel only, B=minimum segment time X= maximum xy jerk, Z=maximum Z jerk, E=maximum E jerk
|
|
189
|
+ * M203 - Set maximum feedrate that your machine can sustain (M203 X200 Y200 Z300 E10000) in units/sec
|
|
190
|
+ * M204 - Set default acceleration: P for Printing moves, R for Retract only (no X, Y, Z) moves and T for Travel (non printing) moves (ex. M204 P800 T3000 R9000) in units/sec^2
|
|
191
|
+ * M205 - Set advanced settings. Current units apply:
|
|
192
|
+ S<print> T<travel> minimum speeds
|
|
193
|
+ B<minimum segment time>
|
|
194
|
+ X<max xy jerk>, Z<max Z jerk>, E<max E jerk>
|
192
|
195
|
* M206 - Set additional homing offset
|
193
|
|
- * M207 - Set retract length S[positive mm] F[feedrate mm/min] Z[additional zlift/hop], stays in mm regardless of M200 setting
|
194
|
|
- * M208 - Set recover=unretract length S[positive mm surplus to the M207 S*] F[feedrate mm/min]
|
195
|
|
- * M209 - S<1=true/0=false> enable automatic retract detect if the slicer did not support G10/11: every normal extrude-only move will be classified as retract depending on the direction.
|
196
|
|
- * M218 - Set hotend offset (in mm): T<extruder_number> X<offset_on_X> Y<offset_on_Y>
|
197
|
|
- * M220 - Set speed factor override percentage: S<factor in percent>
|
198
|
|
- * M221 - Set extrude factor override percentage: S<factor in percent>
|
|
196
|
+ * M207 - Set Retract Length: S<length>, Feedrate: F<units/min>, and Z lift: Z<distance>
|
|
197
|
+ * M208 - Set Recover (unretract) Additional (!) Length: S<length> and Feedrate: F<units/min>
|
|
198
|
+ * M209 - Turn Automatic Retract Detection on/off: S<bool> (For slicers that don't support G10/11).
|
|
199
|
+ Every normal extrude-only move will be classified as retract depending on the direction.
|
|
200
|
+ * M218 - Set a tool offset: T<index> X<offset> Y<offset>
|
|
201
|
+ * M220 - Set Feedrate Percentage: S<percent> ("FR" on your LCD)
|
|
202
|
+ * M221 - Set Flow Percentage: S<percent>
|
199
|
203
|
* M226 - Wait until the specified pin reaches the state required: P<pin number> S<pin state>
|
200
|
204
|
* M240 - Trigger a camera to take a photograph
|
201
|
205
|
* M250 - Set LCD contrast C<contrast value> (value 0..63)
|
|
@@ -210,13 +214,13 @@
|
210
|
214
|
* M400 - Finish all moves
|
211
|
215
|
* M401 - Lower Z probe if present
|
212
|
216
|
* M402 - Raise Z probe if present
|
213
|
|
- * M404 - N<dia in mm> Enter the nominal filament width (3mm, 1.75mm ) or will display nominal filament width without parameters
|
214
|
|
- * M405 - Turn on Filament Sensor extrusion control. Optional D<delay in cm> to set delay in centimeters between sensor and extruder
|
215
|
|
- * M406 - Turn off Filament Sensor extrusion control
|
216
|
|
- * M407 - Display measured filament diameter
|
|
217
|
+ * M404 - Display or set the Nominal Filament Width: [ N<diameter> ]
|
|
218
|
+ * M405 - Enable Filament Sensor extrusion control. Optional delay between sensor and extruder: D<cm>
|
|
219
|
+ * M406 - Disable Filament Sensor extrusion control
|
|
220
|
+ * M407 - Display measured filament diameter in millimeters
|
217
|
221
|
* M410 - Quickstop. Abort all the planned moves
|
218
|
222
|
* M420 - Enable/Disable Mesh Leveling (with current values) S1=enable S0=disable
|
219
|
|
- * M421 - Set a single Z coordinate in the Mesh Leveling grid. X<mm> Y<mm> Z<mm>
|
|
223
|
+ * M421 - Set a single Z coordinate in the Mesh Leveling grid. X<units> Y<units> Z<units>
|
220
|
224
|
* M428 - Set the home_offset logically based on the current_position
|
221
|
225
|
* M500 - Store parameters in EEPROM
|
222
|
226
|
* M501 - Read parameters from EEPROM (if you need reset them after you changed them temporarily).
|
|
@@ -227,7 +231,7 @@
|
227
|
231
|
* M665 - Set delta configurations: L<diagonal rod> R<delta radius> S<segments/s>
|
228
|
232
|
* M666 - Set delta endstop adjustment
|
229
|
233
|
* M605 - Set dual x-carriage movement mode: S<mode> [ X<duplication x-offset> R<duplication temp offset> ]
|
230
|
|
- * M851 - Set Z probe's Z offset (mm). Set to a negative value for probes that trigger below the nozzle.
|
|
234
|
+ * M851 - Set Z probe's Z offset in current units. (Negative values apply to probes that extend below the nozzle.)
|
231
|
235
|
* M907 - Set digital trimpot motor current using axis codes.
|
232
|
236
|
* M908 - Control digital trimpot directly.
|
233
|
237
|
* M909 - DAC_STEPPER_CURRENT: Print digipot/DAC current value
|
|
@@ -251,7 +255,7 @@
|
251
|
255
|
*
|
252
|
256
|
* "T" Codes
|
253
|
257
|
*
|
254
|
|
- * T0-T3 - Select a tool by index (usually an extruder) [ F<mm/min> ]
|
|
258
|
+ * T0-T3 - Select a tool by index (usually an extruder) [ F<units/min> ]
|
255
|
259
|
*
|
256
|
260
|
*/
|
257
|
261
|
|
|
@@ -1578,7 +1582,7 @@ inline void line_to_destination() { line_to_destination(feedrate); }
|
1578
|
1582
|
* sync_plan_position
|
1579
|
1583
|
* Set planner / stepper positions to the cartesian current_position.
|
1580
|
1584
|
* The stepper code translates these coordinates into step units.
|
1581
|
|
- * Allows translation between steps and units (mm) for cartesian & core robots
|
|
1585
|
+ * Allows translation between steps and millimeters for cartesian & core robots
|
1582
|
1586
|
*/
|
1583
|
1587
|
inline void sync_plan_position() {
|
1584
|
1588
|
#if ENABLED(DEBUG_LEVELING_FEATURE)
|
|
@@ -3331,7 +3335,7 @@ inline void gcode_G28() {
|
3331
|
3335
|
* Not supported by non-linear delta printer bed leveling.
|
3332
|
3336
|
* Example: "G29 P4"
|
3333
|
3337
|
*
|
3334
|
|
- * S Set the XY travel speed between probe points (in mm/min)
|
|
3338
|
+ * S Set the XY travel speed between probe points (in units/min)
|
3335
|
3339
|
*
|
3336
|
3340
|
* D Dry-Run mode. Just evaluate the bed Topology - Don't apply
|
3337
|
3341
|
* or clean the rotation Matrix. Useful to check the topology
|
|
@@ -5185,7 +5189,7 @@ inline void gcode_M121() { endstops.enable_globally(false); }
|
5185
|
5189
|
* M200: Set filament diameter and set E axis units to cubic units
|
5186
|
5190
|
*
|
5187
|
5191
|
* T<extruder> - Optional extruder number. Current extruder if omitted.
|
5188
|
|
- * D<mm> - Diameter of the filament. Use "D0" to switch back to linear units on the E axis.
|
|
5192
|
+ * D<linear> - Diameter of the filament. Use "D0" to switch back to linear units on the E axis.
|
5189
|
5193
|
*/
|
5190
|
5194
|
inline void gcode_M200() {
|
5191
|
5195
|
|
|
@@ -5234,7 +5238,7 @@ inline void gcode_M201() {
|
5234
|
5238
|
|
5235
|
5239
|
|
5236
|
5240
|
/**
|
5237
|
|
- * M203: Set maximum feedrate that your machine can sustain (M203 X200 Y200 Z300 E10000) in mm/sec
|
|
5241
|
+ * M203: Set maximum feedrate that your machine can sustain (M203 X200 Y200 Z300 E10000) in units/sec
|
5238
|
5242
|
*/
|
5239
|
5243
|
inline void gcode_M203() {
|
5240
|
5244
|
for (int8_t i = 0; i < NUM_AXIS; i++) {
|
|
@@ -5245,7 +5249,7 @@ inline void gcode_M203() {
|
5245
|
5249
|
}
|
5246
|
5250
|
|
5247
|
5251
|
/**
|
5248
|
|
- * M204: Set Accelerations in mm/sec^2 (M204 P1200 R3000 T3000)
|
|
5252
|
+ * M204: Set Accelerations in units/sec^2 (M204 P1200 R3000 T3000)
|
5249
|
5253
|
*
|
5250
|
5254
|
* P = Printing moves
|
5251
|
5255
|
* R = Retract only (no X, Y, Z) moves
|
|
@@ -5279,12 +5283,12 @@ inline void gcode_M204() {
|
5279
|
5283
|
/**
|
5280
|
5284
|
* M205: Set Advanced Settings
|
5281
|
5285
|
*
|
5282
|
|
- * S = Min Feed Rate (mm/s)
|
5283
|
|
- * T = Min Travel Feed Rate (mm/s)
|
|
5286
|
+ * S = Min Feed Rate (units/s)
|
|
5287
|
+ * T = Min Travel Feed Rate (units/s)
|
5284
|
5288
|
* B = Min Segment Time (µs)
|
5285
|
|
- * X = Max XY Jerk (mm/s/s)
|
5286
|
|
- * Z = Max Z Jerk (mm/s/s)
|
5287
|
|
- * E = Max E Jerk (mm/s/s)
|
|
5289
|
+ * X = Max XY Jerk (units/sec^2)
|
|
5290
|
+ * Z = Max Z Jerk (units/sec^2)
|
|
5291
|
+ * E = Max E Jerk (units/sec^2)
|
5288
|
5292
|
*/
|
5289
|
5293
|
inline void gcode_M205() {
|
5290
|
5294
|
if (code_seen('S')) planner.min_feedrate = code_value_linear_units();
|
|
@@ -5379,10 +5383,10 @@ inline void gcode_M206() {
|
5379
|
5383
|
/**
|
5380
|
5384
|
* M207: Set firmware retraction values
|
5381
|
5385
|
*
|
5382
|
|
- * S[+mm] retract_length
|
5383
|
|
- * W[+mm] retract_length_swap (multi-extruder)
|
5384
|
|
- * F[mm/min] retract_feedrate_mm_s
|
5385
|
|
- * Z[mm] retract_zlift
|
|
5386
|
+ * S[+units] retract_length
|
|
5387
|
+ * W[+units] retract_length_swap (multi-extruder)
|
|
5388
|
+ * F[units/min] retract_feedrate_mm_s
|
|
5389
|
+ * Z[units] retract_zlift
|
5386
|
5390
|
*/
|
5387
|
5391
|
inline void gcode_M207() {
|
5388
|
5392
|
if (code_seen('S')) retract_length = code_value_axis_units(E_AXIS);
|
|
@@ -5396,9 +5400,9 @@ inline void gcode_M206() {
|
5396
|
5400
|
/**
|
5397
|
5401
|
* M208: Set firmware un-retraction values
|
5398
|
5402
|
*
|
5399
|
|
- * S[+mm] retract_recover_length (in addition to M207 S*)
|
5400
|
|
- * W[+mm] retract_recover_length_swap (multi-extruder)
|
5401
|
|
- * F[mm/min] retract_recover_feedrate
|
|
5403
|
+ * S[+units] retract_recover_length (in addition to M207 S*)
|
|
5404
|
+ * W[+units] retract_recover_length_swap (multi-extruder)
|
|
5405
|
+ * F[units/min] retract_recover_feedrate
|
5402
|
5406
|
*/
|
5403
|
5407
|
inline void gcode_M208() {
|
5404
|
5408
|
if (code_seen('S')) retract_recover_length = code_value_axis_units(E_AXIS);
|
|
@@ -5435,7 +5439,7 @@ inline void gcode_M206() {
|
5435
|
5439
|
#if HOTENDS > 1
|
5436
|
5440
|
|
5437
|
5441
|
/**
|
5438
|
|
- * M218 - set hotend offset (in mm)
|
|
5442
|
+ * M218 - set hotend offset (in linear units)
|
5439
|
5443
|
*
|
5440
|
5444
|
* T<tool>
|
5441
|
5445
|
* X<xoffset>
|
|
@@ -5891,7 +5895,7 @@ inline void gcode_M400() { stepper.synchronize(); }
|
5891
|
5895
|
#if ENABLED(FILAMENT_WIDTH_SENSOR)
|
5892
|
5896
|
|
5893
|
5897
|
/**
|
5894
|
|
- * M404: Display or set the nominal filament width (3mm, 1.75mm ) W<3.0>
|
|
5898
|
+ * M404: Display or set (in current units) the nominal filament width (3mm, 1.75mm ) W<3.0>
|
5895
|
5899
|
*/
|
5896
|
5900
|
inline void gcode_M404() {
|
5897
|
5901
|
if (code_seen('W')) {
|
|
@@ -5984,7 +5988,7 @@ inline void gcode_M410() {
|
5984
|
5988
|
|
5985
|
5989
|
/**
|
5986
|
5990
|
* M421: Set a single Mesh Bed Leveling Z coordinate
|
5987
|
|
- * Use either 'M421 X<mm> Y<mm> Z<mm>' or 'M421 I<xindex> J<yindex> Z<mm>'
|
|
5991
|
+ * Use either 'M421 X<linear> Y<linear> Z<linear>' or 'M421 I<xindex> J<yindex> Z<linear>'
|
5988
|
5992
|
*/
|
5989
|
5993
|
inline void gcode_M421() {
|
5990
|
5994
|
int8_t px, py;
|
|
@@ -6320,7 +6324,7 @@ inline void gcode_M503() {
|
6320
|
6324
|
* M605 S0: Full control mode. The slicer has full control over x-carriage movement
|
6321
|
6325
|
* M605 S1: Auto-park mode. The inactive head will auto park/unpark without slicer involvement
|
6322
|
6326
|
* M605 S2 [Xnnn] [Rmmm]: Duplication mode. The second extruder will duplicate the first with nnn
|
6323
|
|
- * millimeters x-offset and an optional differential hotend temperature of
|
|
6327
|
+ * units x-offset and an optional differential hotend temperature of
|
6324
|
6328
|
* mmm degrees. E.g., with "M605 S2 X100 R2" the second extruder will duplicate
|
6325
|
6329
|
* the first with a spacing of 100mm in the x direction and 2 degrees hotter.
|
6326
|
6330
|
*
|
|
@@ -6485,8 +6489,8 @@ inline void gcode_M999() {
|
6485
|
6489
|
/**
|
6486
|
6490
|
* T0-T3: Switch tool, usually switching extruders
|
6487
|
6491
|
*
|
6488
|
|
- * F[mm/min] Set the movement feedrate
|
6489
|
|
- * S1 Don't move the tool in XY after change
|
|
6492
|
+ * F[units/min] Set the movement feedrate
|
|
6493
|
+ * S1 Don't move the tool in XY after change
|
6490
|
6494
|
*/
|
6491
|
6495
|
inline void gcode_T(uint8_t tmp_extruder) {
|
6492
|
6496
|
if (tmp_extruder >= EXTRUDERS) {
|
|
@@ -7066,7 +7070,7 @@ void process_next_command() {
|
7066
|
7070
|
|
7067
|
7071
|
#endif //EXPERIMENTAL_I2CBUS
|
7068
|
7072
|
|
7069
|
|
- case 200: // M200 D<millimeters> set filament diameter and set E axis units to cubic millimeters (use S0 to set back to millimeters).
|
|
7073
|
+ case 200: // M200 D<diameter> Set filament diameter and set E axis units to cubic. (Use S0 to revert to linear units.)
|
7070
|
7074
|
gcode_M200();
|
7071
|
7075
|
break;
|
7072
|
7076
|
case 201: // M201
|
|
@@ -7077,7 +7081,7 @@ void process_next_command() {
|
7077
|
7081
|
gcode_M202();
|
7078
|
7082
|
break;
|
7079
|
7083
|
#endif
|
7080
|
|
- case 203: // M203 max feedrate mm/sec
|
|
7084
|
+ case 203: // M203 max feedrate units/sec
|
7081
|
7085
|
gcode_M203();
|
7082
|
7086
|
break;
|
7083
|
7087
|
case 204: // M204 acclereration S normal moves T filmanent only moves
|
|
@@ -7103,28 +7107,28 @@ void process_next_command() {
|
7103
|
7107
|
#endif
|
7104
|
7108
|
|
7105
|
7109
|
#if ENABLED(FWRETRACT)
|
7106
|
|
- case 207: //M207 - set retract length S[positive mm] F[feedrate mm/min] Z[additional zlift/hop]
|
|
7110
|
+ case 207: // M207 - Set Retract Length: S<length>, Feedrate: F<units/min>, and Z lift: Z<distance>
|
7107
|
7111
|
gcode_M207();
|
7108
|
7112
|
break;
|
7109
|
|
- case 208: // M208 - set retract recover length S[positive mm surplus to the M207 S*] F[feedrate mm/min]
|
|
7113
|
+ case 208: // M208 - Set Recover (unretract) Additional (!) Length: S<length> and Feedrate: F<units/min>
|
7110
|
7114
|
gcode_M208();
|
7111
|
7115
|
break;
|
7112
|
|
- case 209: // M209 - S<1=true/0=false> enable automatic retract detect if the slicer did not support G10/11: every normal extrude-only move will be classified as retract depending on the direction.
|
|
7116
|
+ case 209: // M209 - Turn Automatic Retract Detection on/off: S<bool> (For slicers that don't support G10/11). Every normal extrude-only move will be classified as retract depending on the direction.
|
7113
|
7117
|
gcode_M209();
|
7114
|
7118
|
break;
|
7115
|
7119
|
#endif // FWRETRACT
|
7116
|
7120
|
|
7117
|
7121
|
#if HOTENDS > 1
|
7118
|
|
- case 218: // M218 - set hotend offset (in mm), T<extruder_number> X<offset_on_X> Y<offset_on_Y>
|
|
7122
|
+ case 218: // M218 - Set a tool offset: T<index> X<offset> Y<offset>
|
7119
|
7123
|
gcode_M218();
|
7120
|
7124
|
break;
|
7121
|
7125
|
#endif
|
7122
|
7126
|
|
7123
|
|
- case 220: // M220 S<factor in percent>- set speed factor override percentage
|
|
7127
|
+ case 220: // M220 - Set Feedrate Percentage: S<percent> ("FR" on your LCD)
|
7124
|
7128
|
gcode_M220();
|
7125
|
7129
|
break;
|
7126
|
7130
|
|
7127
|
|
- case 221: // M221 S<factor in percent>- set extrude factor override percentage
|
|
7131
|
+ case 221: // M221 - Set Flow Percentage: S<percent>
|
7128
|
7132
|
gcode_M221();
|
7129
|
7133
|
break;
|
7130
|
7134
|
|