More useful ENABLED / DISABLED macros (#17054)
This commit is contained in:
@ -62,13 +62,7 @@
|
||||
current_position.set(0.0, 0.0);
|
||||
sync_plan_position();
|
||||
|
||||
const int x_axis_home_dir =
|
||||
#if ENABLED(DUAL_X_CARRIAGE)
|
||||
x_home_dir(active_extruder)
|
||||
#else
|
||||
home_dir(X_AXIS)
|
||||
#endif
|
||||
;
|
||||
const int x_axis_home_dir = x_home_dir(active_extruder);
|
||||
|
||||
const float mlx = max_length(X_AXIS),
|
||||
mly = max_length(Y_AXIS),
|
||||
@ -310,6 +304,8 @@ void GcodeSuite::G28() {
|
||||
|
||||
#if ENABLED(DELTA)
|
||||
|
||||
constexpr bool doZ = true; // for NANODLP_Z_SYNC if your DLP is on a DELTA
|
||||
|
||||
home_delta();
|
||||
|
||||
#if ENABLED(IMPROVE_HOMING_RELIABILITY)
|
||||
@ -330,12 +326,10 @@ void GcodeSuite::G28() {
|
||||
|
||||
#endif
|
||||
|
||||
const float z_homing_height = (
|
||||
#if ENABLED(UNKNOWN_Z_NO_RAISE)
|
||||
!TEST(axis_known_position, Z_AXIS) ? 0 :
|
||||
#endif
|
||||
(parser.seenval('R') ? parser.value_linear_units() : Z_HOMING_HEIGHT)
|
||||
);
|
||||
const float z_homing_height =
|
||||
(DISABLED(UNKNOWN_Z_NO_RAISE) || TEST(axis_known_position, Z_AXIS))
|
||||
? (parser.seenval('R') ? parser.value_linear_units() : Z_HOMING_HEIGHT)
|
||||
: 0;
|
||||
|
||||
if (z_homing_height && (doX || doY)) {
|
||||
// Raise Z before homing any other axes and z is not already high enough (never lower z)
|
||||
@ -355,20 +349,13 @@ void GcodeSuite::G28() {
|
||||
// Home Y (before X)
|
||||
#if ENABLED(HOME_Y_BEFORE_X)
|
||||
|
||||
if (doY
|
||||
#if ENABLED(CODEPENDENT_XY_HOMING)
|
||||
|| doX
|
||||
#endif
|
||||
) homeaxis(Y_AXIS);
|
||||
if (doY || (doX && ENABLED(CODEPENDENT_XY_HOMING)))
|
||||
homeaxis(Y_AXIS);
|
||||
|
||||
#endif
|
||||
|
||||
// Home X
|
||||
if (doX
|
||||
#if ENABLED(CODEPENDENT_XY_HOMING) && DISABLED(HOME_Y_BEFORE_X)
|
||||
|| doY
|
||||
#endif
|
||||
) {
|
||||
if (doX || (doY && ENABLED(CODEPENDENT_XY_HOMING) && DISABLED(HOME_Y_BEFORE_X))) {
|
||||
|
||||
#if ENABLED(DUAL_X_CARRIAGE)
|
||||
|
||||
@ -396,9 +383,8 @@ void GcodeSuite::G28() {
|
||||
}
|
||||
|
||||
// Home Y (after X)
|
||||
#if DISABLED(HOME_Y_BEFORE_X)
|
||||
if (doY) homeaxis(Y_AXIS);
|
||||
#endif
|
||||
if (DISABLED(HOME_Y_BEFORE_X) && doY)
|
||||
homeaxis(Y_AXIS);
|
||||
|
||||
#if ENABLED(IMPROVE_HOMING_RELIABILITY)
|
||||
end_slow_homing(slow_homing);
|
||||
@ -487,7 +473,7 @@ void GcodeSuite::G28() {
|
||||
do_blocking_move_to_z(delta_clip_start_height);
|
||||
#endif
|
||||
|
||||
#if HAS_LEVELING && ENABLED(RESTORE_LEVELING_AFTER_G28)
|
||||
#if ENABLED(RESTORE_LEVELING_AFTER_G28)
|
||||
set_bed_leveling_enabled(leveling_was_active);
|
||||
#endif
|
||||
|
||||
@ -495,12 +481,7 @@ void GcodeSuite::G28() {
|
||||
|
||||
// Restore the active tool after homing
|
||||
#if HOTENDS > 1 && (DISABLED(DELTA) || ENABLED(DELTA_HOME_TO_SAFE_ZONE))
|
||||
#if EITHER(PARKING_EXTRUDER, DUAL_X_CARRIAGE)
|
||||
#define NO_FETCH false // fetch the previous toolhead
|
||||
#else
|
||||
#define NO_FETCH true
|
||||
#endif
|
||||
tool_change(old_tool_index, NO_FETCH);
|
||||
tool_change(old_tool_index, NONE(PARKING_EXTRUDER, DUAL_X_CARRIAGE)); // Do move if one of these
|
||||
#endif
|
||||
|
||||
#if HAS_HOMING_CURRENT
|
||||
@ -523,15 +504,8 @@ void GcodeSuite::G28() {
|
||||
|
||||
report_current_position();
|
||||
|
||||
#if ENABLED(NANODLP_Z_SYNC)
|
||||
#if ENABLED(NANODLP_ALL_AXIS)
|
||||
#define _HOME_SYNC true // For any axis, output sync text.
|
||||
#else
|
||||
#define _HOME_SYNC doZ // Only for Z-axis
|
||||
#endif
|
||||
if (_HOME_SYNC)
|
||||
SERIAL_ECHOLNPGM(STR_Z_MOVE_COMP);
|
||||
#endif
|
||||
if (ENABLED(NANODLP_Z_SYNC) && (doZ || ENABLED(NANODLP_ALL_AXIS)))
|
||||
SERIAL_ECHOLNPGM(STR_Z_MOVE_COMP);
|
||||
|
||||
if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("<<< G28");
|
||||
|
||||
|
@ -56,8 +56,12 @@
|
||||
#define CALIBRATION_MEASUREMENT_CERTAIN 0.5 // mm
|
||||
#endif
|
||||
|
||||
#define HAS_X_CENTER BOTH(CALIBRATION_MEASURE_LEFT, CALIBRATION_MEASURE_RIGHT)
|
||||
#define HAS_Y_CENTER BOTH(CALIBRATION_MEASURE_FRONT, CALIBRATION_MEASURE_BACK)
|
||||
#if BOTH(CALIBRATION_MEASURE_LEFT, CALIBRATION_MEASURE_RIGHT)
|
||||
#define HAS_X_CENTER 1
|
||||
#endif
|
||||
#if BOTH(CALIBRATION_MEASURE_FRONT, CALIBRATION_MEASURE_BACK)
|
||||
#define HAS_Y_CENTER 1
|
||||
#endif
|
||||
|
||||
enum side_t : uint8_t { TOP, RIGHT, FRONT, LEFT, BACK, NUM_SIDES };
|
||||
|
||||
|
@ -54,39 +54,19 @@ void GcodeSuite::M115() {
|
||||
#endif
|
||||
|
||||
// SERIAL_XON_XOFF
|
||||
cap_line(PSTR("SERIAL_XON_XOFF")
|
||||
#if ENABLED(SERIAL_XON_XOFF)
|
||||
, true
|
||||
#endif
|
||||
);
|
||||
cap_line(PSTR("SERIAL_XON_XOFF"), ENABLED(SERIAL_XON_XOFF));
|
||||
|
||||
// BINARY_FILE_TRANSFER (M28 B1)
|
||||
cap_line(PSTR("BINARY_FILE_TRANSFER")
|
||||
#if ENABLED(BINARY_FILE_TRANSFER)
|
||||
, true
|
||||
#endif
|
||||
);
|
||||
cap_line(PSTR("BINARY_FILE_TRANSFER"), ENABLED(BINARY_FILE_TRANSFER));
|
||||
|
||||
// EEPROM (M500, M501)
|
||||
cap_line(PSTR("EEPROM")
|
||||
#if ENABLED(EEPROM_SETTINGS)
|
||||
, true
|
||||
#endif
|
||||
);
|
||||
cap_line(PSTR("EEPROM"), ENABLED(EEPROM_SETTINGS));
|
||||
|
||||
// Volumetric Extrusion (M200)
|
||||
cap_line(PSTR("VOLUMETRIC")
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
, true
|
||||
#endif
|
||||
);
|
||||
cap_line(PSTR("VOLUMETRIC"), DISABLED(NO_VOLUMETRICS));
|
||||
|
||||
// AUTOREPORT_TEMP (M155)
|
||||
cap_line(PSTR("AUTOREPORT_TEMP")
|
||||
#if ENABLED(AUTO_REPORT_TEMPERATURES)
|
||||
, true
|
||||
#endif
|
||||
);
|
||||
cap_line(PSTR("AUTOREPORT_TEMP"), ENABLED(AUTO_REPORT_TEMPERATURES));
|
||||
|
||||
// PROGRESS (M530 S L, M531 <file>, M532 X L)
|
||||
cap_line(PSTR("PROGRESS"));
|
||||
@ -95,93 +75,42 @@ void GcodeSuite::M115() {
|
||||
cap_line(PSTR("PRINT_JOB"), true);
|
||||
|
||||
// AUTOLEVEL (G29)
|
||||
cap_line(PSTR("AUTOLEVEL")
|
||||
#if HAS_AUTOLEVEL
|
||||
, true
|
||||
#endif
|
||||
);
|
||||
cap_line(PSTR("AUTOLEVEL"), ENABLED(HAS_AUTOLEVEL));
|
||||
|
||||
// Z_PROBE (G30)
|
||||
cap_line(PSTR("Z_PROBE")
|
||||
#if HAS_BED_PROBE
|
||||
, true
|
||||
#endif
|
||||
);
|
||||
cap_line(PSTR("Z_PROBE"), ENABLED(HAS_BED_PROBE));
|
||||
|
||||
// MESH_REPORT (M420 V)
|
||||
cap_line(PSTR("LEVELING_DATA")
|
||||
#if HAS_LEVELING
|
||||
, true
|
||||
#endif
|
||||
);
|
||||
cap_line(PSTR("LEVELING_DATA"), ENABLED(HAS_LEVELING));
|
||||
|
||||
// BUILD_PERCENT (M73)
|
||||
cap_line(PSTR("BUILD_PERCENT")
|
||||
#if ENABLED(LCD_SET_PROGRESS_MANUALLY)
|
||||
, true
|
||||
#endif
|
||||
);
|
||||
cap_line(PSTR("BUILD_PERCENT"), ENABLED(LCD_SET_PROGRESS_MANUALLY));
|
||||
|
||||
// SOFTWARE_POWER (M80, M81)
|
||||
cap_line(PSTR("SOFTWARE_POWER")
|
||||
#if ENABLED(PSU_CONTROL)
|
||||
, true
|
||||
#endif
|
||||
);
|
||||
cap_line(PSTR("SOFTWARE_POWER"), ENABLED(PSU_CONTROL));
|
||||
|
||||
// CASE LIGHTS (M355)
|
||||
cap_line(PSTR("TOGGLE_LIGHTS")
|
||||
#if HAS_CASE_LIGHT
|
||||
, true
|
||||
#endif
|
||||
);
|
||||
cap_line(PSTR("CASE_LIGHT_BRIGHTNESS")
|
||||
#if HAS_CASE_LIGHT
|
||||
, PWM_PIN(CASE_LIGHT_PIN)
|
||||
#endif
|
||||
);
|
||||
cap_line(PSTR("TOGGLE_LIGHTS"), ENABLED(HAS_CASE_LIGHT));
|
||||
|
||||
cap_line(PSTR("CASE_LIGHT_BRIGHTNESS"), TERN(HAS_CASE_LIGHT, PWM_PIN(CASE_LIGHT_PIN), 0));
|
||||
|
||||
// EMERGENCY_PARSER (M108, M112, M410, M876)
|
||||
cap_line(PSTR("EMERGENCY_PARSER")
|
||||
#if ENABLED(EMERGENCY_PARSER)
|
||||
, true
|
||||
#endif
|
||||
);
|
||||
cap_line(PSTR("EMERGENCY_PARSER"), ENABLED(EMERGENCY_PARSER));
|
||||
|
||||
// PROMPT SUPPORT (M876)
|
||||
cap_line(PSTR("PROMPT_SUPPORT")
|
||||
#if ENABLED(HOST_PROMPT_SUPPORT)
|
||||
, true
|
||||
#endif
|
||||
);
|
||||
cap_line(PSTR("PROMPT_SUPPORT"), ENABLED(HOST_PROMPT_SUPPORT));
|
||||
|
||||
// AUTOREPORT_SD_STATUS (M27 extension)
|
||||
cap_line(PSTR("AUTOREPORT_SD_STATUS")
|
||||
#if ENABLED(AUTO_REPORT_SD_STATUS)
|
||||
, true
|
||||
#endif
|
||||
);
|
||||
cap_line(PSTR("AUTOREPORT_SD_STATUS"), ENABLED(AUTO_REPORT_SD_STATUS));
|
||||
|
||||
// THERMAL_PROTECTION
|
||||
cap_line(PSTR("THERMAL_PROTECTION")
|
||||
#if (ENABLED(THERMAL_PROTECTION_HOTENDS) || !EXTRUDERS) && (ENABLED(THERMAL_PROTECTION_BED) || !HAS_HEATED_BED) && (ENABLED(THERMAL_PROTECTION_CHAMBER) || !HAS_HEATED_CHAMBER)
|
||||
, true
|
||||
#endif
|
||||
);
|
||||
cap_line(PSTR("THERMAL_PROTECTION"), ENABLED(THERMALLY_SAFE));
|
||||
|
||||
// MOTION_MODES (M80-M89)
|
||||
cap_line(PSTR("MOTION_MODES")
|
||||
#if ENABLED(GCODE_MOTION_MODES)
|
||||
, true
|
||||
#endif
|
||||
);
|
||||
cap_line(PSTR("MOTION_MODES"), ENABLED(GCODE_MOTION_MODES));
|
||||
|
||||
// CHAMBER_TEMPERATURE (M141, M191)
|
||||
cap_line(PSTR("CHAMBER_TEMPERATURE")
|
||||
#if HAS_HEATED_CHAMBER
|
||||
, true
|
||||
#endif
|
||||
);
|
||||
cap_line(PSTR("CHAMBER_TEMPERATURE"), ENABLED(HAS_HEATED_CHAMBER));
|
||||
|
||||
#endif // EXTENDED_CAPABILITIES_REPORT
|
||||
}
|
||||
|
Reference in New Issue
Block a user