diff --git a/Grbl_Esp32/src/Config.h b/Grbl_Esp32/src/Config.h index 2f5f3bee..c3e9d685 100644 --- a/Grbl_Esp32/src/Config.h +++ b/Grbl_Esp32/src/Config.h @@ -49,13 +49,6 @@ Some features should not be changed. See notes below. // Note: HOMING_CYCLES are now settings #define SUPPORT_TASK_CORE 1 // Reference: CONFIG_ARDUINO_RUNNING_CORE = 1 -// Inverts pin logic of the control command pins based on a mask. This essentially means you can use -// normally-closed switches on the specified pins, rather than the default normally-open switches. -// The mask order is ... -// Macro3 | Macro2 | Macro 1| Macr0 |Cycle Start | Feed Hold | Reset | Safety Door -// For example B1101 will invert the function of the Reset pin. -#define INVERT_CONTROL_PIN_MASK B00001111 - // #define ENABLE_CONTROL_SW_DEBOUNCE // Default disabled. Uncomment to enable. #define CONTROL_SW_DEBOUNCE_PERIOD 32 // in milliseconds default 32 microseconds diff --git a/Grbl_Esp32/src/Control.cpp b/Grbl_Esp32/src/Control.cpp index 0c6a0bb6..a6310a07 100644 --- a/Grbl_Esp32/src/Control.cpp +++ b/Grbl_Esp32/src/Control.cpp @@ -26,9 +26,9 @@ #include "System.h" Control::Control() : - _safetyDoor(0, rtSafetyDoor, "Door", 'D'), _reset(1, rtReset, "Reset", 'R'), _feedHold(2, rtFeedHold, "FeedHold", 'H'), - _cycleStart(3, rtCycleStart, "CycleStart", 'S'), _macro0(4, rtButtonMacro0, "Macro 0", '0'), _macro1(5, rtButtonMacro1, "Macro 1", '1'), - _macro2(6, rtButtonMacro2, "Macro 2", '2'), _macro3(7, rtButtonMacro3, "Macro 3", '3') {} + _safetyDoor(rtSafetyDoor, "Door", 'D'), _reset(rtReset, "Reset", 'R'), _feedHold(rtFeedHold, "FeedHold", 'H'), + _cycleStart(rtCycleStart, "CycleStart", 'S'), _macro0(rtButtonMacro0, "Macro 0", '0'), _macro1(rtButtonMacro1, "Macro 1", '1'), + _macro2(rtButtonMacro2, "Macro 2", '2'), _macro3(rtButtonMacro3, "Macro 3", '3') {} void Control::init() { _safetyDoor.init(); @@ -44,7 +44,7 @@ void Control::init() { void Control::validate() const {} void Control::handle(Configuration::HandlerBase& handler) { - handler.handle("safetyDoor", _safetyDoor._pin); + handler.handle("safety_door", _safetyDoor._pin); handler.handle("reset", _reset._pin); handler.handle("feed_hold", _feedHold._pin); handler.handle("cycle_start", _cycleStart._pin); @@ -54,15 +54,15 @@ void Control::handle(Configuration::HandlerBase& handler) { handler.handle("macro3", _macro3._pin); } -void Control::report(char* status, bool& pinReportStarted) { - _safetyDoor.report(status, pinReportStarted); - _reset.report(status, pinReportStarted); - _feedHold.report(status, pinReportStarted); - _cycleStart.report(status, pinReportStarted); - _macro0.report(status, pinReportStarted); - _macro1.report(status, pinReportStarted); - _macro2.report(status, pinReportStarted); - _macro3.report(status, pinReportStarted); +void Control::report(char* status) { + _safetyDoor.report(status); + _reset.report(status); + _feedHold.report(status); + _cycleStart.report(status); + _macro0.report(status); + _macro1.report(status); + _macro2.report(status); + _macro3.report(status); } // Returns if safety door is ajar(T) or closed(F), based on pin state. diff --git a/Grbl_Esp32/src/ControlPin.h b/Grbl_Esp32/src/ControlPin.h index 3620df6a..0d6cd0ec 100644 --- a/Grbl_Esp32/src/ControlPin.h +++ b/Grbl_Esp32/src/ControlPin.h @@ -4,9 +4,6 @@ class ControlPin { private: - // invertBitNum refers to a bit in INVERT_CONTROL_PIN_MASK. It is a - // short-term hack to reduce the extent of the patch. - bool _invertBitNum; bool _value; const char _letter; volatile bool& _rtVariable; @@ -15,18 +12,15 @@ private: void IRAM_ATTR handleISR(); public: - ControlPin(uint8_t bitNum, volatile bool& rtVariable, const char* legend, char letter) : - _invertBitNum(bitNum), _value(false), _letter(letter), _rtVariable(rtVariable), _legend(legend) { + ControlPin(volatile bool& rtVariable, const char* legend, char letter) : + _value(false), _letter(letter), _rtVariable(rtVariable), _legend(legend) { _rtVariable = _value; } Pin _pin; - void init(); - bool get() { return _value; } - const char* legend() { return _legend; } - // char invertBitNum() { return _invertBitNum; } - char letter() { return _letter; } + void init(); + bool get() { return _value; } void report(char* status);