From 1a0d5456fe6b879f0a80ecc3d1a29b1cdccd695b Mon Sep 17 00:00:00 2001 From: bdring Date: Mon, 17 May 2021 17:07:01 -0500 Subject: [PATCH 1/2] Basic fixes to control pins - Remove MSG from reset via control pin - remove gpio_reset_pin(...) from digital pins. This is a ESP32 only function and will cause issues with I2SO pins - Add IRAM_ATTR to system_exec_control_pin(...) --- Grbl_Esp32/src/Spindles/10vSpindle.cpp | 4 ---- Grbl_Esp32/src/Spindles/Laser.cpp | 1 - Grbl_Esp32/src/Spindles/PWMSpindle.cpp | 2 -- Grbl_Esp32/src/System.cpp | 3 +-- Grbl_Esp32/src/System.h | 4 ++-- 5 files changed, 3 insertions(+), 11 deletions(-) diff --git a/Grbl_Esp32/src/Spindles/10vSpindle.cpp b/Grbl_Esp32/src/Spindles/10vSpindle.cpp index 09162c0cd..f692bdc49 100644 --- a/Grbl_Esp32/src/Spindles/10vSpindle.cpp +++ b/Grbl_Esp32/src/Spindles/10vSpindle.cpp @@ -174,21 +174,17 @@ namespace Spindles { pinMode(SPINDLE_OUTPUT_PIN, INPUT); #endif #ifdef SPINDLE_ENABLE_PIN - gpio_reset_pin(SPINDLE_ENABLE_PIN); pinMode(SPINDLE_ENABLE_PIN, INPUT); #endif #ifdef SPINDLE_DIR_PIN - gpio_reset_pin(SPINDLE_DIR_PIN); pinMode(SPINDLE_DIR_PIN, INPUT); #endif #ifdef SPINDLE_FORWARD_PIN - gpio_reset_pin(SPINDLE_FORWARD_PIN); pinMode(SPINDLE_FORWARD_PIN, INPUT); #endif #ifdef SPINDLE_REVERSE_PIN - gpio_reset_pin(SPINDLE_FORWARD_PIN); pinMode(SPINDLE_FORWARD_PIN, INPUT); #endif } diff --git a/Grbl_Esp32/src/Spindles/Laser.cpp b/Grbl_Esp32/src/Spindles/Laser.cpp index 6b7d9e6ca..7dbe8e97f 100644 --- a/Grbl_Esp32/src/Spindles/Laser.cpp +++ b/Grbl_Esp32/src/Spindles/Laser.cpp @@ -94,7 +94,6 @@ namespace Spindles { #endif #ifdef LASER_ENABLE_PIN - gpio_reset_pin(LASER_ENABLE_PIN); pinMode(LASER_ENABLE_PIN, INPUT); #endif } diff --git a/Grbl_Esp32/src/Spindles/PWMSpindle.cpp b/Grbl_Esp32/src/Spindles/PWMSpindle.cpp index 402af6e49..948326f3f 100644 --- a/Grbl_Esp32/src/Spindles/PWMSpindle.cpp +++ b/Grbl_Esp32/src/Spindles/PWMSpindle.cpp @@ -287,12 +287,10 @@ namespace Spindles { pinMode(SPINDLE_OUTPUT_PIN, INPUT); #endif #ifdef SPINDLE_ENABLE_PIN - gpio_reset_pin(SPINDLE_ENABLE_PIN); pinMode(SPINDLE_ENABLE_PIN, INPUT); #endif #ifdef SPINDLE_DIR_PIN - gpio_reset_pin(SPINDLE_DIR_PIN); pinMode(SPINDLE_DIR_PIN, INPUT); #endif } diff --git a/Grbl_Esp32/src/System.cpp b/Grbl_Esp32/src/System.cpp index 74b593fda..e6a048517 100644 --- a/Grbl_Esp32/src/System.cpp +++ b/Grbl_Esp32/src/System.cpp @@ -256,9 +256,8 @@ ControlPins system_control_get_state() { } // execute the function of the control pin -void system_exec_control_pin(ControlPins pins) { +void IRAM_ATTR system_exec_control_pin(ControlPins pins) { if (pins.bit.reset) { - grbl_msg_sendf(CLIENT_SERIAL, MsgLevel::Info, "Reset via control pin"); mc_reset(); } else if (pins.bit.cycleStart) { sys_rt_exec_state.bit.cycleStart = true; diff --git a/Grbl_Esp32/src/System.h b/Grbl_Esp32/src/System.h index c9f222ff0..97777c9ac 100644 --- a/Grbl_Esp32/src/System.h +++ b/Grbl_Esp32/src/System.h @@ -169,8 +169,8 @@ void system_convert_array_steps_to_mpos(float* position, int32_t* steps); float* system_get_mpos(); // A task that runs after a control switch interrupt for debouncing. -void controlCheckTask(void* pvParameters); -void system_exec_control_pin(ControlPins pins); +void controlCheckTask(void* pvParameters); +void IRAM_ATTR system_exec_control_pin(ControlPins pins); bool sys_set_digital(uint8_t io_num, bool turnOn); void sys_digital_all_off(); From 11060f33f26758bb2ac11f72c9621528f609daea Mon Sep 17 00:00:00 2001 From: bdring Date: Mon, 17 May 2021 18:49:04 -0500 Subject: [PATCH 2/2] Update Grbl.h --- Grbl_Esp32/src/Grbl.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Grbl_Esp32/src/Grbl.h b/Grbl_Esp32/src/Grbl.h index f0dbd60d2..a6d45cc05 100644 --- a/Grbl_Esp32/src/Grbl.h +++ b/Grbl_Esp32/src/Grbl.h @@ -22,7 +22,7 @@ // Grbl versioning system const char* const GRBL_VERSION = "1.3a"; -const char* const GRBL_VERSION_BUILD = "20210424"; +const char* const GRBL_VERSION_BUILD = "20210517"; //#include #include