From d15ca365ab713aad8868764dbd1acfcd601d5fac Mon Sep 17 00:00:00 2001 From: Mitch Bradley Date: Tue, 29 Jun 2021 10:51:54 -1000 Subject: [PATCH] Better solution to no_pin reporting. --- Grbl_Esp32/src/ControlPin.cpp | 8 ++------ Grbl_Esp32/src/Pin.cpp | 2 +- Grbl_Esp32/src/UserOutput.cpp | 4 ++-- 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/Grbl_Esp32/src/ControlPin.cpp b/Grbl_Esp32/src/ControlPin.cpp index 450d9cd8..c3aee26b 100644 --- a/Grbl_Esp32/src/ControlPin.cpp +++ b/Grbl_Esp32/src/ControlPin.cpp @@ -10,7 +10,7 @@ void IRAM_ATTR ControlPin::handleISR() { } void ControlPin::init() { - if (_pin.undefined() || _pin.name() == "NO_PIN") { + if (_pin.undefined()) { return; } _pin.report(_legend); @@ -23,11 +23,7 @@ void ControlPin::init() { } void ControlPin::report(char* status) { - if (_pin.undefined()) { - return; - } - - if (_pin.read()) { + if (get()) { addPinReport(status, _letter); } } diff --git a/Grbl_Esp32/src/Pin.cpp b/Grbl_Esp32/src/Pin.cpp index 893367e5..60aaafa6 100644 --- a/Grbl_Esp32/src/Pin.cpp +++ b/Grbl_Esp32/src/Pin.cpp @@ -117,7 +117,7 @@ const char* Pin::parse(StringRange tmp, Pins::PinDetail*& pinImplementation) { } #endif if (prefix == "no_pin") { - pinImplementation = new Pins::VoidPinDetail(); + pinImplementation = undefinedPin; } if (prefix == "void") { diff --git a/Grbl_Esp32/src/UserOutput.cpp b/Grbl_Esp32/src/UserOutput.cpp index 6e2e2f7c..c78b3a03 100644 --- a/Grbl_Esp32/src/UserOutput.cpp +++ b/Grbl_Esp32/src/UserOutput.cpp @@ -23,7 +23,7 @@ namespace UserOutput { DigitalOutput::DigitalOutput(uint8_t number, Pin& pin) : _number(number), _pin(pin) { - if (_pin.undefined() || _pin.name() == "NO_PIN") { + if (_pin.undefined()) { return; } init(); @@ -50,7 +50,7 @@ namespace UserOutput { // ================================================================== AnalogOutput::AnalogOutput(uint8_t number, Pin& pin, float pwm_frequency) : _number(number), _pin(pin), _pwm_frequency(pwm_frequency) { - if (_pin.undefined() || _pin.name() == "NO_PIN") { + if (_pin.undefined()) { return; }