3434#include " ../../MarlinCore.h" // for SP_X_STR, etc.
3535
3636/* *
37- * M217 - Set SINGLENOZZLE toolchange parameters
37+ * M217 - Set toolchange parameters
3838 *
3939 * // Tool change command
4040 * Q Prime active tool and exit
4141 *
4242 * // 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 LINEAR_AXES >= 4)
54- * J[linear] Park J (Requires TOOLCHANGE_PARK and LINEAR_AXES >= 5)
55- * K[linear] Park K (Requires TOOLCHANGE_PARK and LINEAR_AXES >= 6)
56- * Z[linear] Z Raise
57- * F[linear] Fan Speed 0-255
58- * 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+ * Z[linear] Z Raise
57+ * F[speed] Fan Speed 0-255
58+ * D[seconds] Fan time
5959 *
6060 * Tool migration settings
6161 * A[0|1] Enable auto-migration on runout
@@ -79,8 +79,8 @@ void GcodeSuite::M217() {
7979 if (parser.seenval (' R' )) { const int16_t v = parser.value_linear_units (); toolchange_settings.retract_speed = constrain (v, 10 , 5400 ); }
8080 if (parser.seenval (' U' )) { const int16_t v = parser.value_linear_units (); toolchange_settings.unretract_speed = constrain (v, 10 , 5400 ); }
8181 #if TOOLCHANGE_FS_FAN >= 0 && HAS_FAN
82- if (parser.seenval (' F' )) { const int16_t v = parser.value_linear_units (); toolchange_settings.fan_speed = constrain (v, 0 , 255 ); }
83- if (parser.seenval (' G ' )) { const int16_t v = parser.value_linear_units (); toolchange_settings.fan_time = constrain (v, 1 , 30 ); }
82+ if (parser.seenval (' F' )) { const uint16_t v = parser.value_ushort (); toolchange_settings.fan_speed = constrain (v, 0 , 255 ); }
83+ if (parser.seenval (' D ' )) { const uint16_t v = parser.value_ushort (); toolchange_settings.fan_time = constrain (v, 1 , 30 ); }
8484 #endif
8585 #endif
8686
@@ -159,7 +159,7 @@ void GcodeSuite::M217_report(const bool forReplay/*=true*/) {
159159 SERIAL_ECHOPGM (" R" , LINEAR_UNIT (toolchange_settings.retract_speed ),
160160 " U" , LINEAR_UNIT (toolchange_settings.unretract_speed ),
161161 " F" , toolchange_settings.fan_speed ,
162- " G " , toolchange_settings.fan_time );
162+ " D " , toolchange_settings.fan_time );
163163
164164 #if ENABLED(TOOLCHANGE_MIGRATION_FEATURE)
165165 SERIAL_ECHOPGM (" A" , migration.automode );
0 commit comments