From 4afe0565152c2d881c626daf4d12031171bc7165 Mon Sep 17 00:00:00 2001 From: bdring Date: Thu, 20 May 2021 11:37:12 -0500 Subject: [PATCH] WIP mostly Serial port issues --- Grbl_Esp32/Grbl_Esp32.ino | 5 +- Grbl_Esp32/data/config.yaml | 4 +- Grbl_Esp32/src/Grbl.cpp | 25 +++--- Grbl_Esp32/src/MachineConfig.cpp | 2 +- Grbl_Esp32/src/Machines/test_drive.h | 112 --------------------------- Grbl_Esp32/src/Serial.cpp | 2 +- 6 files changed, 19 insertions(+), 131 deletions(-) diff --git a/Grbl_Esp32/Grbl_Esp32.ino b/Grbl_Esp32/Grbl_Esp32.ino index 777d6304..ed7ce528 100644 --- a/Grbl_Esp32/Grbl_Esp32.ino +++ b/Grbl_Esp32/Grbl_Esp32.ino @@ -22,11 +22,10 @@ # include "src/Grbl.h" void setup() { -// # ifdef PIN_DEBUG + // # ifdef PIN_DEBUG delay(2000); -// # endif + // # endif - Serial.begin(115200); grbl_init(); } diff --git a/Grbl_Esp32/data/config.yaml b/Grbl_Esp32/data/config.yaml index 70ad54ba..3553876a 100644 --- a/Grbl_Esp32/data/config.yaml +++ b/Grbl_Esp32/data/config.yaml @@ -4,8 +4,10 @@ board: Debug-board axes: number_axis: 3 +laser_mode: true + coolant: flood: gpio.26:low probe: - pin: gpio.12 + pin: gpio.12:high:pu diff --git a/Grbl_Esp32/src/Grbl.cpp b/Grbl_Esp32/src/Grbl.cpp index d6af9b3b..20e53ffe 100644 --- a/Grbl_Esp32/src/Grbl.cpp +++ b/Grbl_Esp32/src/Grbl.cpp @@ -25,16 +25,15 @@ void grbl_init() { try { - Serial.println("Initializing WiFi..."); + client_init(); // Setup serial baud rate and interrupts + + grbl_msg_sendf(CLIENT_SERIAL, MsgLevel::Info, "Initializing WiFi..."); WiFi.persistent(false); WiFi.disconnect(true); WiFi.enableSTA(false); WiFi.enableAP(false); WiFi.mode(WIFI_OFF); - Serial.println("Initializing serial communications..."); - // Setup serial baud rate and interrupts - client_init(); display_init(); grbl_msg_sendf( CLIENT_SERIAL, MsgLevel::Info, "Grbl_ESP32 Ver %s Date %s", GRBL_VERSION, GRBL_VERSION_BUILD); // print grbl_esp32 verion info @@ -46,24 +45,24 @@ void grbl_init() { #endif // Load Grbl settings from non-volatile storage - Serial.println("Initializing settings..."); + grbl_msg_sendf(CLIENT_SERIAL, MsgLevel::Info, "Initializing settings..."); settings_init(); MachineConfig::instance()->load(); #ifdef USE_I2S_OUT - Serial.println("Initializing I2SO..."); + grbl_msg_sendf(CLIENT_SERIAL, MsgLevel::Info, "Initializing I2SO..."); // The I2S out must be initialized before it can access the expanded GPIO port. Must be initialized _after_ settings! i2s_out_init(); #endif - Serial.println("Initializing steppers..."); + grbl_msg_sendf(CLIENT_SERIAL, MsgLevel::Info, "Initializing steppers..."); stepper_init(); // Configure stepper pins and interrupt timers - Serial.println("Initializing axes..."); + grbl_msg_sendf(CLIENT_SERIAL, MsgLevel::Info, "Initializing axes..."); MachineConfig::instance()->_axes->read_settings(); MachineConfig::instance()->_axes->init(); - Serial.println("Initializing system..."); + grbl_msg_sendf(CLIENT_SERIAL, MsgLevel::Info, "Initializing system..."); system_ini(); // Configure pinout pins and pin-change interrupt (Renamed due to conflict with esp32 files) memset(sys_position, 0, sizeof(sys_position)); // Clear machine position. @@ -87,15 +86,15 @@ void grbl_init() { sys.state = State::Alarm; } #endif - Serial.println("Initializing spindle..."); + grbl_msg_sendf(CLIENT_SERIAL, MsgLevel::Info, "Initializing spindle..."); Spindles::Spindle::select(); - Serial.println("Initializing WiFi-config..."); + grbl_msg_sendf(CLIENT_SERIAL, MsgLevel::Info, "Initializing WiFi-config..."); #ifdef ENABLE_WIFI WebUI::wifi_config.begin(); #endif - Serial.println("Initializing Bluetooth..."); + grbl_msg_sendf(CLIENT_SERIAL, MsgLevel::Info, "Initializing Bluetooth..."); #ifdef ENABLE_BLUETOOTH WebUI::bt_config.begin(); #endif @@ -104,7 +103,7 @@ void grbl_init() { // This means something is terribly broken: // Should grbl_sendf always work? Serial is initialized first, so after line 34 it should. - grbl_msg_sendf(CLIENT_ALL, MsgLevel::Error, "Critical error in run_once: %s", ex.stackTrace.c_str()); + grbl_msg_sendf(CLIENT_SERIAL, MsgLevel::Info, "Critical error in run_once: %s", ex.stackTrace.c_str()); sleep(10000); throw; } diff --git a/Grbl_Esp32/src/MachineConfig.cpp b/Grbl_Esp32/src/MachineConfig.cpp index 723bcb40..b4f922fe 100644 --- a/Grbl_Esp32/src/MachineConfig.cpp +++ b/Grbl_Esp32/src/MachineConfig.cpp @@ -289,7 +289,7 @@ size_t Axes::findAxisGanged(const Motors::Motor* const motor) const { void Axes::validate() const {} void Axes::handle(Configuration::HandlerBase& handler) { - handler.handle("_numberAxis", _numberAxis); + handler.handle("number_axis", _numberAxis); const char* allAxis = "xyzabc"; diff --git a/Grbl_Esp32/src/Machines/test_drive.h b/Grbl_Esp32/src/Machines/test_drive.h index 036c4113..b4cd9101 100644 --- a/Grbl_Esp32/src/Machines/test_drive.h +++ b/Grbl_Esp32/src/Machines/test_drive.h @@ -36,115 +36,3 @@ */ #define MACHINE_NAME "Test Drive - Demo Only No I/O!" - - -#define N_AXIS 3 -// This cannot use homing because there are no switches -#ifdef DEFAULT_HOMING_CYCLE_0 - #undef DEFAULT_HOMING_CYCLE_0 -#endif - -#ifdef DEFAULT_HOMING_CYCLE_1 - #undef DEFAULT_HOMING_CYCLE_1 -#endif - - -#ifdef USE_RMT_STEPS - #undef USE_RMT_STEPS // Suppress unused variable warning -#endif - - -// Output devices: -// - I2S - -#define USE_I2S_OUT -#define USE_I2S_STEPS -// #define I2S_OUT_BCK "gpio.22" -// #define I2S_OUT_WS "gpio.17" -// #define I2S_OUT_DATA "gpio.21" - -#define COOLANT_MIST_PIN "i2so.24" - -// x CoolantControl - -// #define COOLANT_MIST_PIN "gpio.2" -// #define COOLANT_FLOOD_PIN "gpio.4" - -// x StandardStepper - -// #define X_STEP_PIN "gpio.2" -// #define X_DIRECTION_PIN "gpio.4" -// #define X_DISABLE_PIN "gpio.16" - -// x Unipolar - -// #define X_UNIPOLAR -// #define X_PIN_PHASE_0 "gpio.2" -// #define X_PIN_PHASE_1 "gpio.4" -// #define X_PIN_PHASE_2 "gpio.16" -// #define X_PIN_PHASE_3 "gpio.15" - -// Spindles: - -#define SPINDLE_TYPE SpindleType::NONE - -// #define SPINDLE_OUTPUT_PIN "gpio.15" -// #define SPINDLE_ENABLE_PIN "gpio.2" -// #define SPINDLE_DIRECTION_PIN "gpio.4" -// #define SPINDLE_FORWARD_PIN "gpio.16" -// #define SPINDLE_REVERSE_PIN "gpio.17" - -// x 10V -// #define SPINDLE_TYPE SpindleType::_10V - -// x PWM -// #define SPINDLE_TYPE SpindleType::PWM - -// x Relay -// #define SPINDLE_TYPE SpindleType::RELAY - -// - BESC -// - DAC -// -// x User Digital pins -// #define USER_DIGITAL_PIN_0 "gpio.15" -// #define USER_DIGITAL_PIN_1 "gpio.2" -// #define USER_DIGITAL_PIN_2 "gpio.4" -// #define USER_DIGITAL_PIN_3 "gpio.16" - -// x User Analog pins -// #define USER_ANALOG_PIN_0 "gpio.15" -// #define USER_ANALOG_PIN_1 "gpio.2" -// #define USER_ANALOG_PIN_2 "gpio.4" -// #define USER_ANALOG_PIN_3 "gpio.16" - -// -// Input devices : -// x Probe -// #define PROBE_PIN "gpio.18:pu" - -// x Limits -// #define X_LIMIT_PIN "gpio.18:pu" -// x System : ControlSafetyDoor -// #define CONTROL_SAFETY_DOOR_PIN "gpio.22:pu" -// x System : ControlReset -// #define CONTROL_RESET_PIN "gpio.23:pu" -// x System : ControlFeedHold -// #define CONTROL_FEED_HOLD_PIN "gpio.22:pu" -// x System : ControlCycleStart -// #define CONTROL_CYCLE_START_PIN "gpio.18:pu" -// - System : Macro0 -// - System : Macro1 -// - System : Macro2 -// - System : Macro3 -// -// Uart devices : -// - Dynamixel -// - H2ASpindle -// - HuanyangSpindle -// -// Other : -// - RcServo -// x SDCard -// x Trinamic - diff --git a/Grbl_Esp32/src/Serial.cpp b/Grbl_Esp32/src/Serial.cpp index e9b78111..394e7f45 100644 --- a/Grbl_Esp32/src/Serial.cpp +++ b/Grbl_Esp32/src/Serial.cpp @@ -91,7 +91,7 @@ void client_init() { xTaskCreatePinnedToCore(heapCheckTask, "heapTask", 2000, NULL, 1, NULL, 1); #endif - Uart0.setPins(1, 3); // Tx 1, Rx 3 - standard hardware pins + Uart0.setPins(GPIO_NUM_1, GPIO_NUM_3); // Tx 1, Rx 3 - standard hardware pins Uart0.begin(BAUD_RATE, Uart::Data::Bits8, Uart::Stop::Bits1, Uart::Parity::None); client_reset_read_buffer(CLIENT_ALL);