From e874f9664c541b5a9f0d24149fba2b5956b623ec Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Fri, 30 Nov 2018 14:25:43 -0600 Subject: [PATCH] Tweaks to endstops code --- Marlin/src/module/endstops.cpp | 63 ++++++++++++++++++---------------- Marlin/src/module/motion.cpp | 4 +-- 2 files changed, 34 insertions(+), 33 deletions(-) diff --git a/Marlin/src/module/endstops.cpp b/Marlin/src/module/endstops.cpp index ff5311781c..41ac8a37d9 100644 --- a/Marlin/src/module/endstops.cpp +++ b/Marlin/src/module/endstops.cpp @@ -775,99 +775,102 @@ void Endstops::update() { static uint8_t local_LED_status = 0; uint16_t live_state_local = 0; + #define ES_GET_STATE(S) if (READ(S##_PIN)) SBI(live_state_local, S) + #if HAS_X_MIN - if (READ(X_MIN_PIN)) SBI(live_state_local, X_MIN); + ES_GET_STATE(X_MIN); #endif #if HAS_X_MAX - if (READ(X_MAX_PIN)) SBI(live_state_local, X_MAX); + ES_GET_STATE(X_MAX); #endif #if HAS_Y_MIN - if (READ(Y_MIN_PIN)) SBI(live_state_local, Y_MIN); + ES_GET_STATE(Y_MIN); #endif #if HAS_Y_MAX - if (READ(Y_MAX_PIN)) SBI(live_state_local, Y_MAX); + ES_GET_STATE(Y_MAX); #endif #if HAS_Z_MIN - if (READ(Z_MIN_PIN)) SBI(live_state_local, Z_MIN); + ES_GET_STATE(Z_MIN); #endif #if HAS_Z_MAX - if (READ(Z_MAX_PIN)) SBI(live_state_local, Z_MAX); + ES_GET_STATE(Z_MAX); #endif #if HAS_Z_MIN_PROBE_PIN - if (READ(Z_MIN_PROBE_PIN)) SBI(live_state_local, Z_MIN_PROBE); + ES_GET_STATE(Z_MIN_PROBE); #endif #if HAS_X2_MIN - if (READ(X2_MIN_PIN)) SBI(live_state_local, X2_MIN); + ES_GET_STATE(X2_MIN); #endif #if HAS_X2_MAX - if (READ(X2_MAX_PIN)) SBI(live_state_local, X2_MAX); + ES_GET_STATE(X2_MAX); #endif #if HAS_Y2_MIN - if (READ(Y2_MIN_PIN)) SBI(live_state_local, Y2_MIN); + ES_GET_STATE(Y2_MIN); #endif #if HAS_Y2_MAX - if (READ(Y2_MAX_PIN)) SBI(live_state_local, Y2_MAX); + ES_GET_STATE(Y2_MAX); #endif #if HAS_Z2_MIN - if (READ(Z2_MIN_PIN)) SBI(live_state_local, Z2_MIN); + ES_GET_STATE(Z2_MIN); #endif #if HAS_Z2_MAX - if (READ(Z2_MAX_PIN)) SBI(live_state_local, Z2_MAX); + ES_GET_STATE(Z2_MAX); #endif #if HAS_Z3_MIN - if (READ(Z3_MIN_PIN)) SBI(live_state_local, Z3_MIN); + ES_GET_STATE(Z3_MIN); #endif #if HAS_Z3_MAX - if (READ(Z3_MAX_PIN)) SBI(live_state_local, Z3_MAX); + ES_GET_STATE(Z3_MAX); #endif uint16_t endstop_change = live_state_local ^ old_live_state_local; + #define ES_REPORT_CHANGE(S) if (TEST(endstop_change, S)) SERIAL_ECHOPAIR(" " STRINGIFY(S) ":", TEST(live_state_local, S)) if (endstop_change) { #if HAS_X_MIN - if (TEST(endstop_change, X_MIN)) SERIAL_ECHOPAIR(" X_MIN:", TEST(live_state_local, X_MIN)); + ES_REPORT_CHANGE(X_MIN); #endif #if HAS_X_MAX - if (TEST(endstop_change, X_MAX)) SERIAL_ECHOPAIR(" X_MAX:", TEST(live_state_local, X_MAX)); + ES_REPORT_CHANGE(X_MAX); #endif #if HAS_Y_MIN - if (TEST(endstop_change, Y_MIN)) SERIAL_ECHOPAIR(" Y_MIN:", TEST(live_state_local, Y_MIN)); + ES_REPORT_CHANGE(Y_MIN); #endif #if HAS_Y_MAX - if (TEST(endstop_change, Y_MAX)) SERIAL_ECHOPAIR(" Y_MAX:", TEST(live_state_local, Y_MAX)); + ES_REPORT_CHANGE(Y_MAX); #endif #if HAS_Z_MIN - if (TEST(endstop_change, Z_MIN)) SERIAL_ECHOPAIR(" Z_MIN:", TEST(live_state_local, Z_MIN)); + ES_REPORT_CHANGE(Z_MIN); #endif #if HAS_Z_MAX - if (TEST(endstop_change, Z_MAX)) SERIAL_ECHOPAIR(" Z_MAX:", TEST(live_state_local, Z_MAX)); + ES_REPORT_CHANGE(Z_MAX); #endif #if HAS_Z_MIN_PROBE_PIN - if (TEST(endstop_change, Z_MIN_PROBE)) SERIAL_ECHOPAIR(" PROBE:", TEST(live_state_local, Z_MIN_PROBE)); + ES_REPORT_CHANGE(Z_MIN_PROBE); #endif #if HAS_X2_MIN - if (TEST(endstop_change, X2_MIN)) SERIAL_ECHOPAIR(" X2_MIN:", TEST(live_state_local, X2_MIN)); + ES_REPORT_CHANGE(X2_MIN); #endif #if HAS_X2_MAX - if (TEST(endstop_change, X2_MAX)) SERIAL_ECHOPAIR(" X2_MAX:", TEST(live_state_local, X2_MAX)); + ES_REPORT_CHANGE(X2_MAX); #endif #if HAS_Y2_MIN - if (TEST(endstop_change, Y2_MIN)) SERIAL_ECHOPAIR(" Y2_MIN:", TEST(live_state_local, Y2_MIN)); + ES_REPORT_CHANGE(Y2_MIN); #endif #if HAS_Y2_MAX - if (TEST(endstop_change, Y2_MAX)) SERIAL_ECHOPAIR(" Y2_MAX:", TEST(live_state_local, Y2_MAX)); + ES_REPORT_CHANGE(Y2_MAX); #endif #if HAS_Z2_MIN - if (TEST(endstop_change, Z2_MIN)) SERIAL_ECHOPAIR(" Z2_MIN:", TEST(live_state_local, Z2_MIN)); + ES_REPORT_CHANGE(Z2_MIN); #endif #if HAS_Z2_MAX - if (TEST(endstop_change, Z2_MAX)) SERIAL_ECHOPAIR(" Z2_MAX:", TEST(live_state_local, Z2_MAX)); + ES_REPORT_CHANGE(Z2_MAX); #endif #if HAS_Z3_MIN - if (TEST(endstop_change, Z3_MIN)) SERIAL_ECHOPAIR(" Z3_MIN:", TEST(live_state_local, Z3_MIN)); + ES_REPORT_CHANGE(Z3_MIN); #endif #if HAS_Z3_MAX - if (TEST(endstop_change, Z3_MAX)) SERIAL_ECHOPAIR(" Z3_MAX:", TEST(live_state_local, Z3_MAX)); + ES_REPORT_CHANGE(Z3_MAX); #endif SERIAL_ECHOPGM("\n\n"); analogWrite(LED_PIN, local_LED_status); diff --git a/Marlin/src/module/motion.cpp b/Marlin/src/module/motion.cpp index f223f939a7..532f73974c 100644 --- a/Marlin/src/module/motion.cpp +++ b/Marlin/src/module/motion.cpp @@ -1550,10 +1550,8 @@ void homeaxis(const AxisEnum axis) { do_homing_move(axis, delta_endstop_adj[axis] - (MIN_STEPS_PER_SEGMENT + 1) * planner.steps_to_mm[axis] * Z_HOME_DIR); } - #else + #else // CARTESIAN / CORE - // For cartesian/core machines, - // set the axis to its home position set_axis_is_at_home(axis); sync_plan_position();