|
@ -3551,6 +3551,9 @@ inline void gcode_G28() { |
|
|
stepper.synchronize(); |
|
|
stepper.synchronize(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// Save 130 bytes with non-duplication of PSTR
|
|
|
|
|
|
void say_not_entered() { SERIAL_PROTOCOLLNPGM(" not entered."); } |
|
|
|
|
|
|
|
|
/**
|
|
|
/**
|
|
|
* G29: Mesh-based Z probe, probes a grid and produces a |
|
|
* G29: Mesh-based Z probe, probes a grid and produces a |
|
|
* mesh to compensate for variable bed height |
|
|
* mesh to compensate for variable bed height |
|
@ -3663,7 +3666,7 @@ inline void gcode_G28() { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
else { |
|
|
else { |
|
|
SERIAL_CHAR('X'); SERIAL_PROTOCOLLNPGM(" not entered."); |
|
|
SERIAL_CHAR('X'); say_not_entered(); |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -3675,7 +3678,7 @@ inline void gcode_G28() { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
else { |
|
|
else { |
|
|
SERIAL_CHAR('Y'); SERIAL_PROTOCOLLNPGM(" not entered."); |
|
|
SERIAL_CHAR('Y'); say_not_entered(); |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -3683,7 +3686,7 @@ inline void gcode_G28() { |
|
|
mbl.z_values[py][px] = code_value_axis_units(Z_AXIS); |
|
|
mbl.z_values[py][px] = code_value_axis_units(Z_AXIS); |
|
|
} |
|
|
} |
|
|
else { |
|
|
else { |
|
|
SERIAL_CHAR('Z'); SERIAL_PROTOCOLLNPGM(" not entered."); |
|
|
SERIAL_CHAR('Z'); say_not_entered(); |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
break; |
|
|
break; |
|
@ -3693,7 +3696,7 @@ inline void gcode_G28() { |
|
|
mbl.z_offset = code_value_axis_units(Z_AXIS); |
|
|
mbl.z_offset = code_value_axis_units(Z_AXIS); |
|
|
} |
|
|
} |
|
|
else { |
|
|
else { |
|
|
SERIAL_CHAR('Z'); SERIAL_PROTOCOLLNPGM(" not entered."); |
|
|
SERIAL_CHAR('Z'); say_not_entered(); |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
break; |
|
|
break; |
|
@ -5822,63 +5825,55 @@ inline void gcode_M115() { |
|
|
#if ENABLED(EXTENDED_CAPABILITIES_REPORT) |
|
|
#if ENABLED(EXTENDED_CAPABILITIES_REPORT) |
|
|
|
|
|
|
|
|
// EEPROM (M500, M501)
|
|
|
// EEPROM (M500, M501)
|
|
|
SERIAL_PROTOCOLPGM("Cap:"); |
|
|
|
|
|
#if ENABLED(EEPROM_SETTINGS) |
|
|
#if ENABLED(EEPROM_SETTINGS) |
|
|
SERIAL_PROTOCOLLNPGM("EEPROM:1"); |
|
|
SERIAL_PROTOCOLLNPGM("Cap:EEPROM:1"); |
|
|
#else |
|
|
#else |
|
|
SERIAL_PROTOCOLLNPGM("EEPROM:0"); |
|
|
SERIAL_PROTOCOLLNPGM("Cap:EEPROM:0"); |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
// AUTOREPORT_TEMP (M155)
|
|
|
// AUTOREPORT_TEMP (M155)
|
|
|
SERIAL_PROTOCOLPGM("Cap:"); |
|
|
|
|
|
#if ENABLED(AUTO_REPORT_TEMPERATURES) |
|
|
#if ENABLED(AUTO_REPORT_TEMPERATURES) |
|
|
SERIAL_PROTOCOLLNPGM("AUTOREPORT_TEMP:1"); |
|
|
SERIAL_PROTOCOLLNPGM("Cap:AUTOREPORT_TEMP:1"); |
|
|
#else |
|
|
#else |
|
|
SERIAL_PROTOCOLLNPGM("AUTOREPORT_TEMP:0"); |
|
|
SERIAL_PROTOCOLLNPGM("Cap:AUTOREPORT_TEMP:0"); |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
// PROGRESS (M530 S L, M531 <file>, M532 X L)
|
|
|
// PROGRESS (M530 S L, M531 <file>, M532 X L)
|
|
|
SERIAL_PROTOCOLPGM("Cap:"); |
|
|
SERIAL_PROTOCOLLNPGM("Cap:PROGRESS:0"); |
|
|
SERIAL_PROTOCOLLNPGM("PROGRESS:0"); |
|
|
|
|
|
|
|
|
|
|
|
// AUTOLEVEL (G29)
|
|
|
// AUTOLEVEL (G29)
|
|
|
SERIAL_PROTOCOLPGM("Cap:"); |
|
|
|
|
|
#if HAS_ABL |
|
|
#if HAS_ABL |
|
|
SERIAL_PROTOCOLLNPGM("AUTOLEVEL:1"); |
|
|
SERIAL_PROTOCOLLNPGM("Cap:AUTOLEVEL:1"); |
|
|
#else |
|
|
#else |
|
|
SERIAL_PROTOCOLLNPGM("AUTOLEVEL:0"); |
|
|
SERIAL_PROTOCOLLNPGM("Cap:AUTOLEVEL:0"); |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
// Z_PROBE (G30)
|
|
|
// Z_PROBE (G30)
|
|
|
SERIAL_PROTOCOLPGM("Cap:"); |
|
|
|
|
|
#if HAS_BED_PROBE |
|
|
#if HAS_BED_PROBE |
|
|
SERIAL_PROTOCOLLNPGM("Z_PROBE:1"); |
|
|
SERIAL_PROTOCOLLNPGM("Cap:Z_PROBE:1"); |
|
|
#else |
|
|
#else |
|
|
SERIAL_PROTOCOLLNPGM("Z_PROBE:0"); |
|
|
SERIAL_PROTOCOLLNPGM("Cap:Z_PROBE:0"); |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
// SOFTWARE_POWER (G30)
|
|
|
// SOFTWARE_POWER (G30)
|
|
|
SERIAL_PROTOCOLPGM("Cap:"); |
|
|
|
|
|
#if HAS_POWER_SWITCH |
|
|
#if HAS_POWER_SWITCH |
|
|
SERIAL_PROTOCOLLNPGM("SOFTWARE_POWER:1"); |
|
|
SERIAL_PROTOCOLLNPGM("Cap:SOFTWARE_POWER:1"); |
|
|
#else |
|
|
#else |
|
|
SERIAL_PROTOCOLLNPGM("SOFTWARE_POWER:0"); |
|
|
SERIAL_PROTOCOLLNPGM("Cap:SOFTWARE_POWER:0"); |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
// TOGGLE_LIGHTS (M355)
|
|
|
// TOGGLE_LIGHTS (M355)
|
|
|
SERIAL_PROTOCOLPGM("Cap:"); |
|
|
|
|
|
#if HAS_CASE_LIGHT |
|
|
#if HAS_CASE_LIGHT |
|
|
SERIAL_PROTOCOLLNPGM("TOGGLE_LIGHTS:1"); |
|
|
SERIAL_PROTOCOLLNPGM("Cap:TOGGLE_LIGHTS:1"); |
|
|
#else |
|
|
#else |
|
|
SERIAL_PROTOCOLLNPGM("TOGGLE_LIGHTS:0"); |
|
|
SERIAL_PROTOCOLLNPGM("Cap:TOGGLE_LIGHTS:0"); |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
// EMERGENCY_PARSER (M108, M112, M410)
|
|
|
// EMERGENCY_PARSER (M108, M112, M410)
|
|
|
SERIAL_PROTOCOLPGM("Cap:"); |
|
|
|
|
|
#if ENABLED(EMERGENCY_PARSER) |
|
|
#if ENABLED(EMERGENCY_PARSER) |
|
|
SERIAL_PROTOCOLLNPGM("EMERGENCY_PARSER:1"); |
|
|
SERIAL_PROTOCOLLNPGM("Cap:EMERGENCY_PARSER:1"); |
|
|
#else |
|
|
#else |
|
|
SERIAL_PROTOCOLLNPGM("EMERGENCY_PARSER:0"); |
|
|
SERIAL_PROTOCOLLNPGM("Cap:EMERGENCY_PARSER:0"); |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
#endif // EXTENDED_CAPABILITIES_REPORT
|
|
|
#endif // EXTENDED_CAPABILITIES_REPORT
|
|
|