|
@@ -1277,7 +1277,7 @@ void get_available_commands() {
|
1277
|
1277
|
* Returns TRUE if the target is invalid
|
1278
|
1278
|
*/
|
1279
|
1279
|
bool get_target_extruder_from_command(const uint16_t code) {
|
1280
|
|
- if (parser.seen('T')) {
|
|
1280
|
+ if (parser.seenval('T')) {
|
1281
|
1281
|
const int8_t e = parser.value_byte();
|
1282
|
1282
|
if (e >= EXTRUDERS) {
|
1283
|
1283
|
SERIAL_ECHO_START();
|
|
@@ -3135,7 +3135,7 @@ static void homeaxis(const AxisEnum axis) {
|
3135
|
3135
|
const char* mixing_codes = "ABCDHI";
|
3136
|
3136
|
byte mix_bits = 0;
|
3137
|
3137
|
for (uint8_t i = 0; i < MIXING_STEPPERS; i++) {
|
3138
|
|
- if (parser.seen(mixing_codes[i])) {
|
|
3138
|
+ if (parser.seenval(mixing_codes[i])) {
|
3139
|
3139
|
SBI(mix_bits, i);
|
3140
|
3140
|
float v = parser.value_float();
|
3141
|
3141
|
NOLESS(v, 0.0);
|
|
@@ -3304,7 +3304,7 @@ inline void gcode_G0_G1(
|
3304
|
3304
|
#endif
|
3305
|
3305
|
|
3306
|
3306
|
float arc_offset[2] = { 0.0, 0.0 };
|
3307
|
|
- if (parser.seen('R')) {
|
|
3307
|
+ if (parser.seenval('R')) {
|
3308
|
3308
|
const float r = parser.value_linear_units(),
|
3309
|
3309
|
p1 = current_position[X_AXIS], q1 = current_position[Y_AXIS],
|
3310
|
3310
|
p2 = destination[X_AXIS], q2 = destination[Y_AXIS];
|
|
@@ -3321,8 +3321,8 @@ inline void gcode_G0_G1(
|
3321
|
3321
|
}
|
3322
|
3322
|
}
|
3323
|
3323
|
else {
|
3324
|
|
- if (parser.seen('I')) arc_offset[0] = parser.value_linear_units();
|
3325
|
|
- if (parser.seen('J')) arc_offset[1] = parser.value_linear_units();
|
|
3324
|
+ if (parser.seenval('I')) arc_offset[0] = parser.value_linear_units();
|
|
3325
|
+ if (parser.seenval('J')) arc_offset[1] = parser.value_linear_units();
|
3326
|
3326
|
}
|
3327
|
3327
|
|
3328
|
3328
|
if (arc_offset[0] || arc_offset[1]) {
|
|
@@ -3358,8 +3358,8 @@ inline void gcode_G0_G1(
|
3358
|
3358
|
inline void gcode_G4() {
|
3359
|
3359
|
millis_t dwell_ms = 0;
|
3360
|
3360
|
|
3361
|
|
- if (parser.seen('P')) dwell_ms = parser.value_millis(); // milliseconds to wait
|
3362
|
|
- if (parser.seen('S')) dwell_ms = parser.value_millis_from_seconds(); // seconds to wait
|
|
3361
|
+ if (parser.seenval('P')) dwell_ms = parser.value_millis(); // milliseconds to wait
|
|
3362
|
+ if (parser.seenval('S')) dwell_ms = parser.value_millis_from_seconds(); // seconds to wait
|
3363
|
3363
|
|
3364
|
3364
|
stepper.synchronize();
|
3365
|
3365
|
refresh_cmd_timeout();
|
|
@@ -4111,7 +4111,7 @@ void home_all_axes() { gcode_G28(true); }
|
4111
|
4111
|
break;
|
4112
|
4112
|
|
4113
|
4113
|
case MeshSet:
|
4114
|
|
- if (parser.seen('X')) {
|
|
4114
|
+ if (parser.seenval('X')) {
|
4115
|
4115
|
px = parser.value_int() - 1;
|
4116
|
4116
|
if (!WITHIN(px, 0, GRID_MAX_POINTS_X - 1)) {
|
4117
|
4117
|
SERIAL_PROTOCOLLNPGM("X out of range (1-" STRINGIFY(GRID_MAX_POINTS_X) ").");
|
|
@@ -4123,7 +4123,7 @@ void home_all_axes() { gcode_G28(true); }
|
4123
|
4123
|
return;
|
4124
|
4124
|
}
|
4125
|
4125
|
|
4126
|
|
- if (parser.seen('Y')) {
|
|
4126
|
+ if (parser.seenval('Y')) {
|
4127
|
4127
|
py = parser.value_int() - 1;
|
4128
|
4128
|
if (!WITHIN(py, 0, GRID_MAX_POINTS_Y - 1)) {
|
4129
|
4129
|
SERIAL_PROTOCOLLNPGM("Y out of range (1-" STRINGIFY(GRID_MAX_POINTS_Y) ").");
|
|
@@ -4135,7 +4135,7 @@ void home_all_axes() { gcode_G28(true); }
|
4135
|
4135
|
return;
|
4136
|
4136
|
}
|
4137
|
4137
|
|
4138
|
|
- if (parser.seen('Z')) {
|
|
4138
|
+ if (parser.seenval('Z')) {
|
4139
|
4139
|
mbl.z_values[px][py] = parser.value_linear_units();
|
4140
|
4140
|
}
|
4141
|
4141
|
else {
|
|
@@ -4145,7 +4145,7 @@ void home_all_axes() { gcode_G28(true); }
|
4145
|
4145
|
break;
|
4146
|
4146
|
|
4147
|
4147
|
case MeshSetZOffset:
|
4148
|
|
- if (parser.seen('Z')) {
|
|
4148
|
+ if (parser.seenval('Z')) {
|
4149
|
4149
|
mbl.z_offset = parser.value_linear_units();
|
4150
|
4150
|
}
|
4151
|
4151
|
else {
|
|
@@ -4371,17 +4371,17 @@ void home_all_axes() { gcode_G28(true); }
|
4371
|
4371
|
return;
|
4372
|
4372
|
}
|
4373
|
4373
|
|
4374
|
|
- const float z = parser.seen('Z') && parser.has_value() ? parser.value_float() : RAW_CURRENT_POSITION(Z);
|
|
4374
|
+ const float z = parser.seenval('Z') ? parser.value_float() : RAW_CURRENT_POSITION(Z);
|
4375
|
4375
|
if (!WITHIN(z, -10, 10)) {
|
4376
|
4376
|
SERIAL_ERROR_START();
|
4377
|
4377
|
SERIAL_ERRORLNPGM("Bad Z value");
|
4378
|
4378
|
return;
|
4379
|
4379
|
}
|
4380
|
4380
|
|
4381
|
|
- const float x = parser.seen('X') && parser.has_value() ? parser.value_float() : NAN,
|
4382
|
|
- y = parser.seen('Y') && parser.has_value() ? parser.value_float() : NAN;
|
4383
|
|
- int8_t i = parser.seen('I') && parser.has_value() ? parser.value_byte() : -1,
|
4384
|
|
- j = parser.seen('J') && parser.has_value() ? parser.value_byte() : -1;
|
|
4381
|
+ const float x = parser.seenval('X') ? parser.value_float() : NAN,
|
|
4382
|
+ y = parser.seenval('Y') ? parser.value_float() : NAN;
|
|
4383
|
+ int8_t i = parser.seenval('I') ? parser.value_byte() : -1,
|
|
4384
|
+ j = parser.seenval('J') ? parser.value_byte() : -1;
|
4385
|
4385
|
|
4386
|
4386
|
if (!isnan(x) && !isnan(y)) {
|
4387
|
4387
|
// Get nearest i / j from x / y
|
|
@@ -4413,7 +4413,7 @@ void home_all_axes() { gcode_G28(true); }
|
4413
|
4413
|
|
4414
|
4414
|
#endif
|
4415
|
4415
|
|
4416
|
|
- verbose_level = parser.seen('V') && parser.has_value() ? parser.value_int() : 0;
|
|
4416
|
+ verbose_level = parser.seenval('V') ? parser.value_int() : 0;
|
4417
|
4417
|
if (!WITHIN(verbose_level, 0, 4)) {
|
4418
|
4418
|
SERIAL_PROTOCOLLNPGM("?(V)erbose level is implausible (0-4).");
|
4419
|
4419
|
return;
|
|
@@ -4433,7 +4433,7 @@ void home_all_axes() { gcode_G28(true); }
|
4433
|
4433
|
// These values may be saved with the completed mesh
|
4434
|
4434
|
abl_grid_points_x = parser.seen('X') ? parser.value_int() : GRID_MAX_POINTS_X;
|
4435
|
4435
|
abl_grid_points_y = parser.seen('Y') ? parser.value_int() : GRID_MAX_POINTS_Y;
|
4436
|
|
- if (parser.seen('P')) abl_grid_points_x = abl_grid_points_y = parser.value_int();
|
|
4436
|
+ if (parser.seenval('P')) abl_grid_points_x = abl_grid_points_y = parser.value_int();
|
4437
|
4437
|
|
4438
|
4438
|
if (abl_grid_points_x < 2 || abl_grid_points_y < 2) {
|
4439
|
4439
|
SERIAL_PROTOCOLLNPGM("?Number of probe points is implausible (2 minimum).");
|
|
@@ -5595,7 +5595,7 @@ void home_all_axes() { gcode_G28(true); }
|
5595
|
5595
|
// If any axis has enough movement, do the move
|
5596
|
5596
|
LOOP_XYZ(i)
|
5597
|
5597
|
if (FABS(destination[i] - current_position[i]) >= G38_MINIMUM_MOVE) {
|
5598
|
|
- if (!parser.seen('F')) feedrate_mm_s = homing_feedrate(i);
|
|
5598
|
+ if (!parser.seenval('F')) feedrate_mm_s = homing_feedrate(i);
|
5599
|
5599
|
// If G38.2 fails throw an error
|
5600
|
5600
|
if (!G38_run_probe() && is_38_2) {
|
5601
|
5601
|
SERIAL_ERROR_START();
|
|
@@ -5616,10 +5616,10 @@ void home_all_axes() { gcode_G28(true); }
|
5616
|
5616
|
*/
|
5617
|
5617
|
inline void gcode_G42() {
|
5618
|
5618
|
if (IsRunning()) {
|
5619
|
|
- const bool hasI = parser.seen('I');
|
5620
|
|
- const int8_t ix = parser.has_value() ? parser.value_int() : 0;
|
5621
|
|
- const bool hasJ = parser.seen('J');
|
5622
|
|
- const int8_t iy = parser.has_value() ? parser.value_int() : 0;
|
|
5619
|
+ const bool hasI = parser.seenval('I');
|
|
5620
|
+ const int8_t ix = hasI ? parser.value_int() : 0;
|
|
5621
|
+ const bool hasJ = parser.seenval('J');
|
|
5622
|
+ const int8_t iy = hasJ ? parser.value_int() : 0;
|
5623
|
5623
|
|
5624
|
5624
|
if ((hasI && !WITHIN(ix, 0, GRID_MAX_POINTS_X - 1)) || (hasJ && !WITHIN(iy, 0, GRID_MAX_POINTS_Y - 1))) {
|
5625
|
5625
|
SERIAL_ECHOLNPGM(MSG_ERR_MESH_XY);
|
|
@@ -5664,12 +5664,12 @@ void home_all_axes() { gcode_G28(true); }
|
5664
|
5664
|
*/
|
5665
|
5665
|
inline void gcode_G92() {
|
5666
|
5666
|
bool didXYZ = false,
|
5667
|
|
- didE = parser.seen('E');
|
|
5667
|
+ didE = parser.seenval('E');
|
5668
|
5668
|
|
5669
|
5669
|
if (!didE) stepper.synchronize();
|
5670
|
5670
|
|
5671
|
5671
|
LOOP_XYZE(i) {
|
5672
|
|
- if (parser.seen(axis_codes[i])) {
|
|
5672
|
+ if (parser.seenval(axis_codes[i])) {
|
5673
|
5673
|
#if IS_SCARA
|
5674
|
5674
|
current_position[i] = parser.value_axis_units((AxisEnum)i);
|
5675
|
5675
|
if (i != E_AXIS) didXYZ = true;
|
|
@@ -5715,11 +5715,11 @@ inline void gcode_G92() {
|
5715
|
5715
|
|
5716
|
5716
|
millis_t ms = 0;
|
5717
|
5717
|
bool hasP = false, hasS = false;
|
5718
|
|
- if (parser.seen('P')) {
|
|
5718
|
+ if (parser.seenval('P')) {
|
5719
|
5719
|
ms = parser.value_millis(); // milliseconds to wait
|
5720
|
5720
|
hasP = ms > 0;
|
5721
|
5721
|
}
|
5722
|
|
- if (parser.seen('S')) {
|
|
5722
|
+ if (parser.seenval('S')) {
|
5723
|
5723
|
ms = parser.value_millis_from_seconds(); // seconds to wait
|
5724
|
5724
|
hasS = ms > 0;
|
5725
|
5725
|
}
|
|
@@ -6272,7 +6272,7 @@ inline void gcode_M17() {
|
6272
|
6272
|
* M26: Set SD Card file index
|
6273
|
6273
|
*/
|
6274
|
6274
|
inline void gcode_M26() {
|
6275
|
|
- if (card.cardOK && parser.seen('S'))
|
|
6275
|
+ if (card.cardOK && parser.seenval('S'))
|
6276
|
6276
|
card.setIndex(parser.value_long());
|
6277
|
6277
|
}
|
6278
|
6278
|
|
|
@@ -6334,7 +6334,7 @@ inline void gcode_M31() {
|
6334
|
6334
|
if (card.cardOK) {
|
6335
|
6335
|
card.openFile(namestartpos, true, call_procedure);
|
6336
|
6336
|
|
6337
|
|
- if (parser.seen('S'))
|
|
6337
|
+ if (parser.seenval('S'))
|
6338
|
6338
|
card.setIndex(parser.value_long());
|
6339
|
6339
|
|
6340
|
6340
|
card.startFileprint();
|
|
@@ -6370,8 +6370,8 @@ inline void gcode_M31() {
|
6370
|
6370
|
*/
|
6371
|
6371
|
inline void gcode_M34() {
|
6372
|
6372
|
if (parser.seen('S')) card.setSortOn(parser.value_bool());
|
6373
|
|
- if (parser.seen('F')) {
|
6374
|
|
- int v = parser.value_long();
|
|
6373
|
+ if (parser.seenval('F')) {
|
|
6374
|
+ const int v = parser.value_long();
|
6375
|
6375
|
card.setSortFolders(v < 0 ? -1 : v > 0 ? 1 : 0);
|
6376
|
6376
|
}
|
6377
|
6377
|
//if (parser.seen('R')) card.setSortReverse(parser.value_bool());
|
|
@@ -6404,10 +6404,8 @@ static bool pin_is_protected(const int8_t pin) {
|
6404
|
6404
|
* S<byte> Pin status from 0 - 255
|
6405
|
6405
|
*/
|
6406
|
6406
|
inline void gcode_M42() {
|
6407
|
|
- if (!parser.seen('S')) return;
|
6408
|
|
-
|
6409
|
|
- const int pin_status = parser.value_int();
|
6410
|
|
- if (!WITHIN(pin_status, 0, 255)) return;
|
|
6407
|
+ if (!parser.seenval('S')) return;
|
|
6408
|
+ const byte pin_status = parser.value_byte();
|
6411
|
6409
|
|
6412
|
6410
|
int pin_number = parser.seen('P') ? parser.value_int() : LED_PIN;
|
6413
|
6411
|
if (pin_number < 0) return;
|
|
@@ -6666,8 +6664,8 @@ inline void gcode_M42() {
|
6666
|
6664
|
}
|
6667
|
6665
|
|
6668
|
6666
|
// Get the range of pins to test or watch
|
6669
|
|
- const uint8_t first_pin = parser.seen('P') ? parser.value_byte() : 0,
|
6670
|
|
- last_pin = parser.seen('P') ? first_pin : NUM_DIGITAL_PINS - 1;
|
|
6667
|
+ const uint8_t first_pin = parser.seenval('P') ? parser.value_byte() : 0,
|
|
6668
|
+ last_pin = parser.seenval('P') ? first_pin : NUM_DIGITAL_PINS - 1;
|
6671
|
6669
|
|
6672
|
6670
|
if (first_pin > last_pin) return;
|
6673
|
6671
|
|
|
@@ -7026,7 +7024,7 @@ inline void gcode_M104() {
|
7026
|
7024
|
if (target_extruder != active_extruder) return;
|
7027
|
7025
|
#endif
|
7028
|
7026
|
|
7029
|
|
- if (parser.seen('S')) {
|
|
7027
|
+ if (parser.seenval('S')) {
|
7030
|
7028
|
const int16_t temp = parser.value_celsius();
|
7031
|
7029
|
thermalManager.setTargetHotend(temp, target_extruder);
|
7032
|
7030
|
|
|
@@ -7153,7 +7151,7 @@ inline void gcode_M105() {
|
7153
|
7151
|
* M155: Set temperature auto-report interval. M155 S<seconds>
|
7154
|
7152
|
*/
|
7155
|
7153
|
inline void gcode_M155() {
|
7156
|
|
- if (parser.seen('S')) {
|
|
7154
|
+ if (parser.seenval('S')) {
|
7157
|
7155
|
auto_report_temp_interval = parser.value_byte();
|
7158
|
7156
|
NOMORE(auto_report_temp_interval, 60);
|
7159
|
7157
|
next_temp_report_ms = millis() + 1000UL * auto_report_temp_interval;
|
|
@@ -7240,8 +7238,8 @@ inline void gcode_M109() {
|
7240
|
7238
|
if (target_extruder != active_extruder) return;
|
7241
|
7239
|
#endif
|
7242
|
7240
|
|
7243
|
|
- const bool no_wait_for_cooling = parser.seen('S');
|
7244
|
|
- if (no_wait_for_cooling || parser.seen('R')) {
|
|
7241
|
+ const bool no_wait_for_cooling = parser.seenval('S');
|
|
7242
|
+ if (no_wait_for_cooling || parser.seenval('R')) {
|
7245
|
7243
|
const int16_t temp = parser.value_celsius();
|
7246
|
7244
|
thermalManager.setTargetHotend(temp, target_extruder);
|
7247
|
7245
|
|
|
@@ -7389,8 +7387,8 @@ inline void gcode_M109() {
|
7389
|
7387
|
if (DEBUGGING(DRYRUN)) return;
|
7390
|
7388
|
|
7391
|
7389
|
LCD_MESSAGEPGM(MSG_BED_HEATING);
|
7392
|
|
- const bool no_wait_for_cooling = parser.seen('S');
|
7393
|
|
- if (no_wait_for_cooling || parser.seen('R')) {
|
|
7390
|
+ const bool no_wait_for_cooling = parser.seenval('S');
|
|
7391
|
+ if (no_wait_for_cooling || parser.seenval('R')) {
|
7394
|
7392
|
thermalManager.setTargetBed(parser.value_celsius());
|
7395
|
7393
|
#if ENABLED(PRINTJOB_TIMER_AUTOSTART)
|
7396
|
7394
|
if (parser.value_celsius() > BED_MINTEMP)
|
|
@@ -7497,7 +7495,7 @@ inline void gcode_M109() {
|
7497
|
7495
|
* M110: Set Current Line Number
|
7498
|
7496
|
*/
|
7499
|
7497
|
inline void gcode_M110() {
|
7500
|
|
- if (parser.seen('N')) gcode_LastN = parser.value_long();
|
|
7498
|
+ if (parser.seenval('N')) gcode_LastN = parser.value_long();
|
7501
|
7499
|
}
|
7502
|
7500
|
|
7503
|
7501
|
/**
|
|
@@ -7547,7 +7545,7 @@ inline void gcode_M111() {
|
7547
|
7545
|
* S<seconds> Optional. Set the keepalive interval.
|
7548
|
7546
|
*/
|
7549
|
7547
|
inline void gcode_M113() {
|
7550
|
|
- if (parser.seen('S')) {
|
|
7548
|
+ if (parser.seenval('S')) {
|
7551
|
7549
|
host_keepalive_interval = parser.value_byte();
|
7552
|
7550
|
NOMORE(host_keepalive_interval, 60);
|
7553
|
7551
|
}
|
|
@@ -7590,7 +7588,7 @@ inline void gcode_M111() {
|
7590
|
7588
|
*/
|
7591
|
7589
|
inline void gcode_M140() {
|
7592
|
7590
|
if (DEBUGGING(DRYRUN)) return;
|
7593
|
|
- if (parser.seen('S')) thermalManager.setTargetBed(parser.value_celsius());
|
|
7591
|
+ if (parser.seenval('S')) thermalManager.setTargetBed(parser.value_celsius());
|
7594
|
7592
|
}
|
7595
|
7593
|
|
7596
|
7594
|
#if ENABLED(ULTIPANEL)
|
|
@@ -7611,16 +7609,16 @@ inline void gcode_M140() {
|
7611
|
7609
|
}
|
7612
|
7610
|
else {
|
7613
|
7611
|
int v;
|
7614
|
|
- if (parser.seen('H')) {
|
|
7612
|
+ if (parser.seenval('H')) {
|
7615
|
7613
|
v = parser.value_int();
|
7616
|
7614
|
lcd_preheat_hotend_temp[material] = constrain(v, EXTRUDE_MINTEMP, HEATER_0_MAXTEMP - 15);
|
7617
|
7615
|
}
|
7618
|
|
- if (parser.seen('F')) {
|
|
7616
|
+ if (parser.seenval('F')) {
|
7619
|
7617
|
v = parser.value_int();
|
7620
|
7618
|
lcd_preheat_fan_speed[material] = constrain(v, 0, 255);
|
7621
|
7619
|
}
|
7622
|
7620
|
#if TEMP_SENSOR_BED != 0
|
7623
|
|
- if (parser.seen('B')) {
|
|
7621
|
+ if (parser.seenval('B')) {
|
7624
|
7622
|
v = parser.value_int();
|
7625
|
7623
|
lcd_preheat_bed_temp[material] = constrain(v, BED_MINTEMP, BED_MAXTEMP - 15);
|
7626
|
7624
|
}
|
|
@@ -7635,9 +7633,9 @@ inline void gcode_M140() {
|
7635
|
7633
|
* M149: Set temperature units
|
7636
|
7634
|
*/
|
7637
|
7635
|
inline void gcode_M149() {
|
7638
|
|
- if (parser.seen('C')) parser.set_input_temp_units(TEMPUNIT_C);
|
7639
|
|
- else if (parser.seen('K')) parser.set_input_temp_units(TEMPUNIT_K);
|
7640
|
|
- else if (parser.seen('F')) parser.set_input_temp_units(TEMPUNIT_F);
|
|
7636
|
+ if (parser.seenval('C')) parser.set_input_temp_units(TEMPUNIT_C);
|
|
7637
|
+ else if (parser.seenval('K')) parser.set_input_temp_units(TEMPUNIT_K);
|
|
7638
|
+ else if (parser.seenval('F')) parser.set_input_temp_units(TEMPUNIT_F);
|
7641
|
7639
|
}
|
7642
|
7640
|
#endif
|
7643
|
7641
|
|
|
@@ -7726,7 +7724,7 @@ inline void gcode_M83() { axis_relative_modes[E_AXIS] = true; }
|
7726
|
7724
|
* M18, M84: Disable stepper motors
|
7727
|
7725
|
*/
|
7728
|
7726
|
inline void gcode_M18_M84() {
|
7729
|
|
- if (parser.seen('S')) {
|
|
7727
|
+ if (parser.seenval('S')) {
|
7730
|
7728
|
stepper_inactive_time = parser.value_millis_from_seconds();
|
7731
|
7729
|
}
|
7732
|
7730
|
else {
|
|
@@ -8448,11 +8446,11 @@ inline void gcode_M211() {
|
8448
|
8446
|
inline void gcode_M218() {
|
8449
|
8447
|
if (get_target_extruder_from_command(218) || target_extruder == 0) return;
|
8450
|
8448
|
|
8451
|
|
- if (parser.seen('X')) hotend_offset[X_AXIS][target_extruder] = parser.value_linear_units();
|
8452
|
|
- if (parser.seen('Y')) hotend_offset[Y_AXIS][target_extruder] = parser.value_linear_units();
|
|
8449
|
+ if (parser.seenval('X')) hotend_offset[X_AXIS][target_extruder] = parser.value_linear_units();
|
|
8450
|
+ if (parser.seenval('Y')) hotend_offset[Y_AXIS][target_extruder] = parser.value_linear_units();
|
8453
|
8451
|
|
8454
|
8452
|
#if ENABLED(DUAL_X_CARRIAGE) || ENABLED(SWITCHING_NOZZLE)
|
8455
|
|
- if (parser.seen('Z')) hotend_offset[Z_AXIS][target_extruder] = parser.value_linear_units();
|
|
8453
|
+ if (parser.seenval('Z')) hotend_offset[Z_AXIS][target_extruder] = parser.value_linear_units();
|
8456
|
8454
|
#endif
|
8457
|
8455
|
|
8458
|
8456
|
SERIAL_ECHO_START();
|
|
@@ -8476,7 +8474,7 @@ inline void gcode_M211() {
|
8476
|
8474
|
* M220: Set speed percentage factor, aka "Feed Rate" (M220 S95)
|
8477
|
8475
|
*/
|
8478
|
8476
|
inline void gcode_M220() {
|
8479
|
|
- if (parser.seen('S')) feedrate_percentage = parser.value_int();
|
|
8477
|
+ if (parser.seenval('S')) feedrate_percentage = parser.value_int();
|
8480
|
8478
|
}
|
8481
|
8479
|
|
8482
|
8480
|
/**
|
|
@@ -8484,7 +8482,7 @@ inline void gcode_M220() {
|
8484
|
8482
|
*/
|
8485
|
8483
|
inline void gcode_M221() {
|
8486
|
8484
|
if (get_target_extruder_from_command(221)) return;
|
8487
|
|
- if (parser.seen('S'))
|
|
8485
|
+ if (parser.seenval('S'))
|
8488
|
8486
|
flow_percentage[target_extruder] = parser.value_int();
|
8489
|
8487
|
}
|
8490
|
8488
|
|
|
@@ -9777,14 +9775,14 @@ inline void gcode_M907() {
|
9777
|
9775
|
* S# determines MS1 or MS2, X# sets the pin high/low.
|
9778
|
9776
|
*/
|
9779
|
9777
|
inline void gcode_M351() {
|
9780
|
|
- if (parser.seen('S')) switch (parser.value_byte()) {
|
|
9778
|
+ if (parser.seenval('S')) switch (parser.value_byte()) {
|
9781
|
9779
|
case 1:
|
9782
|
|
- LOOP_XYZE(i) if (parser.seen(axis_codes[i])) stepper.microstep_ms(i, parser.value_byte(), -1);
|
9783
|
|
- if (parser.seen('B')) stepper.microstep_ms(4, parser.value_byte(), -1);
|
|
9780
|
+ LOOP_XYZE(i) if (parser.seenval(axis_codes[i])) stepper.microstep_ms(i, parser.value_byte(), -1);
|
|
9781
|
+ if (parser.seenval('B')) stepper.microstep_ms(4, parser.value_byte(), -1);
|
9784
|
9782
|
break;
|
9785
|
9783
|
case 2:
|
9786
|
|
- LOOP_XYZE(i) if (parser.seen(axis_codes[i])) stepper.microstep_ms(i, -1, parser.value_byte());
|
9787
|
|
- if (parser.seen('B')) stepper.microstep_ms(4, -1, parser.value_byte());
|
|
9784
|
+ LOOP_XYZE(i) if (parser.seenval(axis_codes[i])) stepper.microstep_ms(i, -1, parser.value_byte());
|
|
9785
|
+ if (parser.seenval('B')) stepper.microstep_ms(4, -1, parser.value_byte());
|
9788
|
9786
|
break;
|
9789
|
9787
|
}
|
9790
|
9788
|
stepper.microstep_readings();
|
|
@@ -9827,8 +9825,8 @@ inline void gcode_M907() {
|
9827
|
9825
|
inline void gcode_M355() {
|
9828
|
9826
|
#if HAS_CASE_LIGHT
|
9829
|
9827
|
uint8_t args = 0;
|
9830
|
|
- if (parser.seen('P')) ++args, case_light_brightness = parser.value_byte();
|
9831
|
|
- if (parser.seen('S')) ++args, case_light_on = parser.value_bool();
|
|
9828
|
+ if (parser.seenval('P')) ++args, case_light_brightness = parser.value_byte();
|
|
9829
|
+ if (parser.seenval('S')) ++args, case_light_on = parser.value_bool();
|
9832
|
9830
|
if (args) update_case_light();
|
9833
|
9831
|
|
9834
|
9832
|
// always report case light status
|