diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index af2f096c474e..f319274dab59 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -753,6 +753,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 85b2725d6f75..b34665554da2 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -1268,7 +1268,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1307,7 +1307,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/Marlin.cpp b/Marlin/src/Marlin.cpp index ba9a0862dabf..9df757ae8899 100644 --- a/Marlin/src/Marlin.cpp +++ b/Marlin/src/Marlin.cpp @@ -724,6 +724,9 @@ void setup() { SERIAL_ECHO_START(); #if HAS_DRIVER(TMC2130) + #if DISABLED(TMC_USE_SW_SPI) + SPI.begin(); + #endif tmc_init_cs_pins(); #endif #if HAS_DRIVER(TMC2208) diff --git a/Marlin/src/config/default/Configuration.h b/Marlin/src/config/default/Configuration.h index af2f096c474e..f319274dab59 100644 --- a/Marlin/src/config/default/Configuration.h +++ b/Marlin/src/config/default/Configuration.h @@ -753,6 +753,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/default/Configuration_adv.h b/Marlin/src/config/default/Configuration_adv.h index 85b2725d6f75..b34665554da2 100755 --- a/Marlin/src/config/default/Configuration_adv.h +++ b/Marlin/src/config/default/Configuration_adv.h @@ -1268,7 +1268,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1307,7 +1307,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration.h b/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration.h index ba21a972f18d..6f9382de767a 100644 --- a/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration.h +++ b/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration.h @@ -773,6 +773,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ #define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h b/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h index 1a6623b6cc81..271196a97dcb 100644 --- a/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h +++ b/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h @@ -1268,7 +1268,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1307,7 +1307,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/AliExpress/CL-260/Configuration.h b/Marlin/src/config/examples/AliExpress/CL-260/Configuration.h index f33af0715cb2..43e13668402d 100644 --- a/Marlin/src/config/examples/AliExpress/CL-260/Configuration.h +++ b/Marlin/src/config/examples/AliExpress/CL-260/Configuration.h @@ -753,6 +753,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/Anet/A2/Configuration.h b/Marlin/src/config/examples/Anet/A2/Configuration.h index 21bce3af7c7a..1176fd9f944c 100644 --- a/Marlin/src/config/examples/Anet/A2/Configuration.h +++ b/Marlin/src/config/examples/Anet/A2/Configuration.h @@ -736,6 +736,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/Anet/A2/Configuration_adv.h b/Marlin/src/config/examples/Anet/A2/Configuration_adv.h index 44bbf92cc867..8556ee51b887 100644 --- a/Marlin/src/config/examples/Anet/A2/Configuration_adv.h +++ b/Marlin/src/config/examples/Anet/A2/Configuration_adv.h @@ -1250,7 +1250,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1289,7 +1289,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/Anet/A2plus/Configuration.h b/Marlin/src/config/examples/Anet/A2plus/Configuration.h index 739198667e71..fd2ed40e48b8 100644 --- a/Marlin/src/config/examples/Anet/A2plus/Configuration.h +++ b/Marlin/src/config/examples/Anet/A2plus/Configuration.h @@ -736,6 +736,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/Anet/A2plus/Configuration_adv.h b/Marlin/src/config/examples/Anet/A2plus/Configuration_adv.h index 44bbf92cc867..8556ee51b887 100644 --- a/Marlin/src/config/examples/Anet/A2plus/Configuration_adv.h +++ b/Marlin/src/config/examples/Anet/A2plus/Configuration_adv.h @@ -1250,7 +1250,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1289,7 +1289,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/Anet/A6/Configuration.h b/Marlin/src/config/examples/Anet/A6/Configuration.h index faba60a49f11..3040dab34b7e 100644 --- a/Marlin/src/config/examples/Anet/A6/Configuration.h +++ b/Marlin/src/config/examples/Anet/A6/Configuration.h @@ -801,6 +801,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/Anet/A6/Configuration_adv.h b/Marlin/src/config/examples/Anet/A6/Configuration_adv.h index a72b1c672fd6..a6f0762eebe7 100644 --- a/Marlin/src/config/examples/Anet/A6/Configuration_adv.h +++ b/Marlin/src/config/examples/Anet/A6/Configuration_adv.h @@ -1268,7 +1268,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1307,7 +1307,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/Anet/A8/Configuration.h b/Marlin/src/config/examples/Anet/A8/Configuration.h index 9927f291342f..ea3c8f7b8564 100644 --- a/Marlin/src/config/examples/Anet/A8/Configuration.h +++ b/Marlin/src/config/examples/Anet/A8/Configuration.h @@ -760,6 +760,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/Anet/A8/Configuration_adv.h b/Marlin/src/config/examples/Anet/A8/Configuration_adv.h index 8f5627d3369e..18b576b60f68 100644 --- a/Marlin/src/config/examples/Anet/A8/Configuration_adv.h +++ b/Marlin/src/config/examples/Anet/A8/Configuration_adv.h @@ -1268,7 +1268,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1307,7 +1307,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/Azteeg/X5GT/Configuration.h b/Marlin/src/config/examples/Azteeg/X5GT/Configuration.h index 4704b667cc1f..646881f058e6 100644 --- a/Marlin/src/config/examples/Azteeg/X5GT/Configuration.h +++ b/Marlin/src/config/examples/Azteeg/X5GT/Configuration.h @@ -753,6 +753,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/Azteeg/X5GT/Configuration_adv.h b/Marlin/src/config/examples/Azteeg/X5GT/Configuration_adv.h index 6cc1c77b038f..94c33dd98194 100644 --- a/Marlin/src/config/examples/Azteeg/X5GT/Configuration_adv.h +++ b/Marlin/src/config/examples/Azteeg/X5GT/Configuration_adv.h @@ -1268,7 +1268,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1307,7 +1307,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration.h b/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration.h index ecc7f2f6cdfc..b75b5384acba 100644 --- a/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration.h +++ b/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration.h @@ -725,6 +725,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h b/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h index 4ff7ebea65f4..d0ca6db51136 100644 --- a/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h +++ b/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h @@ -1268,7 +1268,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1307,7 +1307,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/BIBO/TouchX/default/Configuration.h b/Marlin/src/config/examples/BIBO/TouchX/default/Configuration.h index bc4277b2e7b5..1fb948b2ee18 100644 --- a/Marlin/src/config/examples/BIBO/TouchX/default/Configuration.h +++ b/Marlin/src/config/examples/BIBO/TouchX/default/Configuration.h @@ -725,6 +725,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/BIBO/TouchX/default/Configuration_adv.h b/Marlin/src/config/examples/BIBO/TouchX/default/Configuration_adv.h index 499b717a90e9..070eecb399f4 100644 --- a/Marlin/src/config/examples/BIBO/TouchX/default/Configuration_adv.h +++ b/Marlin/src/config/examples/BIBO/TouchX/default/Configuration_adv.h @@ -1268,7 +1268,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1307,7 +1307,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/BQ/Hephestos/Configuration.h b/Marlin/src/config/examples/BQ/Hephestos/Configuration.h index 638857e3e786..a63c4604866a 100644 --- a/Marlin/src/config/examples/BQ/Hephestos/Configuration.h +++ b/Marlin/src/config/examples/BQ/Hephestos/Configuration.h @@ -741,6 +741,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h b/Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h index aa7d935b0699..fe42e9176b9d 100644 --- a/Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h +++ b/Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h @@ -1268,7 +1268,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1307,7 +1307,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/BQ/Hephestos_2/Configuration.h b/Marlin/src/config/examples/BQ/Hephestos_2/Configuration.h index 88834d24548d..8a6fc330e793 100644 --- a/Marlin/src/config/examples/BQ/Hephestos_2/Configuration.h +++ b/Marlin/src/config/examples/BQ/Hephestos_2/Configuration.h @@ -754,6 +754,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ #define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h b/Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h index 8195e9caa75c..7820e00a34bd 100644 --- a/Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h +++ b/Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h @@ -1276,7 +1276,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1315,7 +1315,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/BQ/WITBOX/Configuration.h b/Marlin/src/config/examples/BQ/WITBOX/Configuration.h index 510e36f2b655..577a709f81b4 100644 --- a/Marlin/src/config/examples/BQ/WITBOX/Configuration.h +++ b/Marlin/src/config/examples/BQ/WITBOX/Configuration.h @@ -741,6 +741,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h b/Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h index aa7d935b0699..fe42e9176b9d 100644 --- a/Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h +++ b/Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h @@ -1268,7 +1268,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1307,7 +1307,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/Cartesio/Configuration.h b/Marlin/src/config/examples/Cartesio/Configuration.h index 637d077e7577..bed6b115ba4f 100644 --- a/Marlin/src/config/examples/Cartesio/Configuration.h +++ b/Marlin/src/config/examples/Cartesio/Configuration.h @@ -752,6 +752,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/Cartesio/Configuration_adv.h b/Marlin/src/config/examples/Cartesio/Configuration_adv.h index 2144e22dfce3..dbae8df57526 100644 --- a/Marlin/src/config/examples/Cartesio/Configuration_adv.h +++ b/Marlin/src/config/examples/Cartesio/Configuration_adv.h @@ -1268,7 +1268,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1307,7 +1307,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/Creality/CR-10/Configuration.h b/Marlin/src/config/examples/Creality/CR-10/Configuration.h index b2904b23acc0..6504bbc151f2 100755 --- a/Marlin/src/config/examples/Creality/CR-10/Configuration.h +++ b/Marlin/src/config/examples/Creality/CR-10/Configuration.h @@ -763,6 +763,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h b/Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h index 33fe2e33aab2..ed796a339366 100755 --- a/Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h +++ b/Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h @@ -1268,7 +1268,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1307,7 +1307,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/Creality/CR-10S/Configuration.h b/Marlin/src/config/examples/Creality/CR-10S/Configuration.h index 78fec6cb2c89..9178b735dcb8 100644 --- a/Marlin/src/config/examples/Creality/CR-10S/Configuration.h +++ b/Marlin/src/config/examples/Creality/CR-10S/Configuration.h @@ -757,6 +757,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h b/Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h index 852a866bedfc..de1df0fe72af 100644 --- a/Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h +++ b/Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h @@ -1268,7 +1268,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1307,7 +1307,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/Creality/CR-10mini/Configuration.h b/Marlin/src/config/examples/Creality/CR-10mini/Configuration.h index 1db389926701..ec1ac9636625 100644 --- a/Marlin/src/config/examples/Creality/CR-10mini/Configuration.h +++ b/Marlin/src/config/examples/Creality/CR-10mini/Configuration.h @@ -772,6 +772,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/Creality/CR-10mini/Configuration_adv.h b/Marlin/src/config/examples/Creality/CR-10mini/Configuration_adv.h index 35ad44cec40f..39595cc47a62 100644 --- a/Marlin/src/config/examples/Creality/CR-10mini/Configuration_adv.h +++ b/Marlin/src/config/examples/Creality/CR-10mini/Configuration_adv.h @@ -1268,7 +1268,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1307,7 +1307,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/Creality/CR-8/Configuration.h b/Marlin/src/config/examples/Creality/CR-8/Configuration.h index 9b80e5042ca2..8350935a5809 100644 --- a/Marlin/src/config/examples/Creality/CR-8/Configuration.h +++ b/Marlin/src/config/examples/Creality/CR-8/Configuration.h @@ -763,6 +763,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/Creality/CR-8/Configuration_adv.h b/Marlin/src/config/examples/Creality/CR-8/Configuration_adv.h index 78ebb8a070e2..4e759fa402d8 100644 --- a/Marlin/src/config/examples/Creality/CR-8/Configuration_adv.h +++ b/Marlin/src/config/examples/Creality/CR-8/Configuration_adv.h @@ -1268,7 +1268,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1307,7 +1307,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/Creality/Ender-2/Configuration.h b/Marlin/src/config/examples/Creality/Ender-2/Configuration.h index ea6b200b43f3..cd2f612451a5 100644 --- a/Marlin/src/config/examples/Creality/Ender-2/Configuration.h +++ b/Marlin/src/config/examples/Creality/Ender-2/Configuration.h @@ -757,6 +757,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/Creality/Ender-2/Configuration_adv.h b/Marlin/src/config/examples/Creality/Ender-2/Configuration_adv.h index 1df7d9982392..cc1fed2d1173 100644 --- a/Marlin/src/config/examples/Creality/Ender-2/Configuration_adv.h +++ b/Marlin/src/config/examples/Creality/Ender-2/Configuration_adv.h @@ -1268,7 +1268,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1307,7 +1307,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/Creality/Ender-3/Configuration.h b/Marlin/src/config/examples/Creality/Ender-3/Configuration.h index ceea982953ad..77d0b39bae48 100644 --- a/Marlin/src/config/examples/Creality/Ender-3/Configuration.h +++ b/Marlin/src/config/examples/Creality/Ender-3/Configuration.h @@ -757,6 +757,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/Creality/Ender-3/Configuration_adv.h b/Marlin/src/config/examples/Creality/Ender-3/Configuration_adv.h index 0d480b972aaf..e588f0460f5b 100644 --- a/Marlin/src/config/examples/Creality/Ender-3/Configuration_adv.h +++ b/Marlin/src/config/examples/Creality/Ender-3/Configuration_adv.h @@ -1268,7 +1268,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1307,7 +1307,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/Creality/Ender-4/Configuration.h b/Marlin/src/config/examples/Creality/Ender-4/Configuration.h index 2911be3bd139..36d0025c821a 100644 --- a/Marlin/src/config/examples/Creality/Ender-4/Configuration.h +++ b/Marlin/src/config/examples/Creality/Ender-4/Configuration.h @@ -763,6 +763,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/Creality/Ender-4/Configuration_adv.h b/Marlin/src/config/examples/Creality/Ender-4/Configuration_adv.h index 78ebb8a070e2..4e759fa402d8 100644 --- a/Marlin/src/config/examples/Creality/Ender-4/Configuration_adv.h +++ b/Marlin/src/config/examples/Creality/Ender-4/Configuration_adv.h @@ -1268,7 +1268,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1307,7 +1307,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/Einstart-S/Configuration.h b/Marlin/src/config/examples/Einstart-S/Configuration.h index ea5d8ad80036..826e4d14fd91 100644 --- a/Marlin/src/config/examples/Einstart-S/Configuration.h +++ b/Marlin/src/config/examples/Einstart-S/Configuration.h @@ -764,6 +764,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/Einstart-S/Configuration_adv.h b/Marlin/src/config/examples/Einstart-S/Configuration_adv.h index 85abef819336..9a93489a4331 100644 --- a/Marlin/src/config/examples/Einstart-S/Configuration_adv.h +++ b/Marlin/src/config/examples/Einstart-S/Configuration_adv.h @@ -1268,7 +1268,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1307,7 +1307,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/Felix/Configuration.h b/Marlin/src/config/examples/Felix/Configuration.h index 7ce734d2f0d8..f90373e48e59 100644 --- a/Marlin/src/config/examples/Felix/Configuration.h +++ b/Marlin/src/config/examples/Felix/Configuration.h @@ -735,6 +735,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/Felix/Configuration_adv.h b/Marlin/src/config/examples/Felix/Configuration_adv.h index f7ae3045bd3f..914e72b25fd1 100644 --- a/Marlin/src/config/examples/Felix/Configuration_adv.h +++ b/Marlin/src/config/examples/Felix/Configuration_adv.h @@ -1268,7 +1268,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1307,7 +1307,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/Felix/DUAL/Configuration.h b/Marlin/src/config/examples/Felix/DUAL/Configuration.h index 70ba627aa55c..6f65e3b41987 100644 --- a/Marlin/src/config/examples/Felix/DUAL/Configuration.h +++ b/Marlin/src/config/examples/Felix/DUAL/Configuration.h @@ -735,6 +735,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration.h b/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration.h index 51985ebfc008..d33f0c30d124 100644 --- a/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration.h +++ b/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration.h @@ -759,6 +759,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h b/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h index 86c8844fe4be..ebbabececa83 100644 --- a/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h +++ b/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h @@ -1268,7 +1268,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1307,7 +1307,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/Formbot/T-Rex_2+/Configuration.h b/Marlin/src/config/examples/Formbot/T-Rex_2+/Configuration.h index 5d24c42e069c..9e1e4df1cc92 100644 --- a/Marlin/src/config/examples/Formbot/T-Rex_2+/Configuration.h +++ b/Marlin/src/config/examples/Formbot/T-Rex_2+/Configuration.h @@ -777,6 +777,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/Formbot/T-Rex_2+/Configuration_adv.h b/Marlin/src/config/examples/Formbot/T-Rex_2+/Configuration_adv.h index faba862a720f..7ad020c09fce 100644 --- a/Marlin/src/config/examples/Formbot/T-Rex_2+/Configuration_adv.h +++ b/Marlin/src/config/examples/Formbot/T-Rex_2+/Configuration_adv.h @@ -1265,7 +1265,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1304,7 +1304,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/Formbot/T_Rex_3/Configuration.h b/Marlin/src/config/examples/Formbot/T_Rex_3/Configuration.h index ab335eb7b1a3..d860bbb96889 100644 --- a/Marlin/src/config/examples/Formbot/T_Rex_3/Configuration.h +++ b/Marlin/src/config/examples/Formbot/T_Rex_3/Configuration.h @@ -788,6 +788,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/Formbot/T_Rex_3/Configuration_adv.h b/Marlin/src/config/examples/Formbot/T_Rex_3/Configuration_adv.h index 14f33f4051d7..f7d29b98af26 100644 --- a/Marlin/src/config/examples/Formbot/T_Rex_3/Configuration_adv.h +++ b/Marlin/src/config/examples/Formbot/T_Rex_3/Configuration_adv.h @@ -1264,7 +1264,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1303,7 +1303,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/Geeetech/GT2560/Configuration.h b/Marlin/src/config/examples/Geeetech/GT2560/Configuration.h index 4c6062140ac1..37d26ec92658 100644 --- a/Marlin/src/config/examples/Geeetech/GT2560/Configuration.h +++ b/Marlin/src/config/examples/Geeetech/GT2560/Configuration.h @@ -768,6 +768,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h b/Marlin/src/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h index 3510f8e63112..5eec78dce553 100644 --- a/Marlin/src/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h +++ b/Marlin/src/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h @@ -753,6 +753,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/bltouch/Configuration.h b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/bltouch/Configuration.h index 2bf7defcf85e..17664352160a 100644 --- a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/bltouch/Configuration.h +++ b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/bltouch/Configuration.h @@ -769,6 +769,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/noprobe/Configuration.h b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/noprobe/Configuration.h index 82a9300b7208..d4b45d4a86bd 100644 --- a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/noprobe/Configuration.h +++ b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/noprobe/Configuration.h @@ -768,6 +768,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration.h b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration.h index b7939f0d544a..6a09083db677 100644 --- a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration.h +++ b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration.h @@ -753,6 +753,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h index a8e8fc097181..3029c5c62d47 100644 --- a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h +++ b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h @@ -1268,7 +1268,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1307,7 +1307,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration.h b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration.h index d66b4d9f95f6..93b5ab3cd395 100644 --- a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration.h +++ b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration.h @@ -753,6 +753,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h index a8e8fc097181..3029c5c62d47 100644 --- a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h +++ b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h @@ -1268,7 +1268,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1307,7 +1307,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/Infitary/i3-M508/Configuration.h b/Marlin/src/config/examples/Infitary/i3-M508/Configuration.h index affa292e63cc..a9562239741d 100644 --- a/Marlin/src/config/examples/Infitary/i3-M508/Configuration.h +++ b/Marlin/src/config/examples/Infitary/i3-M508/Configuration.h @@ -757,6 +757,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h b/Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h index 617033fbc37d..48e31ed577e2 100644 --- a/Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h +++ b/Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h @@ -1268,7 +1268,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1307,7 +1307,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/JGAurora/A5/Configuration.h b/Marlin/src/config/examples/JGAurora/A5/Configuration.h index b6faa33d1f90..d2a4cbf3fca8 100644 --- a/Marlin/src/config/examples/JGAurora/A5/Configuration.h +++ b/Marlin/src/config/examples/JGAurora/A5/Configuration.h @@ -765,6 +765,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h b/Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h index 9459ac74d05a..34696ad5a30f 100644 --- a/Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h +++ b/Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h @@ -1268,7 +1268,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1307,7 +1307,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/MakerParts/Configuration.h b/Marlin/src/config/examples/MakerParts/Configuration.h index d8794de79564..19b4d587542c 100644 --- a/Marlin/src/config/examples/MakerParts/Configuration.h +++ b/Marlin/src/config/examples/MakerParts/Configuration.h @@ -773,6 +773,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/MakerParts/Configuration_adv.h b/Marlin/src/config/examples/MakerParts/Configuration_adv.h index 656a1127db92..369cac565349 100644 --- a/Marlin/src/config/examples/MakerParts/Configuration_adv.h +++ b/Marlin/src/config/examples/MakerParts/Configuration_adv.h @@ -1268,7 +1268,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1307,7 +1307,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/Malyan/M150/Configuration.h b/Marlin/src/config/examples/Malyan/M150/Configuration.h index 03204f2054d0..2a4ebc75e0a7 100644 --- a/Marlin/src/config/examples/Malyan/M150/Configuration.h +++ b/Marlin/src/config/examples/Malyan/M150/Configuration.h @@ -745,6 +745,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/Malyan/M150/Configuration_adv.h b/Marlin/src/config/examples/Malyan/M150/Configuration_adv.h index 6dad6027f64a..dd6acd20aa09 100644 --- a/Marlin/src/config/examples/Malyan/M150/Configuration_adv.h +++ b/Marlin/src/config/examples/Malyan/M150/Configuration_adv.h @@ -1268,7 +1268,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1307,7 +1307,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/Malyan/M200/Configuration.h b/Marlin/src/config/examples/Malyan/M200/Configuration.h index 58758c8e5ab2..9dc37877cfab 100644 --- a/Marlin/src/config/examples/Malyan/M200/Configuration.h +++ b/Marlin/src/config/examples/Malyan/M200/Configuration.h @@ -752,6 +752,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/Malyan/M200/Configuration_adv.h b/Marlin/src/config/examples/Malyan/M200/Configuration_adv.h index 2ad370098d49..78f737669fab 100644 --- a/Marlin/src/config/examples/Malyan/M200/Configuration_adv.h +++ b/Marlin/src/config/examples/Malyan/M200/Configuration_adv.h @@ -1268,7 +1268,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1307,7 +1307,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/Micromake/C1/basic/Configuration.h b/Marlin/src/config/examples/Micromake/C1/basic/Configuration.h index 5e72a3f32fe8..cfc0915bf80a 100644 --- a/Marlin/src/config/examples/Micromake/C1/basic/Configuration.h +++ b/Marlin/src/config/examples/Micromake/C1/basic/Configuration.h @@ -757,6 +757,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration.h b/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration.h index 4891ff94254a..e17d0fb6ca0c 100644 --- a/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration.h +++ b/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration.h @@ -757,6 +757,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ #define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h b/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h index ae1b3e16282f..3de56d23bc93 100644 --- a/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h +++ b/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h @@ -1268,7 +1268,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1307,7 +1307,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/Mks/Sbase/Configuration.h b/Marlin/src/config/examples/Mks/Sbase/Configuration.h index 211858d1c108..5511740bc9a5 100644 --- a/Marlin/src/config/examples/Mks/Sbase/Configuration.h +++ b/Marlin/src/config/examples/Mks/Sbase/Configuration.h @@ -753,6 +753,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h b/Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h index 1282b7b7c8c9..402a0d4b140c 100644 --- a/Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h +++ b/Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h @@ -1276,7 +1276,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1315,7 +1315,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/RepRapPro/Huxley/Configuration.h b/Marlin/src/config/examples/RepRapPro/Huxley/Configuration.h index 8905de294b42..975e7bd59a4e 100644 --- a/Marlin/src/config/examples/RepRapPro/Huxley/Configuration.h +++ b/Marlin/src/config/examples/RepRapPro/Huxley/Configuration.h @@ -793,6 +793,9 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/RepRapWorld/Megatronics/Configuration.h b/Marlin/src/config/examples/RepRapWorld/Megatronics/Configuration.h index 11b157751b06..ef69bb02ff94 100644 --- a/Marlin/src/config/examples/RepRapWorld/Megatronics/Configuration.h +++ b/Marlin/src/config/examples/RepRapWorld/Megatronics/Configuration.h @@ -753,6 +753,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/RigidBot/Configuration.h b/Marlin/src/config/examples/RigidBot/Configuration.h index 5198fbf0c080..97c3b4c49f2d 100644 --- a/Marlin/src/config/examples/RigidBot/Configuration.h +++ b/Marlin/src/config/examples/RigidBot/Configuration.h @@ -751,6 +751,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/RigidBot/Configuration_adv.h b/Marlin/src/config/examples/RigidBot/Configuration_adv.h index df9274410725..885d1fe6a305 100644 --- a/Marlin/src/config/examples/RigidBot/Configuration_adv.h +++ b/Marlin/src/config/examples/RigidBot/Configuration_adv.h @@ -1268,7 +1268,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1307,7 +1307,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/SCARA/Configuration.h b/Marlin/src/config/examples/SCARA/Configuration.h index b62c767273ad..fbb83c47f539 100644 --- a/Marlin/src/config/examples/SCARA/Configuration.h +++ b/Marlin/src/config/examples/SCARA/Configuration.h @@ -766,6 +766,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/SCARA/Configuration_adv.h b/Marlin/src/config/examples/SCARA/Configuration_adv.h index 8225de7dbee0..8aea0726ee77 100644 --- a/Marlin/src/config/examples/SCARA/Configuration_adv.h +++ b/Marlin/src/config/examples/SCARA/Configuration_adv.h @@ -1268,7 +1268,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1307,7 +1307,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/STM32F10/Configuration.h b/Marlin/src/config/examples/STM32F10/Configuration.h index c8e9dba7047e..a37d5e2294ec 100644 --- a/Marlin/src/config/examples/STM32F10/Configuration.h +++ b/Marlin/src/config/examples/STM32F10/Configuration.h @@ -755,6 +755,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/STM32F4/Configuration.h b/Marlin/src/config/examples/STM32F4/Configuration.h index b465ffbb428d..19e68d592fd2 100644 --- a/Marlin/src/config/examples/STM32F4/Configuration.h +++ b/Marlin/src/config/examples/STM32F4/Configuration.h @@ -753,6 +753,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/Sanguinololu/Configuration.h b/Marlin/src/config/examples/Sanguinololu/Configuration.h index 8f393e3369b7..fc65026c7ec5 100644 --- a/Marlin/src/config/examples/Sanguinololu/Configuration.h +++ b/Marlin/src/config/examples/Sanguinololu/Configuration.h @@ -784,6 +784,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/Sanguinololu/Configuration_adv.h b/Marlin/src/config/examples/Sanguinololu/Configuration_adv.h index f7a767b8949a..d8d0950cbf77 100644 --- a/Marlin/src/config/examples/Sanguinololu/Configuration_adv.h +++ b/Marlin/src/config/examples/Sanguinololu/Configuration_adv.h @@ -1268,7 +1268,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1307,7 +1307,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/TheBorg/Configuration.h b/Marlin/src/config/examples/TheBorg/Configuration.h index 5c398454b471..9a26d780e242 100644 --- a/Marlin/src/config/examples/TheBorg/Configuration.h +++ b/Marlin/src/config/examples/TheBorg/Configuration.h @@ -753,6 +753,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ #define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/TheBorg/Configuration_adv.h b/Marlin/src/config/examples/TheBorg/Configuration_adv.h index e2b73d765993..517b69aff69a 100644 --- a/Marlin/src/config/examples/TheBorg/Configuration_adv.h +++ b/Marlin/src/config/examples/TheBorg/Configuration_adv.h @@ -1268,7 +1268,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1307,7 +1307,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/TinyBoy2/Configuration.h b/Marlin/src/config/examples/TinyBoy2/Configuration.h index 242ed7dca9a2..4b43dbbc064f 100644 --- a/Marlin/src/config/examples/TinyBoy2/Configuration.h +++ b/Marlin/src/config/examples/TinyBoy2/Configuration.h @@ -804,6 +804,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/TinyBoy2/Configuration_adv.h b/Marlin/src/config/examples/TinyBoy2/Configuration_adv.h index c829ec951833..97581fea32ae 100644 --- a/Marlin/src/config/examples/TinyBoy2/Configuration_adv.h +++ b/Marlin/src/config/examples/TinyBoy2/Configuration_adv.h @@ -1268,7 +1268,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1307,7 +1307,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/Tronxy/X1/Configuration.h b/Marlin/src/config/examples/Tronxy/X1/Configuration.h index 5523705e9bc7..c644bac1c6c7 100644 --- a/Marlin/src/config/examples/Tronxy/X1/Configuration.h +++ b/Marlin/src/config/examples/Tronxy/X1/Configuration.h @@ -753,6 +753,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/Tronxy/X3A/Configuration.h b/Marlin/src/config/examples/Tronxy/X3A/Configuration.h index ce5548f981a2..84d8f9f1fcda 100644 --- a/Marlin/src/config/examples/Tronxy/X3A/Configuration.h +++ b/Marlin/src/config/examples/Tronxy/X3A/Configuration.h @@ -753,6 +753,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ #define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/Tronxy/X3A/Configuration_adv.h b/Marlin/src/config/examples/Tronxy/X3A/Configuration_adv.h index fc7099a17465..5bee66d172a7 100644 --- a/Marlin/src/config/examples/Tronxy/X3A/Configuration_adv.h +++ b/Marlin/src/config/examples/Tronxy/X3A/Configuration_adv.h @@ -1257,7 +1257,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1296,7 +1296,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/Tronxy/X5S/Configuration.h b/Marlin/src/config/examples/Tronxy/X5S/Configuration.h index c19cf908703f..d537e2bb711c 100644 --- a/Marlin/src/config/examples/Tronxy/X5S/Configuration.h +++ b/Marlin/src/config/examples/Tronxy/X5S/Configuration.h @@ -753,6 +753,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/Tronxy/XY100/Configuration.h b/Marlin/src/config/examples/Tronxy/XY100/Configuration.h index ca95bb42319d..ae657c33bb30 100644 --- a/Marlin/src/config/examples/Tronxy/XY100/Configuration.h +++ b/Marlin/src/config/examples/Tronxy/XY100/Configuration.h @@ -764,6 +764,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/UltiMachine/Archim2/Configuration.h b/Marlin/src/config/examples/UltiMachine/Archim2/Configuration.h index 760a6a4ced19..6281904ca896 100644 --- a/Marlin/src/config/examples/UltiMachine/Archim2/Configuration.h +++ b/Marlin/src/config/examples/UltiMachine/Archim2/Configuration.h @@ -753,6 +753,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h b/Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h index ab720bdaf56d..65b6d354c8f5 100644 --- a/Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h +++ b/Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h @@ -1268,7 +1268,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1307,7 +1307,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/Velleman/K8200/Configuration.h b/Marlin/src/config/examples/Velleman/K8200/Configuration.h index 3e8b3c324ea9..7302cf7aea2e 100644 --- a/Marlin/src/config/examples/Velleman/K8200/Configuration.h +++ b/Marlin/src/config/examples/Velleman/K8200/Configuration.h @@ -782,6 +782,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h b/Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h index d5557ec74907..65959285dcb1 100644 --- a/Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h +++ b/Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h @@ -1281,7 +1281,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1320,7 +1320,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/Velleman/K8400/Configuration.h b/Marlin/src/config/examples/Velleman/K8400/Configuration.h index 7f1fbc59d827..9300ef04983d 100644 --- a/Marlin/src/config/examples/Velleman/K8400/Configuration.h +++ b/Marlin/src/config/examples/Velleman/K8400/Configuration.h @@ -753,6 +753,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h b/Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h index 25a275a9fe76..51311b5a63fb 100644 --- a/Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h +++ b/Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h @@ -1268,7 +1268,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1307,7 +1307,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/Velleman/K8400/Dual-head/Configuration.h b/Marlin/src/config/examples/Velleman/K8400/Dual-head/Configuration.h index 00b7487256f6..d8ed9bed864f 100644 --- a/Marlin/src/config/examples/Velleman/K8400/Dual-head/Configuration.h +++ b/Marlin/src/config/examples/Velleman/K8400/Dual-head/Configuration.h @@ -753,6 +753,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration.h b/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration.h index 908dc67dc2b8..6528423a5662 100644 --- a/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration.h +++ b/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration.h @@ -763,6 +763,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h b/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h index 8dd8338f253c..c58efb832fc9 100644 --- a/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h +++ b/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h @@ -1270,7 +1270,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1309,7 +1309,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/adafruit/ST7565/Configuration.h b/Marlin/src/config/examples/adafruit/ST7565/Configuration.h index 25c8404f1037..3032148ac757 100644 --- a/Marlin/src/config/examples/adafruit/ST7565/Configuration.h +++ b/Marlin/src/config/examples/adafruit/ST7565/Configuration.h @@ -753,6 +753,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration.h b/Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration.h index 359f50ae313d..1ac25e7232b4 100644 --- a/Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration.h +++ b/Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration.h @@ -672,7 +672,11 @@ #define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. -#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. +#if ANYCUBIC_PROBE_VERSION == 1 + #define Z_MIN_PROBE_ENDSTOP_INVERTING false // V1 Probe is NC +#elif ANYCUBIC_PROBE_VERSION == 2 + #define Z_MIN_PROBE_ENDSTOP_INVERTING true // V2 Probe is NO +#endif /** * Stepper Drivers @@ -871,6 +875,9 @@ */ #if ANYCUBIC_PROBE_VERSION > 0 #define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif #endif /** @@ -934,12 +941,12 @@ #define X_PROBE_OFFSET_FROM_EXTRUDER 0 // X offset: -left +right [of the nozzle] #define Y_PROBE_OFFSET_FROM_EXTRUDER 0 // Y offset: -front +behind [the nozzle] -#if ANYCUBIC_PROBE_VERSION == 0 - #define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#if ANYCUBIC_PROBE_VERSION == 2 + #define Z_PROBE_OFFSET_FROM_EXTRUDER -16.8 // Z offset: -below +above [the nozzle] #elif ANYCUBIC_PROBE_VERSION == 1 #define Z_PROBE_OFFSET_FROM_EXTRUDER -19.0 // Z offset: -below +above [the nozzle] #else - #define Z_PROBE_OFFSET_FROM_EXTRUDER -16.8 // Z offset: -below +above [the nozzle] + #define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] #endif // Certain types of probes need to stay away from edges @@ -1020,10 +1027,10 @@ * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. * But: `M851 Z+1` with a CLEARANCE of 2 => 2mm from bed to nozzle. */ -#define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow -#define Z_CLEARANCE_BETWEEN_PROBES 25 // Z Clearance between probe points -#define Z_CLEARANCE_MULTI_PROBE 25 // Z Clearance between multiple probes -#define Z_AFTER_PROBING 30 // Z position after probing is done +#define Z_CLEARANCE_DEPLOY_PROBE 30 // Z Clearance for Deploy/Stow +#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes +#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping diff --git a/Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration_adv.h b/Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration_adv.h index 8bd467598829..8d12350b4e49 100644 --- a/Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration_adv.h @@ -1245,7 +1245,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** diff --git a/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration.h b/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration.h index 8199d3d1c190..98704d3923a0 100644 --- a/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration.h +++ b/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration.h @@ -835,6 +835,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ #define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h b/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h index b4d9126c054a..f6ffac913889 100644 --- a/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h @@ -1270,7 +1270,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1309,7 +1309,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration.h b/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration.h index 0807de59be6f..27fca523dac2 100644 --- a/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration.h +++ b/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration.h @@ -835,6 +835,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ #define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h b/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h index b4d9126c054a..f6ffac913889 100644 --- a/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h @@ -1270,7 +1270,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1309,7 +1309,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration.h b/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration.h index 286bdb1a5e39..a53710978a01 100644 --- a/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration.h +++ b/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration.h @@ -835,6 +835,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ #define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h b/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h index 7e3a4c093746..b9d1158da600 100644 --- a/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h @@ -1270,7 +1270,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1309,7 +1309,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/delta/Hatchbox_Alpha/Configuration.h b/Marlin/src/config/examples/delta/Hatchbox_Alpha/Configuration.h index e13482c9985c..59e7f9f401a2 100644 --- a/Marlin/src/config/examples/delta/Hatchbox_Alpha/Configuration.h +++ b/Marlin/src/config/examples/delta/Hatchbox_Alpha/Configuration.h @@ -840,6 +840,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ #define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/delta/generic/Configuration.h b/Marlin/src/config/examples/delta/generic/Configuration.h index 13545a262a2c..a9bed8e5f660 100644 --- a/Marlin/src/config/examples/delta/generic/Configuration.h +++ b/Marlin/src/config/examples/delta/generic/Configuration.h @@ -825,6 +825,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/delta/generic/Configuration_adv.h b/Marlin/src/config/examples/delta/generic/Configuration_adv.h index 7e3a4c093746..b9d1158da600 100644 --- a/Marlin/src/config/examples/delta/generic/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/generic/Configuration_adv.h @@ -1270,7 +1270,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1309,7 +1309,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/delta/kossel_mini/Configuration.h b/Marlin/src/config/examples/delta/kossel_mini/Configuration.h index e3a9ae3ef39f..c78b2de01f40 100644 --- a/Marlin/src/config/examples/delta/kossel_mini/Configuration.h +++ b/Marlin/src/config/examples/delta/kossel_mini/Configuration.h @@ -825,6 +825,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h b/Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h index 7e3a4c093746..b9d1158da600 100644 --- a/Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h @@ -1270,7 +1270,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1309,7 +1309,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/delta/kossel_pro/Configuration.h b/Marlin/src/config/examples/delta/kossel_pro/Configuration.h index 8d06fbe266c0..f15f6bdd4f59 100644 --- a/Marlin/src/config/examples/delta/kossel_pro/Configuration.h +++ b/Marlin/src/config/examples/delta/kossel_pro/Configuration.h @@ -818,6 +818,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/delta/kossel_pro/Configuration_adv.h b/Marlin/src/config/examples/delta/kossel_pro/Configuration_adv.h index 650f3ea3b146..d88116bb35a0 100644 --- a/Marlin/src/config/examples/delta/kossel_pro/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/kossel_pro/Configuration_adv.h @@ -1275,7 +1275,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1314,7 +1314,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/delta/kossel_xl/Configuration.h b/Marlin/src/config/examples/delta/kossel_xl/Configuration.h index 4b730f0dcc0a..5e39f065f0f1 100644 --- a/Marlin/src/config/examples/delta/kossel_xl/Configuration.h +++ b/Marlin/src/config/examples/delta/kossel_xl/Configuration.h @@ -828,6 +828,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ #define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h b/Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h index 8a9516d982a2..c90045a05bdd 100644 --- a/Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h @@ -1270,7 +1270,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1309,7 +1309,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration.h b/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration.h index 1ef9e26aa910..657057195264 100644 --- a/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration.h +++ b/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration.h @@ -766,6 +766,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h b/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h index 6aa34a1a9532..0fecaace96da 100644 --- a/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h +++ b/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h @@ -1268,7 +1268,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1307,7 +1307,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/makibox/Configuration.h b/Marlin/src/config/examples/makibox/Configuration.h index c01e380fca14..01d6035cbcd8 100644 --- a/Marlin/src/config/examples/makibox/Configuration.h +++ b/Marlin/src/config/examples/makibox/Configuration.h @@ -756,6 +756,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/makibox/Configuration_adv.h b/Marlin/src/config/examples/makibox/Configuration_adv.h index 0fad578879bf..563bb21026a1 100644 --- a/Marlin/src/config/examples/makibox/Configuration_adv.h +++ b/Marlin/src/config/examples/makibox/Configuration_adv.h @@ -1268,7 +1268,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1307,7 +1307,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/stm32f103ret6/Configuration.h b/Marlin/src/config/examples/stm32f103ret6/Configuration.h index a1a6c56a7c20..9115d2f9d1eb 100644 --- a/Marlin/src/config/examples/stm32f103ret6/Configuration.h +++ b/Marlin/src/config/examples/stm32f103ret6/Configuration.h @@ -755,6 +755,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/tvrrug/Round2/Configuration.h b/Marlin/src/config/examples/tvrrug/Round2/Configuration.h index a7572abac9f1..a188c73003d4 100644 --- a/Marlin/src/config/examples/tvrrug/Round2/Configuration.h +++ b/Marlin/src/config/examples/tvrrug/Round2/Configuration.h @@ -748,6 +748,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h b/Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h index 54eb5fee4dd8..896375225670 100644 --- a/Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h +++ b/Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h @@ -1268,7 +1268,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1307,7 +1307,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/config/examples/wt150/Configuration.h b/Marlin/src/config/examples/wt150/Configuration.h index 754a694f4d85..ef3ebbd81d01 100644 --- a/Marlin/src/config/examples/wt150/Configuration.h +++ b/Marlin/src/config/examples/wt150/Configuration.h @@ -758,6 +758,9 @@ * (e.g., an inductive probe or a nozzle-based probe-switch.) */ //#define FIX_MOUNTED_PROBE +#if ENABLED(FIX_MOUNTED_PROBE) + #define MANUAL_DEPLOY_STOW +#endif /** * Z Servo Probe, such as an endstop switch on a rotating arm. diff --git a/Marlin/src/config/examples/wt150/Configuration_adv.h b/Marlin/src/config/examples/wt150/Configuration_adv.h index e13b517a2617..e2e6830467e9 100644 --- a/Marlin/src/config/examples/wt150/Configuration_adv.h +++ b/Marlin/src/config/examples/wt150/Configuration_adv.h @@ -1269,7 +1269,7 @@ #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8 - #define Z_HOMING_SENSITIVITY 8 + //#define Z_HOMING_SENSITIVITY 8 #endif /** @@ -1308,7 +1308,7 @@ */ #define TMC_ADV() { } -#endif // TMC2130 || TMC2208 +#endif // HAS_TRINAMIC // @section L6470 diff --git a/Marlin/src/core/drivers.h b/Marlin/src/core/drivers.h index e775c58b5c60..0b46adae03eb 100644 --- a/Marlin/src/core/drivers.h +++ b/Marlin/src/core/drivers.h @@ -31,9 +31,9 @@ #define TB6560 0x006 #define TB6600 0x007 #define TMC2100 0x008 -#define TMC2130 0x109 +#define TMC2130 2130 #define TMC2130_STANDALONE 0x009 -#define TMC2208 0x10A +#define TMC2208 2208 #define TMC2208_STANDALONE 0x00A #define TMC26X 0x10B #define TMC26X_STANDALONE 0x00B diff --git a/Marlin/src/core/language.h b/Marlin/src/core/language.h index b6f954034d8d..e937999ecbbf 100644 --- a/Marlin/src/core/language.h +++ b/Marlin/src/core/language.h @@ -284,6 +284,9 @@ #define MSG_B "Y" #define MSG_C "Z" #endif +#define MSG_X2 "X2" +#define MSG_Y2 "Y2" +#define MSG_Z2 "Z2" #define MSG_H1 "1" #define MSG_H2 "2" #define MSG_H3 "3" @@ -296,6 +299,7 @@ #define MSG_N4 " 4" #define MSG_N5 " 5" #define MSG_N6 " 6" +#define MSG_E0 "E0" #define MSG_E1 "E1" #define MSG_E2 "E2" #define MSG_E3 "E3" diff --git a/Marlin/src/feature/tmc_util.cpp b/Marlin/src/feature/tmc_util.cpp index abfe4ba035ce..58c32c2c4ef3 100644 --- a/Marlin/src/feature/tmc_util.cpp +++ b/Marlin/src/feature/tmc_util.cpp @@ -95,13 +95,13 @@ bool report_tmc_status = false; #endif template - void monitor_tmc_driver(TMC &st, const TMC_AxisEnum axis, uint8_t &otpw_cnt) { + void monitor_tmc_driver(TMC &st) { TMC_driver_data data = get_driver_data(st); #if ENABLED(STOP_ON_ERROR) if (data.is_error) { SERIAL_EOL(); - _tmc_say_axis(axis); + st.printLabel(); SERIAL_ECHOLNPGM(" driver error detected:"); if (data.is_ot) SERIAL_ECHOLNPGM("overtemperature"); if (st.s2ga()) SERIAL_ECHOLNPGM("short to ground (coil A)"); @@ -114,7 +114,7 @@ bool report_tmc_status = false; #endif // Report if a warning was triggered - if (data.is_otpw && otpw_cnt == 0) { + if (data.is_otpw && st.otpw_count == 0) { char timestamp[10]; duration_t elapsed = print_job_timer.duration(); const bool has_days = (elapsed.value > 60*60*24L); @@ -122,38 +122,38 @@ bool report_tmc_status = false; SERIAL_EOL(); SERIAL_ECHO(timestamp); SERIAL_ECHOPGM(": "); - _tmc_say_axis(axis); + st.printLabel(); SERIAL_ECHOPGM(" driver overtemperature warning! ("); - SERIAL_ECHO(st.getCurrent()); + SERIAL_ECHO(st.getMilliamps()); SERIAL_ECHOLNPGM("mA)"); } #if CURRENT_STEP_DOWN > 0 // Decrease current if is_otpw is true and driver is enabled and there's been more than 4 warnings - if (data.is_otpw && st.isEnabled() && otpw_cnt > 4) { - st.setCurrent(st.getCurrent() - (CURRENT_STEP_DOWN), R_SENSE, HOLD_MULTIPLIER); + if (data.is_otpw && st.isEnabled() && st.otpw_count > 4) { + st.rms_current(st.getMilliamps() - (CURRENT_STEP_DOWN)); #if ENABLED(REPORT_CURRENT_CHANGE) - _tmc_say_axis(axis); - SERIAL_ECHOLNPAIR(" current decreased to ", st.getCurrent()); + st.printLabel(); + SERIAL_ECHOLNPAIR(" current decreased to ", st.getMilliamps()); #endif } #endif if (data.is_otpw) { - otpw_cnt++; + st.otpw_count++; st.flag_otpw = true; } - else if (otpw_cnt > 0) otpw_cnt = 0; + else if (st.otpw_count > 0) st.otpw_count = 0; if (report_tmc_status) { const uint32_t pwm_scale = get_pwm_scale(st); - _tmc_say_axis(axis); + st.printLabel(); SERIAL_ECHOPAIR(":", pwm_scale); SERIAL_ECHOPGM(" |0b"); SERIAL_PRINT(get_status_response(st), BIN); SERIAL_ECHOPGM("| "); if (data.is_error) SERIAL_CHAR('E'); else if (data.is_ot) SERIAL_CHAR('O'); else if (data.is_otpw) SERIAL_CHAR('W'); - else if (otpw_cnt > 0) SERIAL_PRINT(otpw_cnt, DEC); + else if (st.otpw_count > 0) SERIAL_PRINT(st.otpw_count, DEC); else if (st.flag_otpw) SERIAL_CHAR('F'); SERIAL_CHAR('\t'); } @@ -166,56 +166,43 @@ bool report_tmc_status = false; if (ELAPSED(millis(), next_cOT)) { next_cOT = millis() + 500; #if HAS_HW_COMMS(X) - static uint8_t x_otpw_cnt = 0; - monitor_tmc_driver(stepperX, TMC_X, x_otpw_cnt); + monitor_tmc_driver(stepperX); #endif #if HAS_HW_COMMS(Y) - static uint8_t y_otpw_cnt = 0; - monitor_tmc_driver(stepperY, TMC_Y, y_otpw_cnt); + monitor_tmc_driver(stepperY); #endif #if HAS_HW_COMMS(Z) - static uint8_t z_otpw_cnt = 0; - monitor_tmc_driver(stepperZ, TMC_Z, z_otpw_cnt); + monitor_tmc_driver(stepperZ); #endif #if HAS_HW_COMMS(X2) - static uint8_t x2_otpw_cnt = 0; - monitor_tmc_driver(stepperX2, TMC_X, x2_otpw_cnt); + monitor_tmc_driver(stepperX2); #endif #if HAS_HW_COMMS(Y2) - static uint8_t y2_otpw_cnt = 0; - monitor_tmc_driver(stepperY2, TMC_Y, y2_otpw_cnt); + monitor_tmc_driver(stepperY2); #endif #if HAS_HW_COMMS(Z2) - static uint8_t z2_otpw_cnt = 0; - monitor_tmc_driver(stepperZ2, TMC_Z, z2_otpw_cnt); + monitor_tmc_driver(stepperZ2); #endif #if HAS_HW_COMMS(Z3) - static uint8_t z3_otpw_cnt = 0; - monitor_tmc_driver(stepperZ3, TMC_Z, z3_otpw_cnt); + monitor_tmc_driver(stepperZ3); #endif #if HAS_HW_COMMS(E0) - static uint8_t e0_otpw_cnt = 0; - monitor_tmc_driver(stepperE0, TMC_E0, e0_otpw_cnt); + monitor_tmc_driver(stepperE0); #endif #if HAS_HW_COMMS(E1) - static uint8_t e1_otpw_cnt = 0; - monitor_tmc_driver(stepperE1, TMC_E1, e1_otpw_cnt); + monitor_tmc_driver(stepperE1); #endif #if HAS_HW_COMMS(E2) - static uint8_t e2_otpw_cnt = 0; - monitor_tmc_driver(stepperE2, TMC_E2, e2_otpw_cnt); + monitor_tmc_driver(stepperE2); #endif #if HAS_HW_COMMS(E3) - static uint8_t e3_otpw_cnt = 0; - monitor_tmc_driver(stepperE3, TMC_E3, e3_otpw_cnt); + monitor_tmc_driver(stepperE3); #endif #if HAS_HW_COMMS(E4) - static uint8_t e4_otpw_cnt = 0; - monitor_tmc_driver(stepperE4, TMC_E4, e4_otpw_cnt); + monitor_tmc_driver(stepperE4); #endif #if HAS_HW_COMMS(E5) - static uint8_t e5_otpw_cnt = 0; - monitor_tmc_driver(stepperE5, TMC_E5, e5_otpw_cnt); + monitor_tmc_driver(stepperE5); #endif if (report_tmc_status) SERIAL_EOL(); @@ -224,100 +211,6 @@ bool report_tmc_status = false; #endif // MONITOR_DRIVER_STATUS -void _tmc_say_axis(const TMC_AxisEnum axis) { - static const char ext_X[] PROGMEM = "X", ext_Y[] PROGMEM = "Y", ext_Z[] PROGMEM = "Z" - #if ENABLED(DUAL_X_CARRIAGE) || ENABLED(X_DUAL_STEPPER_DRIVERS) - , ext_X2[] PROGMEM = "X2" - #endif - #if ENABLED(Y_DUAL_STEPPER_DRIVERS) - , ext_Y2[] PROGMEM = "Y2" - #endif - #if Z_MULTI_STEPPER_DRIVERS - , ext_Z2[] PROGMEM = "Z2" - #if ENABLED(Z_TRIPLE_STEPPER_DRIVERS) - , ext_Z3[] PROGMEM = "Z3" - #endif - #endif - #if E_STEPPERS - , ext_E0[] PROGMEM = "E0" - #if E_STEPPERS > 1 - , ext_E1[] PROGMEM = "E1" - #if E_STEPPERS > 2 - , ext_E2[] PROGMEM = "E2" - #if E_STEPPERS > 3 - , ext_E3[] PROGMEM = "E3" - #if E_STEPPERS > 4 - , ext_E4[] PROGMEM = "E4" - #if E_STEPPERS > 5 - , ext_E5[] PROGMEM = "E5" - #endif - #endif - #endif - #endif - #endif - #endif - ; - - static const char* const tmc_axes[] PROGMEM = { - ext_X, ext_Y, ext_Z - #if ENABLED(DUAL_X_CARRIAGE) || ENABLED(X_DUAL_STEPPER_DRIVERS) - , ext_X2 - #endif - #if ENABLED(Y_DUAL_STEPPER_DRIVERS) - , ext_Y2 - #endif - #if Z_MULTI_STEPPER_DRIVERS - , ext_Z2 - #if ENABLED(Z_TRIPLE_STEPPER_DRIVERS) - , ext_Z3 - #endif - #endif - #if E_STEPPERS - , ext_E0 - #if E_STEPPERS > 1 - , ext_E1 - #if E_STEPPERS > 2 - , ext_E2 - #if E_STEPPERS > 3 - , ext_E3 - #if E_STEPPERS > 4 - , ext_E4 - #if E_STEPPERS > 5 - , ext_E5 - #endif - #endif - #endif - #endif - #endif - #endif - }; - serialprintPGM((char*)pgm_read_ptr(&tmc_axes[axis])); -} - -void _tmc_say_current(const TMC_AxisEnum axis, const uint16_t curr) { - _tmc_say_axis(axis); - SERIAL_ECHOLNPAIR(" driver current: ", curr); -} -void _tmc_say_otpw(const TMC_AxisEnum axis, const bool otpw) { - _tmc_say_axis(axis); - SERIAL_ECHOPGM(" temperature prewarn triggered: "); - serialprintPGM(otpw ? PSTR("true") : PSTR("false")); - SERIAL_EOL(); -} -void _tmc_say_otpw_cleared(const TMC_AxisEnum axis) { - _tmc_say_axis(axis); - SERIAL_ECHOLNPGM(" prewarn flag cleared"); -} -void _tmc_say_pwmthrs(const TMC_AxisEnum axis, const uint32_t thrs) { - _tmc_say_axis(axis); - SERIAL_ECHOLNPAIR(" stealthChop max speed: ", thrs); -} -void _tmc_say_sgt(const TMC_AxisEnum axis, const int8_t sgt) { - _tmc_say_axis(axis); - SERIAL_ECHOPGM(" homing sensitivity: "); - SERIAL_PRINTLN(sgt, DEC); -} - #if ENABLED(TMC_DEBUG) enum TMC_debug_enum : char { @@ -366,9 +259,7 @@ void _tmc_say_sgt(const TMC_AxisEnum axis, const int8_t sgt) { TMC_S2VSB, TMC_S2VSA }; - static void drv_status_print_hex(const TMC_AxisEnum axis, const uint32_t drv_status) { - _tmc_say_axis(axis); - SERIAL_ECHOPGM(" = 0x"); + static void drv_status_print_hex(const uint32_t drv_status) { for (int B = 24; B >= 8; B -= 8){ SERIAL_PRINT((drv_status >> (B + 4)) & 0xF, HEX); SERIAL_PRINT((drv_status >> B) & 0xF, HEX); @@ -379,17 +270,19 @@ void _tmc_say_sgt(const TMC_AxisEnum axis, const int8_t sgt) { SERIAL_EOL(); } + template + static void print_vsense(TMC &st) { serialprintPGM(st.vsense() ? PSTR("1=.18") : PSTR("0=.325")); } + #if HAS_DRIVER(TMC2130) static void tmc_status(TMC2130Stepper &st, const TMC_debug_enum i) { switch (i) { case TMC_PWM_SCALE: SERIAL_PRINT(st.PWM_SCALE(), DEC); break; - case TMC_TSTEP: SERIAL_ECHO(st.TSTEP()); break; case TMC_SGT: SERIAL_PRINT(st.sgt(), DEC); break; - case TMC_STEALTHCHOP: serialprintPGM(st.stealthChop() ? PSTR("true") : PSTR("false")); break; + case TMC_STEALTHCHOP: serialprintPGM(st.en_pwm_mode() ? PSTR("true") : PSTR("false")); break; default: break; } } - static void tmc_parse_drv_status(TMC2130Stepper &st, const TMC_drv_status_enum i) { + static void _tmc_parse_drv_status(TMC2130Stepper &st, const TMC_drv_status_enum i) { switch (i) { case TMC_STALLGUARD: if (st.stallguard()) SERIAL_CHAR('X'); break; case TMC_SG_RESULT: SERIAL_PRINT(st.sg_result(), DEC); break; @@ -402,7 +295,6 @@ void _tmc_say_sgt(const TMC_AxisEnum axis, const int8_t sgt) { #if HAS_DRIVER(TMC2208) static void tmc_status(TMC2208Stepper &st, const TMC_debug_enum i) { switch (i) { - case TMC_TSTEP: { uint32_t data = 0; st.TSTEP(&data); SERIAL_PROTOCOL(data); break; } case TMC_PWM_SCALE: SERIAL_PRINT(st.pwm_scale_sum(), DEC); break; case TMC_STEALTHCHOP: serialprintPGM(st.stealth() ? PSTR("true") : PSTR("false")); break; case TMC_S2VSA: if (st.s2vsa()) SERIAL_CHAR('X'); break; @@ -410,7 +302,7 @@ void _tmc_say_sgt(const TMC_AxisEnum axis, const int8_t sgt) { default: break; } } - static void tmc_parse_drv_status(TMC2208Stepper &st, const TMC_drv_status_enum i) { + static void _tmc_parse_drv_status(TMC2208Stepper &st, const TMC_drv_status_enum i) { switch (i) { case TMC_T157: if (st.t157()) SERIAL_CHAR('X'); break; case TMC_T150: if (st.t150()) SERIAL_CHAR('X'); break; @@ -422,12 +314,12 @@ void _tmc_say_sgt(const TMC_AxisEnum axis, const int8_t sgt) { #endif template - static void tmc_status(TMC &st, const TMC_AxisEnum axis, const TMC_debug_enum i, const float spmm) { + static void tmc_status(TMC &st, const TMC_debug_enum i, const float spmm) { SERIAL_ECHO('\t'); switch (i) { - case TMC_CODES: _tmc_say_axis(axis); break; + case TMC_CODES: st.printLabel(); break; case TMC_ENABLED: serialprintPGM(st.isEnabled() ? PSTR("true") : PSTR("false")); break; - case TMC_CURRENT: SERIAL_ECHO(st.getCurrent()); break; + case TMC_CURRENT: SERIAL_ECHO(st.getMilliamps()); break; case TMC_RMS_CURRENT: SERIAL_PROTOCOL(st.rms_current()); break; case TMC_MAX_CURRENT: SERIAL_PRINT((float)st.rms_current() * 1.41, 0); break; case TMC_IRUN: @@ -442,10 +334,9 @@ void _tmc_say_sgt(const TMC_AxisEnum axis, const int8_t sgt) { SERIAL_PRINT(st.cs_actual(), DEC); SERIAL_ECHOPGM("/31"); break; - - case TMC_VSENSE: serialprintPGM(st.vsense() ? PSTR("1=.18") : PSTR("0=.325")); break; - + case TMC_VSENSE: print_vsense(st); break; case TMC_MICROSTEPS: SERIAL_ECHO(st.microsteps()); break; + case TMC_TSTEP: SERIAL_ECHO(st.TSTEP()); break; case TMC_TPWMTHRS: { uint32_t tpwmthrs_val = st.TPWMTHRS(); SERIAL_ECHO(tpwmthrs_val); @@ -470,10 +361,10 @@ void _tmc_say_sgt(const TMC_AxisEnum axis, const int8_t sgt) { } template - static void tmc_parse_drv_status(TMC &st, const TMC_AxisEnum axis, const TMC_drv_status_enum i) { + static void tmc_parse_drv_status(TMC &st, const TMC_drv_status_enum i) { SERIAL_CHAR('\t'); switch (i) { - case TMC_DRV_CODES: _tmc_say_axis(axis); break; + case TMC_DRV_CODES: st.printLabel(); break; case TMC_STST: if (st.stst()) SERIAL_CHAR('X'); break; case TMC_OLB: if (st.olb()) SERIAL_CHAR('X'); break; case TMC_OLA: if (st.ola()) SERIAL_CHAR('X'); break; @@ -482,69 +373,73 @@ void _tmc_say_sgt(const TMC_AxisEnum axis, const int8_t sgt) { case TMC_DRV_OTPW: if (st.otpw()) SERIAL_CHAR('X'); break; case TMC_OT: if (st.ot()) SERIAL_CHAR('X'); break; case TMC_DRV_CS_ACTUAL: SERIAL_PRINT(st.cs_actual(), DEC); break; - case TMC_DRV_STATUS_HEX:drv_status_print_hex(axis, st.DRV_STATUS()); break; - default: tmc_parse_drv_status(st, i); break; + case TMC_DRV_STATUS_HEX: + st.printLabel(); + SERIAL_ECHOPGM("\t0x"); + drv_status_print_hex(st.DRV_STATUS()); + break; + default: _tmc_parse_drv_status(st, i); break; } } static void tmc_debug_loop(const TMC_debug_enum i) { #if AXIS_IS_TMC(X) - tmc_status(stepperX, TMC_X, i, planner.axis_steps_per_mm[X_AXIS]); + tmc_status(stepperX, i, planner.axis_steps_per_mm[X_AXIS]); #endif #if AXIS_IS_TMC(X2) - tmc_status(stepperX2, TMC_X2, i, planner.axis_steps_per_mm[X_AXIS]); + tmc_status(stepperX2, i, planner.axis_steps_per_mm[X_AXIS]); #endif #if AXIS_IS_TMC(Y) - tmc_status(stepperY, TMC_Y, i, planner.axis_steps_per_mm[Y_AXIS]); + tmc_status(stepperY, i, planner.axis_steps_per_mm[Y_AXIS]); #endif #if AXIS_IS_TMC(Y2) - tmc_status(stepperY2, TMC_Y2, i, planner.axis_steps_per_mm[Y_AXIS]); + tmc_status(stepperY2, i, planner.axis_steps_per_mm[Y_AXIS]); #endif #if AXIS_IS_TMC(Z) - tmc_status(stepperZ, TMC_Z, i, planner.axis_steps_per_mm[Z_AXIS]); + tmc_status(stepperZ, i, planner.axis_steps_per_mm[Z_AXIS]); #endif #if AXIS_IS_TMC(Z2) - tmc_status(stepperZ2, TMC_Z2, i, planner.axis_steps_per_mm[Z_AXIS]); + tmc_status(stepperZ2, i, planner.axis_steps_per_mm[Z_AXIS]); #endif #if AXIS_IS_TMC(Z3) - tmc_status(stepperZ3, TMC_Z3, i, planner.axis_steps_per_mm[Z_AXIS]); + tmc_status(stepperZ3, i, planner.axis_steps_per_mm[Z_AXIS]); #endif #if AXIS_IS_TMC(E0) - tmc_status(stepperE0, TMC_E0, i, planner.axis_steps_per_mm[E_AXIS]); + tmc_status(stepperE0, i, planner.axis_steps_per_mm[E_AXIS]); #endif #if AXIS_IS_TMC(E1) - tmc_status(stepperE1, TMC_E1, i, planner.axis_steps_per_mm[E_AXIS + tmc_status(stepperE1, i, planner.axis_steps_per_mm[E_AXIS #if ENABLED(DISTINCT_E_FACTORS) + 1 #endif ]); #endif #if AXIS_IS_TMC(E2) - tmc_status(stepperE2, TMC_E2, i, planner.axis_steps_per_mm[E_AXIS + tmc_status(stepperE2, i, planner.axis_steps_per_mm[E_AXIS #if ENABLED(DISTINCT_E_FACTORS) + 2 #endif ]); #endif #if AXIS_IS_TMC(E3) - tmc_status(stepperE3, TMC_E3, i, planner.axis_steps_per_mm[E_AXIS + tmc_status(stepperE3, i, planner.axis_steps_per_mm[E_AXIS #if ENABLED(DISTINCT_E_FACTORS) + 3 #endif ]); #endif #if AXIS_IS_TMC(E4) - tmc_status(stepperE4, TMC_E4, i, planner.axis_steps_per_mm[E_AXIS + tmc_status(stepperE4, i, planner.axis_steps_per_mm[E_AXIS #if ENABLED(DISTINCT_E_FACTORS) + 4 #endif ]); #endif #if AXIS_IS_TMC(E5) - tmc_status(stepperE5, TMC_E5, i, planner.axis_steps_per_mm[E_AXIS + tmc_status(stepperE5, i, planner.axis_steps_per_mm[E_AXIS #if ENABLED(DISTINCT_E_FACTORS) + 5 #endif @@ -556,46 +451,46 @@ void _tmc_say_sgt(const TMC_AxisEnum axis, const int8_t sgt) { static void drv_status_loop(const TMC_drv_status_enum i) { #if AXIS_IS_TMC(X) - tmc_parse_drv_status(stepperX, TMC_X, i); + tmc_parse_drv_status(stepperX, i); #endif #if AXIS_IS_TMC(X2) - tmc_parse_drv_status(stepperX2, TMC_X2, i); + tmc_parse_drv_status(stepperX2, i); #endif #if AXIS_IS_TMC(Y) - tmc_parse_drv_status(stepperY, TMC_Y, i); + tmc_parse_drv_status(stepperY, i); #endif #if AXIS_IS_TMC(Y2) - tmc_parse_drv_status(stepperY2, TMC_Y2, i); + tmc_parse_drv_status(stepperY2, i); #endif #if AXIS_IS_TMC(Z) - tmc_parse_drv_status(stepperZ, TMC_Z, i); + tmc_parse_drv_status(stepperZ, i); #endif #if AXIS_IS_TMC(Z2) - tmc_parse_drv_status(stepperZ2, TMC_Z2, i); + tmc_parse_drv_status(stepperZ2, i); #endif #if AXIS_IS_TMC(Z3) - tmc_parse_drv_status(stepperZ3, TMC_Z3, i); + tmc_parse_drv_status(stepperZ3, i); #endif #if AXIS_IS_TMC(E0) - tmc_parse_drv_status(stepperE0, TMC_E0, i); + tmc_parse_drv_status(stepperE0, i); #endif #if AXIS_IS_TMC(E1) - tmc_parse_drv_status(stepperE1, TMC_E1, i); + tmc_parse_drv_status(stepperE1, i); #endif #if AXIS_IS_TMC(E2) - tmc_parse_drv_status(stepperE2, TMC_E2, i); + tmc_parse_drv_status(stepperE2, i); #endif #if AXIS_IS_TMC(E3) - tmc_parse_drv_status(stepperE3, TMC_E3, i); + tmc_parse_drv_status(stepperE3, i); #endif #if AXIS_IS_TMC(E4) - tmc_parse_drv_status(stepperE4, TMC_E4, i); + tmc_parse_drv_status(stepperE4, i); #endif #if AXIS_IS_TMC(E5) - tmc_parse_drv_status(stepperE5, TMC_E5, i); + tmc_parse_drv_status(stepperE5, i); #endif SERIAL_EOL(); @@ -620,7 +515,7 @@ void _tmc_say_sgt(const TMC_AxisEnum axis, const int8_t sgt) { TMC_REPORT("Run current", TMC_IRUN); TMC_REPORT("Hold current", TMC_IHOLD); TMC_REPORT("CS actual\t", TMC_CS_ACTUAL); - TMC_REPORT("PWM scale\t", TMC_PWM_SCALE); + TMC_REPORT("PWM scale", TMC_PWM_SCALE); TMC_REPORT("vsense\t", TMC_VSENSE); TMC_REPORT("stealthChop", TMC_STEALTHCHOP); TMC_REPORT("msteps\t", TMC_MICROSTEPS); @@ -657,7 +552,7 @@ void _tmc_say_sgt(const TMC_AxisEnum axis, const int8_t sgt) { DRV_REPORT("s2vsa\t", TMC_S2VSA); DRV_REPORT("s2vsb\t", TMC_S2VSB); #endif - DRV_REPORT("Driver registers:", TMC_DRV_STATUS_HEX); + DRV_REPORT("Driver registers:\n",TMC_DRV_STATUS_HEX); SERIAL_EOL(); } @@ -666,9 +561,9 @@ void _tmc_say_sgt(const TMC_AxisEnum axis, const int8_t sgt) { #if ENABLED(SENSORLESS_HOMING) void tmc_sensorless_homing(TMC2130Stepper &st, const bool enable/*=true*/) { - st.coolstep_min_speed(enable ? 1024UL * 1024UL - 1UL : 0); + st.TCOOLTHRS(enable ? 0xFFFFF : 0); #if ENABLED(STEALTHCHOP) - st.stealthChop(!enable); + st.en_pwm_mode(!enable); #endif st.diag1_stall(enable ? 1 : 0); } @@ -676,45 +571,46 @@ void _tmc_say_sgt(const TMC_AxisEnum axis, const int8_t sgt) { #endif // SENSORLESS_HOMING #if HAS_DRIVER(TMC2130) + #define IS_TMC_SPI(ST) AXIS_DRIVER_TYPE(ST, TMC2130) #define SET_CS_PIN(st) OUT_WRITE(st##_CS_PIN, HIGH) void tmc_init_cs_pins() { - #if AXIS_DRIVER_TYPE(X, TMC2130) + #if IS_TMC_SPI(X) SET_CS_PIN(X); #endif - #if AXIS_DRIVER_TYPE(Y, TMC2130) + #if IS_TMC_SPI(Y) SET_CS_PIN(Y); #endif - #if AXIS_DRIVER_TYPE(Z, TMC2130) + #if IS_TMC_SPI(Z) SET_CS_PIN(Z); #endif - #if AXIS_DRIVER_TYPE(X2, TMC2130) + #if IS_TMC_SPI(X2) SET_CS_PIN(X2); #endif - #if AXIS_DRIVER_TYPE(Y2, TMC2130) + #if IS_TMC_SPI(Y2) SET_CS_PIN(Y2); #endif - #if AXIS_DRIVER_TYPE(Z2, TMC2130) + #if IS_TMC_SPI(Z2) SET_CS_PIN(Z2); #endif - #if AXIS_DRIVER_TYPE(Z3, TMC2130) + #if IS_TMC_SPI(Z3) SET_CS_PIN(Z3); #endif - #if AXIS_DRIVER_TYPE(E0, TMC2130) + #if IS_TMC_SPI(E0) SET_CS_PIN(E0); #endif - #if AXIS_DRIVER_TYPE(E1, TMC2130) + #if IS_TMC_SPI(E1) SET_CS_PIN(E1); #endif - #if AXIS_DRIVER_TYPE(E2, TMC2130) + #if IS_TMC_SPI(E2) SET_CS_PIN(E2); #endif - #if AXIS_DRIVER_TYPE(E3, TMC2130) + #if IS_TMC_SPI(E3) SET_CS_PIN(E3); #endif - #if AXIS_DRIVER_TYPE(E4, TMC2130) + #if IS_TMC_SPI(E4) SET_CS_PIN(E4); #endif - #if AXIS_DRIVER_TYPE(E5, TMC2130) + #if IS_TMC_SPI(E5) SET_CS_PIN(E5); #endif } diff --git a/Marlin/src/feature/tmc_util.h b/Marlin/src/feature/tmc_util.h index 514f603f18e0..a69e4ba27d18 100644 --- a/Marlin/src/feature/tmc_util.h +++ b/Marlin/src/feature/tmc_util.h @@ -23,14 +23,9 @@ #ifndef _TMC_UTIL_H_ #define _TMC_UTIL_H_ -#include "../inc/MarlinConfigPre.h" - -#if HAS_DRIVER(TMC2130) - #include -#endif - -#if HAS_DRIVER(TMC2208) - #include +#include "../inc/MarlinConfig.h" +#if HAS_TRINAMIC + #include #endif extern bool report_tmc_status; @@ -69,45 +64,110 @@ enum TMC_AxisEnum : char { #endif // E_STEPPERS }; +class TMCStorage { + protected: + virtual void abstract() = 0; + uint16_t val_mA = 0; + const char* label; + public: + TMCStorage(const char* tmc_label) : label(tmc_label) {} + + #if ENABLED(MONITOR_DRIVER_STATUS) + uint8_t otpw_count = 0; + #endif + + bool flag_otpw = false; + bool getOTPW() { return flag_otpw; } + void clear_otpw() { flag_otpw = 0; } + uint16_t getMilliamps() { return val_mA; } + void printLabel() { serialprintPGM(label); } +}; + +template +class TMCMarlin : public TMC, public TMCStorage { + void abstract() override {}; + public: + TMCMarlin(const char* tmc_label, uint16_t cs_pin, float RS) : + TMC(cs_pin, RS), + TMCStorage(tmc_label) + {} + TMCMarlin(const char* tmc_label, uint16_t CS, float RS, uint16_t pinMOSI, uint16_t pinMISO, uint16_t pinSCK) : + TMC(CS, RS, pinMOSI, pinMISO, pinSCK), + TMCStorage(tmc_label) + {} + uint16_t rms_current() { return TMC::rms_current(); } + void rms_current(uint16_t mA) { + this->val_mA = mA; + TMC::rms_current(mA); + } + void rms_current(uint16_t mA, float mult) { + this->val_mA = mA; + TMC::rms_current(mA, mult); + } +}; +template<> +class TMCMarlin : public TMC2208Stepper, public TMCStorage { + void abstract() override {}; + public: + TMCMarlin(const char* tmc_label, Stream * SerialPort, float RS, bool has_rx=true) : + TMC2208Stepper(SerialPort, RS, has_rx=true), + TMCStorage(tmc_label) + {} + TMCMarlin(const char* tmc_label, uint16_t RX, uint16_t TX, float RS, bool has_rx=true) : + TMC2208Stepper(RX, TX, RS, has_rx=true), + TMCStorage(tmc_label) + {} + uint16_t rms_current() { return TMC2208Stepper::rms_current(); } + void rms_current(uint16_t mA) { + this->val_mA = mA; + TMC2208Stepper::rms_current(mA); + } + void rms_current(uint16_t mA, float mult) { + this->val_mA = mA; + TMC2208Stepper::rms_current(mA, mult); + } +}; + constexpr uint32_t _tmc_thrs(const uint16_t msteps, const int32_t thrs, const uint32_t spmm) { return 12650000UL * msteps / (256 * thrs * spmm); } -void _tmc_say_axis(const TMC_AxisEnum axis); -void _tmc_say_current(const TMC_AxisEnum axis, const uint16_t curr); -void _tmc_say_otpw(const TMC_AxisEnum axis, const bool otpw); -void _tmc_say_otpw_cleared(const TMC_AxisEnum axis); -void _tmc_say_pwmthrs(const TMC_AxisEnum axis, const uint32_t thrs); -void _tmc_say_sgt(const TMC_AxisEnum axis, const int8_t sgt); - template -void tmc_get_current(TMC &st, const TMC_AxisEnum axis) { - _tmc_say_current(axis, st.getCurrent()); +void tmc_get_current(TMC &st) { + st.printLabel(); + SERIAL_ECHOLNPAIR(" driver current: ", st.getMilliamps()); } template void tmc_set_current(TMC &st, const int mA) { - st.setCurrent(mA, R_SENSE, HOLD_MULTIPLIER); + st.rms_current(mA); } template -void tmc_report_otpw(TMC &st, const TMC_AxisEnum axis) { - _tmc_say_otpw(axis, st.getOTPW()); +void tmc_report_otpw(TMC &st) { + st.printLabel(); + SERIAL_ECHOPGM(" temperature prewarn triggered: "); + serialprintPGM(st.getOTPW() ? PSTR("true") : PSTR("false")); + SERIAL_EOL(); } template -void tmc_clear_otpw(TMC &st, const TMC_AxisEnum axis) { +void tmc_clear_otpw(TMC &st) { st.clear_otpw(); - _tmc_say_otpw_cleared(axis); + st.printLabel(); + SERIAL_ECHOLNPGM(" prewarn flag cleared"); } template -void tmc_get_pwmthrs(TMC &st, const TMC_AxisEnum axis, const uint16_t spmm) { - _tmc_say_pwmthrs(axis, _tmc_thrs(st.microsteps(), st.TPWMTHRS(), spmm)); +void tmc_get_pwmthrs(TMC &st, const uint16_t spmm) { + st.printLabel(); + SERIAL_ECHOLNPAIR(" stealthChop max speed: ", _tmc_thrs(st.microsteps(), st.TPWMTHRS(), spmm)); } template void tmc_set_pwmthrs(TMC &st, const int32_t thrs, const uint32_t spmm) { st.TPWMTHRS(_tmc_thrs(st.microsteps(), thrs, spmm)); } template -void tmc_get_sgt(TMC &st, const TMC_AxisEnum axis) { - _tmc_say_sgt(axis, st.sgt()); +void tmc_get_sgt(TMC &st) { + st.printLabel(); + SERIAL_ECHOPGM(" homing sensitivity: "); + SERIAL_PRINTLN(st.sgt(), DEC); } template void tmc_set_sgt(TMC &st, const int8_t sgt_val) { diff --git a/Marlin/src/gcode/feature/trinamic/M906.cpp b/Marlin/src/gcode/feature/trinamic/M906.cpp index e727d3e30a28..853f09838b14 100644 --- a/Marlin/src/gcode/feature/trinamic/M906.cpp +++ b/Marlin/src/gcode/feature/trinamic/M906.cpp @@ -33,7 +33,7 @@ * Report driver currents when no axis specified */ void GcodeSuite::M906() { - #define TMC_SAY_CURRENT(Q) tmc_get_current(stepper##Q, TMC_##Q) + #define TMC_SAY_CURRENT(Q) tmc_get_current(stepper##Q) #define TMC_SET_CURRENT(Q) tmc_set_current(stepper##Q, value) bool report = true; diff --git a/Marlin/src/gcode/feature/trinamic/M911-M915.cpp b/Marlin/src/gcode/feature/trinamic/M911-M915.cpp index b24e901f82d1..ca399b7e88a7 100644 --- a/Marlin/src/gcode/feature/trinamic/M911-M915.cpp +++ b/Marlin/src/gcode/feature/trinamic/M911-M915.cpp @@ -39,43 +39,43 @@ */ void GcodeSuite::M911() { #if M91x_USE(X) - tmc_report_otpw(stepperX, TMC_X); + tmc_report_otpw(stepperX); #endif #if M91x_USE(X2) - tmc_report_otpw(stepperX2, TMC_X2); + tmc_report_otpw(stepperX2); #endif #if M91x_USE(Y) - tmc_report_otpw(stepperY, TMC_Y); + tmc_report_otpw(stepperY); #endif #if M91x_USE(Y2) - tmc_report_otpw(stepperY2, TMC_Y2); + tmc_report_otpw(stepperY2); #endif #if M91x_USE(Z) - tmc_report_otpw(stepperZ, TMC_Z); + tmc_report_otpw(stepperZ); #endif #if M91x_USE(Z2) - tmc_report_otpw(stepperZ2, TMC_Z2); + tmc_report_otpw(stepperZ2); #endif #if M91x_USE(Z3) - tmc_report_otpw(stepperZ3, TMC_Z3); + tmc_report_otpw(stepperZ3); #endif #if M91x_USE_E(0) - tmc_report_otpw(stepperE0, TMC_E0); + tmc_report_otpw(stepperE0); #endif #if M91x_USE_E(1) - tmc_report_otpw(stepperE1, TMC_E1); + tmc_report_otpw(stepperE1); #endif #if M91x_USE_E(2) - tmc_report_otpw(stepperE2, TMC_E2); + tmc_report_otpw(stepperE2); #endif #if M91x_USE_E(3) - tmc_report_otpw(stepperE3, TMC_E3); + tmc_report_otpw(stepperE3); #endif #if M91x_USE_E(4) - tmc_report_otpw(stepperE4, TMC_E4); + tmc_report_otpw(stepperE4); #endif #if M91x_USE_E(5) - tmc_report_otpw(stepperE5, TMC_E5); + tmc_report_otpw(stepperE5); #endif } @@ -101,55 +101,55 @@ void GcodeSuite::M912() { #if M91x_USE(X) || M91x_USE(X2) const int8_t xval = int8_t(parser.byteval(axis_codes[X_AXIS], 0xFF)); #if M91x_USE(X) - if (hasNone || xval == 1 || (hasX && xval < 0)) tmc_clear_otpw(stepperX, TMC_X); + if (hasNone || xval == 1 || (hasX && xval < 0)) tmc_clear_otpw(stepperX); #endif #if M91x_USE(X2) - if (hasNone || xval == 2 || (hasX && xval < 0)) tmc_clear_otpw(stepperX2, TMC_X2); + if (hasNone || xval == 2 || (hasX && xval < 0)) tmc_clear_otpw(stepperX2); #endif #endif #if M91x_USE(Y) || M91x_USE(Y2) const int8_t yval = int8_t(parser.byteval(axis_codes[Y_AXIS], 0xFF)); #if M91x_USE(Y) - if (hasNone || yval == 1 || (hasY && yval < 0)) tmc_clear_otpw(stepperY, TMC_Y); + if (hasNone || yval == 1 || (hasY && yval < 0)) tmc_clear_otpw(stepperY); #endif #if M91x_USE(Y2) - if (hasNone || yval == 2 || (hasY && yval < 0)) tmc_clear_otpw(stepperY2, TMC_Y2); + if (hasNone || yval == 2 || (hasY && yval < 0)) tmc_clear_otpw(stepperY2); #endif #endif #if M91x_USE(Z) || M91x_USE(Z2) || M91x_USE(Z3) const int8_t zval = int8_t(parser.byteval(axis_codes[Z_AXIS], 0xFF)); #if M91x_USE(Z) - if (hasNone || zval == 1 || (hasZ && zval < 0)) tmc_clear_otpw(stepperZ, TMC_Z); + if (hasNone || zval == 1 || (hasZ && zval < 0)) tmc_clear_otpw(stepperZ); #endif #if M91x_USE(Z2) - if (hasNone || zval == 2 || (hasZ && zval < 0)) tmc_clear_otpw(stepperZ2, TMC_Z2); + if (hasNone || zval == 2 || (hasZ && zval < 0)) tmc_clear_otpw(stepperZ2); #endif #if M91x_USE(Z3) - if (hasNone || zval == 3 || (hasZ && zval < 0)) tmc_clear_otpw(stepperZ3, TMC_Z3); + if (hasNone || zval == 3 || (hasZ && zval < 0)) tmc_clear_otpw(stepperZ3); #endif #endif #if M91x_USE_E(0) || M91x_USE_E(1) || M91x_USE_E(2) || M91x_USE_E(3) || M91x_USE_E(4) || M91x_USE_E(5) const uint8_t eval = int8_t(parser.byteval(axis_codes[E_AXIS], 0xFF)); #if M91x_USE_E(0) - if (hasNone || eval == 0 || (hasE && eval < 0)) tmc_clear_otpw(stepperE0, TMC_E0); + if (hasNone || eval == 0 || (hasE && eval < 0)) tmc_clear_otpw(stepperE0); #endif #if M91x_USE_E(1) - if (hasNone || eval == 1 || (hasE && eval < 0)) tmc_clear_otpw(stepperE1, TMC_E1); + if (hasNone || eval == 1 || (hasE && eval < 0)) tmc_clear_otpw(stepperE1); #endif #if M91x_USE_E(2) - if (hasNone || eval == 2 || (hasE && eval < 0)) tmc_clear_otpw(stepperE2, TMC_E2); + if (hasNone || eval == 2 || (hasE && eval < 0)) tmc_clear_otpw(stepperE2); #endif #if M91x_USE_E(3) - if (hasNone || eval == 3 || (hasE && eval < 0)) tmc_clear_otpw(stepperE3, TMC_E3); + if (hasNone || eval == 3 || (hasE && eval < 0)) tmc_clear_otpw(stepperE3); #endif #if M91x_USE_E(4) - if (hasNone || eval == 4 || (hasE && eval < 0)) tmc_clear_otpw(stepperE4, TMC_E4); + if (hasNone || eval == 4 || (hasE && eval < 0)) tmc_clear_otpw(stepperE4); #endif #if M91x_USE_E(5) - if (hasNone || eval == 5 || (hasE && eval < 0)) tmc_clear_otpw(stepperE5, TMC_E5); + if (hasNone || eval == 5 || (hasE && eval < 0)) tmc_clear_otpw(stepperE5); #endif #endif } @@ -159,9 +159,9 @@ void GcodeSuite::M912() { */ #if ENABLED(HYBRID_THRESHOLD) void GcodeSuite::M913() { - #define TMC_SAY_PWMTHRS(A,Q) tmc_get_pwmthrs(stepper##Q, TMC_##Q, planner.axis_steps_per_mm[_AXIS(A)]) + #define TMC_SAY_PWMTHRS(A,Q) tmc_get_pwmthrs(stepper##Q, planner.axis_steps_per_mm[_AXIS(A)]) #define TMC_SET_PWMTHRS(A,Q) tmc_set_pwmthrs(stepper##Q, value, planner.axis_steps_per_mm[_AXIS(A)]) - #define TMC_SAY_PWMTHRS_E(E) do{ constexpr uint8_t extruder = E; tmc_get_pwmthrs(stepperE##E, TMC_E##E, planner.axis_steps_per_mm[E_AXIS_N]); UNUSED(extruder); }while(0) + #define TMC_SAY_PWMTHRS_E(E) do{ constexpr uint8_t extruder = E; tmc_get_pwmthrs(stepperE##E, planner.axis_steps_per_mm[E_AXIS_N]); UNUSED(extruder); }while(0) #define TMC_SET_PWMTHRS_E(E) do{ constexpr uint8_t extruder = E; tmc_set_pwmthrs(stepperE##E, value, planner.axis_steps_per_mm[E_AXIS_N]); UNUSED(extruder); }while(0) bool report = true; @@ -271,7 +271,7 @@ void GcodeSuite::M912() { */ #if ENABLED(SENSORLESS_HOMING) void GcodeSuite::M914() { - #define TMC_SAY_SGT(Q) tmc_get_sgt(stepper##Q, TMC_##Q) + #define TMC_SAY_SGT(Q) tmc_get_sgt(stepper##Q) #define TMC_SET_SGT(Q) tmc_set_sgt(stepper##Q, value) bool report = true; @@ -362,16 +362,16 @@ void GcodeSuite::M912() { } #if AXIS_IS_TMC(Z) - const uint16_t Z_current_1 = stepperZ.getCurrent(); - stepperZ.setCurrent(_rms, R_SENSE, HOLD_MULTIPLIER); + const uint16_t Z_current_1 = stepperZ.getMilliamps(); + stepperZ.rms_current(_rms); #endif #if AXIS_IS_TMC(Z2) - const uint16_t Z2_current_1 = stepperZ2.getCurrent(); - stepperZ2.setCurrent(_rms, R_SENSE, HOLD_MULTIPLIER); + const uint16_t Z2_current_1 = stepperZ2.getMilliamps(); + stepperZ2.rms_current(_rms); #endif - #if Z3_IS_TRINAMIC - const uint16_t Z3_current_1 = stepperZ3.getCurrent(); - stepperZ3.setCurrent(_rms, R_SENSE, HOLD_MULTIPLIER); + #if AXIS_IS_TMC(Z3) + const uint16_t Z3_current_1 = stepperZ3.getMilliamps(); + stepperZ3.rms_current(_rms); #endif SERIAL_ECHOPAIR("\nCalibration current: Z", _rms); @@ -381,13 +381,13 @@ void GcodeSuite::M912() { do_blocking_move_to_z(Z_MAX_POS+_z); #if AXIS_IS_TMC(Z) - stepperZ.setCurrent(Z_current_1, R_SENSE, HOLD_MULTIPLIER); + stepperZ.rms_current(Z_current_1); #endif #if AXIS_IS_TMC(Z2) - stepperZ2.setCurrent(Z2_current_1, R_SENSE, HOLD_MULTIPLIER); + stepperZ2.rms_current(Z2_current_1); #endif #if AXIS_IS_TMC(Z3) - stepperZ3.setCurrent(Z3_current_1, R_SENSE, HOLD_MULTIPLIER); + stepperZ3.rms_current(Z3_current_1); #endif do_blocking_move_to_z(Z_MAX_POS); diff --git a/Marlin/src/inc/Conditionals_post.h b/Marlin/src/inc/Conditionals_post.h index 2591da491396..df2ac2303096 100644 --- a/Marlin/src/inc/Conditionals_post.h +++ b/Marlin/src/inc/Conditionals_post.h @@ -460,6 +460,9 @@ * NOTE: Driver timing order is longest-to-shortest duration. * Preserve this ordering when adding new drivers. */ + +#define TRINAMICS (HAS_TRINAMIC || HAS_DRIVER(TMC2660) || HAS_DRIVER(TMC2130_STANDALONE) || HAS_DRIVER(TMC2208_STANDALONE) || HAS_DRIVER(TMC26X_STANDALONE) || HAS_DRIVER(TMC2660_STANDALONE)) + #ifndef MINIMUM_STEPPER_DIR_DELAY #if HAS_DRIVER(TB6560) #define MINIMUM_STEPPER_DIR_DELAY 15000 @@ -473,7 +476,7 @@ #define MINIMUM_STEPPER_DIR_DELAY 400 #elif HAS_DRIVER(A4988) #define MINIMUM_STEPPER_DIR_DELAY 200 - #elif HAS_TRINAMIC || HAS_DRIVER(TMC2660) || HAS_DRIVER(TMC2130_STANDALONE) || HAS_DRIVER(TMC2208_STANDALONE) || HAS_DRIVER(TMC26X_STANDALONE) || HAS_DRIVER(TMC2660_STANDALONE) + #elif TRINAMICS #define MINIMUM_STEPPER_DIR_DELAY 20 #else #define MINIMUM_STEPPER_DIR_DELAY 0 // Expect at least 10µS since one Stepper ISR must transpire @@ -489,7 +492,7 @@ #define MINIMUM_STEPPER_PULSE 2 #elif HAS_DRIVER(A4988) || HAS_DRIVER(LV8729) || HAS_DRIVER(A5984) #define MINIMUM_STEPPER_PULSE 1 - #elif HAS_TRINAMIC || HAS_DRIVER(TMC2660) || HAS_DRIVER(TMC2130_STANDALONE) || HAS_DRIVER(TMC2208_STANDALONE) || HAS_DRIVER(TMC26X_STANDALONE) || HAS_DRIVER(TMC2660_STANDALONE) + #elif TRINAMICS #define MINIMUM_STEPPER_PULSE 0 #else #define MINIMUM_STEPPER_PULSE 2 @@ -505,7 +508,7 @@ #define MAXIMUM_STEPPER_RATE 150000 #elif HAS_DRIVER(DRV8825) #define MAXIMUM_STEPPER_RATE 250000 - #elif HAS_TRINAMIC || HAS_DRIVER(TMC2660) || HAS_DRIVER(TMC2130_STANDALONE) || HAS_DRIVER(TMC2208_STANDALONE) || HAS_DRIVER(TMC26X_STANDALONE) || HAS_DRIVER(TMC2660_STANDALONE) + #elif TRINAMICS #define MAXIMUM_STEPPER_RATE 400000 #elif HAS_DRIVER(A4988) #define MAXIMUM_STEPPER_RATE 500000 diff --git a/Marlin/src/lcd/language/language_de.h b/Marlin/src/lcd/language/language_de.h index 54c955ae9592..3f8ad05fc8f5 100644 --- a/Marlin/src/lcd/language/language_de.h +++ b/Marlin/src/lcd/language/language_de.h @@ -198,6 +198,8 @@ #define MSG_BLTOUCH_RESET _UxGT("BLTouch Reset") #define MSG_BLTOUCH_DEPLOY _UxGT("BLTouch ausfahren") #define MSG_BLTOUCH_STOW _UxGT("BLTouch einfahren") +#define MSG_MANUAL_DEPLOY _UxGT("Z-Sensor anbringen") +#define MSG_MANUAL_STOW _UxGT("Z-Sensor entfernen") #define MSG_HOME _UxGT("Vorher") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST #define MSG_FIRST _UxGT("homen") #define MSG_ZPROBE_ZOFFSET _UxGT("Z Versatz") diff --git a/Marlin/src/lcd/language/language_en.h b/Marlin/src/lcd/language/language_en.h index 536b28b027ea..687d4cc44dcb 100644 --- a/Marlin/src/lcd/language/language_en.h +++ b/Marlin/src/lcd/language/language_en.h @@ -810,6 +810,12 @@ #ifndef MSG_BLTOUCH_STOW #define MSG_BLTOUCH_STOW _UxGT("Stow BLTouch") #endif +#ifndef MSG_MANUAL_DEPLOY + #define MSG_MANUAL_DEPLOY _UxGT("Deploy Z-Probe") +#endif +#ifndef MSG_MANUAL_STOW + #define MSG_MANUAL_STOW _UxGT("Stow Z-Probe") +#endif #ifndef MSG_HOME #define MSG_HOME _UxGT("Home") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST #endif diff --git a/Marlin/src/module/configuration_store.cpp b/Marlin/src/module/configuration_store.cpp index 10c0b669629c..e1711303f850 100644 --- a/Marlin/src/module/configuration_store.cpp +++ b/Marlin/src/module/configuration_store.cpp @@ -712,7 +712,7 @@ void MarlinSettings::postprocess() { #endif // - // Save TMC2130 or TMC2208 Configuration, and placeholder values + // Save TMC Configuration, and placeholder values // _FIELD_TEST(tmc_stepper_current); @@ -720,73 +720,73 @@ void MarlinSettings::postprocess() { uint16_t tmc_stepper_current[TMC_AXES] = { #if HAS_TRINAMIC #if AXIS_IS_TMC(X) - stepperX.getCurrent(), + stepperX.getMilliamps(), #else 0, #endif #if AXIS_IS_TMC(Y) - stepperY.getCurrent(), + stepperY.getMilliamps(), #else 0, #endif #if AXIS_IS_TMC(Z) - stepperZ.getCurrent(), + stepperZ.getMilliamps(), #else 0, #endif #if AXIS_IS_TMC(X2) - stepperX2.getCurrent(), + stepperX2.getMilliamps(), #else 0, #endif #if AXIS_IS_TMC(Y2) - stepperY2.getCurrent(), + stepperY2.getMilliamps(), #else 0, #endif #if AXIS_IS_TMC(Z2) - stepperZ2.getCurrent(), + stepperZ2.getMilliamps(), #else 0, #endif #if AXIS_IS_TMC(Z3) - stepperZ3.getCurrent(), + stepperZ3.getMilliamps(), #else 0, #endif #if MAX_EXTRUDERS #if AXIS_IS_TMC(E0) - stepperE0.getCurrent(), + stepperE0.getMilliamps(), #else 0, #endif #if MAX_EXTRUDERS > 1 #if AXIS_IS_TMC(E1) - stepperE1.getCurrent(), + stepperE1.getMilliamps(), #else 0, #endif #if MAX_EXTRUDERS > 2 #if AXIS_IS_TMC(E2) - stepperE2.getCurrent(), + stepperE2.getMilliamps(), #else 0, #endif #if MAX_EXTRUDERS > 3 #if AXIS_IS_TMC(E3) - stepperE3.getCurrent(), + stepperE3.getMilliamps(), #else 0, #endif #if MAX_EXTRUDERS > 4 #if AXIS_IS_TMC(E4) - stepperE4.getCurrent() + stepperE4.getMilliamps() #else 0 #endif #if MAX_EXTRUDERS > 5 #if AXIS_IS_TMC(E5) - stepperE5.getCurrent() + stepperE5.getMilliamps() #else 0 #endif @@ -803,7 +803,7 @@ void MarlinSettings::postprocess() { EEPROM_WRITE(tmc_stepper_current); // - // Save TMC2130 or TMC2208 Hybrid Threshold, and placeholder values + // Save TMC Hybrid Threshold, and placeholder values // _FIELD_TEST(tmc_hybrid_threshold); @@ -913,7 +913,7 @@ void MarlinSettings::postprocess() { EEPROM_WRITE(tmc_hybrid_threshold); // - // TMC2130 Sensorless homing threshold + // TMC Sensorless homing threshold // int16_t tmc_sgt[XYZ] = { #if ENABLED(SENSORLESS_HOMING) @@ -1412,14 +1412,14 @@ void MarlinSettings::postprocess() { if (!validating) reset_stepper_drivers(); // - // TMC2130 Stepper Settings + // TMC Stepper Settings // _FIELD_TEST(tmc_stepper_current); #if HAS_TRINAMIC - #define SET_CURR(Q) stepper##Q.setCurrent(currents[TMC_##Q] ? currents[TMC_##Q] : Q##_CURRENT, R_SENSE, HOLD_MULTIPLIER) + #define SET_CURR(Q) stepper##Q.rms_current(currents[TMC_##Q] ? currents[TMC_##Q] : Q##_CURRENT) uint16_t currents[TMC_AXES]; EEPROM_READ(currents); if (!validating) { @@ -1519,7 +1519,7 @@ void MarlinSettings::postprocess() { #endif /* - * TMC2130 Sensorless homing threshold. + * TMC Sensorless homing threshold. * X and X2 use the same value * Y and Y2 use the same value * Z, Z2 and Z3 use the same value @@ -1530,29 +1530,29 @@ void MarlinSettings::postprocess() { if (!validating) { #ifdef X_HOMING_SENSITIVITY #if AXIS_HAS_STALLGUARD(X) - stepperX.sgt(tmc_sgt[0]); + stepperX.sgt(tmc_sgt[X_AXIS]); #endif #if AXIS_HAS_STALLGUARD(X2) - stepperX2.sgt(tmc_sgt[0]); + stepperX2.sgt(tmc_sgt[X_AXIS]); #endif #endif #ifdef Y_HOMING_SENSITIVITY #if AXIS_HAS_STALLGUARD(Y) - stepperY.sgt(tmc_sgt[1]); + stepperY.sgt(tmc_sgt[Y_AXIS]); #endif #if AXIS_HAS_STALLGUARD(Y2) - stepperY2.sgt(tmc_sgt[1]); + stepperY2.sgt(tmc_sgt[Y_AXIS]); #endif #endif #ifdef Z_HOMING_SENSITIVITY #if AXIS_HAS_STALLGUARD(Z) - stepperZ.sgt(tmc_sgt[2]); + stepperZ.sgt(tmc_sgt[Z_AXIS]); #endif #if AXIS_HAS_STALLGUARD(Z2) - stepperZ2.sgt(tmc_sgt[2]); + stepperZ2.sgt(tmc_sgt[Z_AXIS]); #endif #if AXIS_HAS_STALLGUARD(Z3) - stepperZ3.sgt(tmc_sgt[2]); + stepperZ3.sgt(tmc_sgt[Z_AXIS]); #endif #endif } @@ -2668,7 +2668,7 @@ void MarlinSettings::reset(PORTARG_SOLO) { #if HAS_TRINAMIC /** - * TMC2130 / TMC2208 stepper driver current + * TMC stepper driver current */ if (!forReplay) { CONFIG_ECHO_START; @@ -2679,65 +2679,68 @@ void MarlinSettings::reset(PORTARG_SOLO) { say_M906(PORTVAR_SOLO); #endif #if AXIS_IS_TMC(X) - SERIAL_ECHOPAIR_P(port, " X", stepperX.getCurrent()); + SERIAL_ECHOPAIR_P(port, " X", stepperX.getMilliamps()); #endif #if AXIS_IS_TMC(Y) - SERIAL_ECHOPAIR_P(port, " Y", stepperY.getCurrent()); + SERIAL_ECHOPAIR_P(port, " Y", stepperY.getMilliamps()); #endif #if AXIS_IS_TMC(Z) - SERIAL_ECHOPAIR_P(port, " Z", stepperZ.getCurrent()); + SERIAL_ECHOPAIR_P(port, " Z", stepperZ.getMilliamps()); #endif #if AXIS_IS_TMC(X) || AXIS_IS_TMC(Y) || AXIS_IS_TMC(Z) SERIAL_EOL_P(port); #endif + #if AXIS_IS_TMC(X2) || AXIS_IS_TMC(Y2) || AXIS_IS_TMC(Z2) say_M906(PORTVAR_SOLO); SERIAL_ECHOPGM_P(port, " I1"); #endif #if AXIS_IS_TMC(X2) - SERIAL_ECHOPAIR_P(port, " X", stepperX2.getCurrent()); + SERIAL_ECHOPAIR_P(port, " X", stepperX2.getMilliamps()); #endif #if AXIS_IS_TMC(Y2) - SERIAL_ECHOPAIR_P(port, " Y", stepperY2.getCurrent()); + SERIAL_ECHOPAIR_P(port, " Y", stepperY2.getMilliamps()); #endif #if AXIS_IS_TMC(Z2) - SERIAL_ECHOPAIR_P(port, " Z", stepperZ2.getCurrent()); + SERIAL_ECHOPAIR_P(port, " Z", stepperZ2.getMilliamps()); #endif #if AXIS_IS_TMC(X2) || AXIS_IS_TMC(Y2) || AXIS_IS_TMC(Z2) SERIAL_EOL_P(port); #endif + #if AXIS_IS_TMC(Z3) say_M906(PORTVAR_SOLO); - SERIAL_ECHOLNPAIR_P(port, " I2 Z", stepperZ3.getCurrent()); + SERIAL_ECHOLNPAIR_P(port, " I2 Z", stepperZ3.getMilliamps()); #endif + #if AXIS_IS_TMC(E0) say_M906(PORTVAR_SOLO); - SERIAL_ECHOLNPAIR_P(port, " T0 E", stepperE0.getCurrent()); + SERIAL_ECHOLNPAIR_P(port, " T0 E", stepperE0.getMilliamps()); #endif #if AXIS_IS_TMC(E1) say_M906(PORTVAR_SOLO); - SERIAL_ECHOLNPAIR_P(port, " T1 E", stepperE1.getCurrent()); + SERIAL_ECHOLNPAIR_P(port, " T1 E", stepperE1.getMilliamps()); #endif #if AXIS_IS_TMC(E2) say_M906(PORTVAR_SOLO); - SERIAL_ECHOLNPAIR_P(port, " T2 E", stepperE2.getCurrent()); + SERIAL_ECHOLNPAIR_P(port, " T2 E", stepperE2.getMilliamps()); #endif #if AXIS_IS_TMC(E3) say_M906(PORTVAR_SOLO); - SERIAL_ECHOLNPAIR_P(port, " T3 E", stepperE3.getCurrent()); + SERIAL_ECHOLNPAIR_P(port, " T3 E", stepperE3.getMilliamps()); #endif #if AXIS_IS_TMC(E4) say_M906(PORTVAR_SOLO); - SERIAL_ECHOLNPAIR_P(port, " T4 E", stepperE4.getCurrent()); + SERIAL_ECHOLNPAIR_P(port, " T4 E", stepperE4.getMilliamps()); #endif #if AXIS_IS_TMC(E5) say_M906(PORTVAR_SOLO); - SERIAL_ECHOLNPAIR_P(port, " T5 E", stepperE5.getCurrent()); + SERIAL_ECHOLNPAIR_P(port, " T5 E", stepperE5.getMilliamps()); #endif SERIAL_EOL_P(port); /** - * TMC2130 / TMC2208 / TRAMS Hybrid Threshold + * TMC Hybrid Threshold */ #if ENABLED(HYBRID_THRESHOLD) if (!forReplay) { @@ -2745,63 +2748,66 @@ void MarlinSettings::reset(PORTARG_SOLO) { SERIAL_ECHOLNPGM_P(port, "Hybrid Threshold:"); } CONFIG_ECHO_START; - #if AXIS_IS_TMC(X) || AXIS_IS_TMC(Y) || AXIS_IS_TMC(Z) + #if AXIS_HAS_STEALTHCHOP(X) || AXIS_HAS_STEALTHCHOP(Y) || AXIS_HAS_STEALTHCHOP(Z) say_M913(PORTVAR_SOLO); #endif - #if AXIS_IS_TMC(X) + #if AXIS_HAS_STEALTHCHOP(X) SERIAL_ECHOPAIR_P(port, " X", TMC_GET_PWMTHRS(X, X)); #endif - #if AXIS_IS_TMC(Y) + #if AXIS_HAS_STEALTHCHOP(Y) SERIAL_ECHOPAIR_P(port, " Y", TMC_GET_PWMTHRS(Y, Y)); #endif - #if AXIS_IS_TMC(Z) + #if AXIS_HAS_STEALTHCHOP(Z) SERIAL_ECHOPAIR_P(port, " Z", TMC_GET_PWMTHRS(Z, Z)); #endif - #if AXIS_IS_TMC(X) || AXIS_IS_TMC(Y) || AXIS_IS_TMC(Z) + #if AXIS_HAS_STEALTHCHOP(X) || AXIS_HAS_STEALTHCHOP(Y) || AXIS_HAS_STEALTHCHOP(Z) SERIAL_EOL_P(port); #endif - #if AXIS_IS_TMC(X2) || AXIS_IS_TMC(Y2) || AXIS_IS_TMC(Z2) + + #if AXIS_HAS_STEALTHCHOP(X2) || AXIS_HAS_STEALTHCHOP(Y2) || AXIS_HAS_STEALTHCHOP(Z2) say_M913(PORTVAR_SOLO); SERIAL_ECHOPGM_P(port, " I1"); #endif - #if AXIS_IS_TMC(X2) + #if AXIS_HAS_STEALTHCHOP(X2) SERIAL_ECHOPAIR_P(port, " X", TMC_GET_PWMTHRS(X, X2)); #endif - #if AXIS_IS_TMC(Y2) + #if AXIS_HAS_STEALTHCHOP(Y2) SERIAL_ECHOPAIR_P(port, " Y", TMC_GET_PWMTHRS(Y, Y2)); #endif - #if AXIS_IS_TMC(Z2) + #if AXIS_HAS_STEALTHCHOP(Z2) SERIAL_ECHOPAIR_P(port, " Z", TMC_GET_PWMTHRS(Z, Z2)); #endif - #if AXIS_IS_TMC(X2) || AXIS_IS_TMC(Y2) || AXIS_IS_TMC(Z2) + #if AXIS_HAS_STEALTHCHOP(X2) || AXIS_HAS_STEALTHCHOP(Y2) || AXIS_HAS_STEALTHCHOP(Z2) SERIAL_EOL_P(port); #endif - #if AXIS_IS_TMC(Z3) + + #if AXIS_HAS_STEALTHCHOP(Z3) say_M913(PORTVAR_SOLO); SERIAL_ECHOPGM_P(port, " I2"); SERIAL_ECHOLNPAIR_P(port, " Z", TMC_GET_PWMTHRS(Z, Z3)); #endif - #if AXIS_IS_TMC(E0) + + #if AXIS_HAS_STEALTHCHOP(E0) say_M913(PORTVAR_SOLO); SERIAL_ECHOLNPAIR_P(port, " T0 E", TMC_GET_PWMTHRS(E, E0)); #endif - #if AXIS_IS_TMC(E1) + #if AXIS_HAS_STEALTHCHOP(E1) say_M913(PORTVAR_SOLO); SERIAL_ECHOLNPAIR_P(port, " T1 E", TMC_GET_PWMTHRS(E, E1)); #endif - #if AXIS_IS_TMC(E2) + #if AXIS_HAS_STEALTHCHOP(E2) say_M913(PORTVAR_SOLO); SERIAL_ECHOLNPAIR_P(port, " T2 E", TMC_GET_PWMTHRS(E, E2)); #endif - #if AXIS_IS_TMC(E3) + #if AXIS_HAS_STEALTHCHOP(E3) say_M913(PORTVAR_SOLO); SERIAL_ECHOLNPAIR_P(port, " T3 E", TMC_GET_PWMTHRS(E, E3)); #endif - #if AXIS_IS_TMC(E4) + #if AXIS_HAS_STEALTHCHOP(E4) say_M913(PORTVAR_SOLO); SERIAL_ECHOLNPAIR_P(port, " T4 E", TMC_GET_PWMTHRS(E, E4)); #endif - #if AXIS_IS_TMC(E5) + #if AXIS_HAS_STEALTHCHOP(E5) say_M913(PORTVAR_SOLO); SERIAL_ECHOLNPAIR_P(port, " T5 E", TMC_GET_PWMTHRS(E, E5)); #endif @@ -2809,7 +2815,7 @@ void MarlinSettings::reset(PORTARG_SOLO) { #endif // HYBRID_THRESHOLD /** - * TMC2130 Sensorless homing thresholds + * TMC Sensorless homing thresholds */ #if ENABLED(SENSORLESS_HOMING) if (!forReplay) { diff --git a/Marlin/src/module/probe.cpp b/Marlin/src/module/probe.cpp index c4d4bc22d4ff..43357d621d16 100644 --- a/Marlin/src/module/probe.cpp +++ b/Marlin/src/module/probe.cpp @@ -28,6 +28,8 @@ #if HAS_BED_PROBE +#include "../libs/buzzer.h" + #include "probe.h" #include "motion.h" #include "temperature.h" @@ -377,7 +379,8 @@ bool set_probe_deployed(const bool deploy) { // Make room for probe to deploy (or stow) // Fix-mounted probe should only raise for deploy - #if ENABLED(FIX_MOUNTED_PROBE) + // unless MANUAL_DEPLOY_STOW is enabled + #if ENABLED(FIX_MOUNTED_PROBE) && DISABLED(MANUAL_DEPLOY_STOW) const bool deploy_stow_condition = deploy; #else constexpr bool deploy_stow_condition = true; @@ -440,6 +443,26 @@ bool set_probe_deployed(const bool deploy) { deploy ? run_deploy_moves_script() : run_stow_moves_script(); + #elif ENABLED(MANUAL_DEPLOY_STOW) + + do_probe_raise(Z_CLEARANCE_DEPLOY_PROBE); + + #if PIN_EXISTS(BEEPER) || ENABLED(LCD_USE_I2C_BUZZER) + BUZZ(100, 659); + BUZZ(100, 698); + #endif + + const char * const ds_str = deploy ? PSTR(MSG_MANUAL_DEPLOY) : PSTR(MSG_MANUAL_STOW); + lcd_setalertstatusPGM(ds_str); + serialprintPGM(ds_str); + SERIAL_EOL(); + + KEEPALIVE_STATE(PAUSED_FOR_USER); + wait_for_user = true; + while (wait_for_user) idle(); + lcd_reset_status(); + KEEPALIVE_STATE(IN_HANDLER); + #endif #ifdef _TRIGGERED_WHEN_STOWED_TEST diff --git a/Marlin/src/module/stepper_indirection.cpp b/Marlin/src/module/stepper_indirection.cpp index 1927cad23038..d052533a12f1 100644 --- a/Marlin/src/module/stepper_indirection.cpp +++ b/Marlin/src/module/stepper_indirection.cpp @@ -139,26 +139,64 @@ } #endif // TMC26X +#if HAS_TRINAMIC + #if AXIS_IS_TMC(X) + static const char TMC_X_LABEL[] PROGMEM = MSG_A; + #endif + #if AXIS_IS_TMC(X2) + static const char TMC_X2_LABEL[] PROGMEM = MSG_X2; + #endif + #if AXIS_IS_TMC(Y) + static const char TMC_Y_LABEL[] PROGMEM = MSG_B; + #endif + #if AXIS_IS_TMC(Y2) + static const char TMC_Y2_LABEL[] PROGMEM = MSG_Y2; + #endif + #if AXIS_IS_TMC(Z) + static const char TMC_Z_LABEL[] PROGMEM = MSG_C; + #endif + #if AXIS_IS_TMC(Z2) + static const char TMC_Z2_LABEL[] PROGMEM = MSG_Z2; + #endif + #if AXIS_IS_TMC(Z3) + static const char TMC_Z3_LABEL[] PROGMEM = MSG_Z3; + #endif + #if AXIS_IS_TMC(E0) + static const char TMC_E0_LABEL[] PROGMEM = MSG_E; + #endif + #if AXIS_IS_TMC(E1) + static const char TMC_E1_LABEL[] PROGMEM = MSG_E1; + #endif + #if AXIS_IS_TMC(E2) + static const char TMC_E2_LABEL[] PROGMEM = MSG_E2; + #endif + #if AXIS_IS_TMC(E3) + static const char TMC_E3_LABEL[] PROGMEM = MSG_E3; + #endif + #if AXIS_IS_TMC(E4) + static const char TMC_E4_LABEL[] PROGMEM = MSG_E4; + #endif + #if AXIS_IS_TMC(E5) + static const char TMC_E5_LABEL[] PROGMEM = MSG_E5; + #endif + + #define _TMC_INIT(ST, SPMM) tmc_init(stepper##ST, ST##_CURRENT, ST##_MICROSTEPS, ST##_HYBRID_THRESHOLD, SPMM) +#endif + // // TMC2130 Driver objects and inits // #if HAS_DRIVER(TMC2130) #include - #include #include "planner.h" #include "../core/enum.h" - #if TMC2130STEPPER_VERSION < 0x020201 - #error "Update TMC2130Stepper library to 2.2.1 or newer." - #endif - #if ENABLED(TMC_USE_SW_SPI) - #define _TMC2130_DEFINE(ST) TMC2130Stepper stepper##ST(ST##_ENABLE_PIN, ST##_DIR_PIN, ST##_STEP_PIN, ST##_CS_PIN, TMC_SW_MOSI, TMC_SW_MISO, TMC_SW_SCK) + #define _TMC2130_DEFINE(ST) TMCMarlin stepper##ST(TMC_##ST##_LABEL, ST##_CS_PIN, R_SENSE, TMC_SW_MOSI, TMC_SW_MISO, TMC_SW_SCK) #else - #define _TMC2130_DEFINE(ST) TMC2130Stepper stepper##ST(ST##_ENABLE_PIN, ST##_DIR_PIN, ST##_STEP_PIN, ST##_CS_PIN) + #define _TMC2130_DEFINE(ST) TMCMarlin stepper##ST(TMC_##ST##_LABEL, ST##_CS_PIN, R_SENSE) #endif - // Stepper objects of TMC2130 steppers used #if AXIS_DRIVER_TYPE(X, TMC2130) _TMC2130_DEFINE(X); @@ -200,109 +238,41 @@ _TMC2130_DEFINE(E5); #endif - // Use internal reference voltage for current calculations. This is the default. - // Following values from Trinamic's spreadsheet with values for a NEMA17 (42BYGHW609) - // https://www.trinamic.com/products/integrated-circuits/details/tmc2130/ - void tmc2130_init(TMC2130Stepper &st, const uint16_t mA, const uint16_t microsteps, const uint32_t thrs, const float spmm) { + void tmc_init(TMCMarlin &st, const uint16_t mA, const uint16_t microsteps, const uint32_t thrs, const float spmm) { #if DISABLED(STEALTHCHOP) || DISABLED(HYBRID_THRESHOLD) UNUSED(thrs); UNUSED(spmm); #endif st.begin(); - st.setCurrent(mA, R_SENSE, HOLD_MULTIPLIER); + + CHOPCONF_t chopconf{0}; + chopconf.tbl = 1; + chopconf.toff = 3; + chopconf.intpol = INTERPOLATE; + chopconf.hstrt = 2; + chopconf.hend = 5; + st.CHOPCONF(chopconf.sr); + + st.rms_current(mA, HOLD_MULTIPLIER); st.microsteps(microsteps); - st.blank_time(24); - st.off_time(5); // Only enables the driver if used with stealthChop - st.interpolate(INTERPOLATE); - st.power_down_delay(128); // ~2s until driver lowers to hold current - st.hysteresis_start(3); - st.hysteresis_end(2); - #if ENABLED(STEALTHCHOP) - st.stealth_freq(1); // f_pwm = 2/683 f_clk - st.stealth_autoscale(1); - st.stealth_gradient(5); - st.stealth_amplitude(255); - st.stealthChop(1); - #if ENABLED(HYBRID_THRESHOLD) - st.stealth_max_speed(12650000UL*microsteps/(256*thrs*spmm)); - #endif - #endif - st.GSTAT(); // Clear GSTAT - } + st.iholddelay(10); + st.TPOWERDOWN(128); // ~2s until driver lowers to hold current - #define _TMC2130_INIT(ST, SPMM) tmc2130_init(stepper##ST, ST##_CURRENT, ST##_MICROSTEPS, ST##_HYBRID_THRESHOLD, SPMM) + #if ENABLED(STEALTHCHOP) + st.en_pwm_mode(true); - void tmc2130_init_to_defaults() { - #if AXIS_DRIVER_TYPE(X, TMC2130) - _TMC2130_INIT( X, planner.axis_steps_per_mm[X_AXIS]); - #endif - #if AXIS_DRIVER_TYPE(X2, TMC2130) - _TMC2130_INIT(X2, planner.axis_steps_per_mm[X_AXIS]); - #endif - #if AXIS_DRIVER_TYPE(Y, TMC2130) - _TMC2130_INIT( Y, planner.axis_steps_per_mm[Y_AXIS]); - #endif - #if AXIS_DRIVER_TYPE(Y2, TMC2130) - _TMC2130_INIT(Y2, planner.axis_steps_per_mm[Y_AXIS]); - #endif - #if AXIS_DRIVER_TYPE(Z, TMC2130) - _TMC2130_INIT( Z, planner.axis_steps_per_mm[Z_AXIS]); - #endif - #if AXIS_DRIVER_TYPE(Z2, TMC2130) - _TMC2130_INIT(Z2, planner.axis_steps_per_mm[Z_AXIS]); - #endif - #if AXIS_DRIVER_TYPE(Z3, TMC2130) - _TMC2130_INIT(Z3, planner.axis_steps_per_mm[Z_AXIS]); - #endif - #if AXIS_DRIVER_TYPE(E0, TMC2130) - _TMC2130_INIT(E0, planner.axis_steps_per_mm[E_AXIS]); - #endif - #if AXIS_DRIVER_TYPE(E1, TMC2130) - { constexpr uint8_t extruder = 1; _TMC2130_INIT(E1, planner.axis_steps_per_mm[E_AXIS_N]); UNUSED(extruder); } - #endif - #if AXIS_DRIVER_TYPE(E2, TMC2130) - { constexpr uint8_t extruder = 2; _TMC2130_INIT(E2, planner.axis_steps_per_mm[E_AXIS_N]); UNUSED(extruder); } - #endif - #if AXIS_DRIVER_TYPE(E3, TMC2130) - { constexpr uint8_t extruder = 3; _TMC2130_INIT(E3, planner.axis_steps_per_mm[E_AXIS_N]); UNUSED(extruder); } - #endif - #if AXIS_DRIVER_TYPE(E4, TMC2130) - { constexpr uint8_t extruder = 4; _TMC2130_INIT(E4, planner.axis_steps_per_mm[E_AXIS_N]); UNUSED(extruder); } - #endif - #if AXIS_DRIVER_TYPE(E5, TMC2130) - { constexpr uint8_t extruder = 5; _TMC2130_INIT(E5, planner.axis_steps_per_mm[E_AXIS_N]); UNUSED(extruder); } - #endif + PWMCONF_t pwmconf{0}; + pwmconf.pwm_freq = 0b01; // f_pwm = 2/683 f_clk + pwmconf.pwm_autoscale = true; + pwmconf.pwm_grad = 5; + pwmconf.pwm_ampl = 180; + st.PWMCONF(pwmconf.sr); - #if ENABLED(SENSORLESS_HOMING) - #define TMC_INIT_SGT(P,Q) stepper##Q.sgt(P##_HOMING_SENSITIVITY); - #if X_SENSORLESS - #if AXIS_DRIVER_TYPE(X, TMC2130) - stepperX.sgt(X_HOMING_SENSITIVITY); - #endif - #if AXIS_DRIVER_TYPE(X2, TMC2130) - stepperX2.sgt(X_HOMING_SENSITIVITY); - #endif - #endif - #if Y_SENSORLESS - #if AXIS_DRIVER_TYPE(Y, TMC2130) - stepperY.sgt(Y_HOMING_SENSITIVITY); - #endif - #if AXIS_DRIVER_TYPE(Y2, TMC2130) - stepperY2.sgt(Y_HOMING_SENSITIVITY); - #endif - #endif - #if Z_SENSORLESS - #if AXIS_DRIVER_TYPE(Z, TMC2130) - stepperZ.sgt(Z_HOMING_SENSITIVITY); - #endif - #if AXIS_DRIVER_TYPE(Z2, TMC2130) - stepperZ2.sgt(Z_HOMING_SENSITIVITY); - #endif - #if ENABLED(Z3_IS_TMC2130) - stepperZ3.sgt(Z_HOMING_SENSITIVITY); - #endif + #if ENABLED(HYBRID_THRESHOLD) + st.TPWMTHRS(12650000UL*microsteps/(256*thrs*spmm)); #endif #endif + st.GSTAT(); // Clear GSTAT } #endif // TMC2130 @@ -311,15 +281,10 @@ // #if HAS_DRIVER(TMC2208) #include - #include #include "planner.h" - #if TMC2208STEPPER_VERSION < 0x000101 - #error "Update TMC2208Stepper library to 0.1.1 or newer." - #endif - - #define _TMC2208_DEFINE_HARDWARE(ST) TMC2208Stepper stepper##ST(&ST##_HARDWARE_SERIAL) - #define _TMC2208_DEFINE_SOFTWARE(ST) TMC2208Stepper stepper##ST(ST##_SERIAL_RX_PIN, ST##_SERIAL_TX_PIN, ST##_SERIAL_RX_PIN > -1) + #define _TMC2208_DEFINE_HARDWARE(ST) TMCMarlin stepper##ST(TMC_##ST##_LABEL, &ST##_HARDWARE_SERIAL, R_SENSE) + #define _TMC2208_DEFINE_SOFTWARE(ST) TMCMarlin stepper##ST(TMC_##ST##_LABEL, ST##_SERIAL_RX_PIN, ST##_SERIAL_TX_PIN, R_SENSE, ST##_SERIAL_RX_PIN > -1) // Stepper objects of TMC2208 steppers used #if AXIS_DRIVER_TYPE(X, TMC2208) @@ -508,85 +473,51 @@ #endif } - // Use internal reference voltage for current calculations. This is the default. - // Following values from Trinamic's spreadsheet with values for a NEMA17 (42BYGHW609) - void tmc2208_init(TMC2208Stepper &st, const uint16_t mA, const uint16_t microsteps, const uint32_t thrs, const float spmm) { - st.pdn_disable(true); // Use UART - st.mstep_reg_select(true); // Select microsteps with UART - st.I_scale_analog(false); - st.rms_current(mA, HOLD_MULTIPLIER, R_SENSE); + void tmc_init(TMCMarlin &st, const uint16_t mA, const uint16_t microsteps, const uint32_t thrs, const float spmm) { + #if DISABLED(STEALTHCHOP) || DISABLED(HYBRID_THRESHOLD) + UNUSED(thrs); + UNUSED(spmm); + #endif + + TMC2208_n::GCONF_t gconf{0}; + gconf.pdn_disable = true; // Use UART + gconf.mstep_reg_select = true; // Select microsteps with UART + gconf.i_scale_analog = false; + + TMC2208_n::CHOPCONF_t chopconf{0}; + chopconf.tbl = 0b01; // blank_time = 24 + chopconf.toff = 5; + chopconf.intpol = INTERPOLATE; + chopconf.hstrt = 2; + chopconf.hend = 5; + st.CHOPCONF(chopconf.sr); + + st.rms_current(mA, HOLD_MULTIPLIER); st.microsteps(microsteps); - st.blank_time(24); - st.toff(5); - st.intpol(INTERPOLATE); + st.iholddelay(10); st.TPOWERDOWN(128); // ~2s until driver lowers to hold current - st.hysteresis_start(3); - st.hysteresis_end(2); #if ENABLED(STEALTHCHOP) - st.pwm_lim(12); - st.pwm_reg(8); - st.pwm_autograd(1); - st.pwm_autoscale(1); - st.pwm_freq(1); - st.pwm_grad(14); - st.pwm_ofs(36); - st.en_spreadCycle(false); + gconf.en_spreadcycle = false; + + TMC2208_n::PWMCONF_t pwmconf{0}; + pwmconf.pwm_lim = 12; + pwmconf.pwm_reg = 8; + pwmconf.pwm_autograd = true; + pwmconf.pwm_autoscale = true; + pwmconf.pwm_freq = 0b01; + pwmconf.pwm_grad = 14; + pwmconf.pwm_ofs = 36; + st.PWMCONF(pwmconf.sr); #if ENABLED(HYBRID_THRESHOLD) st.TPWMTHRS(12650000UL*microsteps/(256*thrs*spmm)); - #else - UNUSED(thrs); - UNUSED(spmm); #endif #else - st.en_spreadCycle(true); + gconf.en_spreadcycle = true; #endif + st.GCONF(gconf.sr); st.GSTAT(0b111); // Clear delay(200); } - - #define _TMC2208_INIT(ST, SPMM) tmc2208_init(stepper##ST, ST##_CURRENT, ST##_MICROSTEPS, ST##_HYBRID_THRESHOLD, SPMM) - - void tmc2208_init_to_defaults() { - #if AXIS_DRIVER_TYPE(X, TMC2208) - _TMC2208_INIT(X, planner.axis_steps_per_mm[X_AXIS]); - #endif - #if AXIS_DRIVER_TYPE(X2, TMC2208) - _TMC2208_INIT(X2, planner.axis_steps_per_mm[X_AXIS]); - #endif - #if AXIS_DRIVER_TYPE(Y, TMC2208) - _TMC2208_INIT(Y, planner.axis_steps_per_mm[Y_AXIS]); - #endif - #if AXIS_DRIVER_TYPE(Y2, TMC2208) - _TMC2208_INIT(Y2, planner.axis_steps_per_mm[Y_AXIS]); - #endif - #if AXIS_DRIVER_TYPE(Z, TMC2208) - _TMC2208_INIT(Z, planner.axis_steps_per_mm[Z_AXIS]); - #endif - #if AXIS_DRIVER_TYPE(Z2, TMC2208) - _TMC2208_INIT(Z2, planner.axis_steps_per_mm[Z_AXIS]); - #endif - #if AXIS_DRIVER_TYPE(Z3, TMC2208) - _TMC2208_INIT(Z3, planner.axis_steps_per_mm[Z_AXIS]); - #endif - #if AXIS_DRIVER_TYPE(E0, TMC2208) - _TMC2208_INIT(E0, planner.axis_steps_per_mm[E_AXIS]); - #endif - #if AXIS_DRIVER_TYPE(E1, TMC2208) - { constexpr int extruder = 1; _TMC2208_INIT(E1, planner.axis_steps_per_mm[E_AXIS_N]); } - #endif - #if AXIS_DRIVER_TYPE(E2, TMC2208) - { constexpr int extruder = 2; _TMC2208_INIT(E2, planner.axis_steps_per_mm[E_AXIS_N]); } - #endif - #if AXIS_DRIVER_TYPE(E3, TMC2208) - { constexpr int extruder = 3; _TMC2208_INIT(E3, planner.axis_steps_per_mm[E_AXIS_N]); } - #endif - #if AXIS_DRIVER_TYPE(E4, TMC2208) - { constexpr int extruder = 4; _TMC2208_INIT(E4, planner.axis_steps_per_mm[E_AXIS_N]); } - #endif - #if AXIS_DRIVER_TYPE(E5, TMC2208) - { constexpr int extruder = 5; _TMC2208_INIT(E5, planner.axis_steps_per_mm[E_AXIS_N]); } - #endif - } #endif // TMC2208 void restore_stepper_drivers() { @@ -635,20 +566,84 @@ void reset_stepper_drivers() { #if HAS_DRIVER(TMC26X) tmc26x_init_to_defaults(); #endif - #if HAS_DRIVER(TMC2130) - delay(100); - tmc2130_init_to_defaults(); + #if ENABLED(HAVE_L6470DRIVER) + L6470_init_to_defaults(); + #endif + + #if AXIS_IS_TMC(X) + _TMC_INIT(X, planner.axis_steps_per_mm[X_AXIS]); + #endif + #if AXIS_IS_TMC(X2) + _TMC_INIT(X2, planner.axis_steps_per_mm[X_AXIS]); + #endif + #if AXIS_IS_TMC(Y) + _TMC_INIT(Y, planner.axis_steps_per_mm[Y_AXIS]); + #endif + #if AXIS_IS_TMC(Y2) + _TMC_INIT(Y2, planner.axis_steps_per_mm[Y_AXIS]); + #endif + #if AXIS_IS_TMC(Z) + _TMC_INIT(Z, planner.axis_steps_per_mm[Z_AXIS]); + #endif + #if AXIS_IS_TMC(Z2) + _TMC_INIT(Z2, planner.axis_steps_per_mm[Z_AXIS]); + #endif + #if AXIS_IS_TMC(Z3) + _TMC_INIT(Z3, planner.axis_steps_per_mm[Z_AXIS]); + #endif + #if AXIS_IS_TMC(E0) + _TMC_INIT(E0, planner.axis_steps_per_mm[E_AXIS]); #endif - #if HAS_DRIVER(TMC2208) - delay(100); - tmc2208_init_to_defaults(); + #if AXIS_IS_TMC(E1) + { constexpr uint8_t extruder = 1; _TMC_INIT(E1, planner.axis_steps_per_mm[E_AXIS_N]); UNUSED(extruder); } #endif + #if AXIS_IS_TMC(E2) + { constexpr uint8_t extruder = 2; _TMC_INIT(E2, planner.axis_steps_per_mm[E_AXIS_N]); UNUSED(extruder); } + #endif + #if AXIS_IS_TMC(E3) + { constexpr uint8_t extruder = 3; _TMC_INIT(E3, planner.axis_steps_per_mm[E_AXIS_N]); UNUSED(extruder); } + #endif + #if AXIS_IS_TMC(E4) + { constexpr uint8_t extruder = 4; _TMC_INIT(E4, planner.axis_steps_per_mm[E_AXIS_N]); UNUSED(extruder); } + #endif + #if AXIS_IS_TMC(E5) + { constexpr uint8_t extruder = 5; _TMC_INIT(E5, planner.axis_steps_per_mm[E_AXIS_N]); UNUSED(extruder); } + #endif + + #if ENABLED(SENSORLESS_HOMING) + #if X_SENSORLESS + #if AXIS_HAS_STALLGUARD(X) + stepperX.sgt(X_HOMING_SENSITIVITY); + #endif + #if AXIS_HAS_STALLGUARD(X2) + stepperX2.sgt(X_HOMING_SENSITIVITY); + #endif + #endif + #if Y_SENSORLESS + #if AXIS_HAS_STALLGUARD(Y) + stepperY.sgt(Y_HOMING_SENSITIVITY); + #endif + #if AXIS_HAS_STALLGUARD(Y2) + stepperY2.sgt(Y_HOMING_SENSITIVITY); + #endif + #endif + #if Z_SENSORLESS + #if AXIS_HAS_STALLGUARD(Z) + stepperZ.sgt(Z_HOMING_SENSITIVITY); + #endif + #if AXIS_HAS_STALLGUARD(Z2) + stepperZ2.sgt(Z_HOMING_SENSITIVITY); + #endif + #if AXIS_HAS_STALLGUARD(Z3) + stepperZ3.sgt(Z_HOMING_SENSITIVITY); + #endif + #endif + #endif + #ifdef TMC_ADV TMC_ADV() #endif - #if HAS_DRIVER(L6470) - L6470_init_to_defaults(); - #endif + stepper.set_directions(); } diff --git a/Marlin/src/module/stepper_indirection.h b/Marlin/src/module/stepper_indirection.h index 1a615e395ccf..554e98409040 100644 --- a/Marlin/src/module/stepper_indirection.h +++ b/Marlin/src/module/stepper_indirection.h @@ -57,15 +57,19 @@ void tmc26x_init_to_defaults(); #endif -#if HAS_DRIVER(TMC2130) - #include - void tmc2130_init_to_defaults(); -#endif +#if HAS_TRINAMIC + #include + #include "../feature/tmc_util.h" + #if TMCSTEPPER_VERSION < 0x000001 + #error "Update TMCStepper library to 0.0.1 or newer." + #endif -#if HAS_DRIVER(TMC2208) - #include - void tmc2208_serial_begin(); - void tmc2208_init_to_defaults(); + #define _TMC_CLASS(MODEL) TMCMarlin + #define TMC_CLASS(MODEL) _TMC_CLASS(MODEL) + + #if HAS_DRIVER(TMC2208) + void tmc2208_serial_begin(); + #endif #endif // L6470 has STEP on normal pins, but DIR/ENABLE via SPI @@ -88,17 +92,15 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset #define X_DIR_WRITE(STATE) stepperX.Step_Clock(STATE) #define X_DIR_READ (stepperX.getStatus() & STATUS_DIR) #else + #if AXIS_IS_TMC(X) + extern TMC_CLASS(X_DRIVER_TYPE) stepperX; + #endif #if AXIS_DRIVER_TYPE(X, TMC26X) extern TMC26XStepper stepperX; #define X_ENABLE_INIT NOOP #define X_ENABLE_WRITE(STATE) stepperX.setEnabled(STATE) #define X_ENABLE_READ stepperX.isEnabled() #else - #if AXIS_DRIVER_TYPE(X, TMC2130) - extern TMC2130Stepper stepperX; - #elif AXIS_DRIVER_TYPE(X, TMC2208) - extern TMC2208Stepper stepperX; - #endif #define X_ENABLE_INIT SET_OUTPUT(X_ENABLE_PIN) #define X_ENABLE_WRITE(STATE) WRITE(X_ENABLE_PIN,STATE) #define X_ENABLE_READ READ(X_ENABLE_PIN) @@ -121,17 +123,15 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset #define Y_DIR_WRITE(STATE) stepperY.Step_Clock(STATE) #define Y_DIR_READ (stepperY.getStatus() & STATUS_DIR) #else + #if AXIS_IS_TMC(Y) + extern TMC_CLASS(Y_DRIVER_TYPE) stepperY; + #endif #if AXIS_DRIVER_TYPE(Y, TMC26X) extern TMC26XStepper stepperY; #define Y_ENABLE_INIT NOOP #define Y_ENABLE_WRITE(STATE) stepperY.setEnabled(STATE) #define Y_ENABLE_READ stepperY.isEnabled() #else - #if AXIS_DRIVER_TYPE(Y, TMC2130) - extern TMC2130Stepper stepperY; - #elif AXIS_DRIVER_TYPE(Y, TMC2208) - extern TMC2208Stepper stepperY; - #endif #define Y_ENABLE_INIT SET_OUTPUT(Y_ENABLE_PIN) #define Y_ENABLE_WRITE(STATE) WRITE(Y_ENABLE_PIN,STATE) #define Y_ENABLE_READ READ(Y_ENABLE_PIN) @@ -154,17 +154,15 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset #define Z_DIR_WRITE(STATE) stepperZ.Step_Clock(STATE) #define Z_DIR_READ (stepperZ.getStatus() & STATUS_DIR) #else + #if AXIS_IS_TMC(Z) + extern TMC_CLASS(Z_DRIVER_TYPE) stepperZ; + #endif #if AXIS_DRIVER_TYPE(Z, TMC26X) extern TMC26XStepper stepperZ; #define Z_ENABLE_INIT NOOP #define Z_ENABLE_WRITE(STATE) stepperZ.setEnabled(STATE) #define Z_ENABLE_READ stepperZ.isEnabled() #else - #if AXIS_DRIVER_TYPE(Z, TMC2130) - extern TMC2130Stepper stepperZ; - #elif AXIS_DRIVER_TYPE(Z, TMC2208) - extern TMC2208Stepper stepperZ; - #endif #define Z_ENABLE_INIT SET_OUTPUT(Z_ENABLE_PIN) #define Z_ENABLE_WRITE(STATE) WRITE(Z_ENABLE_PIN,STATE) #define Z_ENABLE_READ READ(Z_ENABLE_PIN) @@ -188,17 +186,15 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset #define X2_DIR_WRITE(STATE) stepperX2.Step_Clock(STATE) #define X2_DIR_READ (stepperX2.getStatus() & STATUS_DIR) #else + #if AXIS_IS_TMC(X2) + extern TMC_CLASS(X2_DRIVER_TYPE) stepperX2; + #endif #if AXIS_DRIVER_TYPE(X2, TMC26X) extern TMC26XStepper stepperX2; #define X2_ENABLE_INIT NOOP #define X2_ENABLE_WRITE(STATE) stepperX2.setEnabled(STATE) #define X2_ENABLE_READ stepperX2.isEnabled() #else - #if AXIS_DRIVER_TYPE(X2, TMC2130) - extern TMC2130Stepper stepperX2; - #elif AXIS_DRIVER_TYPE(X2, TMC2208) - extern TMC2208Stepper stepperX2; - #endif #define X2_ENABLE_INIT SET_OUTPUT(X2_ENABLE_PIN) #define X2_ENABLE_WRITE(STATE) WRITE(X2_ENABLE_PIN,STATE) #define X2_ENABLE_READ READ(X2_ENABLE_PIN) @@ -223,17 +219,15 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset #define Y2_DIR_WRITE(STATE) stepperY2.Step_Clock(STATE) #define Y2_DIR_READ (stepperY2.getStatus() & STATUS_DIR) #else + #if AXIS_IS_TMC(Y2) + extern TMC_CLASS(Y2_DRIVER_TYPE) stepperY2; + #endif #if AXIS_DRIVER_TYPE(Y2, TMC26X) extern TMC26XStepper stepperY2; #define Y2_ENABLE_INIT NOOP #define Y2_ENABLE_WRITE(STATE) stepperY2.setEnabled(STATE) #define Y2_ENABLE_READ stepperY2.isEnabled() #else - #if AXIS_DRIVER_TYPE(Y2, TMC2130) - extern TMC2130Stepper stepperY2; - #elif AXIS_DRIVER_TYPE(Y2, TMC2208) - extern TMC2208Stepper stepperY2; - #endif #define Y2_ENABLE_INIT SET_OUTPUT(Y2_ENABLE_PIN) #define Y2_ENABLE_WRITE(STATE) WRITE(Y2_ENABLE_PIN,STATE) #define Y2_ENABLE_READ READ(Y2_ENABLE_PIN) @@ -258,17 +252,15 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset #define Z2_DIR_WRITE(STATE) stepperZ2.Step_Clock(STATE) #define Z2_DIR_READ (stepperZ2.getStatus() & STATUS_DIR) #else + #if AXIS_IS_TMC(Z2) + extern TMC_CLASS(Z2_DRIVER_TYPE) stepperZ2; + #endif #if AXIS_DRIVER_TYPE(Z2, TMC26X) extern TMC26XStepper stepperZ2; #define Z2_ENABLE_INIT NOOP #define Z2_ENABLE_WRITE(STATE) stepperZ2.setEnabled(STATE) #define Z2_ENABLE_READ stepperZ2.isEnabled() #else - #if AXIS_DRIVER_TYPE(Z2, TMC2130) - extern TMC2130Stepper stepperZ2; - #elif AXIS_DRIVER_TYPE(Z2, TMC2208) - extern TMC2208Stepper stepperZ2; - #endif #define Z2_ENABLE_INIT SET_OUTPUT(Z2_ENABLE_PIN) #define Z2_ENABLE_WRITE(STATE) WRITE(Z2_ENABLE_PIN,STATE) #define Z2_ENABLE_READ READ(Z2_ENABLE_PIN) @@ -293,17 +285,15 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset #define Z3_DIR_WRITE(STATE) stepperZ3.Step_Clock(STATE) #define Z3_DIR_READ (stepperZ3.getStatus() & STATUS_DIR) #else + #if AXIS_IS_TMC(Z3) + extern TMC_CLASS(Z3_DRIVER_TYPE) stepperZ3; + #endif #if ENABLED(Z3_IS_TMC26X) extern TMC26XStepper stepperZ3; #define Z3_ENABLE_INIT NOOP #define Z3_ENABLE_WRITE(STATE) stepperZ3.setEnabled(STATE) #define Z3_ENABLE_READ stepperZ3.isEnabled() #else - #if ENABLED(Z3_IS_TMC2130) - extern TMC2130Stepper stepperZ3; - #elif ENABLED(Z3_IS_TMC2208) - extern TMC2208Stepper stepperZ3; - #endif #define Z3_ENABLE_INIT SET_OUTPUT(Z3_ENABLE_PIN) #define Z3_ENABLE_WRITE(STATE) WRITE(Z3_ENABLE_PIN,STATE) #define Z3_ENABLE_READ READ(Z3_ENABLE_PIN) @@ -327,17 +317,15 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset #define E0_DIR_WRITE(STATE) stepperE0.Step_Clock(STATE) #define E0_DIR_READ (stepperE0.getStatus() & STATUS_DIR) #else + #if AXIS_IS_TMC(E0) + extern TMC_CLASS(E0_DRIVER_TYPE) stepperE0; + #endif #if AXIS_DRIVER_TYPE(E0, TMC26X) extern TMC26XStepper stepperE0; #define E0_ENABLE_INIT NOOP #define E0_ENABLE_WRITE(STATE) stepperE0.setEnabled(STATE) #define E0_ENABLE_READ stepperE0.isEnabled() #else - #if AXIS_DRIVER_TYPE(E0, TMC2130) - extern TMC2130Stepper stepperE0; - #elif AXIS_DRIVER_TYPE(E0, TMC2208) - extern TMC2208Stepper stepperE0; - #endif #define E0_ENABLE_INIT SET_OUTPUT(E0_ENABLE_PIN) #define E0_ENABLE_WRITE(STATE) WRITE(E0_ENABLE_PIN,STATE) #define E0_ENABLE_READ READ(E0_ENABLE_PIN) @@ -360,17 +348,15 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset #define E1_DIR_WRITE(STATE) stepperE1.Step_Clock(STATE) #define E1_DIR_READ (stepperE1.getStatus() & STATUS_DIR) #else + #if AXIS_IS_TMC(E1) + extern TMC_CLASS(E1_DRIVER_TYPE) stepperE1; + #endif #if AXIS_DRIVER_TYPE(E1, TMC26X) extern TMC26XStepper stepperE1; #define E1_ENABLE_INIT NOOP #define E1_ENABLE_WRITE(STATE) stepperE1.setEnabled(STATE) #define E1_ENABLE_READ stepperE1.isEnabled() #else - #if AXIS_DRIVER_TYPE(E1, TMC2130) - extern TMC2130Stepper stepperE1; - #elif AXIS_DRIVER_TYPE(E1, TMC2208) - extern TMC2208Stepper stepperE1; - #endif #define E1_ENABLE_INIT SET_OUTPUT(E1_ENABLE_PIN) #define E1_ENABLE_WRITE(STATE) WRITE(E1_ENABLE_PIN,STATE) #define E1_ENABLE_READ READ(E1_ENABLE_PIN) @@ -393,17 +379,15 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset #define E2_DIR_WRITE(STATE) stepperE2.Step_Clock(STATE) #define E2_DIR_READ (stepperE2.getStatus() & STATUS_DIR) #else + #if AXIS_IS_TMC(E2) + extern TMC_CLASS(E2_DRIVER_TYPE) stepperE2; + #endif #if AXIS_DRIVER_TYPE(E2, TMC26X) extern TMC26XStepper stepperE2; #define E2_ENABLE_INIT NOOP #define E2_ENABLE_WRITE(STATE) stepperE2.setEnabled(STATE) #define E2_ENABLE_READ stepperE2.isEnabled() #else - #if AXIS_DRIVER_TYPE(E2, TMC2130) - extern TMC2130Stepper stepperE2; - #elif AXIS_DRIVER_TYPE(E2, TMC2208) - extern TMC2208Stepper stepperE2; - #endif #define E2_ENABLE_INIT SET_OUTPUT(E2_ENABLE_PIN) #define E2_ENABLE_WRITE(STATE) WRITE(E2_ENABLE_PIN,STATE) #define E2_ENABLE_READ READ(E2_ENABLE_PIN) @@ -426,17 +410,15 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset #define E3_DIR_WRITE(STATE) stepperE3.Step_Clock(STATE) #define E3_DIR_READ (stepperE3.getStatus() & STATUS_DIR) #else + #if AXIS_IS_TMC(E3) + extern TMC_CLASS(E3_DRIVER_TYPE) stepperE3; + #endif #if AXIS_DRIVER_TYPE(E3, TMC26X) extern TMC26XStepper stepperE3; #define E3_ENABLE_INIT NOOP #define E3_ENABLE_WRITE(STATE) stepperE3.setEnabled(STATE) #define E3_ENABLE_READ stepperE3.isEnabled() #else - #if AXIS_DRIVER_TYPE(E3, TMC2130) - extern TMC2130Stepper stepperE3; - #elif AXIS_DRIVER_TYPE(E3, TMC2208) - extern TMC2208Stepper stepperE3; - #endif #define E3_ENABLE_INIT SET_OUTPUT(E3_ENABLE_PIN) #define E3_ENABLE_WRITE(STATE) WRITE(E3_ENABLE_PIN,STATE) #define E3_ENABLE_READ READ(E3_ENABLE_PIN) @@ -459,17 +441,15 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset #define E4_DIR_WRITE(STATE) stepperE4.Step_Clock(STATE) #define E4_DIR_READ (stepperE4.getStatus() & STATUS_DIR) #else + #if AXIS_IS_TMC(E4) + extern TMC_CLASS(E4_DRIVER_TYPE) stepperE4; + #endif #if AXIS_DRIVER_TYPE(E4, TMC26X) extern TMC26XStepper stepperE4; #define E4_ENABLE_INIT NOOP #define E4_ENABLE_WRITE(STATE) stepperE4.setEnabled(STATE) #define E4_ENABLE_READ stepperE4.isEnabled() #else - #if AXIS_DRIVER_TYPE(E4, TMC2130) - extern TMC2130Stepper stepperE4; - #elif AXIS_DRIVER_TYPE(E4, TMC2208) - extern TMC2208Stepper stepperE4; - #endif #define E4_ENABLE_INIT SET_OUTPUT(E4_ENABLE_PIN) #define E4_ENABLE_WRITE(STATE) WRITE(E4_ENABLE_PIN,STATE) #define E4_ENABLE_READ READ(E4_ENABLE_PIN) @@ -492,17 +472,15 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset #define E5_DIR_WRITE(STATE) stepperE5.Step_Clock(STATE) #define E5_DIR_READ (stepperE5.getStatus() & STATUS_DIR) #else + #if AXIS_IS_TMC(E5) + extern TMC_CLASS(E5_DRIVER_TYPE) stepperE5; + #endif #if AXIS_DRIVER_TYPE(E5, TMC26X) extern TMC26XStepper stepperE5; #define E5_ENABLE_INIT NOOP #define E5_ENABLE_WRITE(STATE) stepperE5.setEnabled(STATE) #define E5_ENABLE_READ stepperE5.isEnabled() #else - #if AXIS_DRIVER_TYPE(E5, TMC2130) - extern TMC2130Stepper stepperE5; - #elif AXIS_DRIVER_TYPE(E5, TMC2208) - extern TMC2208Stepper stepperE5; - #endif #define E5_ENABLE_INIT SET_OUTPUT(E5_ENABLE_PIN) #define E5_ENABLE_WRITE(STATE) WRITE(E5_ENABLE_PIN,STATE) #define E5_ENABLE_READ READ(E5_ENABLE_PIN) diff --git a/buildroot/share/tests/megaatmega2560_tests b/buildroot/share/tests/megaatmega2560_tests index d4857670d5f1..014dd6a4a6c5 100755 --- a/buildroot/share/tests/megaatmega2560_tests +++ b/buildroot/share/tests/megaatmega2560_tests @@ -291,7 +291,7 @@ exec_test $1 $2 "Delta Config (FLSUN AC because it's complex)" # SCARA with TMC2130 # use_example_configs SCARA -opt_enable AUTO_BED_LEVELING_BILINEAR FIX_MOUNTED_PROBE USE_ZMIN_PLUG EEPROM_SETTINGS EEPROM_CHITCHAT ULTIMAKERCONTROLLER +opt_enable AUTO_BED_LEVELING_BILINEAR FIX_MOUNTED_PROBE MANUAL_DEPLOY_STOW USE_ZMIN_PLUG EEPROM_SETTINGS EEPROM_CHITCHAT ULTIMAKERCONTROLLER opt_set X_DRIVER_TYPE TMC2130 opt_set Y_DRIVER_TYPE TMC2130 opt_set Z_DRIVER_TYPE TMC2130 diff --git a/platformio.ini b/platformio.ini index 77756c664067..b1a8cf677c47 100644 --- a/platformio.ini +++ b/platformio.ini @@ -31,8 +31,7 @@ build_flags = -fmax-errors=5 lib_deps = https://github.com/MarlinFirmware/U8glib-HAL/archive/dev.zip LiquidCrystal@1.3.4 - TMC2130Stepper - https://github.com/teemuatlut/TMC2208Stepper/archive/v0.2.5.zip + TMCStepper Adafruit NeoPixel@1.1.3 https://github.com/lincomatic/LiquidTWI2/archive/30aa480.zip https://github.com/ameyer/Arduino-L6470/archive/master.zip @@ -162,7 +161,7 @@ lib_ldf_mode = off lib_extra_dirs = frameworks lib_deps = CMSIS-LPC1768 https://github.com/MarlinFirmware/U8glib-HAL/archive/dev.zip - TMC2130Stepper@>=2.2.1 + TMCStepper extra_scripts = Marlin/src/HAL/HAL_LPC1768/debug_extra_script.py, Marlin/src/HAL/HAL_LPC1768/lpc1768_flag_script.py, Marlin/src/HAL/HAL_LPC1768/upload_extra_script.py src_filter = ${common.default_src_filter} + monitor_speed = 250000 @@ -270,7 +269,7 @@ framework = arduino board = disco_f407vg build_flags = ${common.build_flags} -DUSE_STM32GENERIC -DSTM32GENERIC -DMENU_USB_SERIAL -DMENU_SERIAL=SerialUSB lib_deps = ${common.lib_deps} -lib_ignore = Adafruit NeoPixel, c1921b4, TMC2130Stepper +lib_ignore = Adafruit NeoPixel, c1921b4, TMCStepper src_filter = ${common.default_src_filter} + monitor_speed = 250000 @@ -301,11 +300,10 @@ lib_ignore = NewliquidCrystal LiquidTWI2 Adafruit NeoPixel - TMC2130Stepper + TMCStepper Servo(STM32F1) TMC26XStepper U8glib-HAL - TMC2208Stepper c1921b4 #