From 23114aeb8114ae3e58e5710eca07cd5201642b9a Mon Sep 17 00:00:00 2001 From: InsanityAutomation <38436470+InsanityAutomation@users.noreply.github.com> Date: Fri, 28 Sep 2018 20:00:11 -0400 Subject: [PATCH] Fix garbled M119 output. Honor NUM_RUNOUT_SENSORS (#11948) --- Marlin/src/module/endstops.cpp | 44 +++++++++++----------------------- 1 file changed, 14 insertions(+), 30 deletions(-) diff --git a/Marlin/src/module/endstops.cpp b/Marlin/src/module/endstops.cpp index a7e2a57d6..38f0aae0b 100644 --- a/Marlin/src/module/endstops.cpp +++ b/Marlin/src/module/endstops.cpp @@ -422,42 +422,26 @@ void _O2 Endstops::M119() { print_es_state(READ(Z_MIN_PROBE_PIN) != Z_MIN_PROBE_ENDSTOP_INVERTING, PSTR(MSG_Z_PROBE)); #endif #if ENABLED(FILAMENT_RUNOUT_SENSOR) - #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); + #if NUM_RUNOUT_SENSORS == 1 + print_es_state(READ(FIL_RUNOUT_PIN) != FIL_RUNOUT_INVERTING, PSTR(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++ - ) { + for (uint8_t i = 1; i <= NUM_RUNOUT_SENSORS; 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 2: pin = FIL_RUNOUT2_PIN; break; + #if NUM_RUNOUT_SENSORS > 2 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; + #if NUM_RUNOUT_SENSORS > 3 + case 4: pin = FIL_RUNOUT4_PIN; break; + #if NUM_RUNOUT_SENSORS > 4 + case 5: pin = FIL_RUNOUT5_PIN; break; + #if NUM_RUNOUT_SENSORS > 5 + case 6: pin = FIL_RUNOUT6_PIN; break; + #endif + #endif + #endif #endif } SERIAL_PROTOCOLPGM(MSG_FILAMENT_RUNOUT_SENSOR);