diff --git a/Grbl_Esp32/src/ControlPin.cpp b/Grbl_Esp32/src/ControlPin.cpp index 671c43f3..56170cb2 100644 --- a/Grbl_Esp32/src/ControlPin.cpp +++ b/Grbl_Esp32/src/ControlPin.cpp @@ -10,21 +10,24 @@ void IRAM_ATTR ControlPin::handleISR() { } void ControlPin::init() { - if (_pin.defined()) { - _pin.report(_legend); - auto attr = Pin::Attr::Input | Pin::Attr::ISR; - if (_pin.capabilities().has(Pins::PinCapabilities::PullUp)) { - attr = attr | Pin::Attr::PullUp; - } - _pin.setAttr(attr); - _pin.attachInterrupt(this, CHANGE); + if (_pin.undefined() || _pin.name() == "NO_PIN") { + return; } + _pin.report(_legend); + auto attr = Pin::Attr::Input | Pin::Attr::ISR; + if (_pin.capabilities().has(Pins::PinCapabilities::PullUp)) { + attr = attr | Pin::Attr::PullUp; + } + _pin.setAttr(attr); + _pin.attachInterrupt(this, CHANGE); } void ControlPin::report(char* status) { - if (!_pin.undefined()) { - addPinReport(status, _letter); + if (_pin.undefined() || _pin.name() == "NO_PIN") { + return; } + + addPinReport(status, _letter); } ControlPin::~ControlPin() { diff --git a/Grbl_Esp32/src/UserOutput.cpp b/Grbl_Esp32/src/UserOutput.cpp index 8a8d6b4c..6e2e2f7c 100644 --- a/Grbl_Esp32/src/UserOutput.cpp +++ b/Grbl_Esp32/src/UserOutput.cpp @@ -23,10 +23,9 @@ namespace UserOutput { DigitalOutput::DigitalOutput(uint8_t number, Pin& pin) : _number(number), _pin(pin) { - if (_pin.undefined()) { + if (_pin.undefined() || _pin.name() == "NO_PIN") { return; } - init(); } @@ -51,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()) { + if (_pin.undefined() || _pin.name() == "NO_PIN") { return; }