|
@@ -108,12 +108,21 @@
|
108
|
108
|
#endif // !NO_VOLUMETRICS
|
109
|
109
|
|
110
|
110
|
/**
|
111
|
|
- * M201: Set max acceleration in units/s^2 for print moves (M201 X1000 Y1000)
|
|
111
|
+ * M201: Set max acceleration in units/s^2 for print moves.
|
112
|
112
|
*
|
113
|
|
- * With multiple extruders use T to specify which one.
|
|
113
|
+ * X<accel> : Max Acceleration for X
|
|
114
|
+ * Y<accel> : Max Acceleration for Y
|
|
115
|
+ * Z<accel> : Max Acceleration for Z
|
|
116
|
+ * ... : etc
|
|
117
|
+ * E<accel> : Max Acceleration for Extruder
|
|
118
|
+ * T<index> : Extruder index to set
|
|
119
|
+ *
|
|
120
|
+ * With XY_FREQUENCY_LIMIT:
|
|
121
|
+ * F<Hz> : Frequency limit for XY...IJKUVW
|
|
122
|
+ * S<percent> : Speed factor percentage.
|
114
|
123
|
*/
|
115
|
124
|
void GcodeSuite::M201() {
|
116
|
|
- if (!parser.seen("T" STR_AXES_LOGICAL))
|
|
125
|
+ if (!parser.seen("T" STR_AXES_LOGICAL TERN_(XY_FREQUENCY_LIMIT, "FS")))
|
117
|
126
|
return M201_report();
|
118
|
127
|
|
119
|
128
|
const int8_t target_extruder = get_target_extruder_from_command();
|
|
@@ -121,7 +130,7 @@ void GcodeSuite::M201() {
|
121
|
130
|
|
122
|
131
|
#ifdef XY_FREQUENCY_LIMIT
|
123
|
132
|
if (parser.seenval('F')) planner.set_frequency_limit(parser.value_byte());
|
124
|
|
- if (parser.seenval('G')) planner.xy_freq_min_speed_factor = constrain(parser.value_float(), 1, 100) / 100;
|
|
133
|
+ if (parser.seenval('S')) planner.xy_freq_min_speed_factor = constrain(parser.value_float(), 1, 100) / 100;
|
125
|
134
|
#endif
|
126
|
135
|
|
127
|
136
|
LOOP_LOGICAL_AXES(i) {
|