34
34
#include " ../../MarlinCore.h" // for SP_X_STR, etc.
35
35
36
36
/* *
37
- * M217 - Set SINGLENOZZLE toolchange parameters
37
+ * M217 - Set toolchange parameters
38
38
*
39
39
* // Tool change command
40
40
* Q Prime active tool and exit
41
41
*
42
42
* // Tool change settings
43
- * S[linear] Swap length
44
- * B[linear] Extra Swap length
45
- * E[linear] Prime length
46
- * P[linear/m ] Prime speed
47
- * R[linear/m ] Retract speed
48
- * U[linear/m ] UnRetract speed
49
- * V[linear] 0/1 Enable auto prime first extruder used
50
- * W[linear] 0/1 Enable park & Z Raise
51
- * X[linear] Park X (Requires TOOLCHANGE_PARK)
52
- * Y[linear] Park Y (Requires TOOLCHANGE_PARK)
53
- * I[linear] Park I (Requires TOOLCHANGE_PARK and NUM_AXES >= 4)
54
- * J[linear] Park J (Requires TOOLCHANGE_PARK and NUM_AXES >= 5)
55
- * K[linear] Park K (Requires TOOLCHANGE_PARK and NUM_AXES >= 6)
56
- * C[linear] Park U (Requires TOOLCHANGE_PARK and NUM_AXES >= 7)
57
- * H[linear] Park V (Requires TOOLCHANGE_PARK and NUM_AXES >= 8)
58
- * O[linear] Park W (Requires TOOLCHANGE_PARK and NUM_AXES >= 9)
59
- * Z[linear] Z Raise
60
- * F[linear] Fan Speed 0-255
61
- * G[linear/s] Fan time
43
+ * S[linear] Swap length
44
+ * B[linear] Extra Swap resume length
45
+ * E[linear] Extra Prime length (as used by M217 Q)
46
+ * P[linear/min ] Prime speed
47
+ * R[linear/min ] Retract speed
48
+ * U[linear/min ] UnRetract speed
49
+ * V[linear] 0/1 Enable auto prime first extruder used
50
+ * W[linear] 0/1 Enable park & Z Raise
51
+ * X[linear] Park X (Requires TOOLCHANGE_PARK)
52
+ * Y[linear] Park Y (Requires TOOLCHANGE_PARK)
53
+ * I[linear] Park I (Requires TOOLCHANGE_PARK and NUM_AXES >= 4)
54
+ * J[linear] Park J (Requires TOOLCHANGE_PARK and NUM_AXES >= 5)
55
+ * K[linear] Park K (Requires TOOLCHANGE_PARK and NUM_AXES >= 6)
56
+ * C[linear] Park U (Requires TOOLCHANGE_PARK and NUM_AXES >= 7)
57
+ * H[linear] Park V (Requires TOOLCHANGE_PARK and NUM_AXES >= 8)
58
+ * O[linear] Park W (Requires TOOLCHANGE_PARK and NUM_AXES >= 9)
59
+ * Z[linear] Z Raise
60
+ * F[speed] Fan Speed 0-255
61
+ * D[seconds] Fan time
62
62
*
63
63
* Tool migration settings
64
64
* A[0|1] Enable auto-migration on runout
@@ -82,8 +82,8 @@ void GcodeSuite::M217() {
82
82
if (parser.seenval (' R' )) { const int16_t v = parser.value_linear_units (); toolchange_settings.retract_speed = constrain (v, 10 , 5400 ); }
83
83
if (parser.seenval (' U' )) { const int16_t v = parser.value_linear_units (); toolchange_settings.unretract_speed = constrain (v, 10 , 5400 ); }
84
84
#if TOOLCHANGE_FS_FAN >= 0 && HAS_FAN
85
- if (parser.seenval (' F' )) { const int16_t v = parser.value_linear_units (); toolchange_settings.fan_speed = constrain (v, 0 , 255 ); }
86
- if (parser.seenval (' G ' )) { const int16_t v = parser.value_linear_units (); toolchange_settings.fan_time = constrain (v, 1 , 30 ); }
85
+ if (parser.seenval (' F' )) { const uint16_t v = parser.value_ushort (); toolchange_settings.fan_speed = constrain (v, 0 , 255 ); }
86
+ if (parser.seenval (' D ' )) { const uint16_t v = parser.value_ushort (); toolchange_settings.fan_time = constrain (v, 1 , 30 ); }
87
87
#endif
88
88
#endif
89
89
@@ -171,7 +171,7 @@ void GcodeSuite::M217_report(const bool forReplay/*=true*/) {
171
171
SERIAL_ECHOPGM (" R" , LINEAR_UNIT (toolchange_settings.retract_speed ),
172
172
" U" , LINEAR_UNIT (toolchange_settings.unretract_speed ),
173
173
" F" , toolchange_settings.fan_speed ,
174
- " G " , toolchange_settings.fan_time );
174
+ " D " , toolchange_settings.fan_time );
175
175
176
176
#if ENABLED(TOOLCHANGE_MIGRATION_FEATURE)
177
177
SERIAL_ECHOPGM (" A" , migration.automode );
@@ -186,13 +186,13 @@ void GcodeSuite::M217_report(const bool forReplay/*=true*/) {
186
186
, SP_Y_STR, LINEAR_UNIT (toolchange_settings.change_point .y )
187
187
#endif
188
188
#if SECONDARY_AXES >= 1
189
- , LIST_N (DOUBLE (SECONDARY_AXES),
190
- PSTR ( " I " ), I_AXIS_UNIT (toolchange_settings.change_point .i ),
191
- PSTR ( " J " ), J_AXIS_UNIT (toolchange_settings.change_point .j ),
192
- PSTR ( " K " ), K_AXIS_UNIT (toolchange_settings.change_point .k ),
193
- SP_C_STR, U_AXIS_UNIT (toolchange_settings.change_point .u ),
194
- PSTR (" H" ), V_AXIS_UNIT (toolchange_settings.change_point .v ),
195
- PSTR (" O" ), W_AXIS_UNIT (toolchange_settings.change_point .w )
189
+ , LIST_N (DOUBLE (SECONDARY_AXES)
190
+ , SP_I_STR, I_AXIS_UNIT (toolchange_settings.change_point .i )
191
+ , SP_J_STR, J_AXIS_UNIT (toolchange_settings.change_point .j )
192
+ , SP_K_STR, K_AXIS_UNIT (toolchange_settings.change_point .k )
193
+ , SP_C_STR, U_AXIS_UNIT (toolchange_settings.change_point .u )
194
+ , PSTR (" H" ), V_AXIS_UNIT (toolchange_settings.change_point .v )
195
+ , PSTR (" O" ), W_AXIS_UNIT (toolchange_settings.change_point .w )
196
196
)
197
197
#endif
198
198
);
0 commit comments