|
|
@ -42,26 +42,22 @@ Endstops endstops; |
|
|
|
bool Endstops::enabled, Endstops::enabled_globally; // Initialized by settings.load()
|
|
|
|
volatile char Endstops::endstop_hit_bits; // use X_MIN, Y_MIN, Z_MIN and Z_MIN_PROBE as BIT value
|
|
|
|
|
|
|
|
#if ENABLED(X_DUAL_ENDSTOPS) || ENABLED(Y_DUAL_ENDSTOPS) || ENABLED(Z_DUAL_ENDSTOPS) |
|
|
|
uint16_t |
|
|
|
#else |
|
|
|
byte |
|
|
|
#endif |
|
|
|
Endstops::current_endstop_bits = 0, |
|
|
|
Endstops::old_endstop_bits = 0; |
|
|
|
Endstops::esbits_t Endstops::current_endstop_bits = 0, |
|
|
|
Endstops::old_endstop_bits = 0; |
|
|
|
|
|
|
|
#if HAS_BED_PROBE |
|
|
|
volatile bool Endstops::z_probe_enabled = false; |
|
|
|
#endif |
|
|
|
|
|
|
|
// Initialized by settings.load()
|
|
|
|
#if ENABLED(X_DUAL_ENDSTOPS) |
|
|
|
float Endstops::x_endstop_adj; // Initialized by settings.load()
|
|
|
|
float Endstops::x_endstop_adj; |
|
|
|
#endif |
|
|
|
#if ENABLED(Y_DUAL_ENDSTOPS) |
|
|
|
float Endstops::y_endstop_adj; // Initialized by settings.load()
|
|
|
|
float Endstops::y_endstop_adj; |
|
|
|
#endif |
|
|
|
#if ENABLED(Z_DUAL_ENDSTOPS) |
|
|
|
float Endstops::z_endstop_adj; // Initialized by settings.load()
|
|
|
|
float Endstops::z_endstop_adj; |
|
|
|
#endif |
|
|
|
|
|
|
|
/**
|
|
|
@ -355,7 +351,7 @@ void Endstops::update() { |
|
|
|
_ENDSTOP_HIT(AXIS, MINMAX); \ |
|
|
|
stepper.endstop_triggered(_AXIS(AXIS)); \ |
|
|
|
} \ |
|
|
|
} while(0) |
|
|
|
}while(0) |
|
|
|
|
|
|
|
#if ENABLED(G38_PROBE_TARGET) && PIN_EXISTS(Z_MIN_PROBE) && !(CORE_IS_XY || CORE_IS_XZ) |
|
|
|
// If G38 command is active check Z_MIN_PROBE for ALL movement
|
|
|
@ -452,7 +448,6 @@ void Endstops::update() { |
|
|
|
/**
|
|
|
|
* Check and update endstops according to conditions |
|
|
|
*/ |
|
|
|
|
|
|
|
if (X_MOVE_TEST) { |
|
|
|
if (stepper.motor_direction(X_AXIS_HEAD)) { // -direction
|
|
|
|
#if HAS_X_MIN |
|
|
|