From d76a5fe2f2af2d10aa7562bd805862f4cbd2a683 Mon Sep 17 00:00:00 2001 From: bdring Date: Mon, 8 Mar 2021 11:27:56 -0600 Subject: [PATCH] External mach def (#807) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Initial release with custom machine * initial release * Wrong addition corrected. AmoutOfToolChanges counts up now. * pressing Z probe button once is fine, not a second time. reporting not in sequence to function flow * First working FreeRTOS task with static text. Send "471" every second to all outputs * Z Probe triggered correctly at button pressed. Can read out all values * gitignore * running with state machine, repeatable results in test environment * works, except that function "user_tool_change" starts the tool change and it will interfer with further g code running in parallel. tbd * typo * back to without RTOS.But doesnt move * RTOS but only with "T1 m06". not with g code program * hold is better than door * initial wifi settings * umlaute * gitignore * Fehler bei Limit_Mask * Spindle_Type angepasst * lower debounding after adding capacitor * Revert "lower debounding after adding capacitor" This reverts commit eadbec23596bf6b46ec750a5ae519e8f1893876e. * remove customized gitignore * Revert "remove customized gitignore" This reverts commit ce44131c7afdb53964067073e4a52ab8e3fe8f4b. * reduce debounding period due to adding capacitor * uncomment all tool change source code * Tets Fräse 2.6 ok * Fräse 2.6 * Falscher GPIO Pin für Fräse * test * Revert "test" This reverts commit 1265435786eb327226553c5178f942cd96f08888. * No Bluetooth necessary * OTA update (watch Windows firewall!) * - rename custom machine file name -added "4axis_xyza.txt" to store Grbl_ESP32 config parameters. So programming fits to parameters - added 2 buttons (#1 hold/resume), #2 homing and tool change position * new Z probe button * Z probe corretion * Z probe correction * Z probe correction * Fixed Grbl.h - I think I deleted the GRBL_VERSION line by accident when using the web based conflict editor * Revert "Merge branch 'Devt' of https://github.com/bdring/Grbl_Esp32 into Devt" This reverts commit 361558b6b74f1ab6ae60fa250207081b941f6c20, reversing changes made to 811646f5e77ce838082ee3c89a5ea99aa6ef9fd5. * Revert "Merge remote-tracking branch 'Grbl_Esp32_JH/master' into Devt" This reverts commit 811646f5e77ce838082ee3c89a5ea99aa6ef9fd5, reversing changes made to a61ab51c0bab36195644f7438dc82e84af32a5a9. * Add example of external machine def - This sets some of the important timing parameters. - Removed redundant example to keep example count down * Update Grbl.h Co-authored-by: Jens Hauser <44340656+JensHauser@users.noreply.github.com> Co-authored-by: Mitch Bradley Co-authored-by: JensHauser --- Grbl_Esp32/src/Grbl.h | 2 +- ...epstick_XYZ_v1.h => 6_pack_external_XYZ.h} | 92 +++++++++---------- 2 files changed, 46 insertions(+), 48 deletions(-) rename Grbl_Esp32/src/Machines/{6_pack_stepstick_XYZ_v1.h => 6_pack_external_XYZ.h} (57%) diff --git a/Grbl_Esp32/src/Grbl.h b/Grbl_Esp32/src/Grbl.h index 5a56918b..7c191801 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 = "20210306"; +const char* const GRBL_VERSION_BUILD = "20210308"; //#include #include diff --git a/Grbl_Esp32/src/Machines/6_pack_stepstick_XYZ_v1.h b/Grbl_Esp32/src/Machines/6_pack_external_XYZ.h similarity index 57% rename from Grbl_Esp32/src/Machines/6_pack_stepstick_XYZ_v1.h rename to Grbl_Esp32/src/Machines/6_pack_external_XYZ.h index 5bc9da03..435e274c 100644 --- a/Grbl_Esp32/src/Machines/6_pack_stepstick_XYZ_v1.h +++ b/Grbl_Esp32/src/Machines/6_pack_external_XYZ.h @@ -2,15 +2,15 @@ // clang-format off /* - 6_pack_stepstick_XYZ_v1.h + 6_pack_external_XYZ.h Covers all V1 versions V1p0, V1p1, etc Part of Grbl_ESP32 Pin assignments for the ESP32 I2S 6-axis board - 2018 - Bart Dring - 2020 - Mitch Bradley - 2020 - Michiyasu Odaki + + 2021 - Bart Dring + Grbl_ESP32 is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -21,8 +21,17 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Grbl_ESP32. If not, see . + + + 6 Pack Jumpers for External Drivers + The only jumper you set is the Vcc on 5V + Stallguard jumpers must not be connected + MS/SPI Do not need to be installed. It is OK to put them oonm the MS side + TMC5160 Is does not matter if this is installed or not on any side. + + */ -#define MACHINE_NAME "6 Pack Controller StepStick XYZ" +#define MACHINE_NAME "6 Pack External XYZ" #define N_AXIS 3 @@ -32,10 +41,6 @@ #define USE_I2S_OUT #define USE_I2S_STEPS //#define DEFAULT_STEPPER ST_I2S_STATIC -// === Default settings -#define DEFAULT_STEP_PULSE_MICROSECONDS I2S_OUT_USEC_PER_PULSE - -#define USE_STEPSTICK // makes sure MS1,2,3 !reset and !sleep are set #define I2S_OUT_BCK GPIO_NUM_22 #define I2S_OUT_WS GPIO_NUM_17 @@ -46,19 +51,35 @@ #define X_DISABLE_PIN I2SO(0) #define X_DIRECTION_PIN I2SO(1) #define X_STEP_PIN I2SO(2) -#define X_STEPPER_MS3 I2SO(3) // Motor Socket #2 #define Y_DIRECTION_PIN I2SO(4) #define Y_STEP_PIN I2SO(5) -#define Y_STEPPER_MS3 I2SO(6) #define Y_DISABLE_PIN I2SO(7) // Motor Socket #3 #define Z_DISABLE_PIN I2SO(8) #define Z_DIRECTION_PIN I2SO(9) #define Z_STEP_PIN I2SO(10) -#define Z_STEPPER_MS3 I2SO(11) + +/* +// Motor Socket #4 +#define A_DIRECTION_PIN I2SO(12) +#define A_STEP_PIN I2SO(13) +#define A_DISABLE_PIN I2SO(15) + +// Motor Socket #5 +#define B_DISABLE_PIN I2SO(16) +#define B_DIRECTION_PIN I2SO(17) +#define B_STEP_PIN I2SO(18) + +// Motor Socket #5 +#define C_DIRECTION_PIN I2SO(20) +#define C_STEP_PIN I2SO(21) +#define C_DISABLE_PIN I2SO(23) +*/ + + /* Socket I/O reference @@ -107,39 +128,16 @@ Socket #5 - -// // 4x Input Module in Socket #2 -// // https://github.com/bdring/6-Pack_CNC_Controller/wiki/4x-Switch-Input-module -#define MACRO_BUTTON_0_PIN GPIO_NUM_2 -#define MACRO_BUTTON_1_PIN GPIO_NUM_25 -#define MACRO_BUTTON_2_PIN GPIO_NUM_39 -#define MACRO_BUTTON_3_PIN GPIO_NUM_36 - -// 5V output CNC module in socket #4 -// https://github.com/bdring/6-Pack_CNC_Controller/wiki/4x-5V-Buffered-Output-Module -#define SPINDLE_TYPE SpindleType::PWM -#define SPINDLE_OUTPUT_PIN GPIO_NUM_14 -#define SPINDLE_ENABLE_PIN GPIO_NUM_13 // optional -#define LASER_OUTPUT_PIN GPIO_NUM_15 // optional -#define LASER_ENABLE_PIN GPIO_NUM_12 - - - - -// // RS485 Modbus In socket #3 -// // https://github.com/bdring/6-Pack_CNC_Controller/wiki/RS485-Modbus-Module -// #define VFD_RS485_TXD_PIN GPIO_NUM_26 -// #define VFD_RS485_RTS_PIN GPIO_NUM_4 -// #define VFD_RS485_RXD_PIN GPIO_NUM_16 - -// Example (4x) 5V Buffer Output on socket #5 -// https://github.com/bdring/6-Pack_CNC_Controller/wiki/4x-5V-Buffered-Output-Module -#define USER_DIGITAL_PIN_0 I2SO(24) // No PWM -#define USER_DIGITAL_PIN_1 I2SO(25) -#define USER_DIGITAL_PIN_2 I2SO(26) // M7 on M9 Off -#define USER_DIGITAL_PIN_3 I2SO(27) // M8 on M9 Off - // ================= Setting Defaults ========================== -#define DEFAULT_X_STEPS_PER_MM 800 -#define DEFAULT_Y_STEPS_PER_MM 800 -#define DEFAULT_Z_STEPS_PER_MM 800 + +// see wiki https://github.com/bdring/Grbl_Esp32/wiki/External-Stepper-Drivers +#define DEFAULT_STEP_ENABLE_DELAY 5 // how long after enable do we wait for +#define DEFAULT_STEP_PULSE_MICROSECONDS 4 // length of step pulse. Must be greater than I2S_OUT_USEC_PER_PULSE (4) with I2S +#define STEP_PULSE_DELAY 6 // gap between enable and dir changes before step + +#define DEFAULT_STEPPING_INVERT_MASK (bit(X_AXIS) | bit(Y_AXIS) | bit(Z_AXIS)) +#define DEFAULT_DIRECTION_INVERT_MASK (bit(X_AXIS) | bit(Y_AXIS) | bit(Z_AXIS)) +#define DEFAULT_INVERT_ST_ENABLE false + + +