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 };
|
||||
|
||||
|
Reference in New Issue
Block a user