|
|
@ -358,12 +358,16 @@ void Endstops::event_handler() { |
|
|
|
prev_hit_state = hit_state; |
|
|
|
} // Endstops::report_state
|
|
|
|
|
|
|
|
void Endstops::M119() { |
|
|
|
static void print_es_state(const bool is_hit, const char * const label=NULL) { |
|
|
|
if (label) serialprintPGM(label); |
|
|
|
SERIAL_PROTOCOLPGM(": "); |
|
|
|
serialprintPGM(is_hit ? PSTR(MSG_ENDSTOP_HIT) : PSTR(MSG_ENDSTOP_OPEN)); |
|
|
|
SERIAL_EOL(); |
|
|
|
} |
|
|
|
|
|
|
|
void _O2 Endstops::M119() { |
|
|
|
SERIAL_PROTOCOLLNPGM(MSG_M119_REPORT); |
|
|
|
#define ES_REPORT(AXIS) do{ \ |
|
|
|
SERIAL_PROTOCOLPGM(MSG_##AXIS); \ |
|
|
|
SERIAL_PROTOCOLLN(((READ(AXIS##_PIN)^AXIS##_ENDSTOP_INVERTING) ? MSG_ENDSTOP_HIT : MSG_ENDSTOP_OPEN)); \ |
|
|
|
}while(0) |
|
|
|
#define ES_REPORT(S) print_es_state(READ(S##_PIN) == S##_ENDSTOP_INVERTING, PSTR(MSG_##S)) |
|
|
|
#if HAS_X_MIN |
|
|
|
ES_REPORT(X_MIN); |
|
|
|
#endif |
|
|
@ -407,12 +411,52 @@ void Endstops::M119() { |
|
|
|
ES_REPORT(Z3_MAX); |
|
|
|
#endif |
|
|
|
#if ENABLED(Z_MIN_PROBE_ENDSTOP) |
|
|
|
SERIAL_PROTOCOLPGM(MSG_Z_PROBE); |
|
|
|
SERIAL_PROTOCOLLN(((READ(Z_MIN_PROBE_PIN)^Z_MIN_PROBE_ENDSTOP_INVERTING) ? MSG_ENDSTOP_HIT : MSG_ENDSTOP_OPEN)); |
|
|
|
print_es_state(READ(Z_MIN_PROBE_PIN) == Z_MIN_PROBE_ENDSTOP_INVERTING, PSTR(MSG_Z_PROBE)); |
|
|
|
#endif |
|
|
|
#if ENABLED(FILAMENT_RUNOUT_SENSOR) |
|
|
|
SERIAL_PROTOCOLPGM(MSG_FILAMENT_RUNOUT_SENSOR); |
|
|
|
SERIAL_PROTOCOLLN(((READ(FIL_RUNOUT_PIN)^FIL_RUNOUT_INVERTING) ? MSG_ENDSTOP_HIT : MSG_ENDSTOP_OPEN)); |
|
|
|
#define FRS_COUNT (1 + PIN_EXISTS(FIL_RUNOUT2) + PIN_EXISTS(FIL_RUNOUT3) + PIN_EXISTS(FIL_RUNOUT4) + PIN_EXISTS(FIL_RUNOUT5) + PIN_EXISTS(FIL_RUNOUT6)) |
|
|
|
#if FRS_COUNT == 1 |
|
|
|
print_es_state(READ(FIL_RUNOUT_PIN) == FIL_RUNOUT_INVERTING, MSG_FILAMENT_RUNOUT_SENSOR); |
|
|
|
#else |
|
|
|
for (uint8_t i = 1; i <= |
|
|
|
#if FRS_COUNT == 6 |
|
|
|
6 |
|
|
|
#elif FRS_COUNT == 5 |
|
|
|
5 |
|
|
|
#elif FRS_COUNT == 4 |
|
|
|
4 |
|
|
|
#elif FRS_COUNT == 3 |
|
|
|
3 |
|
|
|
#elif FRS_COUNT == 2 |
|
|
|
2 |
|
|
|
#endif |
|
|
|
; i++ |
|
|
|
) { |
|
|
|
pin_t pin; |
|
|
|
switch (i) { |
|
|
|
default: continue; |
|
|
|
case 1: pin = FIL_RUNOUT_PIN; break; |
|
|
|
#if PIN_EXISTS(FIL_RUNOUT2) |
|
|
|
case 2: pin = FIL_RUNOUT2_PIN; break; |
|
|
|
#endif |
|
|
|
#if PIN_EXISTS(FIL_RUNOUT3) |
|
|
|
case 3: pin = FIL_RUNOUT3_PIN; break; |
|
|
|
#endif |
|
|
|
#if PIN_EXISTS(FIL_RUNOUT4) |
|
|
|
case 4: pin = FIL_RUNOUT4_PIN; break; |
|
|
|
#endif |
|
|
|
#if PIN_EXISTS(FIL_RUNOUT5) |
|
|
|
case 5: pin = FIL_RUNOUT5_PIN; break; |
|
|
|
#endif |
|
|
|
#if PIN_EXISTS(FIL_RUNOUT6) |
|
|
|
case 6: pin = FIL_RUNOUT6_PIN; break; |
|
|
|
#endif |
|
|
|
} |
|
|
|
SERIAL_PROTOCOLPGM(MSG_FILAMENT_RUNOUT_SENSOR); |
|
|
|
if (i > 1) { SERIAL_CHAR(' '); SERIAL_CHAR('0' + i); } |
|
|
|
print_es_state(digitalRead(pin) == FIL_RUNOUT_INVERTING); |
|
|
|
} |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
} // Endstops::M119
|
|
|
|
|
|
|
|