🚸 Permit G38 with Core (#25713)
This commit is contained in:
parent
c087ad04d3
commit
de7726ca01
|
@ -517,8 +517,7 @@ void Endstops::update() {
|
||||||
#define UPDATE_ENDSTOP_BIT(AXIS, MINMAX) SET_BIT_TO(live_state, _ENDSTOP(AXIS, MINMAX), (READ_ENDSTOP(_ENDSTOP_PIN(AXIS, MINMAX)) == _ENDSTOP_HIT_STATE(AXIS, MINMAX)))
|
#define UPDATE_ENDSTOP_BIT(AXIS, MINMAX) SET_BIT_TO(live_state, _ENDSTOP(AXIS, MINMAX), (READ_ENDSTOP(_ENDSTOP_PIN(AXIS, MINMAX)) == _ENDSTOP_HIT_STATE(AXIS, MINMAX)))
|
||||||
#define COPY_LIVE_STATE(SRC_BIT, DST_BIT) SET_BIT_TO(live_state, DST_BIT, TEST(live_state, SRC_BIT))
|
#define COPY_LIVE_STATE(SRC_BIT, DST_BIT) SET_BIT_TO(live_state, DST_BIT, TEST(live_state, SRC_BIT))
|
||||||
|
|
||||||
#if ENABLED(G38_PROBE_TARGET) && NONE(CORE_IS_XY, CORE_IS_XZ, MARKFORGED_XY, MARKFORGED_YX)
|
#if ENABLED(G38_PROBE_TARGET)
|
||||||
#define HAS_G38_PROBE 1
|
|
||||||
// For G38 moves check the probe's pin for ALL movement
|
// For G38 moves check the probe's pin for ALL movement
|
||||||
if (G38_move) UPDATE_ENDSTOP_BIT(Z, TERN(USES_Z_MIN_PROBE_PIN, MIN_PROBE, MIN));
|
if (G38_move) UPDATE_ENDSTOP_BIT(Z, TERN(USES_Z_MIN_PROBE_PIN, MIN_PROBE, MIN));
|
||||||
#endif
|
#endif
|
||||||
|
@ -912,9 +911,9 @@ void Endstops::update() {
|
||||||
#define PROCESS_ENDSTOP_Z(MINMAX) PROCESS_DUAL_ENDSTOP(Z, MINMAX)
|
#define PROCESS_ENDSTOP_Z(MINMAX) PROCESS_DUAL_ENDSTOP(Z, MINMAX)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if HAS_G38_PROBE // TODO (DerAndere): Add support for HAS_I_AXIS
|
#if ENABLED(G38_PROBE_TARGET)
|
||||||
// For G38 moves check the probe's pin for ALL movement
|
// For G38 moves check the probe's pin for ALL movement
|
||||||
if (G38_move && TEST_ENDSTOP(_ENDSTOP(Z, TERN(USES_Z_MIN_PROBE_PIN, MIN_PROBE, MIN))) == TERN1(G38_PROBE_AWAY, (G38_move < 4))) {
|
if (G38_move && TEST_ENDSTOP(Z_MIN_PROBE) == TERN1(G38_PROBE_AWAY, (G38_move < 4))) {
|
||||||
G38_did_trigger = true;
|
G38_did_trigger = true;
|
||||||
#define _G38_SET(Q) | (stepper.axis_is_moving(_AXIS(Q)) << _AXIS(Q))
|
#define _G38_SET(Q) | (stepper.axis_is_moving(_AXIS(Q)) << _AXIS(Q))
|
||||||
#define _G38_RESP(Q) if (moving[_AXIS(Q)]) { _ENDSTOP_HIT(Q, ENDSTOP); planner.endstop_triggered(_AXIS(Q)); }
|
#define _G38_RESP(Q) if (moving[_AXIS(Q)]) { _ENDSTOP_HIT(Q, ENDSTOP); planner.endstop_triggered(_AXIS(Q)); }
|
||||||
|
|
|
@ -96,7 +96,7 @@ enum EndstopEnum : char {
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#if HAS_Z_MIN || HAS_Z_MAX || HOMING_Z_WITH_PROBE
|
#if HAS_Z_MIN || HAS_Z_MAX || HOMING_Z_WITH_PROBE
|
||||||
, Z_ENDSTOP = TERN(Z_HOME_TO_MAX, Z_MAX, TERN(HOMING_Z_WITH_PROBE, Z_MIN_PROBE, Z_MIN))
|
, Z_ENDSTOP = TERN(HOMING_Z_WITH_PROBE, Z_MIN_PROBE, TERN(Z_HOME_TO_MAX, Z_MAX, Z_MIN))
|
||||||
#endif
|
#endif
|
||||||
#if HAS_I_MIN || HAS_I_MAX
|
#if HAS_I_MIN || HAS_I_MAX
|
||||||
, I_ENDSTOP = TERN(I_HOME_TO_MAX, I_MAX, I_MIN)
|
, I_ENDSTOP = TERN(I_HOME_TO_MAX, I_MAX, I_MIN)
|
||||||
|
|
Loading…
Reference in a new issue