Browse Source

TMC connection test, spreadCycle parameters, improved debugging (#12616)

teemuatlut 5 years ago
parent
commit
55144284c2
71 changed files with 917 additions and 452 deletions
  1. 8
    5
      Marlin/Configuration_adv.h
  2. 4
    0
      Marlin/src/Marlin.cpp
  3. 8
    5
      Marlin/src/config/default/Configuration_adv.h
  4. 8
    5
      Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h
  5. 8
    5
      Marlin/src/config/examples/Anet/A2/Configuration_adv.h
  6. 8
    5
      Marlin/src/config/examples/Anet/A2plus/Configuration_adv.h
  7. 8
    5
      Marlin/src/config/examples/Anet/A6/Configuration_adv.h
  8. 8
    5
      Marlin/src/config/examples/Anet/A8/Configuration_adv.h
  9. 8
    5
      Marlin/src/config/examples/ArmEd/Configuration_adv.h
  10. 8
    5
      Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h
  11. 8
    5
      Marlin/src/config/examples/BIBO/TouchX/default/Configuration_adv.h
  12. 8
    5
      Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h
  13. 8
    5
      Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h
  14. 8
    5
      Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h
  15. 8
    5
      Marlin/src/config/examples/Cartesio/Configuration_adv.h
  16. 8
    5
      Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h
  17. 8
    5
      Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h
  18. 8
    5
      Marlin/src/config/examples/Creality/CR-10mini/Configuration_adv.h
  19. 8
    5
      Marlin/src/config/examples/Creality/CR-8/Configuration_adv.h
  20. 8
    5
      Marlin/src/config/examples/Creality/Ender-2/Configuration_adv.h
  21. 8
    5
      Marlin/src/config/examples/Creality/Ender-3/Configuration_adv.h
  22. 8
    5
      Marlin/src/config/examples/Creality/Ender-4/Configuration_adv.h
  23. 8
    5
      Marlin/src/config/examples/Einstart-S/Configuration_adv.h
  24. 8
    5
      Marlin/src/config/examples/Felix/Configuration_adv.h
  25. 8
    5
      Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h
  26. 8
    5
      Marlin/src/config/examples/Formbot/Raptor/Configuration_adv.h
  27. 8
    5
      Marlin/src/config/examples/Formbot/T_Rex_2+/Configuration_adv.h
  28. 8
    5
      Marlin/src/config/examples/Formbot/T_Rex_3/Configuration_adv.h
  29. 8
    5
      Marlin/src/config/examples/Geeetech/MeCreator2/Configuration_adv.h
  30. 8
    5
      Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h
  31. 8
    5
      Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h
  32. 8
    5
      Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h
  33. 8
    5
      Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h
  34. 8
    5
      Marlin/src/config/examples/MakerParts/Configuration_adv.h
  35. 8
    5
      Marlin/src/config/examples/Malyan/M150/Configuration_adv.h
  36. 8
    5
      Marlin/src/config/examples/Malyan/M200/Configuration_adv.h
  37. 8
    5
      Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h
  38. 8
    5
      Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h
  39. 8
    5
      Marlin/src/config/examples/RigidBot/Configuration_adv.h
  40. 8
    5
      Marlin/src/config/examples/SCARA/Configuration_adv.h
  41. 8
    5
      Marlin/src/config/examples/Sanguinololu/Configuration_adv.h
  42. 8
    5
      Marlin/src/config/examples/TheBorg/Configuration_adv.h
  43. 8
    5
      Marlin/src/config/examples/TinyBoy2/Configuration_adv.h
  44. 8
    5
      Marlin/src/config/examples/Tronxy/X3A/Configuration_adv.h
  45. 8
    5
      Marlin/src/config/examples/UltiMachine/Archim1/Configuration_adv.h
  46. 8
    5
      Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h
  47. 8
    5
      Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h
  48. 8
    5
      Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h
  49. 8
    5
      Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h
  50. 8
    5
      Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration_adv.h
  51. 8
    5
      Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h
  52. 8
    5
      Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h
  53. 8
    5
      Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h
  54. 8
    5
      Marlin/src/config/examples/delta/Geeetech/Rostock 301/Configuration_adv.h
  55. 8
    5
      Marlin/src/config/examples/delta/MKS/SBASE/Configuration_adv.h
  56. 8
    5
      Marlin/src/config/examples/delta/Tevo Little Monster/Configuration_adv.h
  57. 8
    5
      Marlin/src/config/examples/delta/generic/Configuration_adv.h
  58. 8
    5
      Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h
  59. 8
    5
      Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h
  60. 8
    5
      Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h
  61. 8
    5
      Marlin/src/config/examples/makibox/Configuration_adv.h
  62. 8
    5
      Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h
  63. 8
    5
      Marlin/src/config/examples/wt150/Configuration_adv.h
  64. 362
    118
      Marlin/src/feature/tmc_util.cpp
  65. 4
    1
      Marlin/src/feature/tmc_util.h
  66. 17
    6
      Marlin/src/gcode/feature/trinamic/M122.cpp
  67. 1
    3
      Marlin/src/gcode/gcode.cpp
  68. 1
    3
      Marlin/src/gcode/gcode.h
  69. 10
    1
      Marlin/src/libs/hex_print_routines.cpp
  70. 1
    0
      Marlin/src/libs/hex_print_routines.h
  71. 21
    10
      Marlin/src/module/stepper_indirection.cpp

+ 8
- 5
Marlin/Configuration_adv.h View File

@@ -1298,17 +1298,14 @@
1298 1298
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1299 1299
  * You may also use software SPI if you wish to use general purpose IO pins.
1300 1300
  *
1301
- * The TMC2130Stepper library is required for this stepper driver.
1302
- * https://github.com/teemuatlut/TMC2130Stepper
1303
- *
1304 1301
  * To use TMC2208 stepper UART-configurable stepper drivers
1305 1302
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1306 1303
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1307 1304
  * to PDN_UART without a resistor.
1308 1305
  * The drivers can also be used with hardware serial.
1309 1306
  *
1310
- * The TMC2208Stepper library is required for this stepper driver.
1311
- * https://github.com/teemuatlut/TMC2208Stepper
1307
+ * TMCStepper library is required for connected TMC stepper drivers.
1308
+ * https://github.com/teemuatlut/TMCStepper
1312 1309
  */
1313 1310
 #if HAS_TRINAMIC
1314 1311
 
@@ -1392,6 +1389,12 @@
1392 1389
   #define STEALTHCHOP_E
1393 1390
 
1394 1391
   /**
1392
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1393
+   * The parameters are off time, hysteresis end and hysteresis start.
1394
+   */
1395
+  #define CHOPPER_TIMING { 4, -2, 1 }
1396
+
1397
+  /**
1395 1398
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1396 1399
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1397 1400
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 4
- 0
Marlin/src/Marlin.cpp View File

@@ -945,6 +945,10 @@ void setup() {
945 945
   #if ENABLED(SDSUPPORT) && DISABLED(ULTRA_LCD)
946 946
     card.beginautostart();
947 947
   #endif
948
+
949
+  #if HAS_TRINAMIC && DISABLED(PS_DEFAULT_OFF)
950
+    test_tmc_connection(true, true, true, true);
951
+  #endif
948 952
 }
949 953
 
950 954
 /**

+ 8
- 5
Marlin/src/config/default/Configuration_adv.h View File

@@ -1298,17 +1298,14 @@
1298 1298
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1299 1299
  * You may also use software SPI if you wish to use general purpose IO pins.
1300 1300
  *
1301
- * The TMC2130Stepper library is required for this stepper driver.
1302
- * https://github.com/teemuatlut/TMC2130Stepper
1303
- *
1304 1301
  * To use TMC2208 stepper UART-configurable stepper drivers
1305 1302
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1306 1303
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1307 1304
  * to PDN_UART without a resistor.
1308 1305
  * The drivers can also be used with hardware serial.
1309 1306
  *
1310
- * The TMC2208Stepper library is required for this stepper driver.
1311
- * https://github.com/teemuatlut/TMC2208Stepper
1307
+ * TMCStepper library is required for connected TMC stepper drivers.
1308
+ * https://github.com/teemuatlut/TMCStepper
1312 1309
  */
1313 1310
 #if HAS_TRINAMIC
1314 1311
 
@@ -1392,6 +1389,12 @@
1392 1389
   #define STEALTHCHOP_E
1393 1390
 
1394 1391
   /**
1392
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1393
+   * The parameters are off time, hysteresis end and hysteresis start.
1394
+   */
1395
+  #define CHOPPER_TIMING { 4, -2, 1 }
1396
+
1397
+  /**
1395 1398
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1396 1399
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1397 1400
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h View File

@@ -1297,17 +1297,14 @@
1297 1297
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1298 1298
  * You may also use software SPI if you wish to use general purpose IO pins.
1299 1299
  *
1300
- * The TMC2130Stepper library is required for this stepper driver.
1301
- * https://github.com/teemuatlut/TMC2130Stepper
1302
- *
1303 1300
  * To use TMC2208 stepper UART-configurable stepper drivers
1304 1301
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1305 1302
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1306 1303
  * to PDN_UART without a resistor.
1307 1304
  * The drivers can also be used with hardware serial.
1308 1305
  *
1309
- * The TMC2208Stepper library is required for this stepper driver.
1310
- * https://github.com/teemuatlut/TMC2208Stepper
1306
+ * TMCStepper library is required for connected TMC stepper drivers.
1307
+ * https://github.com/teemuatlut/TMCStepper
1311 1308
  */
1312 1309
 #if HAS_TRINAMIC
1313 1310
 
@@ -1391,6 +1388,12 @@
1391 1388
   #define STEALTHCHOP_E
1392 1389
 
1393 1390
   /**
1391
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1392
+   * The parameters are off time, hysteresis end and hysteresis start.
1393
+   */
1394
+  #define CHOPPER_TIMING { 4, -2, 1 }
1395
+
1396
+  /**
1394 1397
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1395 1398
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1396 1399
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/Anet/A2/Configuration_adv.h View File

@@ -1297,17 +1297,14 @@
1297 1297
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1298 1298
  * You may also use software SPI if you wish to use general purpose IO pins.
1299 1299
  *
1300
- * The TMC2130Stepper library is required for this stepper driver.
1301
- * https://github.com/teemuatlut/TMC2130Stepper
1302
- *
1303 1300
  * To use TMC2208 stepper UART-configurable stepper drivers
1304 1301
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1305 1302
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1306 1303
  * to PDN_UART without a resistor.
1307 1304
  * The drivers can also be used with hardware serial.
1308 1305
  *
1309
- * The TMC2208Stepper library is required for this stepper driver.
1310
- * https://github.com/teemuatlut/TMC2208Stepper
1306
+ * TMCStepper library is required for connected TMC stepper drivers.
1307
+ * https://github.com/teemuatlut/TMCStepper
1311 1308
  */
1312 1309
 #if HAS_TRINAMIC
1313 1310
 
@@ -1391,6 +1388,12 @@
1391 1388
   #define STEALTHCHOP_E
1392 1389
 
1393 1390
   /**
1391
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1392
+   * The parameters are off time, hysteresis end and hysteresis start.
1393
+   */
1394
+  #define CHOPPER_TIMING { 4, -2, 1 }
1395
+
1396
+  /**
1394 1397
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1395 1398
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1396 1399
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/Anet/A2plus/Configuration_adv.h View File

@@ -1297,17 +1297,14 @@
1297 1297
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1298 1298
  * You may also use software SPI if you wish to use general purpose IO pins.
1299 1299
  *
1300
- * The TMC2130Stepper library is required for this stepper driver.
1301
- * https://github.com/teemuatlut/TMC2130Stepper
1302
- *
1303 1300
  * To use TMC2208 stepper UART-configurable stepper drivers
1304 1301
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1305 1302
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1306 1303
  * to PDN_UART without a resistor.
1307 1304
  * The drivers can also be used with hardware serial.
1308 1305
  *
1309
- * The TMC2208Stepper library is required for this stepper driver.
1310
- * https://github.com/teemuatlut/TMC2208Stepper
1306
+ * TMCStepper library is required for connected TMC stepper drivers.
1307
+ * https://github.com/teemuatlut/TMCStepper
1311 1308
  */
1312 1309
 #if HAS_TRINAMIC
1313 1310
 
@@ -1391,6 +1388,12 @@
1391 1388
   #define STEALTHCHOP_E
1392 1389
 
1393 1390
   /**
1391
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1392
+   * The parameters are off time, hysteresis end and hysteresis start.
1393
+   */
1394
+  #define CHOPPER_TIMING { 4, -2, 1 }
1395
+
1396
+  /**
1394 1397
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1395 1398
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1396 1399
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/Anet/A6/Configuration_adv.h View File

@@ -1296,17 +1296,14 @@
1296 1296
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1297 1297
  * You may also use software SPI if you wish to use general purpose IO pins.
1298 1298
  *
1299
- * The TMC2130Stepper library is required for this stepper driver.
1300
- * https://github.com/teemuatlut/TMC2130Stepper
1301
- *
1302 1299
  * To use TMC2208 stepper UART-configurable stepper drivers
1303 1300
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1304 1301
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1305 1302
  * to PDN_UART without a resistor.
1306 1303
  * The drivers can also be used with hardware serial.
1307 1304
  *
1308
- * The TMC2208Stepper library is required for this stepper driver.
1309
- * https://github.com/teemuatlut/TMC2208Stepper
1305
+ * TMCStepper library is required for connected TMC stepper drivers.
1306
+ * https://github.com/teemuatlut/TMCStepper
1310 1307
  */
1311 1308
 #if HAS_TRINAMIC
1312 1309
 
@@ -1390,6 +1387,12 @@
1390 1387
   #define STEALTHCHOP_E
1391 1388
 
1392 1389
   /**
1390
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1391
+   * The parameters are off time, hysteresis end and hysteresis start.
1392
+   */
1393
+  #define CHOPPER_TIMING { 4, -2, 1 }
1394
+
1395
+  /**
1393 1396
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1394 1397
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1395 1398
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/Anet/A8/Configuration_adv.h View File

@@ -1297,17 +1297,14 @@
1297 1297
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1298 1298
  * You may also use software SPI if you wish to use general purpose IO pins.
1299 1299
  *
1300
- * The TMC2130Stepper library is required for this stepper driver.
1301
- * https://github.com/teemuatlut/TMC2130Stepper
1302
- *
1303 1300
  * To use TMC2208 stepper UART-configurable stepper drivers
1304 1301
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1305 1302
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1306 1303
  * to PDN_UART without a resistor.
1307 1304
  * The drivers can also be used with hardware serial.
1308 1305
  *
1309
- * The TMC2208Stepper library is required for this stepper driver.
1310
- * https://github.com/teemuatlut/TMC2208Stepper
1306
+ * TMCStepper library is required for connected TMC stepper drivers.
1307
+ * https://github.com/teemuatlut/TMCStepper
1311 1308
  */
1312 1309
 #if HAS_TRINAMIC
1313 1310
 
@@ -1391,6 +1388,12 @@
1391 1388
   #define STEALTHCHOP_E
1392 1389
 
1393 1390
   /**
1391
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1392
+   * The parameters are off time, hysteresis end and hysteresis start.
1393
+   */
1394
+  #define CHOPPER_TIMING { 4, -2, 1 }
1395
+
1396
+  /**
1394 1397
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1395 1398
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1396 1399
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/ArmEd/Configuration_adv.h View File

@@ -1271,17 +1271,14 @@
1271 1271
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1272 1272
  * You may also use software SPI if you wish to use general purpose IO pins.
1273 1273
  *
1274
- * The TMC2130Stepper library is required for this stepper driver.
1275
- * https://github.com/teemuatlut/TMC2130Stepper
1276
- *
1277 1274
  * To use TMC2208 stepper UART-configurable stepper drivers
1278 1275
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1279 1276
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1280 1277
  * to PDN_UART without a resistor.
1281 1278
  * The drivers can also be used with hardware serial.
1282 1279
  *
1283
- * The TMC2208Stepper library is required for this stepper driver.
1284
- * https://github.com/teemuatlut/TMC2208Stepper
1280
+ * TMCStepper library is required for connected TMC stepper drivers.
1281
+ * https://github.com/teemuatlut/TMCStepper
1285 1282
  */
1286 1283
 #if HAS_TRINAMIC
1287 1284
 
@@ -1365,6 +1362,12 @@
1365 1362
   #define STEALTHCHOP_E
1366 1363
 
1367 1364
   /**
1365
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1366
+   * The parameters are off time, hysteresis end and hysteresis start.
1367
+   */
1368
+  #define CHOPPER_TIMING { 4, -2, 1 }
1369
+
1370
+  /**
1368 1371
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1369 1372
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1370 1373
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h View File

@@ -1296,17 +1296,14 @@
1296 1296
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1297 1297
  * You may also use software SPI if you wish to use general purpose IO pins.
1298 1298
  *
1299
- * The TMC2130Stepper library is required for this stepper driver.
1300
- * https://github.com/teemuatlut/TMC2130Stepper
1301
- *
1302 1299
  * To use TMC2208 stepper UART-configurable stepper drivers
1303 1300
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1304 1301
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1305 1302
  * to PDN_UART without a resistor.
1306 1303
  * The drivers can also be used with hardware serial.
1307 1304
  *
1308
- * The TMC2208Stepper library is required for this stepper driver.
1309
- * https://github.com/teemuatlut/TMC2208Stepper
1305
+ * TMCStepper library is required for connected TMC stepper drivers.
1306
+ * https://github.com/teemuatlut/TMCStepper
1310 1307
  */
1311 1308
 #if HAS_TRINAMIC
1312 1309
 
@@ -1390,6 +1387,12 @@
1390 1387
   #define STEALTHCHOP_E
1391 1388
 
1392 1389
   /**
1390
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1391
+   * The parameters are off time, hysteresis end and hysteresis start.
1392
+   */
1393
+  #define CHOPPER_TIMING { 4, -2, 1 }
1394
+
1395
+  /**
1393 1396
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1394 1397
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1395 1398
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/BIBO/TouchX/default/Configuration_adv.h View File

@@ -1297,17 +1297,14 @@
1297 1297
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1298 1298
  * You may also use software SPI if you wish to use general purpose IO pins.
1299 1299
  *
1300
- * The TMC2130Stepper library is required for this stepper driver.
1301
- * https://github.com/teemuatlut/TMC2130Stepper
1302
- *
1303 1300
  * To use TMC2208 stepper UART-configurable stepper drivers
1304 1301
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1305 1302
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1306 1303
  * to PDN_UART without a resistor.
1307 1304
  * The drivers can also be used with hardware serial.
1308 1305
  *
1309
- * The TMC2208Stepper library is required for this stepper driver.
1310
- * https://github.com/teemuatlut/TMC2208Stepper
1306
+ * TMCStepper library is required for connected TMC stepper drivers.
1307
+ * https://github.com/teemuatlut/TMCStepper
1311 1308
  */
1312 1309
 #if HAS_TRINAMIC
1313 1310
 
@@ -1391,6 +1388,12 @@
1391 1388
   #define STEALTHCHOP_E
1392 1389
 
1393 1390
   /**
1391
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1392
+   * The parameters are off time, hysteresis end and hysteresis start.
1393
+   */
1394
+  #define CHOPPER_TIMING { 4, -2, 1 }
1395
+
1396
+  /**
1394 1397
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1395 1398
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1396 1399
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h View File

@@ -1297,17 +1297,14 @@
1297 1297
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1298 1298
  * You may also use software SPI if you wish to use general purpose IO pins.
1299 1299
  *
1300
- * The TMC2130Stepper library is required for this stepper driver.
1301
- * https://github.com/teemuatlut/TMC2130Stepper
1302
- *
1303 1300
  * To use TMC2208 stepper UART-configurable stepper drivers
1304 1301
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1305 1302
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1306 1303
  * to PDN_UART without a resistor.
1307 1304
  * The drivers can also be used with hardware serial.
1308 1305
  *
1309
- * The TMC2208Stepper library is required for this stepper driver.
1310
- * https://github.com/teemuatlut/TMC2208Stepper
1306
+ * TMCStepper library is required for connected TMC stepper drivers.
1307
+ * https://github.com/teemuatlut/TMCStepper
1311 1308
  */
1312 1309
 #if HAS_TRINAMIC
1313 1310
 
@@ -1391,6 +1388,12 @@
1391 1388
   #define STEALTHCHOP_E
1392 1389
 
1393 1390
   /**
1391
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1392
+   * The parameters are off time, hysteresis end and hysteresis start.
1393
+   */
1394
+  #define CHOPPER_TIMING { 4, -2, 1 }
1395
+
1396
+  /**
1394 1397
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1395 1398
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1396 1399
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h View File

@@ -1305,17 +1305,14 @@
1305 1305
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1306 1306
  * You may also use software SPI if you wish to use general purpose IO pins.
1307 1307
  *
1308
- * The TMC2130Stepper library is required for this stepper driver.
1309
- * https://github.com/teemuatlut/TMC2130Stepper
1310
- *
1311 1308
  * To use TMC2208 stepper UART-configurable stepper drivers
1312 1309
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1313 1310
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1314 1311
  * to PDN_UART without a resistor.
1315 1312
  * The drivers can also be used with hardware serial.
1316 1313
  *
1317
- * The TMC2208Stepper library is required for this stepper driver.
1318
- * https://github.com/teemuatlut/TMC2208Stepper
1314
+ * TMCStepper library is required for connected TMC stepper drivers.
1315
+ * https://github.com/teemuatlut/TMCStepper
1319 1316
  */
1320 1317
 #if HAS_TRINAMIC
1321 1318
 
@@ -1399,6 +1396,12 @@
1399 1396
   #define STEALTHCHOP_E
1400 1397
 
1401 1398
   /**
1399
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1400
+   * The parameters are off time, hysteresis end and hysteresis start.
1401
+   */
1402
+  #define CHOPPER_TIMING { 4, -2, 1 }
1403
+
1404
+  /**
1402 1405
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1403 1406
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1404 1407
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h View File

@@ -1297,17 +1297,14 @@
1297 1297
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1298 1298
  * You may also use software SPI if you wish to use general purpose IO pins.
1299 1299
  *
1300
- * The TMC2130Stepper library is required for this stepper driver.
1301
- * https://github.com/teemuatlut/TMC2130Stepper
1302
- *
1303 1300
  * To use TMC2208 stepper UART-configurable stepper drivers
1304 1301
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1305 1302
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1306 1303
  * to PDN_UART without a resistor.
1307 1304
  * The drivers can also be used with hardware serial.
1308 1305
  *
1309
- * The TMC2208Stepper library is required for this stepper driver.
1310
- * https://github.com/teemuatlut/TMC2208Stepper
1306
+ * TMCStepper library is required for connected TMC stepper drivers.
1307
+ * https://github.com/teemuatlut/TMCStepper
1311 1308
  */
1312 1309
 #if HAS_TRINAMIC
1313 1310
 
@@ -1391,6 +1388,12 @@
1391 1388
   #define STEALTHCHOP_E
1392 1389
 
1393 1390
   /**
1391
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1392
+   * The parameters are off time, hysteresis end and hysteresis start.
1393
+   */
1394
+  #define CHOPPER_TIMING { 4, -2, 1 }
1395
+
1396
+  /**
1394 1397
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1395 1398
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1396 1399
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/Cartesio/Configuration_adv.h View File

@@ -1297,17 +1297,14 @@
1297 1297
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1298 1298
  * You may also use software SPI if you wish to use general purpose IO pins.
1299 1299
  *
1300
- * The TMC2130Stepper library is required for this stepper driver.
1301
- * https://github.com/teemuatlut/TMC2130Stepper
1302
- *
1303 1300
  * To use TMC2208 stepper UART-configurable stepper drivers
1304 1301
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1305 1302
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1306 1303
  * to PDN_UART without a resistor.
1307 1304
  * The drivers can also be used with hardware serial.
1308 1305
  *
1309
- * The TMC2208Stepper library is required for this stepper driver.
1310
- * https://github.com/teemuatlut/TMC2208Stepper
1306
+ * TMCStepper library is required for connected TMC stepper drivers.
1307
+ * https://github.com/teemuatlut/TMCStepper
1311 1308
  */
1312 1309
 #if HAS_TRINAMIC
1313 1310
 
@@ -1391,6 +1388,12 @@
1391 1388
   #define STEALTHCHOP_E
1392 1389
 
1393 1390
   /**
1391
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1392
+   * The parameters are off time, hysteresis end and hysteresis start.
1393
+   */
1394
+  #define CHOPPER_TIMING { 4, -2, 1 }
1395
+
1396
+  /**
1394 1397
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1395 1398
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1396 1399
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h View File

@@ -1297,17 +1297,14 @@
1297 1297
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1298 1298
  * You may also use software SPI if you wish to use general purpose IO pins.
1299 1299
  *
1300
- * The TMC2130Stepper library is required for this stepper driver.
1301
- * https://github.com/teemuatlut/TMC2130Stepper
1302
- *
1303 1300
  * To use TMC2208 stepper UART-configurable stepper drivers
1304 1301
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1305 1302
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1306 1303
  * to PDN_UART without a resistor.
1307 1304
  * The drivers can also be used with hardware serial.
1308 1305
  *
1309
- * The TMC2208Stepper library is required for this stepper driver.
1310
- * https://github.com/teemuatlut/TMC2208Stepper
1306
+ * TMCStepper library is required for connected TMC stepper drivers.
1307
+ * https://github.com/teemuatlut/TMCStepper
1311 1308
  */
1312 1309
 #if HAS_TRINAMIC
1313 1310
 
@@ -1391,6 +1388,12 @@
1391 1388
   #define STEALTHCHOP_E
1392 1389
 
1393 1390
   /**
1391
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1392
+   * The parameters are off time, hysteresis end and hysteresis start.
1393
+   */
1394
+  #define CHOPPER_TIMING { 4, -2, 1 }
1395
+
1396
+  /**
1394 1397
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1395 1398
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1396 1399
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h View File

@@ -1297,17 +1297,14 @@
1297 1297
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1298 1298
  * You may also use software SPI if you wish to use general purpose IO pins.
1299 1299
  *
1300
- * The TMC2130Stepper library is required for this stepper driver.
1301
- * https://github.com/teemuatlut/TMC2130Stepper
1302
- *
1303 1300
  * To use TMC2208 stepper UART-configurable stepper drivers
1304 1301
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1305 1302
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1306 1303
  * to PDN_UART without a resistor.
1307 1304
  * The drivers can also be used with hardware serial.
1308 1305
  *
1309
- * The TMC2208Stepper library is required for this stepper driver.
1310
- * https://github.com/teemuatlut/TMC2208Stepper
1306
+ * TMCStepper library is required for connected TMC stepper drivers.
1307
+ * https://github.com/teemuatlut/TMCStepper
1311 1308
  */
1312 1309
 #if HAS_TRINAMIC
1313 1310
 
@@ -1391,6 +1388,12 @@
1391 1388
   #define STEALTHCHOP_E
1392 1389
 
1393 1390
   /**
1391
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1392
+   * The parameters are off time, hysteresis end and hysteresis start.
1393
+   */
1394
+  #define CHOPPER_TIMING { 4, -2, 1 }
1395
+
1396
+  /**
1394 1397
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1395 1398
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1396 1399
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/Creality/CR-10mini/Configuration_adv.h View File

@@ -1297,17 +1297,14 @@
1297 1297
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1298 1298
  * You may also use software SPI if you wish to use general purpose IO pins.
1299 1299
  *
1300
- * The TMC2130Stepper library is required for this stepper driver.
1301
- * https://github.com/teemuatlut/TMC2130Stepper
1302
- *
1303 1300
  * To use TMC2208 stepper UART-configurable stepper drivers
1304 1301
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1305 1302
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1306 1303
  * to PDN_UART without a resistor.
1307 1304
  * The drivers can also be used with hardware serial.
1308 1305
  *
1309
- * The TMC2208Stepper library is required for this stepper driver.
1310
- * https://github.com/teemuatlut/TMC2208Stepper
1306
+ * TMCStepper library is required for connected TMC stepper drivers.
1307
+ * https://github.com/teemuatlut/TMCStepper
1311 1308
  */
1312 1309
 #if HAS_TRINAMIC
1313 1310
 
@@ -1391,6 +1388,12 @@
1391 1388
   #define STEALTHCHOP_E
1392 1389
 
1393 1390
   /**
1391
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1392
+   * The parameters are off time, hysteresis end and hysteresis start.
1393
+   */
1394
+  #define CHOPPER_TIMING { 4, -2, 1 }
1395
+
1396
+  /**
1394 1397
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1395 1398
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1396 1399
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/Creality/CR-8/Configuration_adv.h View File

@@ -1297,17 +1297,14 @@
1297 1297
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1298 1298
  * You may also use software SPI if you wish to use general purpose IO pins.
1299 1299
  *
1300
- * The TMC2130Stepper library is required for this stepper driver.
1301
- * https://github.com/teemuatlut/TMC2130Stepper
1302
- *
1303 1300
  * To use TMC2208 stepper UART-configurable stepper drivers
1304 1301
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1305 1302
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1306 1303
  * to PDN_UART without a resistor.
1307 1304
  * The drivers can also be used with hardware serial.
1308 1305
  *
1309
- * The TMC2208Stepper library is required for this stepper driver.
1310
- * https://github.com/teemuatlut/TMC2208Stepper
1306
+ * TMCStepper library is required for connected TMC stepper drivers.
1307
+ * https://github.com/teemuatlut/TMCStepper
1311 1308
  */
1312 1309
 #if HAS_TRINAMIC
1313 1310
 
@@ -1391,6 +1388,12 @@
1391 1388
   #define STEALTHCHOP_E
1392 1389
 
1393 1390
   /**
1391
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1392
+   * The parameters are off time, hysteresis end and hysteresis start.
1393
+   */
1394
+  #define CHOPPER_TIMING { 4, -2, 1 }
1395
+
1396
+  /**
1394 1397
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1395 1398
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1396 1399
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/Creality/Ender-2/Configuration_adv.h View File

@@ -1297,17 +1297,14 @@
1297 1297
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1298 1298
  * You may also use software SPI if you wish to use general purpose IO pins.
1299 1299
  *
1300
- * The TMC2130Stepper library is required for this stepper driver.
1301
- * https://github.com/teemuatlut/TMC2130Stepper
1302
- *
1303 1300
  * To use TMC2208 stepper UART-configurable stepper drivers
1304 1301
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1305 1302
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1306 1303
  * to PDN_UART without a resistor.
1307 1304
  * The drivers can also be used with hardware serial.
1308 1305
  *
1309
- * The TMC2208Stepper library is required for this stepper driver.
1310
- * https://github.com/teemuatlut/TMC2208Stepper
1306
+ * TMCStepper library is required for connected TMC stepper drivers.
1307
+ * https://github.com/teemuatlut/TMCStepper
1311 1308
  */
1312 1309
 #if HAS_TRINAMIC
1313 1310
 
@@ -1391,6 +1388,12 @@
1391 1388
   #define STEALTHCHOP_E
1392 1389
 
1393 1390
   /**
1391
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1392
+   * The parameters are off time, hysteresis end and hysteresis start.
1393
+   */
1394
+  #define CHOPPER_TIMING { 4, -2, 1 }
1395
+
1396
+  /**
1394 1397
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1395 1398
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1396 1399
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/Creality/Ender-3/Configuration_adv.h View File

@@ -1297,17 +1297,14 @@
1297 1297
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1298 1298
  * You may also use software SPI if you wish to use general purpose IO pins.
1299 1299
  *
1300
- * The TMC2130Stepper library is required for this stepper driver.
1301
- * https://github.com/teemuatlut/TMC2130Stepper
1302
- *
1303 1300
  * To use TMC2208 stepper UART-configurable stepper drivers
1304 1301
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1305 1302
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1306 1303
  * to PDN_UART without a resistor.
1307 1304
  * The drivers can also be used with hardware serial.
1308 1305
  *
1309
- * The TMC2208Stepper library is required for this stepper driver.
1310
- * https://github.com/teemuatlut/TMC2208Stepper
1306
+ * TMCStepper library is required for connected TMC stepper drivers.
1307
+ * https://github.com/teemuatlut/TMCStepper
1311 1308
  */
1312 1309
 #if HAS_TRINAMIC
1313 1310
 
@@ -1391,6 +1388,12 @@
1391 1388
   #define STEALTHCHOP_E
1392 1389
 
1393 1390
   /**
1391
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1392
+   * The parameters are off time, hysteresis end and hysteresis start.
1393
+   */
1394
+  #define CHOPPER_TIMING { 4, -2, 1 }
1395
+
1396
+  /**
1394 1397
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1395 1398
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1396 1399
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/Creality/Ender-4/Configuration_adv.h View File

@@ -1297,17 +1297,14 @@
1297 1297
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1298 1298
  * You may also use software SPI if you wish to use general purpose IO pins.
1299 1299
  *
1300
- * The TMC2130Stepper library is required for this stepper driver.
1301
- * https://github.com/teemuatlut/TMC2130Stepper
1302
- *
1303 1300
  * To use TMC2208 stepper UART-configurable stepper drivers
1304 1301
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1305 1302
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1306 1303
  * to PDN_UART without a resistor.
1307 1304
  * The drivers can also be used with hardware serial.
1308 1305
  *
1309
- * The TMC2208Stepper library is required for this stepper driver.
1310
- * https://github.com/teemuatlut/TMC2208Stepper
1306
+ * TMCStepper library is required for connected TMC stepper drivers.
1307
+ * https://github.com/teemuatlut/TMCStepper
1311 1308
  */
1312 1309
 #if HAS_TRINAMIC
1313 1310
 
@@ -1391,6 +1388,12 @@
1391 1388
   #define STEALTHCHOP_E
1392 1389
 
1393 1390
   /**
1391
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1392
+   * The parameters are off time, hysteresis end and hysteresis start.
1393
+   */
1394
+  #define CHOPPER_TIMING { 4, -2, 1 }
1395
+
1396
+  /**
1394 1397
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1395 1398
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1396 1399
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/Einstart-S/Configuration_adv.h View File

@@ -1297,17 +1297,14 @@
1297 1297
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1298 1298
  * You may also use software SPI if you wish to use general purpose IO pins.
1299 1299
  *
1300
- * The TMC2130Stepper library is required for this stepper driver.
1301
- * https://github.com/teemuatlut/TMC2130Stepper
1302
- *
1303 1300
  * To use TMC2208 stepper UART-configurable stepper drivers
1304 1301
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1305 1302
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1306 1303
  * to PDN_UART without a resistor.
1307 1304
  * The drivers can also be used with hardware serial.
1308 1305
  *
1309
- * The TMC2208Stepper library is required for this stepper driver.
1310
- * https://github.com/teemuatlut/TMC2208Stepper
1306
+ * TMCStepper library is required for connected TMC stepper drivers.
1307
+ * https://github.com/teemuatlut/TMCStepper
1311 1308
  */
1312 1309
 #if HAS_TRINAMIC
1313 1310
 
@@ -1391,6 +1388,12 @@
1391 1388
   #define STEALTHCHOP_E
1392 1389
 
1393 1390
   /**
1391
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1392
+   * The parameters are off time, hysteresis end and hysteresis start.
1393
+   */
1394
+  #define CHOPPER_TIMING { 4, -2, 1 }
1395
+
1396
+  /**
1394 1397
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1395 1398
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1396 1399
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/Felix/Configuration_adv.h View File

@@ -1297,17 +1297,14 @@
1297 1297
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1298 1298
  * You may also use software SPI if you wish to use general purpose IO pins.
1299 1299
  *
1300
- * The TMC2130Stepper library is required for this stepper driver.
1301
- * https://github.com/teemuatlut/TMC2130Stepper
1302
- *
1303 1300
  * To use TMC2208 stepper UART-configurable stepper drivers
1304 1301
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1305 1302
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1306 1303
  * to PDN_UART without a resistor.
1307 1304
  * The drivers can also be used with hardware serial.
1308 1305
  *
1309
- * The TMC2208Stepper library is required for this stepper driver.
1310
- * https://github.com/teemuatlut/TMC2208Stepper
1306
+ * TMCStepper library is required for connected TMC stepper drivers.
1307
+ * https://github.com/teemuatlut/TMCStepper
1311 1308
  */
1312 1309
 #if HAS_TRINAMIC
1313 1310
 
@@ -1391,6 +1388,12 @@
1391 1388
   #define STEALTHCHOP_E
1392 1389
 
1393 1390
   /**
1391
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1392
+   * The parameters are off time, hysteresis end and hysteresis start.
1393
+   */
1394
+  #define CHOPPER_TIMING { 4, -2, 1 }
1395
+
1396
+  /**
1394 1397
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1395 1398
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1396 1399
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h View File

@@ -1297,17 +1297,14 @@
1297 1297
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1298 1298
  * You may also use software SPI if you wish to use general purpose IO pins.
1299 1299
  *
1300
- * The TMC2130Stepper library is required for this stepper driver.
1301
- * https://github.com/teemuatlut/TMC2130Stepper
1302
- *
1303 1300
  * To use TMC2208 stepper UART-configurable stepper drivers
1304 1301
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1305 1302
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1306 1303
  * to PDN_UART without a resistor.
1307 1304
  * The drivers can also be used with hardware serial.
1308 1305
  *
1309
- * The TMC2208Stepper library is required for this stepper driver.
1310
- * https://github.com/teemuatlut/TMC2208Stepper
1306
+ * TMCStepper library is required for connected TMC stepper drivers.
1307
+ * https://github.com/teemuatlut/TMCStepper
1311 1308
  */
1312 1309
 #if HAS_TRINAMIC
1313 1310
 
@@ -1391,6 +1388,12 @@
1391 1388
   #define STEALTHCHOP_E
1392 1389
 
1393 1390
   /**
1391
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1392
+   * The parameters are off time, hysteresis end and hysteresis start.
1393
+   */
1394
+  #define CHOPPER_TIMING { 4, -2, 1 }
1395
+
1396
+  /**
1394 1397
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1395 1398
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1396 1399
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/Formbot/Raptor/Configuration_adv.h View File

@@ -1299,17 +1299,14 @@
1299 1299
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1300 1300
  * You may also use software SPI if you wish to use general purpose IO pins.
1301 1301
  *
1302
- * The TMC2130Stepper library is required for this stepper driver.
1303
- * https://github.com/teemuatlut/TMC2130Stepper
1304
- *
1305 1302
  * To use TMC2208 stepper UART-configurable stepper drivers
1306 1303
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1307 1304
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1308 1305
  * to PDN_UART without a resistor.
1309 1306
  * The drivers can also be used with hardware serial.
1310 1307
  *
1311
- * The TMC2208Stepper library is required for this stepper driver.
1312
- * https://github.com/teemuatlut/TMC2208Stepper
1308
+ * TMCStepper library is required for connected TMC stepper drivers.
1309
+ * https://github.com/teemuatlut/TMCStepper
1313 1310
  */
1314 1311
 #if HAS_TRINAMIC
1315 1312
 
@@ -1393,6 +1390,12 @@
1393 1390
   #define STEALTHCHOP_E
1394 1391
 
1395 1392
   /**
1393
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1394
+   * The parameters are off time, hysteresis end and hysteresis start.
1395
+   */
1396
+  #define CHOPPER_TIMING { 4, -2, 1 }
1397
+
1398
+  /**
1396 1399
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1397 1400
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1398 1401
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/Formbot/T_Rex_2+/Configuration_adv.h View File

@@ -1302,17 +1302,14 @@
1302 1302
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1303 1303
  * You may also use software SPI if you wish to use general purpose IO pins.
1304 1304
  *
1305
- * The TMC2130Stepper library is required for this stepper driver.
1306
- * https://github.com/teemuatlut/TMC2130Stepper
1307
- *
1308 1305
  * To use TMC2208 stepper UART-configurable stepper drivers
1309 1306
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1310 1307
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1311 1308
  * to PDN_UART without a resistor.
1312 1309
  * The drivers can also be used with hardware serial.
1313 1310
  *
1314
- * The TMC2208Stepper library is required for this stepper driver.
1315
- * https://github.com/teemuatlut/TMC2208Stepper
1311
+ * TMCStepper library is required for connected TMC stepper drivers.
1312
+ * https://github.com/teemuatlut/TMCStepper
1316 1313
  */
1317 1314
 #if HAS_TRINAMIC
1318 1315
 
@@ -1396,6 +1393,12 @@
1396 1393
   #define STEALTHCHOP_E
1397 1394
 
1398 1395
   /**
1396
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1397
+   * The parameters are off time, hysteresis end and hysteresis start.
1398
+   */
1399
+  #define CHOPPER_TIMING { 4, -2, 1 }
1400
+
1401
+  /**
1399 1402
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1400 1403
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1401 1404
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/Formbot/T_Rex_3/Configuration_adv.h View File

@@ -1302,17 +1302,14 @@
1302 1302
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1303 1303
  * You may also use software SPI if you wish to use general purpose IO pins.
1304 1304
  *
1305
- * The TMC2130Stepper library is required for this stepper driver.
1306
- * https://github.com/teemuatlut/TMC2130Stepper
1307
- *
1308 1305
  * To use TMC2208 stepper UART-configurable stepper drivers
1309 1306
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1310 1307
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1311 1308
  * to PDN_UART without a resistor.
1312 1309
  * The drivers can also be used with hardware serial.
1313 1310
  *
1314
- * The TMC2208Stepper library is required for this stepper driver.
1315
- * https://github.com/teemuatlut/TMC2208Stepper
1311
+ * TMCStepper library is required for connected TMC stepper drivers.
1312
+ * https://github.com/teemuatlut/TMCStepper
1316 1313
  */
1317 1314
 #if HAS_TRINAMIC
1318 1315
 
@@ -1396,6 +1393,12 @@
1396 1393
   #define STEALTHCHOP_E
1397 1394
 
1398 1395
   /**
1396
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1397
+   * The parameters are off time, hysteresis end and hysteresis start.
1398
+   */
1399
+  #define CHOPPER_TIMING { 4, -2, 1 }
1400
+
1401
+  /**
1399 1402
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1400 1403
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1401 1404
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/Geeetech/MeCreator2/Configuration_adv.h View File

@@ -1298,17 +1298,14 @@
1298 1298
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1299 1299
  * You may also use software SPI if you wish to use general purpose IO pins.
1300 1300
  *
1301
- * The TMC2130Stepper library is required for this stepper driver.
1302
- * https://github.com/teemuatlut/TMC2130Stepper
1303
- *
1304 1301
  * To use TMC2208 stepper UART-configurable stepper drivers
1305 1302
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1306 1303
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1307 1304
  * to PDN_UART without a resistor.
1308 1305
  * The drivers can also be used with hardware serial.
1309 1306
  *
1310
- * The TMC2208Stepper library is required for this stepper driver.
1311
- * https://github.com/teemuatlut/TMC2208Stepper
1307
+ * TMCStepper library is required for connected TMC stepper drivers.
1308
+ * https://github.com/teemuatlut/TMCStepper
1312 1309
  */
1313 1310
 #if HAS_TRINAMIC
1314 1311
 
@@ -1392,6 +1389,12 @@
1392 1389
   #define STEALTHCHOP_E
1393 1390
 
1394 1391
   /**
1392
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1393
+   * The parameters are off time, hysteresis end and hysteresis start.
1394
+   */
1395
+  #define CHOPPER_TIMING { 4, -2, 1 }
1396
+
1397
+  /**
1395 1398
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1396 1399
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1397 1400
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h View File

@@ -1297,17 +1297,14 @@
1297 1297
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1298 1298
  * You may also use software SPI if you wish to use general purpose IO pins.
1299 1299
  *
1300
- * The TMC2130Stepper library is required for this stepper driver.
1301
- * https://github.com/teemuatlut/TMC2130Stepper
1302
- *
1303 1300
  * To use TMC2208 stepper UART-configurable stepper drivers
1304 1301
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1305 1302
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1306 1303
  * to PDN_UART without a resistor.
1307 1304
  * The drivers can also be used with hardware serial.
1308 1305
  *
1309
- * The TMC2208Stepper library is required for this stepper driver.
1310
- * https://github.com/teemuatlut/TMC2208Stepper
1306
+ * TMCStepper library is required for connected TMC stepper drivers.
1307
+ * https://github.com/teemuatlut/TMCStepper
1311 1308
  */
1312 1309
 #if HAS_TRINAMIC
1313 1310
 
@@ -1391,6 +1388,12 @@
1391 1388
   #define STEALTHCHOP_E
1392 1389
 
1393 1390
   /**
1391
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1392
+   * The parameters are off time, hysteresis end and hysteresis start.
1393
+   */
1394
+  #define CHOPPER_TIMING { 4, -2, 1 }
1395
+
1396
+  /**
1394 1397
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1395 1398
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1396 1399
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h View File

@@ -1297,17 +1297,14 @@
1297 1297
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1298 1298
  * You may also use software SPI if you wish to use general purpose IO pins.
1299 1299
  *
1300
- * The TMC2130Stepper library is required for this stepper driver.
1301
- * https://github.com/teemuatlut/TMC2130Stepper
1302
- *
1303 1300
  * To use TMC2208 stepper UART-configurable stepper drivers
1304 1301
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1305 1302
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1306 1303
  * to PDN_UART without a resistor.
1307 1304
  * The drivers can also be used with hardware serial.
1308 1305
  *
1309
- * The TMC2208Stepper library is required for this stepper driver.
1310
- * https://github.com/teemuatlut/TMC2208Stepper
1306
+ * TMCStepper library is required for connected TMC stepper drivers.
1307
+ * https://github.com/teemuatlut/TMCStepper
1311 1308
  */
1312 1309
 #if HAS_TRINAMIC
1313 1310
 
@@ -1391,6 +1388,12 @@
1391 1388
   #define STEALTHCHOP_E
1392 1389
 
1393 1390
   /**
1391
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1392
+   * The parameters are off time, hysteresis end and hysteresis start.
1393
+   */
1394
+  #define CHOPPER_TIMING { 4, -2, 1 }
1395
+
1396
+  /**
1394 1397
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1395 1398
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1396 1399
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h View File

@@ -1297,17 +1297,14 @@
1297 1297
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1298 1298
  * You may also use software SPI if you wish to use general purpose IO pins.
1299 1299
  *
1300
- * The TMC2130Stepper library is required for this stepper driver.
1301
- * https://github.com/teemuatlut/TMC2130Stepper
1302
- *
1303 1300
  * To use TMC2208 stepper UART-configurable stepper drivers
1304 1301
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1305 1302
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1306 1303
  * to PDN_UART without a resistor.
1307 1304
  * The drivers can also be used with hardware serial.
1308 1305
  *
1309
- * The TMC2208Stepper library is required for this stepper driver.
1310
- * https://github.com/teemuatlut/TMC2208Stepper
1306
+ * TMCStepper library is required for connected TMC stepper drivers.
1307
+ * https://github.com/teemuatlut/TMCStepper
1311 1308
  */
1312 1309
 #if HAS_TRINAMIC
1313 1310
 
@@ -1391,6 +1388,12 @@
1391 1388
   #define STEALTHCHOP_E
1392 1389
 
1393 1390
   /**
1391
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1392
+   * The parameters are off time, hysteresis end and hysteresis start.
1393
+   */
1394
+  #define CHOPPER_TIMING { 4, -2, 1 }
1395
+
1396
+  /**
1394 1397
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1395 1398
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1396 1399
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h View File

@@ -1297,17 +1297,14 @@
1297 1297
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1298 1298
  * You may also use software SPI if you wish to use general purpose IO pins.
1299 1299
  *
1300
- * The TMC2130Stepper library is required for this stepper driver.
1301
- * https://github.com/teemuatlut/TMC2130Stepper
1302
- *
1303 1300
  * To use TMC2208 stepper UART-configurable stepper drivers
1304 1301
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1305 1302
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1306 1303
  * to PDN_UART without a resistor.
1307 1304
  * The drivers can also be used with hardware serial.
1308 1305
  *
1309
- * The TMC2208Stepper library is required for this stepper driver.
1310
- * https://github.com/teemuatlut/TMC2208Stepper
1306
+ * TMCStepper library is required for connected TMC stepper drivers.
1307
+ * https://github.com/teemuatlut/TMCStepper
1311 1308
  */
1312 1309
 #if HAS_TRINAMIC
1313 1310
 
@@ -1391,6 +1388,12 @@
1391 1388
   #define STEALTHCHOP_E
1392 1389
 
1393 1390
   /**
1391
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1392
+   * The parameters are off time, hysteresis end and hysteresis start.
1393
+   */
1394
+  #define CHOPPER_TIMING { 4, -2, 1 }
1395
+
1396
+  /**
1394 1397
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1395 1398
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1396 1399
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/MakerParts/Configuration_adv.h View File

@@ -1297,17 +1297,14 @@
1297 1297
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1298 1298
  * You may also use software SPI if you wish to use general purpose IO pins.
1299 1299
  *
1300
- * The TMC2130Stepper library is required for this stepper driver.
1301
- * https://github.com/teemuatlut/TMC2130Stepper
1302
- *
1303 1300
  * To use TMC2208 stepper UART-configurable stepper drivers
1304 1301
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1305 1302
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1306 1303
  * to PDN_UART without a resistor.
1307 1304
  * The drivers can also be used with hardware serial.
1308 1305
  *
1309
- * The TMC2208Stepper library is required for this stepper driver.
1310
- * https://github.com/teemuatlut/TMC2208Stepper
1306
+ * TMCStepper library is required for connected TMC stepper drivers.
1307
+ * https://github.com/teemuatlut/TMCStepper
1311 1308
  */
1312 1309
 #if HAS_TRINAMIC
1313 1310
 
@@ -1391,6 +1388,12 @@
1391 1388
   #define STEALTHCHOP_E
1392 1389
 
1393 1390
   /**
1391
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1392
+   * The parameters are off time, hysteresis end and hysteresis start.
1393
+   */
1394
+  #define CHOPPER_TIMING { 4, -2, 1 }
1395
+
1396
+  /**
1394 1397
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1395 1398
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1396 1399
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/Malyan/M150/Configuration_adv.h View File

@@ -1297,17 +1297,14 @@
1297 1297
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1298 1298
  * You may also use software SPI if you wish to use general purpose IO pins.
1299 1299
  *
1300
- * The TMC2130Stepper library is required for this stepper driver.
1301
- * https://github.com/teemuatlut/TMC2130Stepper
1302
- *
1303 1300
  * To use TMC2208 stepper UART-configurable stepper drivers
1304 1301
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1305 1302
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1306 1303
  * to PDN_UART without a resistor.
1307 1304
  * The drivers can also be used with hardware serial.
1308 1305
  *
1309
- * The TMC2208Stepper library is required for this stepper driver.
1310
- * https://github.com/teemuatlut/TMC2208Stepper
1306
+ * TMCStepper library is required for connected TMC stepper drivers.
1307
+ * https://github.com/teemuatlut/TMCStepper
1311 1308
  */
1312 1309
 #if HAS_TRINAMIC
1313 1310
 
@@ -1391,6 +1388,12 @@
1391 1388
   #define STEALTHCHOP_E
1392 1389
 
1393 1390
   /**
1391
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1392
+   * The parameters are off time, hysteresis end and hysteresis start.
1393
+   */
1394
+  #define CHOPPER_TIMING { 4, -2, 1 }
1395
+
1396
+  /**
1394 1397
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1395 1398
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1396 1399
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/Malyan/M200/Configuration_adv.h View File

@@ -1297,17 +1297,14 @@
1297 1297
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1298 1298
  * You may also use software SPI if you wish to use general purpose IO pins.
1299 1299
  *
1300
- * The TMC2130Stepper library is required for this stepper driver.
1301
- * https://github.com/teemuatlut/TMC2130Stepper
1302
- *
1303 1300
  * To use TMC2208 stepper UART-configurable stepper drivers
1304 1301
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1305 1302
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1306 1303
  * to PDN_UART without a resistor.
1307 1304
  * The drivers can also be used with hardware serial.
1308 1305
  *
1309
- * The TMC2208Stepper library is required for this stepper driver.
1310
- * https://github.com/teemuatlut/TMC2208Stepper
1306
+ * TMCStepper library is required for connected TMC stepper drivers.
1307
+ * https://github.com/teemuatlut/TMCStepper
1311 1308
  */
1312 1309
 #if HAS_TRINAMIC
1313 1310
 
@@ -1391,6 +1388,12 @@
1391 1388
   #define STEALTHCHOP_E
1392 1389
 
1393 1390
   /**
1391
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1392
+   * The parameters are off time, hysteresis end and hysteresis start.
1393
+   */
1394
+  #define CHOPPER_TIMING { 4, -2, 1 }
1395
+
1396
+  /**
1394 1397
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1395 1398
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1396 1399
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h View File

@@ -1297,17 +1297,14 @@
1297 1297
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1298 1298
  * You may also use software SPI if you wish to use general purpose IO pins.
1299 1299
  *
1300
- * The TMC2130Stepper library is required for this stepper driver.
1301
- * https://github.com/teemuatlut/TMC2130Stepper
1302
- *
1303 1300
  * To use TMC2208 stepper UART-configurable stepper drivers
1304 1301
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1305 1302
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1306 1303
  * to PDN_UART without a resistor.
1307 1304
  * The drivers can also be used with hardware serial.
1308 1305
  *
1309
- * The TMC2208Stepper library is required for this stepper driver.
1310
- * https://github.com/teemuatlut/TMC2208Stepper
1306
+ * TMCStepper library is required for connected TMC stepper drivers.
1307
+ * https://github.com/teemuatlut/TMCStepper
1311 1308
  */
1312 1309
 #if HAS_TRINAMIC
1313 1310
 
@@ -1391,6 +1388,12 @@
1391 1388
   #define STEALTHCHOP_E
1392 1389
 
1393 1390
   /**
1391
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1392
+   * The parameters are off time, hysteresis end and hysteresis start.
1393
+   */
1394
+  #define CHOPPER_TIMING { 4, -2, 1 }
1395
+
1396
+  /**
1394 1397
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1395 1398
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1396 1399
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h View File

@@ -1305,17 +1305,14 @@
1305 1305
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1306 1306
  * You may also use software SPI if you wish to use general purpose IO pins.
1307 1307
  *
1308
- * The TMC2130Stepper library is required for this stepper driver.
1309
- * https://github.com/teemuatlut/TMC2130Stepper
1310
- *
1311 1308
  * To use TMC2208 stepper UART-configurable stepper drivers
1312 1309
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1313 1310
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1314 1311
  * to PDN_UART without a resistor.
1315 1312
  * The drivers can also be used with hardware serial.
1316 1313
  *
1317
- * The TMC2208Stepper library is required for this stepper driver.
1318
- * https://github.com/teemuatlut/TMC2208Stepper
1314
+ * TMCStepper library is required for connected TMC stepper drivers.
1315
+ * https://github.com/teemuatlut/TMCStepper
1319 1316
  */
1320 1317
 #if HAS_TRINAMIC
1321 1318
 
@@ -1399,6 +1396,12 @@
1399 1396
   #define STEALTHCHOP_E
1400 1397
 
1401 1398
   /**
1399
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1400
+   * The parameters are off time, hysteresis end and hysteresis start.
1401
+   */
1402
+  #define CHOPPER_TIMING { 4, -2, 1 }
1403
+
1404
+  /**
1402 1405
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1403 1406
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1404 1407
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/RigidBot/Configuration_adv.h View File

@@ -1297,17 +1297,14 @@
1297 1297
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1298 1298
  * You may also use software SPI if you wish to use general purpose IO pins.
1299 1299
  *
1300
- * The TMC2130Stepper library is required for this stepper driver.
1301
- * https://github.com/teemuatlut/TMC2130Stepper
1302
- *
1303 1300
  * To use TMC2208 stepper UART-configurable stepper drivers
1304 1301
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1305 1302
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1306 1303
  * to PDN_UART without a resistor.
1307 1304
  * The drivers can also be used with hardware serial.
1308 1305
  *
1309
- * The TMC2208Stepper library is required for this stepper driver.
1310
- * https://github.com/teemuatlut/TMC2208Stepper
1306
+ * TMCStepper library is required for connected TMC stepper drivers.
1307
+ * https://github.com/teemuatlut/TMCStepper
1311 1308
  */
1312 1309
 #if HAS_TRINAMIC
1313 1310
 
@@ -1391,6 +1388,12 @@
1391 1388
   #define STEALTHCHOP_E
1392 1389
 
1393 1390
   /**
1391
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1392
+   * The parameters are off time, hysteresis end and hysteresis start.
1393
+   */
1394
+  #define CHOPPER_TIMING { 4, -2, 1 }
1395
+
1396
+  /**
1394 1397
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1395 1398
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1396 1399
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/SCARA/Configuration_adv.h View File

@@ -1297,17 +1297,14 @@
1297 1297
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1298 1298
  * You may also use software SPI if you wish to use general purpose IO pins.
1299 1299
  *
1300
- * The TMC2130Stepper library is required for this stepper driver.
1301
- * https://github.com/teemuatlut/TMC2130Stepper
1302
- *
1303 1300
  * To use TMC2208 stepper UART-configurable stepper drivers
1304 1301
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1305 1302
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1306 1303
  * to PDN_UART without a resistor.
1307 1304
  * The drivers can also be used with hardware serial.
1308 1305
  *
1309
- * The TMC2208Stepper library is required for this stepper driver.
1310
- * https://github.com/teemuatlut/TMC2208Stepper
1306
+ * TMCStepper library is required for connected TMC stepper drivers.
1307
+ * https://github.com/teemuatlut/TMCStepper
1311 1308
  */
1312 1309
 #if HAS_TRINAMIC
1313 1310
 
@@ -1391,6 +1388,12 @@
1391 1388
   #define STEALTHCHOP_E
1392 1389
 
1393 1390
   /**
1391
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1392
+   * The parameters are off time, hysteresis end and hysteresis start.
1393
+   */
1394
+  #define CHOPPER_TIMING { 4, -2, 1 }
1395
+
1396
+  /**
1394 1397
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1395 1398
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1396 1399
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/Sanguinololu/Configuration_adv.h View File

@@ -1297,17 +1297,14 @@
1297 1297
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1298 1298
  * You may also use software SPI if you wish to use general purpose IO pins.
1299 1299
  *
1300
- * The TMC2130Stepper library is required for this stepper driver.
1301
- * https://github.com/teemuatlut/TMC2130Stepper
1302
- *
1303 1300
  * To use TMC2208 stepper UART-configurable stepper drivers
1304 1301
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1305 1302
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1306 1303
  * to PDN_UART without a resistor.
1307 1304
  * The drivers can also be used with hardware serial.
1308 1305
  *
1309
- * The TMC2208Stepper library is required for this stepper driver.
1310
- * https://github.com/teemuatlut/TMC2208Stepper
1306
+ * TMCStepper library is required for connected TMC stepper drivers.
1307
+ * https://github.com/teemuatlut/TMCStepper
1311 1308
  */
1312 1309
 #if HAS_TRINAMIC
1313 1310
 
@@ -1391,6 +1388,12 @@
1391 1388
   #define STEALTHCHOP_E
1392 1389
 
1393 1390
   /**
1391
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1392
+   * The parameters are off time, hysteresis end and hysteresis start.
1393
+   */
1394
+  #define CHOPPER_TIMING { 4, -2, 1 }
1395
+
1396
+  /**
1394 1397
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1395 1398
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1396 1399
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/TheBorg/Configuration_adv.h View File

@@ -1297,17 +1297,14 @@
1297 1297
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1298 1298
  * You may also use software SPI if you wish to use general purpose IO pins.
1299 1299
  *
1300
- * The TMC2130Stepper library is required for this stepper driver.
1301
- * https://github.com/teemuatlut/TMC2130Stepper
1302
- *
1303 1300
  * To use TMC2208 stepper UART-configurable stepper drivers
1304 1301
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1305 1302
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1306 1303
  * to PDN_UART without a resistor.
1307 1304
  * The drivers can also be used with hardware serial.
1308 1305
  *
1309
- * The TMC2208Stepper library is required for this stepper driver.
1310
- * https://github.com/teemuatlut/TMC2208Stepper
1306
+ * TMCStepper library is required for connected TMC stepper drivers.
1307
+ * https://github.com/teemuatlut/TMCStepper
1311 1308
  */
1312 1309
 #if HAS_TRINAMIC
1313 1310
 
@@ -1391,6 +1388,12 @@
1391 1388
   #define STEALTHCHOP_E
1392 1389
 
1393 1390
   /**
1391
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1392
+   * The parameters are off time, hysteresis end and hysteresis start.
1393
+   */
1394
+  #define CHOPPER_TIMING { 4, -2, 1 }
1395
+
1396
+  /**
1394 1397
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1395 1398
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1396 1399
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/TinyBoy2/Configuration_adv.h View File

@@ -1297,17 +1297,14 @@
1297 1297
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1298 1298
  * You may also use software SPI if you wish to use general purpose IO pins.
1299 1299
  *
1300
- * The TMC2130Stepper library is required for this stepper driver.
1301
- * https://github.com/teemuatlut/TMC2130Stepper
1302
- *
1303 1300
  * To use TMC2208 stepper UART-configurable stepper drivers
1304 1301
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1305 1302
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1306 1303
  * to PDN_UART without a resistor.
1307 1304
  * The drivers can also be used with hardware serial.
1308 1305
  *
1309
- * The TMC2208Stepper library is required for this stepper driver.
1310
- * https://github.com/teemuatlut/TMC2208Stepper
1306
+ * TMCStepper library is required for connected TMC stepper drivers.
1307
+ * https://github.com/teemuatlut/TMCStepper
1311 1308
  */
1312 1309
 #if HAS_TRINAMIC
1313 1310
 
@@ -1391,6 +1388,12 @@
1391 1388
   #define STEALTHCHOP_E
1392 1389
 
1393 1390
   /**
1391
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1392
+   * The parameters are off time, hysteresis end and hysteresis start.
1393
+   */
1394
+  #define CHOPPER_TIMING { 4, -2, 1 }
1395
+
1396
+  /**
1394 1397
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1395 1398
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1396 1399
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/Tronxy/X3A/Configuration_adv.h View File

@@ -1297,17 +1297,14 @@
1297 1297
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1298 1298
  * You may also use software SPI if you wish to use general purpose IO pins.
1299 1299
  *
1300
- * The TMC2130Stepper library is required for this stepper driver.
1301
- * https://github.com/teemuatlut/TMC2130Stepper
1302
- *
1303 1300
  * To use TMC2208 stepper UART-configurable stepper drivers
1304 1301
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1305 1302
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1306 1303
  * to PDN_UART without a resistor.
1307 1304
  * The drivers can also be used with hardware serial.
1308 1305
  *
1309
- * The TMC2208Stepper library is required for this stepper driver.
1310
- * https://github.com/teemuatlut/TMC2208Stepper
1306
+ * TMCStepper library is required for connected TMC stepper drivers.
1307
+ * https://github.com/teemuatlut/TMCStepper
1311 1308
  */
1312 1309
 #if HAS_TRINAMIC
1313 1310
 
@@ -1391,6 +1388,12 @@
1391 1388
   #define STEALTHCHOP_E
1392 1389
 
1393 1390
   /**
1391
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1392
+   * The parameters are off time, hysteresis end and hysteresis start.
1393
+   */
1394
+  #define CHOPPER_TIMING { 4, -2, 1 }
1395
+
1396
+  /**
1394 1397
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1395 1398
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1396 1399
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/UltiMachine/Archim1/Configuration_adv.h View File

@@ -1298,17 +1298,14 @@
1298 1298
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1299 1299
  * You may also use software SPI if you wish to use general purpose IO pins.
1300 1300
  *
1301
- * The TMC2130Stepper library is required for this stepper driver.
1302
- * https://github.com/teemuatlut/TMC2130Stepper
1303
- *
1304 1301
  * To use TMC2208 stepper UART-configurable stepper drivers
1305 1302
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1306 1303
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1307 1304
  * to PDN_UART without a resistor.
1308 1305
  * The drivers can also be used with hardware serial.
1309 1306
  *
1310
- * The TMC2208Stepper library is required for this stepper driver.
1311
- * https://github.com/teemuatlut/TMC2208Stepper
1307
+ * TMCStepper library is required for connected TMC stepper drivers.
1308
+ * https://github.com/teemuatlut/TMCStepper
1312 1309
  */
1313 1310
 #if HAS_TRINAMIC
1314 1311
 
@@ -1392,6 +1389,12 @@
1392 1389
   #define STEALTHCHOP_E
1393 1390
 
1394 1391
   /**
1392
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1393
+   * The parameters are off time, hysteresis end and hysteresis start.
1394
+   */
1395
+  #define CHOPPER_TIMING { 4, -2, 1 }
1396
+
1397
+  /**
1395 1398
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1396 1399
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1397 1400
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h View File

@@ -1297,17 +1297,14 @@
1297 1297
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1298 1298
  * You may also use software SPI if you wish to use general purpose IO pins.
1299 1299
  *
1300
- * The TMC2130Stepper library is required for this stepper driver.
1301
- * https://github.com/teemuatlut/TMC2130Stepper
1302
- *
1303 1300
  * To use TMC2208 stepper UART-configurable stepper drivers
1304 1301
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1305 1302
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1306 1303
  * to PDN_UART without a resistor.
1307 1304
  * The drivers can also be used with hardware serial.
1308 1305
  *
1309
- * The TMC2208Stepper library is required for this stepper driver.
1310
- * https://github.com/teemuatlut/TMC2208Stepper
1306
+ * TMCStepper library is required for connected TMC stepper drivers.
1307
+ * https://github.com/teemuatlut/TMCStepper
1311 1308
  */
1312 1309
 #if HAS_TRINAMIC
1313 1310
 
@@ -1391,6 +1388,12 @@
1391 1388
   #define STEALTHCHOP_E
1392 1389
 
1393 1390
   /**
1391
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1392
+   * The parameters are off time, hysteresis end and hysteresis start.
1393
+   */
1394
+  #define CHOPPER_TIMING { 4, -2, 1 }
1395
+
1396
+  /**
1394 1397
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1395 1398
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1396 1399
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h View File

@@ -1310,17 +1310,14 @@
1310 1310
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1311 1311
  * You may also use software SPI if you wish to use general purpose IO pins.
1312 1312
  *
1313
- * The TMC2130Stepper library is required for this stepper driver.
1314
- * https://github.com/teemuatlut/TMC2130Stepper
1315
- *
1316 1313
  * To use TMC2208 stepper UART-configurable stepper drivers
1317 1314
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1318 1315
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1319 1316
  * to PDN_UART without a resistor.
1320 1317
  * The drivers can also be used with hardware serial.
1321 1318
  *
1322
- * The TMC2208Stepper library is required for this stepper driver.
1323
- * https://github.com/teemuatlut/TMC2208Stepper
1319
+ * TMCStepper library is required for connected TMC stepper drivers.
1320
+ * https://github.com/teemuatlut/TMCStepper
1324 1321
  */
1325 1322
 #if HAS_TRINAMIC
1326 1323
 
@@ -1404,6 +1401,12 @@
1404 1401
   #define STEALTHCHOP_E
1405 1402
 
1406 1403
   /**
1404
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1405
+   * The parameters are off time, hysteresis end and hysteresis start.
1406
+   */
1407
+  #define CHOPPER_TIMING { 4, -2, 1 }
1408
+
1409
+  /**
1407 1410
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1408 1411
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1409 1412
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h View File

@@ -1297,17 +1297,14 @@
1297 1297
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1298 1298
  * You may also use software SPI if you wish to use general purpose IO pins.
1299 1299
  *
1300
- * The TMC2130Stepper library is required for this stepper driver.
1301
- * https://github.com/teemuatlut/TMC2130Stepper
1302
- *
1303 1300
  * To use TMC2208 stepper UART-configurable stepper drivers
1304 1301
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1305 1302
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1306 1303
  * to PDN_UART without a resistor.
1307 1304
  * The drivers can also be used with hardware serial.
1308 1305
  *
1309
- * The TMC2208Stepper library is required for this stepper driver.
1310
- * https://github.com/teemuatlut/TMC2208Stepper
1306
+ * TMCStepper library is required for connected TMC stepper drivers.
1307
+ * https://github.com/teemuatlut/TMCStepper
1311 1308
  */
1312 1309
 #if HAS_TRINAMIC
1313 1310
 
@@ -1391,6 +1388,12 @@
1391 1388
   #define STEALTHCHOP_E
1392 1389
 
1393 1390
   /**
1391
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1392
+   * The parameters are off time, hysteresis end and hysteresis start.
1393
+   */
1394
+  #define CHOPPER_TIMING { 4, -2, 1 }
1395
+
1396
+  /**
1394 1397
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1395 1398
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1396 1399
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h View File

@@ -1299,17 +1299,14 @@
1299 1299
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1300 1300
  * You may also use software SPI if you wish to use general purpose IO pins.
1301 1301
  *
1302
- * The TMC2130Stepper library is required for this stepper driver.
1303
- * https://github.com/teemuatlut/TMC2130Stepper
1304
- *
1305 1302
  * To use TMC2208 stepper UART-configurable stepper drivers
1306 1303
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1307 1304
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1308 1305
  * to PDN_UART without a resistor.
1309 1306
  * The drivers can also be used with hardware serial.
1310 1307
  *
1311
- * The TMC2208Stepper library is required for this stepper driver.
1312
- * https://github.com/teemuatlut/TMC2208Stepper
1308
+ * TMCStepper library is required for connected TMC stepper drivers.
1309
+ * https://github.com/teemuatlut/TMCStepper
1313 1310
  */
1314 1311
 #if HAS_TRINAMIC
1315 1312
 
@@ -1393,6 +1390,12 @@
1393 1390
   #define STEALTHCHOP_E
1394 1391
 
1395 1392
   /**
1393
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1394
+   * The parameters are off time, hysteresis end and hysteresis start.
1395
+   */
1396
+  #define CHOPPER_TIMING { 4, -2, 1 }
1397
+
1398
+  /**
1396 1399
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1397 1400
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1398 1401
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration_adv.h View File

@@ -1299,17 +1299,14 @@
1299 1299
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1300 1300
  * You may also use software SPI if you wish to use general purpose IO pins.
1301 1301
  *
1302
- * The TMC2130Stepper library is required for this stepper driver.
1303
- * https://github.com/teemuatlut/TMC2130Stepper
1304
- *
1305 1302
  * To use TMC2208 stepper UART-configurable stepper drivers
1306 1303
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1307 1304
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1308 1305
  * to PDN_UART without a resistor.
1309 1306
  * The drivers can also be used with hardware serial.
1310 1307
  *
1311
- * The TMC2208Stepper library is required for this stepper driver.
1312
- * https://github.com/teemuatlut/TMC2208Stepper
1308
+ * TMCStepper library is required for connected TMC stepper drivers.
1309
+ * https://github.com/teemuatlut/TMCStepper
1313 1310
  */
1314 1311
 #if HAS_TRINAMIC
1315 1312
 
@@ -1393,6 +1390,12 @@
1393 1390
   #define STEALTHCHOP_E
1394 1391
 
1395 1392
   /**
1393
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1394
+   * The parameters are off time, hysteresis end and hysteresis start.
1395
+   */
1396
+  #define CHOPPER_TIMING { 4, -2, 1 }
1397
+
1398
+  /**
1396 1399
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1397 1400
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1398 1401
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h View File

@@ -1299,17 +1299,14 @@
1299 1299
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1300 1300
  * You may also use software SPI if you wish to use general purpose IO pins.
1301 1301
  *
1302
- * The TMC2130Stepper library is required for this stepper driver.
1303
- * https://github.com/teemuatlut/TMC2130Stepper
1304
- *
1305 1302
  * To use TMC2208 stepper UART-configurable stepper drivers
1306 1303
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1307 1304
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1308 1305
  * to PDN_UART without a resistor.
1309 1306
  * The drivers can also be used with hardware serial.
1310 1307
  *
1311
- * The TMC2208Stepper library is required for this stepper driver.
1312
- * https://github.com/teemuatlut/TMC2208Stepper
1308
+ * TMCStepper library is required for connected TMC stepper drivers.
1309
+ * https://github.com/teemuatlut/TMCStepper
1313 1310
  */
1314 1311
 #if HAS_TRINAMIC
1315 1312
 
@@ -1393,6 +1390,12 @@
1393 1390
   #define STEALTHCHOP_E
1394 1391
 
1395 1392
   /**
1393
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1394
+   * The parameters are off time, hysteresis end and hysteresis start.
1395
+   */
1396
+  #define CHOPPER_TIMING { 4, -2, 1 }
1397
+
1398
+  /**
1396 1399
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1397 1400
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1398 1401
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h View File

@@ -1299,17 +1299,14 @@
1299 1299
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1300 1300
  * You may also use software SPI if you wish to use general purpose IO pins.
1301 1301
  *
1302
- * The TMC2130Stepper library is required for this stepper driver.
1303
- * https://github.com/teemuatlut/TMC2130Stepper
1304
- *
1305 1302
  * To use TMC2208 stepper UART-configurable stepper drivers
1306 1303
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1307 1304
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1308 1305
  * to PDN_UART without a resistor.
1309 1306
  * The drivers can also be used with hardware serial.
1310 1307
  *
1311
- * The TMC2208Stepper library is required for this stepper driver.
1312
- * https://github.com/teemuatlut/TMC2208Stepper
1308
+ * TMCStepper library is required for connected TMC stepper drivers.
1309
+ * https://github.com/teemuatlut/TMCStepper
1313 1310
  */
1314 1311
 #if HAS_TRINAMIC
1315 1312
 
@@ -1393,6 +1390,12 @@
1393 1390
   #define STEALTHCHOP_E
1394 1391
 
1395 1392
   /**
1393
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1394
+   * The parameters are off time, hysteresis end and hysteresis start.
1395
+   */
1396
+  #define CHOPPER_TIMING { 4, -2, 1 }
1397
+
1398
+  /**
1396 1399
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1397 1400
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1398 1401
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h View File

@@ -1299,17 +1299,14 @@
1299 1299
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1300 1300
  * You may also use software SPI if you wish to use general purpose IO pins.
1301 1301
  *
1302
- * The TMC2130Stepper library is required for this stepper driver.
1303
- * https://github.com/teemuatlut/TMC2130Stepper
1304
- *
1305 1302
  * To use TMC2208 stepper UART-configurable stepper drivers
1306 1303
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1307 1304
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1308 1305
  * to PDN_UART without a resistor.
1309 1306
  * The drivers can also be used with hardware serial.
1310 1307
  *
1311
- * The TMC2208Stepper library is required for this stepper driver.
1312
- * https://github.com/teemuatlut/TMC2208Stepper
1308
+ * TMCStepper library is required for connected TMC stepper drivers.
1309
+ * https://github.com/teemuatlut/TMCStepper
1313 1310
  */
1314 1311
 #if HAS_TRINAMIC
1315 1312
 
@@ -1393,6 +1390,12 @@
1393 1390
   #define STEALTHCHOP_E
1394 1391
 
1395 1392
   /**
1393
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1394
+   * The parameters are off time, hysteresis end and hysteresis start.
1395
+   */
1396
+  #define CHOPPER_TIMING { 4, -2, 1 }
1397
+
1398
+  /**
1396 1399
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1397 1400
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1398 1401
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/delta/Geeetech/Rostock 301/Configuration_adv.h View File

@@ -1272,17 +1272,14 @@
1272 1272
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1273 1273
  * You may also use software SPI if you wish to use general purpose IO pins.
1274 1274
  *
1275
- * The TMC2130Stepper library is required for this stepper driver.
1276
- * https://github.com/teemuatlut/TMC2130Stepper
1277
- *
1278 1275
  * To use TMC2208 stepper UART-configurable stepper drivers
1279 1276
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1280 1277
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1281 1278
  * to PDN_UART without a resistor.
1282 1279
  * The drivers can also be used with hardware serial.
1283 1280
  *
1284
- * The TMC2208Stepper library is required for this stepper driver.
1285
- * https://github.com/teemuatlut/TMC2208Stepper
1281
+ * TMCStepper library is required for connected TMC stepper drivers.
1282
+ * https://github.com/teemuatlut/TMCStepper
1286 1283
  */
1287 1284
 #if HAS_TRINAMIC
1288 1285
 
@@ -1366,6 +1363,12 @@
1366 1363
   #define STEALTHCHOP_E
1367 1364
 
1368 1365
   /**
1366
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1367
+   * The parameters are off time, hysteresis end and hysteresis start.
1368
+   */
1369
+  #define CHOPPER_TIMING { 4, -2, 1 }
1370
+
1371
+  /**
1369 1372
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1370 1373
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1371 1374
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/delta/MKS/SBASE/Configuration_adv.h View File

@@ -1299,17 +1299,14 @@
1299 1299
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1300 1300
  * You may also use software SPI if you wish to use general purpose IO pins.
1301 1301
  *
1302
- * The TMC2130Stepper library is required for this stepper driver.
1303
- * https://github.com/teemuatlut/TMC2130Stepper
1304
- *
1305 1302
  * To use TMC2208 stepper UART-configurable stepper drivers
1306 1303
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1307 1304
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1308 1305
  * to PDN_UART without a resistor.
1309 1306
  * The drivers can also be used with hardware serial.
1310 1307
  *
1311
- * The TMC2208Stepper library is required for this stepper driver.
1312
- * https://github.com/teemuatlut/TMC2208Stepper
1308
+ * TMCStepper library is required for connected TMC stepper drivers.
1309
+ * https://github.com/teemuatlut/TMCStepper
1313 1310
  */
1314 1311
 #if HAS_TRINAMIC
1315 1312
 
@@ -1393,6 +1390,12 @@
1393 1390
   #define STEALTHCHOP_E
1394 1391
 
1395 1392
   /**
1393
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1394
+   * The parameters are off time, hysteresis end and hysteresis start.
1395
+   */
1396
+  #define CHOPPER_TIMING { 4, -2, 1 }
1397
+
1398
+  /**
1396 1399
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1397 1400
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1398 1401
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/delta/Tevo Little Monster/Configuration_adv.h View File

@@ -1299,17 +1299,14 @@
1299 1299
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1300 1300
  * You may also use software SPI if you wish to use general purpose IO pins.
1301 1301
  *
1302
- * The TMC2130Stepper library is required for this stepper driver.
1303
- * https://github.com/teemuatlut/TMC2130Stepper
1304
- *
1305 1302
  * To use TMC2208 stepper UART-configurable stepper drivers
1306 1303
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1307 1304
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1308 1305
  * to PDN_UART without a resistor.
1309 1306
  * The drivers can also be used with hardware serial.
1310 1307
  *
1311
- * The TMC2208Stepper library is required for this stepper driver.
1312
- * https://github.com/teemuatlut/TMC2208Stepper
1308
+ * TMCStepper library is required for connected TMC stepper drivers.
1309
+ * https://github.com/teemuatlut/TMCStepper
1313 1310
  */
1314 1311
 #if HAS_TRINAMIC
1315 1312
 
@@ -1393,6 +1390,12 @@
1393 1390
   #define STEALTHCHOP_E
1394 1391
 
1395 1392
   /**
1393
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1394
+   * The parameters are off time, hysteresis end and hysteresis start.
1395
+   */
1396
+  #define CHOPPER_TIMING { 4, -2, 1 }
1397
+
1398
+  /**
1396 1399
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1397 1400
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1398 1401
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/delta/generic/Configuration_adv.h View File

@@ -1299,17 +1299,14 @@
1299 1299
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1300 1300
  * You may also use software SPI if you wish to use general purpose IO pins.
1301 1301
  *
1302
- * The TMC2130Stepper library is required for this stepper driver.
1303
- * https://github.com/teemuatlut/TMC2130Stepper
1304
- *
1305 1302
  * To use TMC2208 stepper UART-configurable stepper drivers
1306 1303
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1307 1304
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1308 1305
  * to PDN_UART without a resistor.
1309 1306
  * The drivers can also be used with hardware serial.
1310 1307
  *
1311
- * The TMC2208Stepper library is required for this stepper driver.
1312
- * https://github.com/teemuatlut/TMC2208Stepper
1308
+ * TMCStepper library is required for connected TMC stepper drivers.
1309
+ * https://github.com/teemuatlut/TMCStepper
1313 1310
  */
1314 1311
 #if HAS_TRINAMIC
1315 1312
 
@@ -1393,6 +1390,12 @@
1393 1390
   #define STEALTHCHOP_E
1394 1391
 
1395 1392
   /**
1393
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1394
+   * The parameters are off time, hysteresis end and hysteresis start.
1395
+   */
1396
+  #define CHOPPER_TIMING { 4, -2, 1 }
1397
+
1398
+  /**
1396 1399
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1397 1400
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1398 1401
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h View File

@@ -1299,17 +1299,14 @@
1299 1299
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1300 1300
  * You may also use software SPI if you wish to use general purpose IO pins.
1301 1301
  *
1302
- * The TMC2130Stepper library is required for this stepper driver.
1303
- * https://github.com/teemuatlut/TMC2130Stepper
1304
- *
1305 1302
  * To use TMC2208 stepper UART-configurable stepper drivers
1306 1303
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1307 1304
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1308 1305
  * to PDN_UART without a resistor.
1309 1306
  * The drivers can also be used with hardware serial.
1310 1307
  *
1311
- * The TMC2208Stepper library is required for this stepper driver.
1312
- * https://github.com/teemuatlut/TMC2208Stepper
1308
+ * TMCStepper library is required for connected TMC stepper drivers.
1309
+ * https://github.com/teemuatlut/TMCStepper
1313 1310
  */
1314 1311
 #if HAS_TRINAMIC
1315 1312
 
@@ -1393,6 +1390,12 @@
1393 1390
   #define STEALTHCHOP_E
1394 1391
 
1395 1392
   /**
1393
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1394
+   * The parameters are off time, hysteresis end and hysteresis start.
1395
+   */
1396
+  #define CHOPPER_TIMING { 4, -2, 1 }
1397
+
1398
+  /**
1396 1399
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1397 1400
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1398 1401
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h View File

@@ -1299,17 +1299,14 @@
1299 1299
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1300 1300
  * You may also use software SPI if you wish to use general purpose IO pins.
1301 1301
  *
1302
- * The TMC2130Stepper library is required for this stepper driver.
1303
- * https://github.com/teemuatlut/TMC2130Stepper
1304
- *
1305 1302
  * To use TMC2208 stepper UART-configurable stepper drivers
1306 1303
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1307 1304
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1308 1305
  * to PDN_UART without a resistor.
1309 1306
  * The drivers can also be used with hardware serial.
1310 1307
  *
1311
- * The TMC2208Stepper library is required for this stepper driver.
1312
- * https://github.com/teemuatlut/TMC2208Stepper
1308
+ * TMCStepper library is required for connected TMC stepper drivers.
1309
+ * https://github.com/teemuatlut/TMCStepper
1313 1310
  */
1314 1311
 #if HAS_TRINAMIC
1315 1312
 
@@ -1393,6 +1390,12 @@
1393 1390
   #define STEALTHCHOP_E
1394 1391
 
1395 1392
   /**
1393
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1394
+   * The parameters are off time, hysteresis end and hysteresis start.
1395
+   */
1396
+  #define CHOPPER_TIMING { 4, -2, 1 }
1397
+
1398
+  /**
1396 1399
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1397 1400
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1398 1401
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h View File

@@ -1297,17 +1297,14 @@
1297 1297
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1298 1298
  * You may also use software SPI if you wish to use general purpose IO pins.
1299 1299
  *
1300
- * The TMC2130Stepper library is required for this stepper driver.
1301
- * https://github.com/teemuatlut/TMC2130Stepper
1302
- *
1303 1300
  * To use TMC2208 stepper UART-configurable stepper drivers
1304 1301
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1305 1302
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1306 1303
  * to PDN_UART without a resistor.
1307 1304
  * The drivers can also be used with hardware serial.
1308 1305
  *
1309
- * The TMC2208Stepper library is required for this stepper driver.
1310
- * https://github.com/teemuatlut/TMC2208Stepper
1306
+ * TMCStepper library is required for connected TMC stepper drivers.
1307
+ * https://github.com/teemuatlut/TMCStepper
1311 1308
  */
1312 1309
 #if HAS_TRINAMIC
1313 1310
 
@@ -1391,6 +1388,12 @@
1391 1388
   #define STEALTHCHOP_E
1392 1389
 
1393 1390
   /**
1391
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1392
+   * The parameters are off time, hysteresis end and hysteresis start.
1393
+   */
1394
+  #define CHOPPER_TIMING { 4, -2, 1 }
1395
+
1396
+  /**
1394 1397
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1395 1398
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1396 1399
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/makibox/Configuration_adv.h View File

@@ -1297,17 +1297,14 @@
1297 1297
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1298 1298
  * You may also use software SPI if you wish to use general purpose IO pins.
1299 1299
  *
1300
- * The TMC2130Stepper library is required for this stepper driver.
1301
- * https://github.com/teemuatlut/TMC2130Stepper
1302
- *
1303 1300
  * To use TMC2208 stepper UART-configurable stepper drivers
1304 1301
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1305 1302
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1306 1303
  * to PDN_UART without a resistor.
1307 1304
  * The drivers can also be used with hardware serial.
1308 1305
  *
1309
- * The TMC2208Stepper library is required for this stepper driver.
1310
- * https://github.com/teemuatlut/TMC2208Stepper
1306
+ * TMCStepper library is required for connected TMC stepper drivers.
1307
+ * https://github.com/teemuatlut/TMCStepper
1311 1308
  */
1312 1309
 #if HAS_TRINAMIC
1313 1310
 
@@ -1391,6 +1388,12 @@
1391 1388
   #define STEALTHCHOP_E
1392 1389
 
1393 1390
   /**
1391
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1392
+   * The parameters are off time, hysteresis end and hysteresis start.
1393
+   */
1394
+  #define CHOPPER_TIMING { 4, -2, 1 }
1395
+
1396
+  /**
1394 1397
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1395 1398
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1396 1399
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h View File

@@ -1297,17 +1297,14 @@
1297 1297
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1298 1298
  * You may also use software SPI if you wish to use general purpose IO pins.
1299 1299
  *
1300
- * The TMC2130Stepper library is required for this stepper driver.
1301
- * https://github.com/teemuatlut/TMC2130Stepper
1302
- *
1303 1300
  * To use TMC2208 stepper UART-configurable stepper drivers
1304 1301
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1305 1302
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1306 1303
  * to PDN_UART without a resistor.
1307 1304
  * The drivers can also be used with hardware serial.
1308 1305
  *
1309
- * The TMC2208Stepper library is required for this stepper driver.
1310
- * https://github.com/teemuatlut/TMC2208Stepper
1306
+ * TMCStepper library is required for connected TMC stepper drivers.
1307
+ * https://github.com/teemuatlut/TMCStepper
1311 1308
  */
1312 1309
 #if HAS_TRINAMIC
1313 1310
 
@@ -1391,6 +1388,12 @@
1391 1388
   #define STEALTHCHOP_E
1392 1389
 
1393 1390
   /**
1391
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1392
+   * The parameters are off time, hysteresis end and hysteresis start.
1393
+   */
1394
+  #define CHOPPER_TIMING { 4, -2, 1 }
1395
+
1396
+  /**
1394 1397
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1395 1398
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1396 1399
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 8
- 5
Marlin/src/config/examples/wt150/Configuration_adv.h View File

@@ -1298,17 +1298,14 @@
1298 1298
  * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
1299 1299
  * You may also use software SPI if you wish to use general purpose IO pins.
1300 1300
  *
1301
- * The TMC2130Stepper library is required for this stepper driver.
1302
- * https://github.com/teemuatlut/TMC2130Stepper
1303
- *
1304 1301
  * To use TMC2208 stepper UART-configurable stepper drivers
1305 1302
  * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
1306 1303
  * To use the reading capabilities, also connect #_SERIAL_RX_PIN
1307 1304
  * to PDN_UART without a resistor.
1308 1305
  * The drivers can also be used with hardware serial.
1309 1306
  *
1310
- * The TMC2208Stepper library is required for this stepper driver.
1311
- * https://github.com/teemuatlut/TMC2208Stepper
1307
+ * TMCStepper library is required for connected TMC stepper drivers.
1308
+ * https://github.com/teemuatlut/TMCStepper
1312 1309
  */
1313 1310
 #if HAS_TRINAMIC
1314 1311
 
@@ -1392,6 +1389,12 @@
1392 1389
   #define STEALTHCHOP_E
1393 1390
 
1394 1391
   /**
1392
+   * Adjust spreadCycle chopper parameters with the help of an example included in the library.
1393
+   * The parameters are off time, hysteresis end and hysteresis start.
1394
+   */
1395
+  #define CHOPPER_TIMING { 4, -2, 1 }
1396
+
1397
+  /**
1395 1398
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1396 1399
    * like overtemperature and short to ground. TMC2208 requires hardware serial.
1397 1400
    * In the case of overtemperature Marlin can decrease the driver current until error condition clears.

+ 362
- 118
Marlin/src/feature/tmc_util.cpp View File

@@ -34,7 +34,10 @@
34 34
 
35 35
 #if ENABLED(TMC_DEBUG)
36 36
   #include "../module/planner.h"
37
-  static bool report_tmc_status; // = false;
37
+  #include "../libs/hex_print_routines.h"
38
+  #if ENABLED(MONITOR_DRIVER_STATUS)
39
+    static bool report_tmc_status; // = false;
40
+  #endif
38 41
 #endif
39 42
 
40 43
 /**
@@ -130,7 +133,7 @@
130 133
       if (data.is_s2ga) SERIAL_ECHOLNPGM("short to ground (coil A)");
131 134
       if (data.is_s2gb) SERIAL_ECHOLNPGM("short to ground (coil B)");
132 135
       #if ENABLED(TMC_DEBUG)
133
-        tmc_report_all();
136
+        tmc_report_all(true, true, true, true);
134 137
       #endif
135 138
       kill(PSTR("Driver error"));
136 139
     }
@@ -326,16 +329,28 @@
326 329
     TMC_S2VSB,
327 330
     TMC_S2VSA
328 331
   };
329
-  static void drv_status_print_hex(const uint32_t drv_status) {
330
-    for (int B = 24; B >= 8; B -= 8){
331
-      SERIAL_PRINT((drv_status >> (B + 4)) & 0xF, HEX);
332
-      SERIAL_PRINT((drv_status >> B) & 0xF, HEX);
333
-      SERIAL_CHAR(':');
334
-    }
335
-    SERIAL_PRINT((drv_status >> 4) & 0xF, HEX);
336
-    SERIAL_PRINT((drv_status) & 0xF, HEX);
337
-    SERIAL_EOL();
338
-  }
332
+  enum TMC_get_registers_enum : char {
333
+    TMC_AXIS_CODES,
334
+    TMC_GET_GCONF,
335
+    TMC_GET_IHOLD_IRUN,
336
+    TMC_GET_GSTAT,
337
+    TMC_GET_IOIN,
338
+    TMC_GET_TPOWERDOWN,
339
+    TMC_GET_TSTEP,
340
+    TMC_GET_TPWMTHRS,
341
+    TMC_GET_TCOOLTHRS,
342
+    TMC_GET_THIGH,
343
+    TMC_GET_CHOPCONF,
344
+    TMC_GET_COOLCONF,
345
+    TMC_GET_PWMCONF,
346
+    TMC_GET_PWM_SCALE,
347
+    TMC_GET_DRV_STATUS,
348
+    TMC_GET_DRVCONF,
349
+    TMC_GET_DRVCTRL,
350
+    TMC_GET_DRVSTATUS,
351
+    TMC_GET_SGCSCONF,
352
+    TMC_GET_SMARTEN
353
+  };
339 354
 
340 355
   template<class TMC>
341 356
   static void print_vsense(TMC &st) { serialprintPGM(st.vsense() ? PSTR("1=.18") : PSTR("0=.325")); }
@@ -480,125 +495,146 @@
480 495
       case TMC_S2GA:          if (st.s2ga())         SERIAL_CHAR('X'); break;
481 496
       case TMC_DRV_OTPW:      if (st.otpw())         SERIAL_CHAR('X'); break;
482 497
       case TMC_OT:            if (st.ot())           SERIAL_CHAR('X'); break;
483
-      case TMC_DRV_STATUS_HEX:
498
+      case TMC_DRV_STATUS_HEX: {
499
+        const uint32_t drv_status = st.DRV_STATUS();
500
+        SERIAL_CHAR('\t');
484 501
         st.printLabel();
485
-        SERIAL_ECHOPGM("\t0x");
486
-        drv_status_print_hex(st.DRV_STATUS());
502
+        SERIAL_CHAR('\t');
503
+        print_hex_long(drv_status, ':');
504
+        if (drv_status == 0xFFFFFFFF || drv_status == 0) SERIAL_ECHOPGM("\t Bad response!");
505
+        SERIAL_EOL();
487 506
         break;
507
+      }
488 508
       default: _tmc_parse_drv_status(st, i); break;
489 509
     }
490 510
   }
491 511
 
492
-  static void tmc_debug_loop(const TMC_debug_enum i) {
493
-    #if AXIS_IS_TMC(X)
494
-      tmc_status(stepperX, i, planner.settings.axis_steps_per_mm[X_AXIS]);
495
-    #endif
496
-    #if AXIS_IS_TMC(X2)
497
-      tmc_status(stepperX2, i, planner.settings.axis_steps_per_mm[X_AXIS]);
498
-    #endif
512
+  static void tmc_debug_loop(const TMC_debug_enum i, const bool print_x, const bool print_y, const bool print_z, const bool print_e) {
513
+    if (print_x) {
514
+      #if AXIS_IS_TMC(X)
515
+        tmc_status(stepperX, i, planner.settings.axis_steps_per_mm[X_AXIS]);
516
+      #endif
517
+      #if AXIS_IS_TMC(X2)
518
+        tmc_status(stepperX2, i, planner.settings.axis_steps_per_mm[X_AXIS]);
519
+      #endif
520
+    }
499 521
 
500
-    #if AXIS_IS_TMC(Y)
501
-      tmc_status(stepperY, i, planner.settings.axis_steps_per_mm[Y_AXIS]);
502
-    #endif
503
-    #if AXIS_IS_TMC(Y2)
504
-      tmc_status(stepperY2, i, planner.settings.axis_steps_per_mm[Y_AXIS]);
505
-    #endif
522
+    if (print_y) {
523
+      #if AXIS_IS_TMC(Y)
524
+        tmc_status(stepperY, i, planner.settings.axis_steps_per_mm[Y_AXIS]);
525
+      #endif
526
+      #if AXIS_IS_TMC(Y2)
527
+        tmc_status(stepperY2, i, planner.settings.axis_steps_per_mm[Y_AXIS]);
528
+      #endif
529
+    }
506 530
 
507
-    #if AXIS_IS_TMC(Z)
508
-      tmc_status(stepperZ, i, planner.settings.axis_steps_per_mm[Z_AXIS]);
509
-    #endif
510
-    #if AXIS_IS_TMC(Z2)
511
-      tmc_status(stepperZ2, i, planner.settings.axis_steps_per_mm[Z_AXIS]);
512
-    #endif
513
-    #if AXIS_IS_TMC(Z3)
514
-      tmc_status(stepperZ3, i, planner.settings.axis_steps_per_mm[Z_AXIS]);
515
-    #endif
531
+    if (print_z) {
532
+      #if AXIS_IS_TMC(Z)
533
+        tmc_status(stepperZ, i, planner.settings.axis_steps_per_mm[Z_AXIS]);
534
+      #endif
535
+      #if AXIS_IS_TMC(Z2)
536
+        tmc_status(stepperZ2, i, planner.settings.axis_steps_per_mm[Z_AXIS]);
537
+      #endif
538
+      #if AXIS_IS_TMC(Z3)
539
+        tmc_status(stepperZ3, i, planner.settings.axis_steps_per_mm[Z_AXIS]);
540
+      #endif
541
+    }
516 542
 
517
-    #if AXIS_IS_TMC(E0)
518
-      tmc_status(stepperE0, i, planner.settings.axis_steps_per_mm[E_AXIS]);
519
-    #endif
520
-    #if AXIS_IS_TMC(E1)
521
-      tmc_status(stepperE1, i, planner.settings.axis_steps_per_mm[E_AXIS
522
-        #if ENABLED(DISTINCT_E_FACTORS)
523
-          + 1
524
-        #endif
525
-      ]);
526
-    #endif
527
-    #if AXIS_IS_TMC(E2)
528
-      tmc_status(stepperE2, i, planner.settings.axis_steps_per_mm[E_AXIS
529
-        #if ENABLED(DISTINCT_E_FACTORS)
530
-          + 2
531
-        #endif
532
-      ]);
533
-    #endif
534
-    #if AXIS_IS_TMC(E3)
535
-      tmc_status(stepperE3, i, planner.settings.axis_steps_per_mm[E_AXIS
536
-        #if ENABLED(DISTINCT_E_FACTORS)
537
-          + 3
538
-        #endif
539
-      ]);
540
-    #endif
541
-    #if AXIS_IS_TMC(E4)
542
-      tmc_status(stepperE4, i, planner.settings.axis_steps_per_mm[E_AXIS
543
-        #if ENABLED(DISTINCT_E_FACTORS)
544
-          + 4
545
-        #endif
546
-      ]);
547
-    #endif
548
-    #if AXIS_IS_TMC(E5)
549
-      tmc_status(stepperE5, i, planner.settings.axis_steps_per_mm[E_AXIS
550
-        #if ENABLED(DISTINCT_E_FACTORS)
551
-          + 5
552
-        #endif
553
-      ]);
554
-    #endif
543
+    if (print_e) {
544
+      #if AXIS_IS_TMC(E0)
545
+        tmc_status(stepperE0, i, planner.settings.axis_steps_per_mm[E_AXIS]);
546
+      #endif
547
+      #if AXIS_IS_TMC(E1)
548
+        tmc_status(stepperE1, i, planner.settings.axis_steps_per_mm[E_AXIS
549
+          #if ENABLED(DISTINCT_E_FACTORS)
550
+            + 1
551
+          #endif
552
+        ]);
553
+      #endif
554
+      #if AXIS_IS_TMC(E2)
555
+        tmc_status(stepperE2, i, planner.settings.axis_steps_per_mm[E_AXIS
556
+          #if ENABLED(DISTINCT_E_FACTORS)
557
+            + 2
558
+          #endif
559
+        ]);
560
+      #endif
561
+      #if AXIS_IS_TMC(E3)
562
+        tmc_status(stepperE3, i, planner.settings.axis_steps_per_mm[E_AXIS
563
+          #if ENABLED(DISTINCT_E_FACTORS)
564
+            + 3
565
+          #endif
566
+        ]);
567
+      #endif
568
+      #if AXIS_IS_TMC(E4)
569
+        tmc_status(stepperE4, i, planner.settings.axis_steps_per_mm[E_AXIS
570
+          #if ENABLED(DISTINCT_E_FACTORS)
571
+            + 4
572
+          #endif
573
+        ]);
574
+      #endif
575
+      #if AXIS_IS_TMC(E5)
576
+        tmc_status(stepperE5, i, planner.settings.axis_steps_per_mm[E_AXIS
577
+          #if ENABLED(DISTINCT_E_FACTORS)
578
+            + 5
579
+          #endif
580
+        ]);
581
+      #endif
582
+    }
555 583
 
556 584
     SERIAL_EOL();
557 585
   }
558 586
 
559
-  static void drv_status_loop(const TMC_drv_status_enum i) {
560
-    #if AXIS_IS_TMC(X)
561
-      tmc_parse_drv_status(stepperX, i);
562
-    #endif
563
-    #if AXIS_IS_TMC(X2)
564
-      tmc_parse_drv_status(stepperX2, i);
565
-    #endif
587
+  static void drv_status_loop(const TMC_drv_status_enum i, const bool print_x, const bool print_y, const bool print_z, const bool print_e) {
588
+    if (print_x) {
589
+      #if AXIS_IS_TMC(X)
590
+        tmc_parse_drv_status(stepperX, i);
591
+      #endif
592
+      #if AXIS_IS_TMC(X2)
593
+        tmc_parse_drv_status(stepperX2, i);
594
+      #endif
595
+    }
566 596
 
567
-    #if AXIS_IS_TMC(Y)
568
-      tmc_parse_drv_status(stepperY, i);
569
-    #endif
570
-    #if AXIS_IS_TMC(Y2)
571
-      tmc_parse_drv_status(stepperY2, i);
572
-    #endif
597
+    if (print_y) {
598
+      #if AXIS_IS_TMC(Y)
599
+        tmc_parse_drv_status(stepperY, i);
600
+      #endif
601
+      #if AXIS_IS_TMC(Y2)
602
+        tmc_parse_drv_status(stepperY2, i);
603
+      #endif
604
+    }
573 605
 
574
-    #if AXIS_IS_TMC(Z)
575
-      tmc_parse_drv_status(stepperZ, i);
576
-    #endif
577
-    #if AXIS_IS_TMC(Z2)
578
-      tmc_parse_drv_status(stepperZ2, i);
579
-    #endif
580
-    #if AXIS_IS_TMC(Z3)
581
-      tmc_parse_drv_status(stepperZ3, i);
582
-    #endif
606
+    if (print_z) {
607
+      #if AXIS_IS_TMC(Z)
608
+        tmc_parse_drv_status(stepperZ, i);
609
+      #endif
610
+      #if AXIS_IS_TMC(Z2)
611
+        tmc_parse_drv_status(stepperZ2, i);
612
+      #endif
613
+      #if AXIS_IS_TMC(Z3)
614
+        tmc_parse_drv_status(stepperZ3, i);
615
+      #endif
616
+    }
583 617
 
584
-    #if AXIS_IS_TMC(E0)
585
-      tmc_parse_drv_status(stepperE0, i);
586
-    #endif
587
-    #if AXIS_IS_TMC(E1)
588
-      tmc_parse_drv_status(stepperE1, i);
589
-    #endif
590
-    #if AXIS_IS_TMC(E2)
591
-      tmc_parse_drv_status(stepperE2, i);
592
-    #endif
593
-    #if AXIS_IS_TMC(E3)
594
-      tmc_parse_drv_status(stepperE3, i);
595
-    #endif
596
-    #if AXIS_IS_TMC(E4)
597
-      tmc_parse_drv_status(stepperE4, i);
598
-    #endif
599
-    #if AXIS_IS_TMC(E5)
600
-      tmc_parse_drv_status(stepperE5, i);
601
-    #endif
618
+    if (print_e) {
619
+      #if AXIS_IS_TMC(E0)
620
+        tmc_parse_drv_status(stepperE0, i);
621
+      #endif
622
+      #if AXIS_IS_TMC(E1)
623
+        tmc_parse_drv_status(stepperE1, i);
624
+      #endif
625
+      #if AXIS_IS_TMC(E2)
626
+        tmc_parse_drv_status(stepperE2, i);
627
+      #endif
628
+      #if AXIS_IS_TMC(E3)
629
+        tmc_parse_drv_status(stepperE3, i);
630
+      #endif
631
+      #if AXIS_IS_TMC(E4)
632
+        tmc_parse_drv_status(stepperE4, i);
633
+      #endif
634
+      #if AXIS_IS_TMC(E5)
635
+        tmc_parse_drv_status(stepperE5, i);
636
+      #endif
637
+    }
602 638
 
603 639
     SERIAL_EOL();
604 640
   }
@@ -607,9 +643,9 @@
607 643
    * M122 report functions
608 644
    */
609 645
 
610
-  void tmc_report_all() {
611
-    #define TMC_REPORT(LABEL, ITEM) do{ SERIAL_ECHOPGM(LABEL);  tmc_debug_loop(ITEM); }while(0)
612
-    #define DRV_REPORT(LABEL, ITEM) do{ SERIAL_ECHOPGM(LABEL); drv_status_loop(ITEM); }while(0)
646
+  void tmc_report_all(bool print_x, const bool print_y, const bool print_z, const bool print_e) {
647
+    #define TMC_REPORT(LABEL, ITEM) do{ SERIAL_ECHOPGM(LABEL);  tmc_debug_loop(ITEM, print_x, print_y, print_z, print_e); }while(0)
648
+    #define DRV_REPORT(LABEL, ITEM) do{ SERIAL_ECHOPGM(LABEL); drv_status_loop(ITEM, print_x, print_y, print_z, print_e); }while(0)
613 649
     TMC_REPORT("\t",                 TMC_CODES);
614 650
     TMC_REPORT("Enabled\t",          TMC_ENABLED);
615 651
     TMC_REPORT("Set current",        TMC_CURRENT);
@@ -661,6 +697,135 @@
661 697
     SERIAL_EOL();
662 698
   }
663 699
 
700
+  #define PRINT_TMC_REGISTER(REG_CASE) case TMC_GET_##REG_CASE: print_hex_long(st.REG_CASE(), ':'); break
701
+
702
+  #if HAS_DRIVER(TMC2130)
703
+    static void tmc_get_ic_registers(TMC2130Stepper &st, const TMC_get_registers_enum i) {
704
+      switch (i) {
705
+        PRINT_TMC_REGISTER(TCOOLTHRS);
706
+        PRINT_TMC_REGISTER(THIGH);
707
+        PRINT_TMC_REGISTER(COOLCONF);
708
+        default: SERIAL_CHAR('\t'); break;
709
+      }
710
+    }
711
+  #endif
712
+  #if HAS_DRIVER(TMC2208)
713
+    static void tmc_get_ic_registers(TMC2208Stepper, const TMC_get_registers_enum) { SERIAL_CHAR('\t'); }
714
+  #endif
715
+
716
+  #if HAS_TRINAMIC
717
+    template<class TMC>
718
+    static void tmc_get_registers(TMC &st, const TMC_get_registers_enum i) {
719
+      switch (i) {
720
+        case TMC_AXIS_CODES: SERIAL_CHAR('\t'); st.printLabel(); break;
721
+        PRINT_TMC_REGISTER(GCONF);
722
+        PRINT_TMC_REGISTER(IHOLD_IRUN);
723
+        PRINT_TMC_REGISTER(GSTAT);
724
+        PRINT_TMC_REGISTER(IOIN);
725
+        PRINT_TMC_REGISTER(TPOWERDOWN);
726
+        PRINT_TMC_REGISTER(TSTEP);
727
+        PRINT_TMC_REGISTER(TPWMTHRS);
728
+        PRINT_TMC_REGISTER(CHOPCONF);
729
+        PRINT_TMC_REGISTER(PWMCONF);
730
+        PRINT_TMC_REGISTER(PWM_SCALE);
731
+        PRINT_TMC_REGISTER(DRV_STATUS);
732
+        default: tmc_get_ic_registers(st, i); break;
733
+      }
734
+      SERIAL_CHAR('\t');
735
+    }
736
+  #endif
737
+  #if HAS_DRIVER(TMC2660)
738
+    template <char AXIS_LETTER, char DRIVER_ID>
739
+    static void tmc_get_registers(TMCMarlin<TMC2660Stepper, AXIS_LETTER, DRIVER_ID> &st, const TMC_get_registers_enum i) {
740
+      switch (i) {
741
+        case TMC_AXIS_CODES: SERIAL_CHAR('\t'); st.printLabel(); break;
742
+        PRINT_TMC_REGISTER(DRVCONF);
743
+        PRINT_TMC_REGISTER(DRVCTRL);
744
+        PRINT_TMC_REGISTER(CHOPCONF);
745
+        PRINT_TMC_REGISTER(DRVSTATUS);
746
+        PRINT_TMC_REGISTER(SGCSCONF);
747
+        PRINT_TMC_REGISTER(SMARTEN);
748
+        default: SERIAL_CHAR('\t'); break;
749
+      }
750
+      SERIAL_CHAR('\t');
751
+    }
752
+  #endif
753
+
754
+  static void tmc_get_registers(TMC_get_registers_enum i, const bool print_x, const bool print_y, const bool print_z, const bool print_e) {
755
+    if (print_x) {
756
+      #if AXIS_IS_TMC(X)
757
+        tmc_get_registers(stepperX, i);
758
+      #endif
759
+      #if AXIS_IS_TMC(X2)
760
+        tmc_get_registers(stepperX2, i);
761
+      #endif
762
+    }
763
+
764
+    if (print_y) {
765
+      #if AXIS_IS_TMC(Y)
766
+        tmc_get_registers(stepperY, i);
767
+      #endif
768
+      #if AXIS_IS_TMC(Y2)
769
+        tmc_get_registers(stepperY2, i);
770
+      #endif
771
+    }
772
+
773
+    if (print_z) {
774
+      #if AXIS_IS_TMC(Z)
775
+        tmc_get_registers(stepperZ, i);
776
+      #endif
777
+      #if AXIS_IS_TMC(Z2)
778
+        tmc_get_registers(stepperZ2, i);
779
+      #endif
780
+      #if AXIS_IS_TMC(Z3)
781
+        tmc_get_registers(stepperZ3, i);
782
+      #endif
783
+    }
784
+
785
+    if (print_e) {
786
+      #if AXIS_IS_TMC(E0)
787
+        tmc_get_registers(stepperE0, i);
788
+      #endif
789
+      #if AXIS_IS_TMC(E1)
790
+        tmc_get_registers(stepperE1, i);
791
+      #endif
792
+      #if AXIS_IS_TMC(E2)
793
+        tmc_get_registers(stepperE2, i);
794
+      #endif
795
+      #if AXIS_IS_TMC(E3)
796
+        tmc_get_registers(stepperE3, i);
797
+      #endif
798
+      #if AXIS_IS_TMC(E4)
799
+        tmc_get_registers(stepperE4, i);
800
+      #endif
801
+      #if AXIS_IS_TMC(E5)
802
+        tmc_get_registers(stepperE5, i);
803
+      #endif
804
+    }
805
+
806
+    SERIAL_EOL();
807
+  }
808
+
809
+  void tmc_get_registers(bool print_x, bool print_y, bool print_z, bool print_e) {
810
+    #define _TMC_GET_REG(LABEL, ITEM) do{ SERIAL_ECHOPGM(LABEL); tmc_get_registers(ITEM, print_x, print_y, print_z, print_e); }while(0)
811
+    #define TMC_GET_REG(NAME, TABS) _TMC_GET_REG(STRINGIFY(NAME) TABS, TMC_GET_##NAME)
812
+    _TMC_GET_REG("\t", TMC_AXIS_CODES);
813
+    TMC_GET_REG(GCONF, "\t\t");
814
+    TMC_GET_REG(IHOLD_IRUN, "\t");
815
+    TMC_GET_REG(GSTAT, "\t\t");
816
+    TMC_GET_REG(IOIN, "\t\t");
817
+    TMC_GET_REG(TPOWERDOWN, "\t");
818
+    TMC_GET_REG(TSTEP, "\t\t");
819
+    TMC_GET_REG(TPWMTHRS, "\t");
820
+    TMC_GET_REG(TCOOLTHRS, "\t");
821
+    TMC_GET_REG(THIGH, "\t\t");
822
+    TMC_GET_REG(CHOPCONF, "\t");
823
+    TMC_GET_REG(COOLCONF, "\t");
824
+    TMC_GET_REG(PWMCONF, "\t");
825
+    TMC_GET_REG(PWM_SCALE, "\t");
826
+    TMC_GET_REG(DRV_STATUS, "\t");
827
+  }
828
+
664 829
 #endif // TMC_DEBUG
665 830
 
666 831
 #if USE_SENSORLESS
@@ -736,4 +901,83 @@
736 901
   }
737 902
 #endif // TMC_HAS_SPI
738 903
 
904
+template<typename TMC>
905
+static bool test_connection(TMC &st) {
906
+  SERIAL_ECHOPGM("Testing ");
907
+  st.printLabel();
908
+  SERIAL_ECHOPGM(" connection... ");
909
+  const uint8_t test_result = st.test_connection();
910
+
911
+  if (test_result > 0) SERIAL_ECHOPGM("Error: All ");
912
+
913
+  const char *stat;
914
+  switch (test_result) {
915
+    default:
916
+    case 0: stat = PSTR("OK"); break;
917
+    case 1: stat = PSTR("HIGH"); break;
918
+    case 2: stat = PSTR("LOW"); break;
919
+  }
920
+  serialprintPGM(stat);
921
+  SERIAL_EOL();
922
+
923
+  return test_result;
924
+}
925
+
926
+void test_tmc_connection(const bool test_x, const bool test_y, const bool test_z, const bool test_e) {
927
+  uint8_t axis_connection = 0;
928
+
929
+  if (test_x) {
930
+    #if AXIS_IS_TMC(X)
931
+      axis_connection += test_connection(stepperX);
932
+    #endif
933
+    #if AXIS_IS_TMC(X2)
934
+      axis_connection += test_connection(stepperX2);
935
+    #endif
936
+  }
937
+
938
+  if (test_y) {
939
+    #if AXIS_IS_TMC(Y)
940
+      axis_connection += test_connection(stepperY);
941
+    #endif
942
+    #if AXIS_IS_TMC(Y2)
943
+      axis_connection += test_connection(stepperY2);
944
+    #endif
945
+  }
946
+
947
+  if (test_z) {
948
+    #if AXIS_IS_TMC(Z)
949
+      axis_connection += test_connection(stepperZ);
950
+    #endif
951
+    #if AXIS_IS_TMC(Z2)
952
+      axis_connection += test_connection(stepperZ2);
953
+    #endif
954
+    #if AXIS_IS_TMC(Z3)
955
+      axis_connection += test_connection(stepperZ3);
956
+    #endif
957
+  }
958
+
959
+  if (test_e) {
960
+    #if AXIS_IS_TMC(E0)
961
+      axis_connection += test_connection(stepperE0);
962
+    #endif
963
+    #if AXIS_IS_TMC(E1)
964
+      axis_connection += test_connection(stepperE1);
965
+    #endif
966
+    #if AXIS_IS_TMC(E2)
967
+      axis_connection += test_connection(stepperE2);
968
+    #endif
969
+    #if AXIS_IS_TMC(E3)
970
+      axis_connection += test_connection(stepperE3);
971
+    #endif
972
+    #if AXIS_IS_TMC(E4)
973
+      axis_connection += test_connection(stepperE4);
974
+    #endif
975
+    #if AXIS_IS_TMC(E5)
976
+      axis_connection += test_connection(stepperE5);
977
+    #endif
978
+  }
979
+
980
+  if (axis_connection) ui.set_status_P(PSTR("TMC CONNECTION ERROR"));
981
+}
982
+
739 983
 #endif // HAS_TRINAMIC

+ 4
- 1
Marlin/src/feature/tmc_util.h View File

@@ -22,6 +22,7 @@
22 22
 #pragma once
23 23
 
24 24
 #include "../inc/MarlinConfig.h"
25
+#include "../lcd/ultralcd.h"
25 26
 #if HAS_TRINAMIC
26 27
   #include <TMCStepper.h>
27 28
 #endif
@@ -155,12 +156,14 @@ void tmc_set_sgt(TMC &st, const int8_t sgt_val) {
155 156
 }
156 157
 
157 158
 void monitor_tmc_driver();
159
+void test_tmc_connection(const bool test_x, const bool test_y, const bool test_z, const bool test_e);
158 160
 
159 161
 #if ENABLED(TMC_DEBUG)
160 162
   #if ENABLED(MONITOR_DRIVER_STATUS)
161 163
     void tmc_set_report_status(const bool status);
162 164
   #endif
163
-  void tmc_report_all();
165
+  void tmc_report_all(const bool print_x, const bool print_y, const bool print_z, const bool print_e);
166
+  void tmc_get_registers(const bool print_x, const bool print_y, const bool print_z, const bool print_e);
164 167
 #endif
165 168
 
166 169
 /**

+ 17
- 6
Marlin/src/gcode/feature/trinamic/M122.cpp View File

@@ -22,7 +22,7 @@
22 22
 
23 23
 #include "../../../inc/MarlinConfig.h"
24 24
 
25
-#if ENABLED(TMC_DEBUG)
25
+#if HAS_TRINAMIC
26 26
 
27 27
 #include "../../gcode.h"
28 28
 #include "../../../feature/tmc_util.h"
@@ -31,14 +31,25 @@
31 31
  * M122: Debug TMC drivers
32 32
  */
33 33
 void GcodeSuite::M122() {
34
+  bool print_axis[XYZE] = { false, false, false, false },
35
+       print_all = true;
36
+  LOOP_XYZE(i) if (parser.seen(axis_codes[i])) { print_axis[i] = true; print_all = false; }
34 37
 
35
-  #if ENABLED(MONITOR_DRIVER_STATUS)
36
-    if (parser.seen('S'))
37
-      tmc_set_report_status(parser.value_bool());
38
+  if (print_all) LOOP_XYZE(i) print_axis[i] = true;
39
+
40
+  #if ENABLED(TMC_DEBUG)
41
+    #if ENABLED(MONITOR_DRIVER_STATUS)
42
+      if (parser.seen('S'))
43
+        tmc_set_report_status(parser.value_bool());
44
+    #endif
45
+
46
+    if (parser.seen('V'))
47
+      tmc_get_registers(print_axis[X_AXIS], print_axis[Y_AXIS], print_axis[Z_AXIS], print_axis[E_AXIS]);
38 48
     else
49
+      tmc_report_all(print_axis[X_AXIS], print_axis[Y_AXIS], print_axis[Z_AXIS], print_axis[E_AXIS]);
39 50
   #endif
40
-      tmc_report_all();
41 51
 
52
+  test_tmc_connection(print_axis[X_AXIS], print_axis[Y_AXIS], print_axis[Z_AXIS], print_axis[E_AXIS]);
42 53
 }
43 54
 
44
-#endif // TMC_DEBUG
55
+#endif // HAS_TRINAMIC

+ 1
- 3
Marlin/src/gcode/gcode.cpp View File

@@ -650,9 +650,7 @@ void GcodeSuite::process_parsed_command(
650 650
       #endif
651 651
 
652 652
       #if HAS_TRINAMIC
653
-        #if ENABLED(TMC_DEBUG)
654
-          case 122: M122(); break;
655
-        #endif
653
+        case 122: M122(); break;
656 654
         case 906: M906(); break;                                  // M906: Set motor current in milliamps using axis codes X, Y, Z, E
657 655
         #if ENABLED(MONITOR_DRIVER_STATUS)
658 656
           case 911: M911(); break;                                // M911: Report TMC2130 prewarn triggered flags

+ 1
- 3
Marlin/src/gcode/gcode.h View File

@@ -792,9 +792,7 @@ private:
792 792
   #endif
793 793
 
794 794
   #if HAS_TRINAMIC
795
-    #if ENABLED(TMC_DEBUG)
796
-      static void M122();
797
-    #endif
795
+    static void M122();
798 796
     static void M906();
799 797
     #if ENABLED(MONITOR_DRIVER_STATUS)
800 798
       static void M911();

+ 10
- 1
Marlin/src/libs/hex_print_routines.cpp View File

@@ -23,7 +23,7 @@
23 23
 #include "../inc/MarlinConfig.h"
24 24
 #include "../gcode/parser.h"
25 25
 
26
-#if ENABLED(AUTO_BED_LEVELING_UBL) || ENABLED(M100_FREE_MEMORY_WATCHER) || ENABLED(DEBUG_GCODE_PARSER)
26
+#if ENABLED(AUTO_BED_LEVELING_UBL) || ENABLED(M100_FREE_MEMORY_WATCHER) || ENABLED(DEBUG_GCODE_PARSER) || ENABLED(TMC_DEBUG)
27 27
 
28 28
   #include "hex_print_routines.h"
29 29
 
@@ -78,4 +78,13 @@
78 78
   void print_hex_word(const uint16_t w)        { SERIAL_ECHO(hex_word(w));    }
79 79
   void print_hex_address(const void * const w) { SERIAL_ECHO(hex_address(w)); }
80 80
 
81
+  void print_hex_long(const uint32_t w, const char delimiter) {
82
+    SERIAL_ECHOPGM("0x");
83
+    for (int B = 24; B >= 8; B -= 8){
84
+      print_hex_byte(w >> B);
85
+      SERIAL_CHAR(delimiter);
86
+    }
87
+    print_hex_byte(w);
88
+  }
89
+
81 90
 #endif // AUTO_BED_LEVELING_UBL || M100_FREE_MEMORY_WATCHER || DEBUG_GCODE_PARSER

+ 1
- 0
Marlin/src/libs/hex_print_routines.h View File

@@ -38,6 +38,7 @@ void print_hex_nybble(const uint8_t n);
38 38
 void print_hex_byte(const uint8_t b);
39 39
 void print_hex_word(const uint16_t w);
40 40
 void print_hex_address(const void * const w);
41
+void print_hex_long(const uint32_t w, const char delimiter);
41 42
 
42 43
 #ifdef CPU_32_BIT
43 44
   typedef uint32_t ptr_int_t;

+ 21
- 10
Marlin/src/module/stepper_indirection.cpp View File

@@ -205,12 +205,14 @@
205 205
   void tmc_init(TMCMarlin<TMC2130Stepper, AXIS_LETTER, DRIVER_ID> &st, const uint16_t mA, const uint16_t microsteps, const uint32_t thrs, const float spmm, const bool stealth) {
206 206
     st.begin();
207 207
 
208
+    static constexpr int8_t timings[] = CHOPPER_TIMING; // Default 4, -2, 1
209
+
208 210
     CHOPCONF_t chopconf{0};
209 211
     chopconf.tbl = 1;
210
-    chopconf.toff = 3;
212
+    chopconf.toff = timings[0];
211 213
     chopconf.intpol = INTERPOLATE;
212
-    chopconf.hstrt = 2;
213
-    chopconf.hend = 5;
214
+    chopconf.hend = timings[1] + 3;
215
+    chopconf.hstrt = timings[2] - 1;
214 216
     st.CHOPCONF(chopconf.sr);
215 217
 
216 218
     st.rms_current(mA, HOLD_MULTIPLIER);
@@ -440,6 +442,8 @@
440 442
 
441 443
   template<char AXIS_LETTER, char DRIVER_ID>
442 444
   void tmc_init(TMCMarlin<TMC2208Stepper, AXIS_LETTER, DRIVER_ID> &st, const uint16_t mA, const uint16_t microsteps, const uint32_t thrs, const float spmm, const bool stealth) {
445
+    static constexpr int8_t timings[] = CHOPPER_TIMING; // Default 4, -2, 1
446
+
443 447
     TMC2208_n::GCONF_t gconf{0};
444 448
     gconf.pdn_disable = true; // Use UART
445 449
     gconf.mstep_reg_select = true; // Select microsteps with UART
@@ -449,10 +453,10 @@
449 453
 
450 454
     TMC2208_n::CHOPCONF_t chopconf{0};
451 455
     chopconf.tbl = 0b01; // blank_time = 24
452
-    chopconf.toff = 5;
456
+    chopconf.toff = timings[0];
453 457
     chopconf.intpol = INTERPOLATE;
454
-    chopconf.hstrt = 2;
455
-    chopconf.hend = 5;
458
+    chopconf.hend = timings[1] + 3;
459
+    chopconf.hstrt = timings[2] - 1;
456 460
     st.CHOPCONF(chopconf.sr);
457 461
 
458 462
     st.rms_current(mA, HOLD_MULTIPLIER);
@@ -540,13 +544,20 @@
540 544
   template<char AXIS_LETTER, char DRIVER_ID>
541 545
   void tmc_init(TMCMarlin<TMC2660Stepper, AXIS_LETTER, DRIVER_ID> &st, const uint16_t mA, const uint16_t microsteps, const uint32_t, const float, const bool) {
542 546
     st.begin();
547
+
548
+    static constexpr int8_t timings[] = CHOPPER_TIMING; // Default 4, -2, 1
549
+
550
+    TMC2660_n::CHOPCONF_t chopconf{0};
551
+    chopconf.tbl = 1;
552
+    chopconf.toff = timings[0];
553
+    chopconf.hend = timings[1] + 3;
554
+    chopconf.hstrt = timings[2] - 1;
555
+    st.CHOPCONF(chopconf.sr);
556
+
543 557
     st.rms_current(mA);
544 558
     st.microsteps(microsteps);
545
-    st.blank_time(24);
546
-    st.toff(5); // Only enables the driver if used with stealthChop
547 559
     st.intpol(INTERPOLATE);
548
-    //st.hysteresis_start(3);
549
-    //st.hysteresis_end(2);
560
+    st.diss2g(true); // Disable short to ground protection. Too many false readings?
550 561
   }
551 562
 #endif // TMC2660
552 563
 

Loading…
Cancel
Save