Browse Source

Trinamic: Split stealthChop, improve driver monitoring, etc. (#12582)

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

+ 22
- 2
Marlin/Configuration_adv.h View File

@@ -1323,6 +1323,24 @@
1323 1323
   #define E5_MICROSTEPS       16
1324 1324
 
1325 1325
   /**
1326
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1327
+   * The default pins can be found in your board's pins file.
1328
+   */
1329
+  //#define X_CS_PIN          -1
1330
+  //#define Y_CS_PIN          -1
1331
+  //#define Z_CS_PIN          -1
1332
+  //#define X2_CS_PIN         -1
1333
+  //#define Y2_CS_PIN         -1
1334
+  //#define Z2_CS_PIN         -1
1335
+  //#define Z3_CS_PIN         -1
1336
+  //#define E0_CS_PIN         -1
1337
+  //#define E1_CS_PIN         -1
1338
+  //#define E2_CS_PIN         -1
1339
+  //#define E3_CS_PIN         -1
1340
+  //#define E4_CS_PIN         -1
1341
+  //#define E5_CS_PIN         -1
1342
+
1343
+  /**
1326 1344
    * Use software SPI for TMC2130.
1327 1345
    * The default SW SPI pins are defined the respective pins files,
1328 1346
    * but you can override or define them here.
@@ -1336,7 +1354,9 @@
1336 1354
    * Use Trinamic's ultra quiet stepping mode.
1337 1355
    * When disabled, Marlin will use spreadCycle stepping mode.
1338 1356
    */
1339
-  #define STEALTHCHOP
1357
+  #define STEALTHCHOP_XY
1358
+  #define STEALTHCHOP_Z
1359
+  #define STEALTHCHOP_E
1340 1360
 
1341 1361
   /**
1342 1362
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1360,7 +1380,7 @@
1360 1380
   /**
1361 1381
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1362 1382
    * This mode allows for faster movements at the expense of higher noise levels.
1363
-   * STEALTHCHOP needs to be enabled.
1383
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1364 1384
    * M913 X/Y/Z/E to live tune the setting
1365 1385
    */
1366 1386
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/default/Configuration_adv.h View File

@@ -1323,6 +1323,24 @@
1323 1323
   #define E5_MICROSTEPS       16
1324 1324
 
1325 1325
   /**
1326
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1327
+   * The default pins can be found in your board's pins file.
1328
+   */
1329
+  //#define X_CS_PIN          -1
1330
+  //#define Y_CS_PIN          -1
1331
+  //#define Z_CS_PIN          -1
1332
+  //#define X2_CS_PIN         -1
1333
+  //#define Y2_CS_PIN         -1
1334
+  //#define Z2_CS_PIN         -1
1335
+  //#define Z3_CS_PIN         -1
1336
+  //#define E0_CS_PIN         -1
1337
+  //#define E1_CS_PIN         -1
1338
+  //#define E2_CS_PIN         -1
1339
+  //#define E3_CS_PIN         -1
1340
+  //#define E4_CS_PIN         -1
1341
+  //#define E5_CS_PIN         -1
1342
+
1343
+  /**
1326 1344
    * Use software SPI for TMC2130.
1327 1345
    * The default SW SPI pins are defined the respective pins files,
1328 1346
    * but you can override or define them here.
@@ -1336,7 +1354,9 @@
1336 1354
    * Use Trinamic's ultra quiet stepping mode.
1337 1355
    * When disabled, Marlin will use spreadCycle stepping mode.
1338 1356
    */
1339
-  #define STEALTHCHOP
1357
+  #define STEALTHCHOP_XY
1358
+  #define STEALTHCHOP_Z
1359
+  #define STEALTHCHOP_E
1340 1360
 
1341 1361
   /**
1342 1362
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1360,7 +1380,7 @@
1360 1380
   /**
1361 1381
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1362 1382
    * This mode allows for faster movements at the expense of higher noise levels.
1363
-   * STEALTHCHOP needs to be enabled.
1383
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1364 1384
    * M913 X/Y/Z/E to live tune the setting
1365 1385
    */
1366 1386
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h View File

@@ -1322,6 +1322,24 @@
1322 1322
   #define E5_MICROSTEPS       16
1323 1323
 
1324 1324
   /**
1325
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1326
+   * The default pins can be found in your board's pins file.
1327
+   */
1328
+  //#define X_CS_PIN          -1
1329
+  //#define Y_CS_PIN          -1
1330
+  //#define Z_CS_PIN          -1
1331
+  //#define X2_CS_PIN         -1
1332
+  //#define Y2_CS_PIN         -1
1333
+  //#define Z2_CS_PIN         -1
1334
+  //#define Z3_CS_PIN         -1
1335
+  //#define E0_CS_PIN         -1
1336
+  //#define E1_CS_PIN         -1
1337
+  //#define E2_CS_PIN         -1
1338
+  //#define E3_CS_PIN         -1
1339
+  //#define E4_CS_PIN         -1
1340
+  //#define E5_CS_PIN         -1
1341
+
1342
+  /**
1325 1343
    * Use software SPI for TMC2130.
1326 1344
    * The default SW SPI pins are defined the respective pins files,
1327 1345
    * but you can override or define them here.
@@ -1335,7 +1353,9 @@
1335 1353
    * Use Trinamic's ultra quiet stepping mode.
1336 1354
    * When disabled, Marlin will use spreadCycle stepping mode.
1337 1355
    */
1338
-  #define STEALTHCHOP
1356
+  #define STEALTHCHOP_XY
1357
+  #define STEALTHCHOP_Z
1358
+  #define STEALTHCHOP_E
1339 1359
 
1340 1360
   /**
1341 1361
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1359,7 +1379,7 @@
1359 1379
   /**
1360 1380
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1361 1381
    * This mode allows for faster movements at the expense of higher noise levels.
1362
-   * STEALTHCHOP needs to be enabled.
1382
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1363 1383
    * M913 X/Y/Z/E to live tune the setting
1364 1384
    */
1365 1385
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/Anet/A2/Configuration_adv.h View File

@@ -1322,6 +1322,24 @@
1322 1322
   #define E5_MICROSTEPS       16
1323 1323
 
1324 1324
   /**
1325
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1326
+   * The default pins can be found in your board's pins file.
1327
+   */
1328
+  //#define X_CS_PIN          -1
1329
+  //#define Y_CS_PIN          -1
1330
+  //#define Z_CS_PIN          -1
1331
+  //#define X2_CS_PIN         -1
1332
+  //#define Y2_CS_PIN         -1
1333
+  //#define Z2_CS_PIN         -1
1334
+  //#define Z3_CS_PIN         -1
1335
+  //#define E0_CS_PIN         -1
1336
+  //#define E1_CS_PIN         -1
1337
+  //#define E2_CS_PIN         -1
1338
+  //#define E3_CS_PIN         -1
1339
+  //#define E4_CS_PIN         -1
1340
+  //#define E5_CS_PIN         -1
1341
+
1342
+  /**
1325 1343
    * Use software SPI for TMC2130.
1326 1344
    * The default SW SPI pins are defined the respective pins files,
1327 1345
    * but you can override or define them here.
@@ -1335,7 +1353,9 @@
1335 1353
    * Use Trinamic's ultra quiet stepping mode.
1336 1354
    * When disabled, Marlin will use spreadCycle stepping mode.
1337 1355
    */
1338
-  #define STEALTHCHOP
1356
+  #define STEALTHCHOP_XY
1357
+  #define STEALTHCHOP_Z
1358
+  #define STEALTHCHOP_E
1339 1359
 
1340 1360
   /**
1341 1361
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1359,7 +1379,7 @@
1359 1379
   /**
1360 1380
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1361 1381
    * This mode allows for faster movements at the expense of higher noise levels.
1362
-   * STEALTHCHOP needs to be enabled.
1382
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1363 1383
    * M913 X/Y/Z/E to live tune the setting
1364 1384
    */
1365 1385
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/Anet/A2plus/Configuration_adv.h View File

@@ -1322,6 +1322,24 @@
1322 1322
   #define E5_MICROSTEPS       16
1323 1323
 
1324 1324
   /**
1325
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1326
+   * The default pins can be found in your board's pins file.
1327
+   */
1328
+  //#define X_CS_PIN          -1
1329
+  //#define Y_CS_PIN          -1
1330
+  //#define Z_CS_PIN          -1
1331
+  //#define X2_CS_PIN         -1
1332
+  //#define Y2_CS_PIN         -1
1333
+  //#define Z2_CS_PIN         -1
1334
+  //#define Z3_CS_PIN         -1
1335
+  //#define E0_CS_PIN         -1
1336
+  //#define E1_CS_PIN         -1
1337
+  //#define E2_CS_PIN         -1
1338
+  //#define E3_CS_PIN         -1
1339
+  //#define E4_CS_PIN         -1
1340
+  //#define E5_CS_PIN         -1
1341
+
1342
+  /**
1325 1343
    * Use software SPI for TMC2130.
1326 1344
    * The default SW SPI pins are defined the respective pins files,
1327 1345
    * but you can override or define them here.
@@ -1335,7 +1353,9 @@
1335 1353
    * Use Trinamic's ultra quiet stepping mode.
1336 1354
    * When disabled, Marlin will use spreadCycle stepping mode.
1337 1355
    */
1338
-  #define STEALTHCHOP
1356
+  #define STEALTHCHOP_XY
1357
+  #define STEALTHCHOP_Z
1358
+  #define STEALTHCHOP_E
1339 1359
 
1340 1360
   /**
1341 1361
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1359,7 +1379,7 @@
1359 1379
   /**
1360 1380
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1361 1381
    * This mode allows for faster movements at the expense of higher noise levels.
1362
-   * STEALTHCHOP needs to be enabled.
1382
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1363 1383
    * M913 X/Y/Z/E to live tune the setting
1364 1384
    */
1365 1385
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/Anet/A6/Configuration_adv.h View File

@@ -1321,6 +1321,24 @@
1321 1321
   #define E5_MICROSTEPS       16
1322 1322
 
1323 1323
   /**
1324
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1325
+   * The default pins can be found in your board's pins file.
1326
+   */
1327
+  //#define X_CS_PIN          -1
1328
+  //#define Y_CS_PIN          -1
1329
+  //#define Z_CS_PIN          -1
1330
+  //#define X2_CS_PIN         -1
1331
+  //#define Y2_CS_PIN         -1
1332
+  //#define Z2_CS_PIN         -1
1333
+  //#define Z3_CS_PIN         -1
1334
+  //#define E0_CS_PIN         -1
1335
+  //#define E1_CS_PIN         -1
1336
+  //#define E2_CS_PIN         -1
1337
+  //#define E3_CS_PIN         -1
1338
+  //#define E4_CS_PIN         -1
1339
+  //#define E5_CS_PIN         -1
1340
+
1341
+  /**
1324 1342
    * Use software SPI for TMC2130.
1325 1343
    * The default SW SPI pins are defined the respective pins files,
1326 1344
    * but you can override or define them here.
@@ -1334,7 +1352,9 @@
1334 1352
    * Use Trinamic's ultra quiet stepping mode.
1335 1353
    * When disabled, Marlin will use spreadCycle stepping mode.
1336 1354
    */
1337
-  #define STEALTHCHOP
1355
+  #define STEALTHCHOP_XY
1356
+  #define STEALTHCHOP_Z
1357
+  #define STEALTHCHOP_E
1338 1358
 
1339 1359
   /**
1340 1360
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1358,7 +1378,7 @@
1358 1378
   /**
1359 1379
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1360 1380
    * This mode allows for faster movements at the expense of higher noise levels.
1361
-   * STEALTHCHOP needs to be enabled.
1381
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1362 1382
    * M913 X/Y/Z/E to live tune the setting
1363 1383
    */
1364 1384
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/Anet/A8/Configuration_adv.h View File

@@ -1322,6 +1322,24 @@
1322 1322
   #define E5_MICROSTEPS       16
1323 1323
 
1324 1324
   /**
1325
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1326
+   * The default pins can be found in your board's pins file.
1327
+   */
1328
+  //#define X_CS_PIN          -1
1329
+  //#define Y_CS_PIN          -1
1330
+  //#define Z_CS_PIN          -1
1331
+  //#define X2_CS_PIN         -1
1332
+  //#define Y2_CS_PIN         -1
1333
+  //#define Z2_CS_PIN         -1
1334
+  //#define Z3_CS_PIN         -1
1335
+  //#define E0_CS_PIN         -1
1336
+  //#define E1_CS_PIN         -1
1337
+  //#define E2_CS_PIN         -1
1338
+  //#define E3_CS_PIN         -1
1339
+  //#define E4_CS_PIN         -1
1340
+  //#define E5_CS_PIN         -1
1341
+
1342
+  /**
1325 1343
    * Use software SPI for TMC2130.
1326 1344
    * The default SW SPI pins are defined the respective pins files,
1327 1345
    * but you can override or define them here.
@@ -1335,7 +1353,9 @@
1335 1353
    * Use Trinamic's ultra quiet stepping mode.
1336 1354
    * When disabled, Marlin will use spreadCycle stepping mode.
1337 1355
    */
1338
-  #define STEALTHCHOP
1356
+  #define STEALTHCHOP_XY
1357
+  #define STEALTHCHOP_Z
1358
+  #define STEALTHCHOP_E
1339 1359
 
1340 1360
   /**
1341 1361
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1359,7 +1379,7 @@
1359 1379
   /**
1360 1380
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1361 1381
    * This mode allows for faster movements at the expense of higher noise levels.
1362
-   * STEALTHCHOP needs to be enabled.
1382
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1363 1383
    * M913 X/Y/Z/E to live tune the setting
1364 1384
    */
1365 1385
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/ArmEd/Configuration_adv.h View File

@@ -1296,6 +1296,24 @@
1296 1296
   #define E5_MICROSTEPS       16
1297 1297
 
1298 1298
   /**
1299
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1300
+   * The default pins can be found in your board's pins file.
1301
+   */
1302
+  //#define X_CS_PIN          -1
1303
+  //#define Y_CS_PIN          -1
1304
+  //#define Z_CS_PIN          -1
1305
+  //#define X2_CS_PIN         -1
1306
+  //#define Y2_CS_PIN         -1
1307
+  //#define Z2_CS_PIN         -1
1308
+  //#define Z3_CS_PIN         -1
1309
+  //#define E0_CS_PIN         -1
1310
+  //#define E1_CS_PIN         -1
1311
+  //#define E2_CS_PIN         -1
1312
+  //#define E3_CS_PIN         -1
1313
+  //#define E4_CS_PIN         -1
1314
+  //#define E5_CS_PIN         -1
1315
+
1316
+  /**
1299 1317
    * Use software SPI for TMC2130.
1300 1318
    * The default SW SPI pins are defined the respective pins files,
1301 1319
    * but you can override or define them here.
@@ -1309,7 +1327,9 @@
1309 1327
    * Use Trinamic's ultra quiet stepping mode.
1310 1328
    * When disabled, Marlin will use spreadCycle stepping mode.
1311 1329
    */
1312
-  #define STEALTHCHOP
1330
+  #define STEALTHCHOP_XY
1331
+  #define STEALTHCHOP_Z
1332
+  #define STEALTHCHOP_E
1313 1333
 
1314 1334
   /**
1315 1335
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1333,7 +1353,7 @@
1333 1353
   /**
1334 1354
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1335 1355
    * This mode allows for faster movements at the expense of higher noise levels.
1336
-   * STEALTHCHOP needs to be enabled.
1356
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1337 1357
    * M913 X/Y/Z/E to live tune the setting
1338 1358
    */
1339 1359
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h View File

@@ -1321,6 +1321,24 @@
1321 1321
   #define E5_MICROSTEPS       16
1322 1322
 
1323 1323
   /**
1324
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1325
+   * The default pins can be found in your board's pins file.
1326
+   */
1327
+  //#define X_CS_PIN          -1
1328
+  //#define Y_CS_PIN          -1
1329
+  //#define Z_CS_PIN          -1
1330
+  //#define X2_CS_PIN         -1
1331
+  //#define Y2_CS_PIN         -1
1332
+  //#define Z2_CS_PIN         -1
1333
+  //#define Z3_CS_PIN         -1
1334
+  //#define E0_CS_PIN         -1
1335
+  //#define E1_CS_PIN         -1
1336
+  //#define E2_CS_PIN         -1
1337
+  //#define E3_CS_PIN         -1
1338
+  //#define E4_CS_PIN         -1
1339
+  //#define E5_CS_PIN         -1
1340
+
1341
+  /**
1324 1342
    * Use software SPI for TMC2130.
1325 1343
    * The default SW SPI pins are defined the respective pins files,
1326 1344
    * but you can override or define them here.
@@ -1334,7 +1352,9 @@
1334 1352
    * Use Trinamic's ultra quiet stepping mode.
1335 1353
    * When disabled, Marlin will use spreadCycle stepping mode.
1336 1354
    */
1337
-  #define STEALTHCHOP
1355
+  #define STEALTHCHOP_XY
1356
+  #define STEALTHCHOP_Z
1357
+  #define STEALTHCHOP_E
1338 1358
 
1339 1359
   /**
1340 1360
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1358,7 +1378,7 @@
1358 1378
   /**
1359 1379
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1360 1380
    * This mode allows for faster movements at the expense of higher noise levels.
1361
-   * STEALTHCHOP needs to be enabled.
1381
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1362 1382
    * M913 X/Y/Z/E to live tune the setting
1363 1383
    */
1364 1384
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/BIBO/TouchX/default/Configuration_adv.h View File

@@ -1322,6 +1322,24 @@
1322 1322
   #define E5_MICROSTEPS       16
1323 1323
 
1324 1324
   /**
1325
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1326
+   * The default pins can be found in your board's pins file.
1327
+   */
1328
+  //#define X_CS_PIN          -1
1329
+  //#define Y_CS_PIN          -1
1330
+  //#define Z_CS_PIN          -1
1331
+  //#define X2_CS_PIN         -1
1332
+  //#define Y2_CS_PIN         -1
1333
+  //#define Z2_CS_PIN         -1
1334
+  //#define Z3_CS_PIN         -1
1335
+  //#define E0_CS_PIN         -1
1336
+  //#define E1_CS_PIN         -1
1337
+  //#define E2_CS_PIN         -1
1338
+  //#define E3_CS_PIN         -1
1339
+  //#define E4_CS_PIN         -1
1340
+  //#define E5_CS_PIN         -1
1341
+
1342
+  /**
1325 1343
    * Use software SPI for TMC2130.
1326 1344
    * The default SW SPI pins are defined the respective pins files,
1327 1345
    * but you can override or define them here.
@@ -1335,7 +1353,9 @@
1335 1353
    * Use Trinamic's ultra quiet stepping mode.
1336 1354
    * When disabled, Marlin will use spreadCycle stepping mode.
1337 1355
    */
1338
-  #define STEALTHCHOP
1356
+  #define STEALTHCHOP_XY
1357
+  #define STEALTHCHOP_Z
1358
+  #define STEALTHCHOP_E
1339 1359
 
1340 1360
   /**
1341 1361
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1359,7 +1379,7 @@
1359 1379
   /**
1360 1380
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1361 1381
    * This mode allows for faster movements at the expense of higher noise levels.
1362
-   * STEALTHCHOP needs to be enabled.
1382
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1363 1383
    * M913 X/Y/Z/E to live tune the setting
1364 1384
    */
1365 1385
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h View File

@@ -1322,6 +1322,24 @@
1322 1322
   #define E5_MICROSTEPS       16
1323 1323
 
1324 1324
   /**
1325
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1326
+   * The default pins can be found in your board's pins file.
1327
+   */
1328
+  //#define X_CS_PIN          -1
1329
+  //#define Y_CS_PIN          -1
1330
+  //#define Z_CS_PIN          -1
1331
+  //#define X2_CS_PIN         -1
1332
+  //#define Y2_CS_PIN         -1
1333
+  //#define Z2_CS_PIN         -1
1334
+  //#define Z3_CS_PIN         -1
1335
+  //#define E0_CS_PIN         -1
1336
+  //#define E1_CS_PIN         -1
1337
+  //#define E2_CS_PIN         -1
1338
+  //#define E3_CS_PIN         -1
1339
+  //#define E4_CS_PIN         -1
1340
+  //#define E5_CS_PIN         -1
1341
+
1342
+  /**
1325 1343
    * Use software SPI for TMC2130.
1326 1344
    * The default SW SPI pins are defined the respective pins files,
1327 1345
    * but you can override or define them here.
@@ -1335,7 +1353,9 @@
1335 1353
    * Use Trinamic's ultra quiet stepping mode.
1336 1354
    * When disabled, Marlin will use spreadCycle stepping mode.
1337 1355
    */
1338
-  #define STEALTHCHOP
1356
+  #define STEALTHCHOP_XY
1357
+  #define STEALTHCHOP_Z
1358
+  #define STEALTHCHOP_E
1339 1359
 
1340 1360
   /**
1341 1361
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1359,7 +1379,7 @@
1359 1379
   /**
1360 1380
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1361 1381
    * This mode allows for faster movements at the expense of higher noise levels.
1362
-   * STEALTHCHOP needs to be enabled.
1382
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1363 1383
    * M913 X/Y/Z/E to live tune the setting
1364 1384
    */
1365 1385
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h View File

@@ -1330,6 +1330,24 @@
1330 1330
   #define E5_MICROSTEPS       16
1331 1331
 
1332 1332
   /**
1333
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1334
+   * The default pins can be found in your board's pins file.
1335
+   */
1336
+  //#define X_CS_PIN          -1
1337
+  //#define Y_CS_PIN          -1
1338
+  //#define Z_CS_PIN          -1
1339
+  //#define X2_CS_PIN         -1
1340
+  //#define Y2_CS_PIN         -1
1341
+  //#define Z2_CS_PIN         -1
1342
+  //#define Z3_CS_PIN         -1
1343
+  //#define E0_CS_PIN         -1
1344
+  //#define E1_CS_PIN         -1
1345
+  //#define E2_CS_PIN         -1
1346
+  //#define E3_CS_PIN         -1
1347
+  //#define E4_CS_PIN         -1
1348
+  //#define E5_CS_PIN         -1
1349
+
1350
+  /**
1333 1351
    * Use software SPI for TMC2130.
1334 1352
    * The default SW SPI pins are defined the respective pins files,
1335 1353
    * but you can override or define them here.
@@ -1343,7 +1361,9 @@
1343 1361
    * Use Trinamic's ultra quiet stepping mode.
1344 1362
    * When disabled, Marlin will use spreadCycle stepping mode.
1345 1363
    */
1346
-  #define STEALTHCHOP
1364
+  #define STEALTHCHOP_XY
1365
+  #define STEALTHCHOP_Z
1366
+  #define STEALTHCHOP_E
1347 1367
 
1348 1368
   /**
1349 1369
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1367,7 +1387,7 @@
1367 1387
   /**
1368 1388
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1369 1389
    * This mode allows for faster movements at the expense of higher noise levels.
1370
-   * STEALTHCHOP needs to be enabled.
1390
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1371 1391
    * M913 X/Y/Z/E to live tune the setting
1372 1392
    */
1373 1393
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h View File

@@ -1322,6 +1322,24 @@
1322 1322
   #define E5_MICROSTEPS       16
1323 1323
 
1324 1324
   /**
1325
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1326
+   * The default pins can be found in your board's pins file.
1327
+   */
1328
+  //#define X_CS_PIN          -1
1329
+  //#define Y_CS_PIN          -1
1330
+  //#define Z_CS_PIN          -1
1331
+  //#define X2_CS_PIN         -1
1332
+  //#define Y2_CS_PIN         -1
1333
+  //#define Z2_CS_PIN         -1
1334
+  //#define Z3_CS_PIN         -1
1335
+  //#define E0_CS_PIN         -1
1336
+  //#define E1_CS_PIN         -1
1337
+  //#define E2_CS_PIN         -1
1338
+  //#define E3_CS_PIN         -1
1339
+  //#define E4_CS_PIN         -1
1340
+  //#define E5_CS_PIN         -1
1341
+
1342
+  /**
1325 1343
    * Use software SPI for TMC2130.
1326 1344
    * The default SW SPI pins are defined the respective pins files,
1327 1345
    * but you can override or define them here.
@@ -1335,7 +1353,9 @@
1335 1353
    * Use Trinamic's ultra quiet stepping mode.
1336 1354
    * When disabled, Marlin will use spreadCycle stepping mode.
1337 1355
    */
1338
-  #define STEALTHCHOP
1356
+  #define STEALTHCHOP_XY
1357
+  #define STEALTHCHOP_Z
1358
+  #define STEALTHCHOP_E
1339 1359
 
1340 1360
   /**
1341 1361
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1359,7 +1379,7 @@
1359 1379
   /**
1360 1380
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1361 1381
    * This mode allows for faster movements at the expense of higher noise levels.
1362
-   * STEALTHCHOP needs to be enabled.
1382
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1363 1383
    * M913 X/Y/Z/E to live tune the setting
1364 1384
    */
1365 1385
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/Cartesio/Configuration_adv.h View File

@@ -1322,6 +1322,24 @@
1322 1322
   #define E5_MICROSTEPS       16
1323 1323
 
1324 1324
   /**
1325
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1326
+   * The default pins can be found in your board's pins file.
1327
+   */
1328
+  //#define X_CS_PIN          -1
1329
+  //#define Y_CS_PIN          -1
1330
+  //#define Z_CS_PIN          -1
1331
+  //#define X2_CS_PIN         -1
1332
+  //#define Y2_CS_PIN         -1
1333
+  //#define Z2_CS_PIN         -1
1334
+  //#define Z3_CS_PIN         -1
1335
+  //#define E0_CS_PIN         -1
1336
+  //#define E1_CS_PIN         -1
1337
+  //#define E2_CS_PIN         -1
1338
+  //#define E3_CS_PIN         -1
1339
+  //#define E4_CS_PIN         -1
1340
+  //#define E5_CS_PIN         -1
1341
+
1342
+  /**
1325 1343
    * Use software SPI for TMC2130.
1326 1344
    * The default SW SPI pins are defined the respective pins files,
1327 1345
    * but you can override or define them here.
@@ -1335,7 +1353,9 @@
1335 1353
    * Use Trinamic's ultra quiet stepping mode.
1336 1354
    * When disabled, Marlin will use spreadCycle stepping mode.
1337 1355
    */
1338
-  #define STEALTHCHOP
1356
+  #define STEALTHCHOP_XY
1357
+  #define STEALTHCHOP_Z
1358
+  #define STEALTHCHOP_E
1339 1359
 
1340 1360
   /**
1341 1361
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1359,7 +1379,7 @@
1359 1379
   /**
1360 1380
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1361 1381
    * This mode allows for faster movements at the expense of higher noise levels.
1362
-   * STEALTHCHOP needs to be enabled.
1382
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1363 1383
    * M913 X/Y/Z/E to live tune the setting
1364 1384
    */
1365 1385
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h View File

@@ -1322,6 +1322,24 @@
1322 1322
   #define E5_MICROSTEPS       16
1323 1323
 
1324 1324
   /**
1325
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1326
+   * The default pins can be found in your board's pins file.
1327
+   */
1328
+  //#define X_CS_PIN          -1
1329
+  //#define Y_CS_PIN          -1
1330
+  //#define Z_CS_PIN          -1
1331
+  //#define X2_CS_PIN         -1
1332
+  //#define Y2_CS_PIN         -1
1333
+  //#define Z2_CS_PIN         -1
1334
+  //#define Z3_CS_PIN         -1
1335
+  //#define E0_CS_PIN         -1
1336
+  //#define E1_CS_PIN         -1
1337
+  //#define E2_CS_PIN         -1
1338
+  //#define E3_CS_PIN         -1
1339
+  //#define E4_CS_PIN         -1
1340
+  //#define E5_CS_PIN         -1
1341
+
1342
+  /**
1325 1343
    * Use software SPI for TMC2130.
1326 1344
    * The default SW SPI pins are defined the respective pins files,
1327 1345
    * but you can override or define them here.
@@ -1335,7 +1353,9 @@
1335 1353
    * Use Trinamic's ultra quiet stepping mode.
1336 1354
    * When disabled, Marlin will use spreadCycle stepping mode.
1337 1355
    */
1338
-  #define STEALTHCHOP
1356
+  #define STEALTHCHOP_XY
1357
+  #define STEALTHCHOP_Z
1358
+  #define STEALTHCHOP_E
1339 1359
 
1340 1360
   /**
1341 1361
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1359,7 +1379,7 @@
1359 1379
   /**
1360 1380
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1361 1381
    * This mode allows for faster movements at the expense of higher noise levels.
1362
-   * STEALTHCHOP needs to be enabled.
1382
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1363 1383
    * M913 X/Y/Z/E to live tune the setting
1364 1384
    */
1365 1385
   //#define HYBRID_THRESHOLD

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

@@ -1322,6 +1322,24 @@
1322 1322
   #define E5_MICROSTEPS       16
1323 1323
 
1324 1324
   /**
1325
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1326
+   * The default pins can be found in your board's pins file.
1327
+   */
1328
+  //#define X_CS_PIN          -1
1329
+  //#define Y_CS_PIN          -1
1330
+  //#define Z_CS_PIN          -1
1331
+  //#define X2_CS_PIN         -1
1332
+  //#define Y2_CS_PIN         -1
1333
+  //#define Z2_CS_PIN         -1
1334
+  //#define Z3_CS_PIN         -1
1335
+  //#define E0_CS_PIN         -1
1336
+  //#define E1_CS_PIN         -1
1337
+  //#define E2_CS_PIN         -1
1338
+  //#define E3_CS_PIN         -1
1339
+  //#define E4_CS_PIN         -1
1340
+  //#define E5_CS_PIN         -1
1341
+
1342
+  /**
1325 1343
    * Use software SPI for TMC2130.
1326 1344
    * The default SW SPI pins are defined the respective pins files,
1327 1345
    * but you can override or define them here.
@@ -1335,7 +1353,9 @@
1335 1353
    * Use Trinamic's ultra quiet stepping mode.
1336 1354
    * When disabled, Marlin will use spreadCycle stepping mode.
1337 1355
    */
1338
-  #define STEALTHCHOP
1356
+  #define STEALTHCHOP_XY
1357
+  #define STEALTHCHOP_Z
1358
+  #define STEALTHCHOP_E
1339 1359
 
1340 1360
   /**
1341 1361
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1359,7 +1379,7 @@
1359 1379
   /**
1360 1380
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1361 1381
    * This mode allows for faster movements at the expense of higher noise levels.
1362
-   * STEALTHCHOP needs to be enabled.
1382
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1363 1383
    * M913 X/Y/Z/E to live tune the setting
1364 1384
    */
1365 1385
   //#define HYBRID_THRESHOLD

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

@@ -1322,6 +1322,24 @@
1322 1322
   #define E5_MICROSTEPS       16
1323 1323
 
1324 1324
   /**
1325
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1326
+   * The default pins can be found in your board's pins file.
1327
+   */
1328
+  //#define X_CS_PIN          -1
1329
+  //#define Y_CS_PIN          -1
1330
+  //#define Z_CS_PIN          -1
1331
+  //#define X2_CS_PIN         -1
1332
+  //#define Y2_CS_PIN         -1
1333
+  //#define Z2_CS_PIN         -1
1334
+  //#define Z3_CS_PIN         -1
1335
+  //#define E0_CS_PIN         -1
1336
+  //#define E1_CS_PIN         -1
1337
+  //#define E2_CS_PIN         -1
1338
+  //#define E3_CS_PIN         -1
1339
+  //#define E4_CS_PIN         -1
1340
+  //#define E5_CS_PIN         -1
1341
+
1342
+  /**
1325 1343
    * Use software SPI for TMC2130.
1326 1344
    * The default SW SPI pins are defined the respective pins files,
1327 1345
    * but you can override or define them here.
@@ -1335,7 +1353,9 @@
1335 1353
    * Use Trinamic's ultra quiet stepping mode.
1336 1354
    * When disabled, Marlin will use spreadCycle stepping mode.
1337 1355
    */
1338
-  #define STEALTHCHOP
1356
+  #define STEALTHCHOP_XY
1357
+  #define STEALTHCHOP_Z
1358
+  #define STEALTHCHOP_E
1339 1359
 
1340 1360
   /**
1341 1361
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1359,7 +1379,7 @@
1359 1379
   /**
1360 1380
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1361 1381
    * This mode allows for faster movements at the expense of higher noise levels.
1362
-   * STEALTHCHOP needs to be enabled.
1382
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1363 1383
    * M913 X/Y/Z/E to live tune the setting
1364 1384
    */
1365 1385
   //#define HYBRID_THRESHOLD

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

@@ -1322,6 +1322,24 @@
1322 1322
   #define E5_MICROSTEPS       16
1323 1323
 
1324 1324
   /**
1325
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1326
+   * The default pins can be found in your board's pins file.
1327
+   */
1328
+  //#define X_CS_PIN          -1
1329
+  //#define Y_CS_PIN          -1
1330
+  //#define Z_CS_PIN          -1
1331
+  //#define X2_CS_PIN         -1
1332
+  //#define Y2_CS_PIN         -1
1333
+  //#define Z2_CS_PIN         -1
1334
+  //#define Z3_CS_PIN         -1
1335
+  //#define E0_CS_PIN         -1
1336
+  //#define E1_CS_PIN         -1
1337
+  //#define E2_CS_PIN         -1
1338
+  //#define E3_CS_PIN         -1
1339
+  //#define E4_CS_PIN         -1
1340
+  //#define E5_CS_PIN         -1
1341
+
1342
+  /**
1325 1343
    * Use software SPI for TMC2130.
1326 1344
    * The default SW SPI pins are defined the respective pins files,
1327 1345
    * but you can override or define them here.
@@ -1335,7 +1353,9 @@
1335 1353
    * Use Trinamic's ultra quiet stepping mode.
1336 1354
    * When disabled, Marlin will use spreadCycle stepping mode.
1337 1355
    */
1338
-  #define STEALTHCHOP
1356
+  #define STEALTHCHOP_XY
1357
+  #define STEALTHCHOP_Z
1358
+  #define STEALTHCHOP_E
1339 1359
 
1340 1360
   /**
1341 1361
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1359,7 +1379,7 @@
1359 1379
   /**
1360 1380
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1361 1381
    * This mode allows for faster movements at the expense of higher noise levels.
1362
-   * STEALTHCHOP needs to be enabled.
1382
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1363 1383
    * M913 X/Y/Z/E to live tune the setting
1364 1384
    */
1365 1385
   //#define HYBRID_THRESHOLD

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

@@ -1322,6 +1322,24 @@
1322 1322
   #define E5_MICROSTEPS       16
1323 1323
 
1324 1324
   /**
1325
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1326
+   * The default pins can be found in your board's pins file.
1327
+   */
1328
+  //#define X_CS_PIN          -1
1329
+  //#define Y_CS_PIN          -1
1330
+  //#define Z_CS_PIN          -1
1331
+  //#define X2_CS_PIN         -1
1332
+  //#define Y2_CS_PIN         -1
1333
+  //#define Z2_CS_PIN         -1
1334
+  //#define Z3_CS_PIN         -1
1335
+  //#define E0_CS_PIN         -1
1336
+  //#define E1_CS_PIN         -1
1337
+  //#define E2_CS_PIN         -1
1338
+  //#define E3_CS_PIN         -1
1339
+  //#define E4_CS_PIN         -1
1340
+  //#define E5_CS_PIN         -1
1341
+
1342
+  /**
1325 1343
    * Use software SPI for TMC2130.
1326 1344
    * The default SW SPI pins are defined the respective pins files,
1327 1345
    * but you can override or define them here.
@@ -1335,7 +1353,9 @@
1335 1353
    * Use Trinamic's ultra quiet stepping mode.
1336 1354
    * When disabled, Marlin will use spreadCycle stepping mode.
1337 1355
    */
1338
-  #define STEALTHCHOP
1356
+  #define STEALTHCHOP_XY
1357
+  #define STEALTHCHOP_Z
1358
+  #define STEALTHCHOP_E
1339 1359
 
1340 1360
   /**
1341 1361
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1359,7 +1379,7 @@
1359 1379
   /**
1360 1380
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1361 1381
    * This mode allows for faster movements at the expense of higher noise levels.
1362
-   * STEALTHCHOP needs to be enabled.
1382
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1363 1383
    * M913 X/Y/Z/E to live tune the setting
1364 1384
    */
1365 1385
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/Creality/Ender-3/Configuration_adv.h View File

@@ -1322,6 +1322,24 @@
1322 1322
   #define E5_MICROSTEPS       16
1323 1323
 
1324 1324
   /**
1325
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1326
+   * The default pins can be found in your board's pins file.
1327
+   */
1328
+  //#define X_CS_PIN          -1
1329
+  //#define Y_CS_PIN          -1
1330
+  //#define Z_CS_PIN          -1
1331
+  //#define X2_CS_PIN         -1
1332
+  //#define Y2_CS_PIN         -1
1333
+  //#define Z2_CS_PIN         -1
1334
+  //#define Z3_CS_PIN         -1
1335
+  //#define E0_CS_PIN         -1
1336
+  //#define E1_CS_PIN         -1
1337
+  //#define E2_CS_PIN         -1
1338
+  //#define E3_CS_PIN         -1
1339
+  //#define E4_CS_PIN         -1
1340
+  //#define E5_CS_PIN         -1
1341
+
1342
+  /**
1325 1343
    * Use software SPI for TMC2130.
1326 1344
    * The default SW SPI pins are defined the respective pins files,
1327 1345
    * but you can override or define them here.
@@ -1335,7 +1353,9 @@
1335 1353
    * Use Trinamic's ultra quiet stepping mode.
1336 1354
    * When disabled, Marlin will use spreadCycle stepping mode.
1337 1355
    */
1338
-  #define STEALTHCHOP
1356
+  #define STEALTHCHOP_XY
1357
+  #define STEALTHCHOP_Z
1358
+  #define STEALTHCHOP_E
1339 1359
 
1340 1360
   /**
1341 1361
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1359,7 +1379,7 @@
1359 1379
   /**
1360 1380
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1361 1381
    * This mode allows for faster movements at the expense of higher noise levels.
1362
-   * STEALTHCHOP needs to be enabled.
1382
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1363 1383
    * M913 X/Y/Z/E to live tune the setting
1364 1384
    */
1365 1385
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/Creality/Ender-4/Configuration_adv.h View File

@@ -1322,6 +1322,24 @@
1322 1322
   #define E5_MICROSTEPS       16
1323 1323
 
1324 1324
   /**
1325
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1326
+   * The default pins can be found in your board's pins file.
1327
+   */
1328
+  //#define X_CS_PIN          -1
1329
+  //#define Y_CS_PIN          -1
1330
+  //#define Z_CS_PIN          -1
1331
+  //#define X2_CS_PIN         -1
1332
+  //#define Y2_CS_PIN         -1
1333
+  //#define Z2_CS_PIN         -1
1334
+  //#define Z3_CS_PIN         -1
1335
+  //#define E0_CS_PIN         -1
1336
+  //#define E1_CS_PIN         -1
1337
+  //#define E2_CS_PIN         -1
1338
+  //#define E3_CS_PIN         -1
1339
+  //#define E4_CS_PIN         -1
1340
+  //#define E5_CS_PIN         -1
1341
+
1342
+  /**
1325 1343
    * Use software SPI for TMC2130.
1326 1344
    * The default SW SPI pins are defined the respective pins files,
1327 1345
    * but you can override or define them here.
@@ -1335,7 +1353,9 @@
1335 1353
    * Use Trinamic's ultra quiet stepping mode.
1336 1354
    * When disabled, Marlin will use spreadCycle stepping mode.
1337 1355
    */
1338
-  #define STEALTHCHOP
1356
+  #define STEALTHCHOP_XY
1357
+  #define STEALTHCHOP_Z
1358
+  #define STEALTHCHOP_E
1339 1359
 
1340 1360
   /**
1341 1361
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1359,7 +1379,7 @@
1359 1379
   /**
1360 1380
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1361 1381
    * This mode allows for faster movements at the expense of higher noise levels.
1362
-   * STEALTHCHOP needs to be enabled.
1382
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1363 1383
    * M913 X/Y/Z/E to live tune the setting
1364 1384
    */
1365 1385
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/Einstart-S/Configuration_adv.h View File

@@ -1322,6 +1322,24 @@
1322 1322
   #define E5_MICROSTEPS       16
1323 1323
 
1324 1324
   /**
1325
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1326
+   * The default pins can be found in your board's pins file.
1327
+   */
1328
+  //#define X_CS_PIN          -1
1329
+  //#define Y_CS_PIN          -1
1330
+  //#define Z_CS_PIN          -1
1331
+  //#define X2_CS_PIN         -1
1332
+  //#define Y2_CS_PIN         -1
1333
+  //#define Z2_CS_PIN         -1
1334
+  //#define Z3_CS_PIN         -1
1335
+  //#define E0_CS_PIN         -1
1336
+  //#define E1_CS_PIN         -1
1337
+  //#define E2_CS_PIN         -1
1338
+  //#define E3_CS_PIN         -1
1339
+  //#define E4_CS_PIN         -1
1340
+  //#define E5_CS_PIN         -1
1341
+
1342
+  /**
1325 1343
    * Use software SPI for TMC2130.
1326 1344
    * The default SW SPI pins are defined the respective pins files,
1327 1345
    * but you can override or define them here.
@@ -1335,7 +1353,9 @@
1335 1353
    * Use Trinamic's ultra quiet stepping mode.
1336 1354
    * When disabled, Marlin will use spreadCycle stepping mode.
1337 1355
    */
1338
-  #define STEALTHCHOP
1356
+  #define STEALTHCHOP_XY
1357
+  #define STEALTHCHOP_Z
1358
+  #define STEALTHCHOP_E
1339 1359
 
1340 1360
   /**
1341 1361
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1359,7 +1379,7 @@
1359 1379
   /**
1360 1380
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1361 1381
    * This mode allows for faster movements at the expense of higher noise levels.
1362
-   * STEALTHCHOP needs to be enabled.
1382
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1363 1383
    * M913 X/Y/Z/E to live tune the setting
1364 1384
    */
1365 1385
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/Felix/Configuration_adv.h View File

@@ -1322,6 +1322,24 @@
1322 1322
   #define E5_MICROSTEPS       16
1323 1323
 
1324 1324
   /**
1325
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1326
+   * The default pins can be found in your board's pins file.
1327
+   */
1328
+  //#define X_CS_PIN          -1
1329
+  //#define Y_CS_PIN          -1
1330
+  //#define Z_CS_PIN          -1
1331
+  //#define X2_CS_PIN         -1
1332
+  //#define Y2_CS_PIN         -1
1333
+  //#define Z2_CS_PIN         -1
1334
+  //#define Z3_CS_PIN         -1
1335
+  //#define E0_CS_PIN         -1
1336
+  //#define E1_CS_PIN         -1
1337
+  //#define E2_CS_PIN         -1
1338
+  //#define E3_CS_PIN         -1
1339
+  //#define E4_CS_PIN         -1
1340
+  //#define E5_CS_PIN         -1
1341
+
1342
+  /**
1325 1343
    * Use software SPI for TMC2130.
1326 1344
    * The default SW SPI pins are defined the respective pins files,
1327 1345
    * but you can override or define them here.
@@ -1335,7 +1353,9 @@
1335 1353
    * Use Trinamic's ultra quiet stepping mode.
1336 1354
    * When disabled, Marlin will use spreadCycle stepping mode.
1337 1355
    */
1338
-  #define STEALTHCHOP
1356
+  #define STEALTHCHOP_XY
1357
+  #define STEALTHCHOP_Z
1358
+  #define STEALTHCHOP_E
1339 1359
 
1340 1360
   /**
1341 1361
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1359,7 +1379,7 @@
1359 1379
   /**
1360 1380
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1361 1381
    * This mode allows for faster movements at the expense of higher noise levels.
1362
-   * STEALTHCHOP needs to be enabled.
1382
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1363 1383
    * M913 X/Y/Z/E to live tune the setting
1364 1384
    */
1365 1385
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h View File

@@ -1322,6 +1322,24 @@
1322 1322
   #define E5_MICROSTEPS       16
1323 1323
 
1324 1324
   /**
1325
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1326
+   * The default pins can be found in your board's pins file.
1327
+   */
1328
+  //#define X_CS_PIN          -1
1329
+  //#define Y_CS_PIN          -1
1330
+  //#define Z_CS_PIN          -1
1331
+  //#define X2_CS_PIN         -1
1332
+  //#define Y2_CS_PIN         -1
1333
+  //#define Z2_CS_PIN         -1
1334
+  //#define Z3_CS_PIN         -1
1335
+  //#define E0_CS_PIN         -1
1336
+  //#define E1_CS_PIN         -1
1337
+  //#define E2_CS_PIN         -1
1338
+  //#define E3_CS_PIN         -1
1339
+  //#define E4_CS_PIN         -1
1340
+  //#define E5_CS_PIN         -1
1341
+
1342
+  /**
1325 1343
    * Use software SPI for TMC2130.
1326 1344
    * The default SW SPI pins are defined the respective pins files,
1327 1345
    * but you can override or define them here.
@@ -1335,7 +1353,9 @@
1335 1353
    * Use Trinamic's ultra quiet stepping mode.
1336 1354
    * When disabled, Marlin will use spreadCycle stepping mode.
1337 1355
    */
1338
-  #define STEALTHCHOP
1356
+  #define STEALTHCHOP_XY
1357
+  #define STEALTHCHOP_Z
1358
+  #define STEALTHCHOP_E
1339 1359
 
1340 1360
   /**
1341 1361
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1359,7 +1379,7 @@
1359 1379
   /**
1360 1380
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1361 1381
    * This mode allows for faster movements at the expense of higher noise levels.
1362
-   * STEALTHCHOP needs to be enabled.
1382
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1363 1383
    * M913 X/Y/Z/E to live tune the setting
1364 1384
    */
1365 1385
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/Formbot/Raptor/Configuration_adv.h View File

@@ -1324,6 +1324,24 @@
1324 1324
   #define E5_MICROSTEPS       16
1325 1325
 
1326 1326
   /**
1327
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1328
+   * The default pins can be found in your board's pins file.
1329
+   */
1330
+  //#define X_CS_PIN          -1
1331
+  //#define Y_CS_PIN          -1
1332
+  //#define Z_CS_PIN          -1
1333
+  //#define X2_CS_PIN         -1
1334
+  //#define Y2_CS_PIN         -1
1335
+  //#define Z2_CS_PIN         -1
1336
+  //#define Z3_CS_PIN         -1
1337
+  //#define E0_CS_PIN         -1
1338
+  //#define E1_CS_PIN         -1
1339
+  //#define E2_CS_PIN         -1
1340
+  //#define E3_CS_PIN         -1
1341
+  //#define E4_CS_PIN         -1
1342
+  //#define E5_CS_PIN         -1
1343
+
1344
+  /**
1327 1345
    * Use software SPI for TMC2130.
1328 1346
    * The default SW SPI pins are defined the respective pins files,
1329 1347
    * but you can override or define them here.
@@ -1337,7 +1355,9 @@
1337 1355
    * Use Trinamic's ultra quiet stepping mode.
1338 1356
    * When disabled, Marlin will use spreadCycle stepping mode.
1339 1357
    */
1340
-  #define STEALTHCHOP
1358
+  #define STEALTHCHOP_XY
1359
+  #define STEALTHCHOP_Z
1360
+  #define STEALTHCHOP_E
1341 1361
 
1342 1362
   /**
1343 1363
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1361,7 +1381,7 @@
1361 1381
   /**
1362 1382
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1363 1383
    * This mode allows for faster movements at the expense of higher noise levels.
1364
-   * STEALTHCHOP needs to be enabled.
1384
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1365 1385
    * M913 X/Y/Z/E to live tune the setting
1366 1386
    */
1367 1387
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/Formbot/T_Rex_2+/Configuration_adv.h View File

@@ -1327,6 +1327,24 @@
1327 1327
   #define E5_MICROSTEPS       16
1328 1328
 
1329 1329
   /**
1330
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1331
+   * The default pins can be found in your board's pins file.
1332
+   */
1333
+  //#define X_CS_PIN          -1
1334
+  //#define Y_CS_PIN          -1
1335
+  //#define Z_CS_PIN          -1
1336
+  //#define X2_CS_PIN         -1
1337
+  //#define Y2_CS_PIN         -1
1338
+  //#define Z2_CS_PIN         -1
1339
+  //#define Z3_CS_PIN         -1
1340
+  //#define E0_CS_PIN         -1
1341
+  //#define E1_CS_PIN         -1
1342
+  //#define E2_CS_PIN         -1
1343
+  //#define E3_CS_PIN         -1
1344
+  //#define E4_CS_PIN         -1
1345
+  //#define E5_CS_PIN         -1
1346
+
1347
+  /**
1330 1348
    * Use software SPI for TMC2130.
1331 1349
    * The default SW SPI pins are defined the respective pins files,
1332 1350
    * but you can override or define them here.
@@ -1340,7 +1358,9 @@
1340 1358
    * Use Trinamic's ultra quiet stepping mode.
1341 1359
    * When disabled, Marlin will use spreadCycle stepping mode.
1342 1360
    */
1343
-  #define STEALTHCHOP
1361
+  #define STEALTHCHOP_XY
1362
+  #define STEALTHCHOP_Z
1363
+  #define STEALTHCHOP_E
1344 1364
 
1345 1365
   /**
1346 1366
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1364,7 +1384,7 @@
1364 1384
   /**
1365 1385
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1366 1386
    * This mode allows for faster movements at the expense of higher noise levels.
1367
-   * STEALTHCHOP needs to be enabled.
1387
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1368 1388
    * M913 X/Y/Z/E to live tune the setting
1369 1389
    */
1370 1390
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/Formbot/T_Rex_3/Configuration_adv.h View File

@@ -1327,6 +1327,24 @@
1327 1327
   #define E5_MICROSTEPS       16
1328 1328
 
1329 1329
   /**
1330
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1331
+   * The default pins can be found in your board's pins file.
1332
+   */
1333
+  //#define X_CS_PIN          -1
1334
+  //#define Y_CS_PIN          -1
1335
+  //#define Z_CS_PIN          -1
1336
+  //#define X2_CS_PIN         -1
1337
+  //#define Y2_CS_PIN         -1
1338
+  //#define Z2_CS_PIN         -1
1339
+  //#define Z3_CS_PIN         -1
1340
+  //#define E0_CS_PIN         -1
1341
+  //#define E1_CS_PIN         -1
1342
+  //#define E2_CS_PIN         -1
1343
+  //#define E3_CS_PIN         -1
1344
+  //#define E4_CS_PIN         -1
1345
+  //#define E5_CS_PIN         -1
1346
+
1347
+  /**
1330 1348
    * Use software SPI for TMC2130.
1331 1349
    * The default SW SPI pins are defined the respective pins files,
1332 1350
    * but you can override or define them here.
@@ -1340,7 +1358,9 @@
1340 1358
    * Use Trinamic's ultra quiet stepping mode.
1341 1359
    * When disabled, Marlin will use spreadCycle stepping mode.
1342 1360
    */
1343
-  #define STEALTHCHOP
1361
+  #define STEALTHCHOP_XY
1362
+  #define STEALTHCHOP_Z
1363
+  #define STEALTHCHOP_E
1344 1364
 
1345 1365
   /**
1346 1366
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1364,7 +1384,7 @@
1364 1384
   /**
1365 1385
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1366 1386
    * This mode allows for faster movements at the expense of higher noise levels.
1367
-   * STEALTHCHOP needs to be enabled.
1387
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1368 1388
    * M913 X/Y/Z/E to live tune the setting
1369 1389
    */
1370 1390
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/Geeetech/MeCreator2/Configuration_adv.h View File

@@ -1323,6 +1323,24 @@
1323 1323
   #define E5_MICROSTEPS       16
1324 1324
 
1325 1325
   /**
1326
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1327
+   * The default pins can be found in your board's pins file.
1328
+   */
1329
+  //#define X_CS_PIN          -1
1330
+  //#define Y_CS_PIN          -1
1331
+  //#define Z_CS_PIN          -1
1332
+  //#define X2_CS_PIN         -1
1333
+  //#define Y2_CS_PIN         -1
1334
+  //#define Z2_CS_PIN         -1
1335
+  //#define Z3_CS_PIN         -1
1336
+  //#define E0_CS_PIN         -1
1337
+  //#define E1_CS_PIN         -1
1338
+  //#define E2_CS_PIN         -1
1339
+  //#define E3_CS_PIN         -1
1340
+  //#define E4_CS_PIN         -1
1341
+  //#define E5_CS_PIN         -1
1342
+
1343
+  /**
1326 1344
    * Use software SPI for TMC2130.
1327 1345
    * The default SW SPI pins are defined the respective pins files,
1328 1346
    * but you can override or define them here.
@@ -1336,7 +1354,9 @@
1336 1354
    * Use Trinamic's ultra quiet stepping mode.
1337 1355
    * When disabled, Marlin will use spreadCycle stepping mode.
1338 1356
    */
1339
-  #define STEALTHCHOP
1357
+  #define STEALTHCHOP_XY
1358
+  #define STEALTHCHOP_Z
1359
+  #define STEALTHCHOP_E
1340 1360
 
1341 1361
   /**
1342 1362
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1360,7 +1380,7 @@
1360 1380
   /**
1361 1381
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1362 1382
    * This mode allows for faster movements at the expense of higher noise levels.
1363
-   * STEALTHCHOP needs to be enabled.
1383
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1364 1384
    * M913 X/Y/Z/E to live tune the setting
1365 1385
    */
1366 1386
   //#define HYBRID_THRESHOLD

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

@@ -1322,6 +1322,24 @@
1322 1322
   #define E5_MICROSTEPS       16
1323 1323
 
1324 1324
   /**
1325
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1326
+   * The default pins can be found in your board's pins file.
1327
+   */
1328
+  //#define X_CS_PIN          -1
1329
+  //#define Y_CS_PIN          -1
1330
+  //#define Z_CS_PIN          -1
1331
+  //#define X2_CS_PIN         -1
1332
+  //#define Y2_CS_PIN         -1
1333
+  //#define Z2_CS_PIN         -1
1334
+  //#define Z3_CS_PIN         -1
1335
+  //#define E0_CS_PIN         -1
1336
+  //#define E1_CS_PIN         -1
1337
+  //#define E2_CS_PIN         -1
1338
+  //#define E3_CS_PIN         -1
1339
+  //#define E4_CS_PIN         -1
1340
+  //#define E5_CS_PIN         -1
1341
+
1342
+  /**
1325 1343
    * Use software SPI for TMC2130.
1326 1344
    * The default SW SPI pins are defined the respective pins files,
1327 1345
    * but you can override or define them here.
@@ -1335,7 +1353,9 @@
1335 1353
    * Use Trinamic's ultra quiet stepping mode.
1336 1354
    * When disabled, Marlin will use spreadCycle stepping mode.
1337 1355
    */
1338
-  #define STEALTHCHOP
1356
+  #define STEALTHCHOP_XY
1357
+  #define STEALTHCHOP_Z
1358
+  #define STEALTHCHOP_E
1339 1359
 
1340 1360
   /**
1341 1361
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1359,7 +1379,7 @@
1359 1379
   /**
1360 1380
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1361 1381
    * This mode allows for faster movements at the expense of higher noise levels.
1362
-   * STEALTHCHOP needs to be enabled.
1382
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1363 1383
    * M913 X/Y/Z/E to live tune the setting
1364 1384
    */
1365 1385
   //#define HYBRID_THRESHOLD

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

@@ -1322,6 +1322,24 @@
1322 1322
   #define E5_MICROSTEPS       16
1323 1323
 
1324 1324
   /**
1325
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1326
+   * The default pins can be found in your board's pins file.
1327
+   */
1328
+  //#define X_CS_PIN          -1
1329
+  //#define Y_CS_PIN          -1
1330
+  //#define Z_CS_PIN          -1
1331
+  //#define X2_CS_PIN         -1
1332
+  //#define Y2_CS_PIN         -1
1333
+  //#define Z2_CS_PIN         -1
1334
+  //#define Z3_CS_PIN         -1
1335
+  //#define E0_CS_PIN         -1
1336
+  //#define E1_CS_PIN         -1
1337
+  //#define E2_CS_PIN         -1
1338
+  //#define E3_CS_PIN         -1
1339
+  //#define E4_CS_PIN         -1
1340
+  //#define E5_CS_PIN         -1
1341
+
1342
+  /**
1325 1343
    * Use software SPI for TMC2130.
1326 1344
    * The default SW SPI pins are defined the respective pins files,
1327 1345
    * but you can override or define them here.
@@ -1335,7 +1353,9 @@
1335 1353
    * Use Trinamic's ultra quiet stepping mode.
1336 1354
    * When disabled, Marlin will use spreadCycle stepping mode.
1337 1355
    */
1338
-  #define STEALTHCHOP
1356
+  #define STEALTHCHOP_XY
1357
+  #define STEALTHCHOP_Z
1358
+  #define STEALTHCHOP_E
1339 1359
 
1340 1360
   /**
1341 1361
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1359,7 +1379,7 @@
1359 1379
   /**
1360 1380
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1361 1381
    * This mode allows for faster movements at the expense of higher noise levels.
1362
-   * STEALTHCHOP needs to be enabled.
1382
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1363 1383
    * M913 X/Y/Z/E to live tune the setting
1364 1384
    */
1365 1385
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h View File

@@ -1322,6 +1322,24 @@
1322 1322
   #define E5_MICROSTEPS       16
1323 1323
 
1324 1324
   /**
1325
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1326
+   * The default pins can be found in your board's pins file.
1327
+   */
1328
+  //#define X_CS_PIN          -1
1329
+  //#define Y_CS_PIN          -1
1330
+  //#define Z_CS_PIN          -1
1331
+  //#define X2_CS_PIN         -1
1332
+  //#define Y2_CS_PIN         -1
1333
+  //#define Z2_CS_PIN         -1
1334
+  //#define Z3_CS_PIN         -1
1335
+  //#define E0_CS_PIN         -1
1336
+  //#define E1_CS_PIN         -1
1337
+  //#define E2_CS_PIN         -1
1338
+  //#define E3_CS_PIN         -1
1339
+  //#define E4_CS_PIN         -1
1340
+  //#define E5_CS_PIN         -1
1341
+
1342
+  /**
1325 1343
    * Use software SPI for TMC2130.
1326 1344
    * The default SW SPI pins are defined the respective pins files,
1327 1345
    * but you can override or define them here.
@@ -1335,7 +1353,9 @@
1335 1353
    * Use Trinamic's ultra quiet stepping mode.
1336 1354
    * When disabled, Marlin will use spreadCycle stepping mode.
1337 1355
    */
1338
-  #define STEALTHCHOP
1356
+  #define STEALTHCHOP_XY
1357
+  #define STEALTHCHOP_Z
1358
+  #define STEALTHCHOP_E
1339 1359
 
1340 1360
   /**
1341 1361
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1359,7 +1379,7 @@
1359 1379
   /**
1360 1380
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1361 1381
    * This mode allows for faster movements at the expense of higher noise levels.
1362
-   * STEALTHCHOP needs to be enabled.
1382
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1363 1383
    * M913 X/Y/Z/E to live tune the setting
1364 1384
    */
1365 1385
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h View File

@@ -1322,6 +1322,24 @@
1322 1322
   #define E5_MICROSTEPS       16
1323 1323
 
1324 1324
   /**
1325
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1326
+   * The default pins can be found in your board's pins file.
1327
+   */
1328
+  //#define X_CS_PIN          -1
1329
+  //#define Y_CS_PIN          -1
1330
+  //#define Z_CS_PIN          -1
1331
+  //#define X2_CS_PIN         -1
1332
+  //#define Y2_CS_PIN         -1
1333
+  //#define Z2_CS_PIN         -1
1334
+  //#define Z3_CS_PIN         -1
1335
+  //#define E0_CS_PIN         -1
1336
+  //#define E1_CS_PIN         -1
1337
+  //#define E2_CS_PIN         -1
1338
+  //#define E3_CS_PIN         -1
1339
+  //#define E4_CS_PIN         -1
1340
+  //#define E5_CS_PIN         -1
1341
+
1342
+  /**
1325 1343
    * Use software SPI for TMC2130.
1326 1344
    * The default SW SPI pins are defined the respective pins files,
1327 1345
    * but you can override or define them here.
@@ -1335,7 +1353,9 @@
1335 1353
    * Use Trinamic's ultra quiet stepping mode.
1336 1354
    * When disabled, Marlin will use spreadCycle stepping mode.
1337 1355
    */
1338
-  #define STEALTHCHOP
1356
+  #define STEALTHCHOP_XY
1357
+  #define STEALTHCHOP_Z
1358
+  #define STEALTHCHOP_E
1339 1359
 
1340 1360
   /**
1341 1361
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1359,7 +1379,7 @@
1359 1379
   /**
1360 1380
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1361 1381
    * This mode allows for faster movements at the expense of higher noise levels.
1362
-   * STEALTHCHOP needs to be enabled.
1382
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1363 1383
    * M913 X/Y/Z/E to live tune the setting
1364 1384
    */
1365 1385
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/MakerParts/Configuration_adv.h View File

@@ -1322,6 +1322,24 @@
1322 1322
   #define E5_MICROSTEPS       16
1323 1323
 
1324 1324
   /**
1325
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1326
+   * The default pins can be found in your board's pins file.
1327
+   */
1328
+  //#define X_CS_PIN          -1
1329
+  //#define Y_CS_PIN          -1
1330
+  //#define Z_CS_PIN          -1
1331
+  //#define X2_CS_PIN         -1
1332
+  //#define Y2_CS_PIN         -1
1333
+  //#define Z2_CS_PIN         -1
1334
+  //#define Z3_CS_PIN         -1
1335
+  //#define E0_CS_PIN         -1
1336
+  //#define E1_CS_PIN         -1
1337
+  //#define E2_CS_PIN         -1
1338
+  //#define E3_CS_PIN         -1
1339
+  //#define E4_CS_PIN         -1
1340
+  //#define E5_CS_PIN         -1
1341
+
1342
+  /**
1325 1343
    * Use software SPI for TMC2130.
1326 1344
    * The default SW SPI pins are defined the respective pins files,
1327 1345
    * but you can override or define them here.
@@ -1335,7 +1353,9 @@
1335 1353
    * Use Trinamic's ultra quiet stepping mode.
1336 1354
    * When disabled, Marlin will use spreadCycle stepping mode.
1337 1355
    */
1338
-  #define STEALTHCHOP
1356
+  #define STEALTHCHOP_XY
1357
+  #define STEALTHCHOP_Z
1358
+  #define STEALTHCHOP_E
1339 1359
 
1340 1360
   /**
1341 1361
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1359,7 +1379,7 @@
1359 1379
   /**
1360 1380
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1361 1381
    * This mode allows for faster movements at the expense of higher noise levels.
1362
-   * STEALTHCHOP needs to be enabled.
1382
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1363 1383
    * M913 X/Y/Z/E to live tune the setting
1364 1384
    */
1365 1385
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/Malyan/M150/Configuration_adv.h View File

@@ -1322,6 +1322,24 @@
1322 1322
   #define E5_MICROSTEPS       16
1323 1323
 
1324 1324
   /**
1325
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1326
+   * The default pins can be found in your board's pins file.
1327
+   */
1328
+  //#define X_CS_PIN          -1
1329
+  //#define Y_CS_PIN          -1
1330
+  //#define Z_CS_PIN          -1
1331
+  //#define X2_CS_PIN         -1
1332
+  //#define Y2_CS_PIN         -1
1333
+  //#define Z2_CS_PIN         -1
1334
+  //#define Z3_CS_PIN         -1
1335
+  //#define E0_CS_PIN         -1
1336
+  //#define E1_CS_PIN         -1
1337
+  //#define E2_CS_PIN         -1
1338
+  //#define E3_CS_PIN         -1
1339
+  //#define E4_CS_PIN         -1
1340
+  //#define E5_CS_PIN         -1
1341
+
1342
+  /**
1325 1343
    * Use software SPI for TMC2130.
1326 1344
    * The default SW SPI pins are defined the respective pins files,
1327 1345
    * but you can override or define them here.
@@ -1335,7 +1353,9 @@
1335 1353
    * Use Trinamic's ultra quiet stepping mode.
1336 1354
    * When disabled, Marlin will use spreadCycle stepping mode.
1337 1355
    */
1338
-  #define STEALTHCHOP
1356
+  #define STEALTHCHOP_XY
1357
+  #define STEALTHCHOP_Z
1358
+  #define STEALTHCHOP_E
1339 1359
 
1340 1360
   /**
1341 1361
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1359,7 +1379,7 @@
1359 1379
   /**
1360 1380
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1361 1381
    * This mode allows for faster movements at the expense of higher noise levels.
1362
-   * STEALTHCHOP needs to be enabled.
1382
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1363 1383
    * M913 X/Y/Z/E to live tune the setting
1364 1384
    */
1365 1385
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/Malyan/M200/Configuration_adv.h View File

@@ -1322,6 +1322,24 @@
1322 1322
   #define E5_MICROSTEPS       16
1323 1323
 
1324 1324
   /**
1325
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1326
+   * The default pins can be found in your board's pins file.
1327
+   */
1328
+  //#define X_CS_PIN          -1
1329
+  //#define Y_CS_PIN          -1
1330
+  //#define Z_CS_PIN          -1
1331
+  //#define X2_CS_PIN         -1
1332
+  //#define Y2_CS_PIN         -1
1333
+  //#define Z2_CS_PIN         -1
1334
+  //#define Z3_CS_PIN         -1
1335
+  //#define E0_CS_PIN         -1
1336
+  //#define E1_CS_PIN         -1
1337
+  //#define E2_CS_PIN         -1
1338
+  //#define E3_CS_PIN         -1
1339
+  //#define E4_CS_PIN         -1
1340
+  //#define E5_CS_PIN         -1
1341
+
1342
+  /**
1325 1343
    * Use software SPI for TMC2130.
1326 1344
    * The default SW SPI pins are defined the respective pins files,
1327 1345
    * but you can override or define them here.
@@ -1335,7 +1353,9 @@
1335 1353
    * Use Trinamic's ultra quiet stepping mode.
1336 1354
    * When disabled, Marlin will use spreadCycle stepping mode.
1337 1355
    */
1338
-  #define STEALTHCHOP
1356
+  #define STEALTHCHOP_XY
1357
+  #define STEALTHCHOP_Z
1358
+  #define STEALTHCHOP_E
1339 1359
 
1340 1360
   /**
1341 1361
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1359,7 +1379,7 @@
1359 1379
   /**
1360 1380
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1361 1381
    * This mode allows for faster movements at the expense of higher noise levels.
1362
-   * STEALTHCHOP needs to be enabled.
1382
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1363 1383
    * M913 X/Y/Z/E to live tune the setting
1364 1384
    */
1365 1385
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h View File

@@ -1322,6 +1322,24 @@
1322 1322
   #define E5_MICROSTEPS       16
1323 1323
 
1324 1324
   /**
1325
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1326
+   * The default pins can be found in your board's pins file.
1327
+   */
1328
+  //#define X_CS_PIN          -1
1329
+  //#define Y_CS_PIN          -1
1330
+  //#define Z_CS_PIN          -1
1331
+  //#define X2_CS_PIN         -1
1332
+  //#define Y2_CS_PIN         -1
1333
+  //#define Z2_CS_PIN         -1
1334
+  //#define Z3_CS_PIN         -1
1335
+  //#define E0_CS_PIN         -1
1336
+  //#define E1_CS_PIN         -1
1337
+  //#define E2_CS_PIN         -1
1338
+  //#define E3_CS_PIN         -1
1339
+  //#define E4_CS_PIN         -1
1340
+  //#define E5_CS_PIN         -1
1341
+
1342
+  /**
1325 1343
    * Use software SPI for TMC2130.
1326 1344
    * The default SW SPI pins are defined the respective pins files,
1327 1345
    * but you can override or define them here.
@@ -1335,7 +1353,9 @@
1335 1353
    * Use Trinamic's ultra quiet stepping mode.
1336 1354
    * When disabled, Marlin will use spreadCycle stepping mode.
1337 1355
    */
1338
-  #define STEALTHCHOP
1356
+  #define STEALTHCHOP_XY
1357
+  #define STEALTHCHOP_Z
1358
+  #define STEALTHCHOP_E
1339 1359
 
1340 1360
   /**
1341 1361
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1359,7 +1379,7 @@
1359 1379
   /**
1360 1380
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1361 1381
    * This mode allows for faster movements at the expense of higher noise levels.
1362
-   * STEALTHCHOP needs to be enabled.
1382
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1363 1383
    * M913 X/Y/Z/E to live tune the setting
1364 1384
    */
1365 1385
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h View File

@@ -1330,6 +1330,24 @@
1330 1330
   #define E5_MICROSTEPS       16
1331 1331
 
1332 1332
   /**
1333
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1334
+   * The default pins can be found in your board's pins file.
1335
+   */
1336
+  //#define X_CS_PIN          -1
1337
+  //#define Y_CS_PIN          -1
1338
+  //#define Z_CS_PIN          -1
1339
+  //#define X2_CS_PIN         -1
1340
+  //#define Y2_CS_PIN         -1
1341
+  //#define Z2_CS_PIN         -1
1342
+  //#define Z3_CS_PIN         -1
1343
+  //#define E0_CS_PIN         -1
1344
+  //#define E1_CS_PIN         -1
1345
+  //#define E2_CS_PIN         -1
1346
+  //#define E3_CS_PIN         -1
1347
+  //#define E4_CS_PIN         -1
1348
+  //#define E5_CS_PIN         -1
1349
+
1350
+  /**
1333 1351
    * Use software SPI for TMC2130.
1334 1352
    * The default SW SPI pins are defined the respective pins files,
1335 1353
    * but you can override or define them here.
@@ -1343,7 +1361,9 @@
1343 1361
    * Use Trinamic's ultra quiet stepping mode.
1344 1362
    * When disabled, Marlin will use spreadCycle stepping mode.
1345 1363
    */
1346
-  #define STEALTHCHOP
1364
+  #define STEALTHCHOP_XY
1365
+  #define STEALTHCHOP_Z
1366
+  #define STEALTHCHOP_E
1347 1367
 
1348 1368
   /**
1349 1369
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1367,7 +1387,7 @@
1367 1387
   /**
1368 1388
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1369 1389
    * This mode allows for faster movements at the expense of higher noise levels.
1370
-   * STEALTHCHOP needs to be enabled.
1390
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1371 1391
    * M913 X/Y/Z/E to live tune the setting
1372 1392
    */
1373 1393
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/RigidBot/Configuration_adv.h View File

@@ -1322,6 +1322,24 @@
1322 1322
   #define E5_MICROSTEPS       16
1323 1323
 
1324 1324
   /**
1325
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1326
+   * The default pins can be found in your board's pins file.
1327
+   */
1328
+  //#define X_CS_PIN          -1
1329
+  //#define Y_CS_PIN          -1
1330
+  //#define Z_CS_PIN          -1
1331
+  //#define X2_CS_PIN         -1
1332
+  //#define Y2_CS_PIN         -1
1333
+  //#define Z2_CS_PIN         -1
1334
+  //#define Z3_CS_PIN         -1
1335
+  //#define E0_CS_PIN         -1
1336
+  //#define E1_CS_PIN         -1
1337
+  //#define E2_CS_PIN         -1
1338
+  //#define E3_CS_PIN         -1
1339
+  //#define E4_CS_PIN         -1
1340
+  //#define E5_CS_PIN         -1
1341
+
1342
+  /**
1325 1343
    * Use software SPI for TMC2130.
1326 1344
    * The default SW SPI pins are defined the respective pins files,
1327 1345
    * but you can override or define them here.
@@ -1335,7 +1353,9 @@
1335 1353
    * Use Trinamic's ultra quiet stepping mode.
1336 1354
    * When disabled, Marlin will use spreadCycle stepping mode.
1337 1355
    */
1338
-  #define STEALTHCHOP
1356
+  #define STEALTHCHOP_XY
1357
+  #define STEALTHCHOP_Z
1358
+  #define STEALTHCHOP_E
1339 1359
 
1340 1360
   /**
1341 1361
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1359,7 +1379,7 @@
1359 1379
   /**
1360 1380
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1361 1381
    * This mode allows for faster movements at the expense of higher noise levels.
1362
-   * STEALTHCHOP needs to be enabled.
1382
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1363 1383
    * M913 X/Y/Z/E to live tune the setting
1364 1384
    */
1365 1385
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/SCARA/Configuration_adv.h View File

@@ -1322,6 +1322,24 @@
1322 1322
   #define E5_MICROSTEPS       16
1323 1323
 
1324 1324
   /**
1325
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1326
+   * The default pins can be found in your board's pins file.
1327
+   */
1328
+  //#define X_CS_PIN          -1
1329
+  //#define Y_CS_PIN          -1
1330
+  //#define Z_CS_PIN          -1
1331
+  //#define X2_CS_PIN         -1
1332
+  //#define Y2_CS_PIN         -1
1333
+  //#define Z2_CS_PIN         -1
1334
+  //#define Z3_CS_PIN         -1
1335
+  //#define E0_CS_PIN         -1
1336
+  //#define E1_CS_PIN         -1
1337
+  //#define E2_CS_PIN         -1
1338
+  //#define E3_CS_PIN         -1
1339
+  //#define E4_CS_PIN         -1
1340
+  //#define E5_CS_PIN         -1
1341
+
1342
+  /**
1325 1343
    * Use software SPI for TMC2130.
1326 1344
    * The default SW SPI pins are defined the respective pins files,
1327 1345
    * but you can override or define them here.
@@ -1335,7 +1353,9 @@
1335 1353
    * Use Trinamic's ultra quiet stepping mode.
1336 1354
    * When disabled, Marlin will use spreadCycle stepping mode.
1337 1355
    */
1338
-  #define STEALTHCHOP
1356
+  #define STEALTHCHOP_XY
1357
+  #define STEALTHCHOP_Z
1358
+  #define STEALTHCHOP_E
1339 1359
 
1340 1360
   /**
1341 1361
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1359,7 +1379,7 @@
1359 1379
   /**
1360 1380
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1361 1381
    * This mode allows for faster movements at the expense of higher noise levels.
1362
-   * STEALTHCHOP needs to be enabled.
1382
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1363 1383
    * M913 X/Y/Z/E to live tune the setting
1364 1384
    */
1365 1385
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/Sanguinololu/Configuration_adv.h View File

@@ -1322,6 +1322,24 @@
1322 1322
   #define E5_MICROSTEPS       16
1323 1323
 
1324 1324
   /**
1325
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1326
+   * The default pins can be found in your board's pins file.
1327
+   */
1328
+  //#define X_CS_PIN          -1
1329
+  //#define Y_CS_PIN          -1
1330
+  //#define Z_CS_PIN          -1
1331
+  //#define X2_CS_PIN         -1
1332
+  //#define Y2_CS_PIN         -1
1333
+  //#define Z2_CS_PIN         -1
1334
+  //#define Z3_CS_PIN         -1
1335
+  //#define E0_CS_PIN         -1
1336
+  //#define E1_CS_PIN         -1
1337
+  //#define E2_CS_PIN         -1
1338
+  //#define E3_CS_PIN         -1
1339
+  //#define E4_CS_PIN         -1
1340
+  //#define E5_CS_PIN         -1
1341
+
1342
+  /**
1325 1343
    * Use software SPI for TMC2130.
1326 1344
    * The default SW SPI pins are defined the respective pins files,
1327 1345
    * but you can override or define them here.
@@ -1335,7 +1353,9 @@
1335 1353
    * Use Trinamic's ultra quiet stepping mode.
1336 1354
    * When disabled, Marlin will use spreadCycle stepping mode.
1337 1355
    */
1338
-  #define STEALTHCHOP
1356
+  #define STEALTHCHOP_XY
1357
+  #define STEALTHCHOP_Z
1358
+  #define STEALTHCHOP_E
1339 1359
 
1340 1360
   /**
1341 1361
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1359,7 +1379,7 @@
1359 1379
   /**
1360 1380
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1361 1381
    * This mode allows for faster movements at the expense of higher noise levels.
1362
-   * STEALTHCHOP needs to be enabled.
1382
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1363 1383
    * M913 X/Y/Z/E to live tune the setting
1364 1384
    */
1365 1385
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/TheBorg/Configuration_adv.h View File

@@ -1322,6 +1322,24 @@
1322 1322
   #define E5_MICROSTEPS       16
1323 1323
 
1324 1324
   /**
1325
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1326
+   * The default pins can be found in your board's pins file.
1327
+   */
1328
+  //#define X_CS_PIN          -1
1329
+  //#define Y_CS_PIN          -1
1330
+  //#define Z_CS_PIN          -1
1331
+  //#define X2_CS_PIN         -1
1332
+  //#define Y2_CS_PIN         -1
1333
+  //#define Z2_CS_PIN         -1
1334
+  //#define Z3_CS_PIN         -1
1335
+  //#define E0_CS_PIN         -1
1336
+  //#define E1_CS_PIN         -1
1337
+  //#define E2_CS_PIN         -1
1338
+  //#define E3_CS_PIN         -1
1339
+  //#define E4_CS_PIN         -1
1340
+  //#define E5_CS_PIN         -1
1341
+
1342
+  /**
1325 1343
    * Use software SPI for TMC2130.
1326 1344
    * The default SW SPI pins are defined the respective pins files,
1327 1345
    * but you can override or define them here.
@@ -1335,7 +1353,9 @@
1335 1353
    * Use Trinamic's ultra quiet stepping mode.
1336 1354
    * When disabled, Marlin will use spreadCycle stepping mode.
1337 1355
    */
1338
-  #define STEALTHCHOP
1356
+  #define STEALTHCHOP_XY
1357
+  #define STEALTHCHOP_Z
1358
+  #define STEALTHCHOP_E
1339 1359
 
1340 1360
   /**
1341 1361
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1359,7 +1379,7 @@
1359 1379
   /**
1360 1380
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1361 1381
    * This mode allows for faster movements at the expense of higher noise levels.
1362
-   * STEALTHCHOP needs to be enabled.
1382
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1363 1383
    * M913 X/Y/Z/E to live tune the setting
1364 1384
    */
1365 1385
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/TinyBoy2/Configuration_adv.h View File

@@ -1322,6 +1322,24 @@
1322 1322
   #define E5_MICROSTEPS       16
1323 1323
 
1324 1324
   /**
1325
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1326
+   * The default pins can be found in your board's pins file.
1327
+   */
1328
+  //#define X_CS_PIN          -1
1329
+  //#define Y_CS_PIN          -1
1330
+  //#define Z_CS_PIN          -1
1331
+  //#define X2_CS_PIN         -1
1332
+  //#define Y2_CS_PIN         -1
1333
+  //#define Z2_CS_PIN         -1
1334
+  //#define Z3_CS_PIN         -1
1335
+  //#define E0_CS_PIN         -1
1336
+  //#define E1_CS_PIN         -1
1337
+  //#define E2_CS_PIN         -1
1338
+  //#define E3_CS_PIN         -1
1339
+  //#define E4_CS_PIN         -1
1340
+  //#define E5_CS_PIN         -1
1341
+
1342
+  /**
1325 1343
    * Use software SPI for TMC2130.
1326 1344
    * The default SW SPI pins are defined the respective pins files,
1327 1345
    * but you can override or define them here.
@@ -1335,7 +1353,9 @@
1335 1353
    * Use Trinamic's ultra quiet stepping mode.
1336 1354
    * When disabled, Marlin will use spreadCycle stepping mode.
1337 1355
    */
1338
-  #define STEALTHCHOP
1356
+  #define STEALTHCHOP_XY
1357
+  #define STEALTHCHOP_Z
1358
+  #define STEALTHCHOP_E
1339 1359
 
1340 1360
   /**
1341 1361
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1359,7 +1379,7 @@
1359 1379
   /**
1360 1380
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1361 1381
    * This mode allows for faster movements at the expense of higher noise levels.
1362
-   * STEALTHCHOP needs to be enabled.
1382
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1363 1383
    * M913 X/Y/Z/E to live tune the setting
1364 1384
    */
1365 1385
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/Tronxy/X3A/Configuration_adv.h View File

@@ -1322,6 +1322,24 @@
1322 1322
   #define E5_MICROSTEPS       16
1323 1323
 
1324 1324
   /**
1325
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1326
+   * The default pins can be found in your board's pins file.
1327
+   */
1328
+  //#define X_CS_PIN          -1
1329
+  //#define Y_CS_PIN          -1
1330
+  //#define Z_CS_PIN          -1
1331
+  //#define X2_CS_PIN         -1
1332
+  //#define Y2_CS_PIN         -1
1333
+  //#define Z2_CS_PIN         -1
1334
+  //#define Z3_CS_PIN         -1
1335
+  //#define E0_CS_PIN         -1
1336
+  //#define E1_CS_PIN         -1
1337
+  //#define E2_CS_PIN         -1
1338
+  //#define E3_CS_PIN         -1
1339
+  //#define E4_CS_PIN         -1
1340
+  //#define E5_CS_PIN         -1
1341
+
1342
+  /**
1325 1343
    * Use software SPI for TMC2130.
1326 1344
    * The default SW SPI pins are defined the respective pins files,
1327 1345
    * but you can override or define them here.
@@ -1335,7 +1353,9 @@
1335 1353
    * Use Trinamic's ultra quiet stepping mode.
1336 1354
    * When disabled, Marlin will use spreadCycle stepping mode.
1337 1355
    */
1338
-  #define STEALTHCHOP
1356
+  #define STEALTHCHOP_XY
1357
+  #define STEALTHCHOP_Z
1358
+  #define STEALTHCHOP_E
1339 1359
 
1340 1360
   /**
1341 1361
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1359,7 +1379,7 @@
1359 1379
   /**
1360 1380
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1361 1381
    * This mode allows for faster movements at the expense of higher noise levels.
1362
-   * STEALTHCHOP needs to be enabled.
1382
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1363 1383
    * M913 X/Y/Z/E to live tune the setting
1364 1384
    */
1365 1385
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/UltiMachine/Archim1/Configuration_adv.h View File

@@ -1323,6 +1323,24 @@
1323 1323
   #define E5_MICROSTEPS       16
1324 1324
 
1325 1325
   /**
1326
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1327
+   * The default pins can be found in your board's pins file.
1328
+   */
1329
+  //#define X_CS_PIN          -1
1330
+  //#define Y_CS_PIN          -1
1331
+  //#define Z_CS_PIN          -1
1332
+  //#define X2_CS_PIN         -1
1333
+  //#define Y2_CS_PIN         -1
1334
+  //#define Z2_CS_PIN         -1
1335
+  //#define Z3_CS_PIN         -1
1336
+  //#define E0_CS_PIN         -1
1337
+  //#define E1_CS_PIN         -1
1338
+  //#define E2_CS_PIN         -1
1339
+  //#define E3_CS_PIN         -1
1340
+  //#define E4_CS_PIN         -1
1341
+  //#define E5_CS_PIN         -1
1342
+
1343
+  /**
1326 1344
    * Use software SPI for TMC2130.
1327 1345
    * The default SW SPI pins are defined the respective pins files,
1328 1346
    * but you can override or define them here.
@@ -1336,7 +1354,9 @@
1336 1354
    * Use Trinamic's ultra quiet stepping mode.
1337 1355
    * When disabled, Marlin will use spreadCycle stepping mode.
1338 1356
    */
1339
-  #define STEALTHCHOP
1357
+  #define STEALTHCHOP_XY
1358
+  #define STEALTHCHOP_Z
1359
+  #define STEALTHCHOP_E
1340 1360
 
1341 1361
   /**
1342 1362
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1360,7 +1380,7 @@
1360 1380
   /**
1361 1381
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1362 1382
    * This mode allows for faster movements at the expense of higher noise levels.
1363
-   * STEALTHCHOP needs to be enabled.
1383
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1364 1384
    * M913 X/Y/Z/E to live tune the setting
1365 1385
    */
1366 1386
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h View File

@@ -1322,6 +1322,24 @@
1322 1322
   #define E5_MICROSTEPS       16
1323 1323
 
1324 1324
   /**
1325
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1326
+   * The default pins can be found in your board's pins file.
1327
+   */
1328
+  //#define X_CS_PIN          -1
1329
+  //#define Y_CS_PIN          -1
1330
+  //#define Z_CS_PIN          -1
1331
+  //#define X2_CS_PIN         -1
1332
+  //#define Y2_CS_PIN         -1
1333
+  //#define Z2_CS_PIN         -1
1334
+  //#define Z3_CS_PIN         -1
1335
+  //#define E0_CS_PIN         -1
1336
+  //#define E1_CS_PIN         -1
1337
+  //#define E2_CS_PIN         -1
1338
+  //#define E3_CS_PIN         -1
1339
+  //#define E4_CS_PIN         -1
1340
+  //#define E5_CS_PIN         -1
1341
+
1342
+  /**
1325 1343
    * Use software SPI for TMC2130.
1326 1344
    * The default SW SPI pins are defined the respective pins files,
1327 1345
    * but you can override or define them here.
@@ -1335,7 +1353,9 @@
1335 1353
    * Use Trinamic's ultra quiet stepping mode.
1336 1354
    * When disabled, Marlin will use spreadCycle stepping mode.
1337 1355
    */
1338
-  #define STEALTHCHOP
1356
+  #define STEALTHCHOP_XY
1357
+  #define STEALTHCHOP_Z
1358
+  #define STEALTHCHOP_E
1339 1359
 
1340 1360
   /**
1341 1361
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1359,7 +1379,7 @@
1359 1379
   /**
1360 1380
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1361 1381
    * This mode allows for faster movements at the expense of higher noise levels.
1362
-   * STEALTHCHOP needs to be enabled.
1382
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1363 1383
    * M913 X/Y/Z/E to live tune the setting
1364 1384
    */
1365 1385
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h View File

@@ -1335,6 +1335,24 @@
1335 1335
   #define E5_MICROSTEPS       16
1336 1336
 
1337 1337
   /**
1338
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1339
+   * The default pins can be found in your board's pins file.
1340
+   */
1341
+  //#define X_CS_PIN          -1
1342
+  //#define Y_CS_PIN          -1
1343
+  //#define Z_CS_PIN          -1
1344
+  //#define X2_CS_PIN         -1
1345
+  //#define Y2_CS_PIN         -1
1346
+  //#define Z2_CS_PIN         -1
1347
+  //#define Z3_CS_PIN         -1
1348
+  //#define E0_CS_PIN         -1
1349
+  //#define E1_CS_PIN         -1
1350
+  //#define E2_CS_PIN         -1
1351
+  //#define E3_CS_PIN         -1
1352
+  //#define E4_CS_PIN         -1
1353
+  //#define E5_CS_PIN         -1
1354
+
1355
+  /**
1338 1356
    * Use software SPI for TMC2130.
1339 1357
    * The default SW SPI pins are defined the respective pins files,
1340 1358
    * but you can override or define them here.
@@ -1348,7 +1366,9 @@
1348 1366
    * Use Trinamic's ultra quiet stepping mode.
1349 1367
    * When disabled, Marlin will use spreadCycle stepping mode.
1350 1368
    */
1351
-  #define STEALTHCHOP
1369
+  #define STEALTHCHOP_XY
1370
+  #define STEALTHCHOP_Z
1371
+  #define STEALTHCHOP_E
1352 1372
 
1353 1373
   /**
1354 1374
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1372,7 +1392,7 @@
1372 1392
   /**
1373 1393
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1374 1394
    * This mode allows for faster movements at the expense of higher noise levels.
1375
-   * STEALTHCHOP needs to be enabled.
1395
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1376 1396
    * M913 X/Y/Z/E to live tune the setting
1377 1397
    */
1378 1398
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h View File

@@ -1322,6 +1322,24 @@
1322 1322
   #define E5_MICROSTEPS       16
1323 1323
 
1324 1324
   /**
1325
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1326
+   * The default pins can be found in your board's pins file.
1327
+   */
1328
+  //#define X_CS_PIN          -1
1329
+  //#define Y_CS_PIN          -1
1330
+  //#define Z_CS_PIN          -1
1331
+  //#define X2_CS_PIN         -1
1332
+  //#define Y2_CS_PIN         -1
1333
+  //#define Z2_CS_PIN         -1
1334
+  //#define Z3_CS_PIN         -1
1335
+  //#define E0_CS_PIN         -1
1336
+  //#define E1_CS_PIN         -1
1337
+  //#define E2_CS_PIN         -1
1338
+  //#define E3_CS_PIN         -1
1339
+  //#define E4_CS_PIN         -1
1340
+  //#define E5_CS_PIN         -1
1341
+
1342
+  /**
1325 1343
    * Use software SPI for TMC2130.
1326 1344
    * The default SW SPI pins are defined the respective pins files,
1327 1345
    * but you can override or define them here.
@@ -1335,7 +1353,9 @@
1335 1353
    * Use Trinamic's ultra quiet stepping mode.
1336 1354
    * When disabled, Marlin will use spreadCycle stepping mode.
1337 1355
    */
1338
-  #define STEALTHCHOP
1356
+  #define STEALTHCHOP_XY
1357
+  #define STEALTHCHOP_Z
1358
+  #define STEALTHCHOP_E
1339 1359
 
1340 1360
   /**
1341 1361
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1359,7 +1379,7 @@
1359 1379
   /**
1360 1380
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1361 1381
    * This mode allows for faster movements at the expense of higher noise levels.
1362
-   * STEALTHCHOP needs to be enabled.
1382
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1363 1383
    * M913 X/Y/Z/E to live tune the setting
1364 1384
    */
1365 1385
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h View File

@@ -1324,6 +1324,24 @@
1324 1324
   #define E5_MICROSTEPS       16
1325 1325
 
1326 1326
   /**
1327
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1328
+   * The default pins can be found in your board's pins file.
1329
+   */
1330
+  //#define X_CS_PIN          -1
1331
+  //#define Y_CS_PIN          -1
1332
+  //#define Z_CS_PIN          -1
1333
+  //#define X2_CS_PIN         -1
1334
+  //#define Y2_CS_PIN         -1
1335
+  //#define Z2_CS_PIN         -1
1336
+  //#define Z3_CS_PIN         -1
1337
+  //#define E0_CS_PIN         -1
1338
+  //#define E1_CS_PIN         -1
1339
+  //#define E2_CS_PIN         -1
1340
+  //#define E3_CS_PIN         -1
1341
+  //#define E4_CS_PIN         -1
1342
+  //#define E5_CS_PIN         -1
1343
+
1344
+  /**
1327 1345
    * Use software SPI for TMC2130.
1328 1346
    * The default SW SPI pins are defined the respective pins files,
1329 1347
    * but you can override or define them here.
@@ -1337,7 +1355,9 @@
1337 1355
    * Use Trinamic's ultra quiet stepping mode.
1338 1356
    * When disabled, Marlin will use spreadCycle stepping mode.
1339 1357
    */
1340
-  #define STEALTHCHOP
1358
+  #define STEALTHCHOP_XY
1359
+  #define STEALTHCHOP_Z
1360
+  #define STEALTHCHOP_E
1341 1361
 
1342 1362
   /**
1343 1363
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1361,7 +1381,7 @@
1361 1381
   /**
1362 1382
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1363 1383
    * This mode allows for faster movements at the expense of higher noise levels.
1364
-   * STEALTHCHOP needs to be enabled.
1384
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1365 1385
    * M913 X/Y/Z/E to live tune the setting
1366 1386
    */
1367 1387
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration_adv.h View File

@@ -1324,6 +1324,24 @@
1324 1324
   #define E5_MICROSTEPS       16
1325 1325
 
1326 1326
   /**
1327
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1328
+   * The default pins can be found in your board's pins file.
1329
+   */
1330
+  //#define X_CS_PIN          -1
1331
+  //#define Y_CS_PIN          -1
1332
+  //#define Z_CS_PIN          -1
1333
+  //#define X2_CS_PIN         -1
1334
+  //#define Y2_CS_PIN         -1
1335
+  //#define Z2_CS_PIN         -1
1336
+  //#define Z3_CS_PIN         -1
1337
+  //#define E0_CS_PIN         -1
1338
+  //#define E1_CS_PIN         -1
1339
+  //#define E2_CS_PIN         -1
1340
+  //#define E3_CS_PIN         -1
1341
+  //#define E4_CS_PIN         -1
1342
+  //#define E5_CS_PIN         -1
1343
+
1344
+  /**
1327 1345
    * Use software SPI for TMC2130.
1328 1346
    * The default SW SPI pins are defined the respective pins files,
1329 1347
    * but you can override or define them here.
@@ -1337,7 +1355,9 @@
1337 1355
    * Use Trinamic's ultra quiet stepping mode.
1338 1356
    * When disabled, Marlin will use spreadCycle stepping mode.
1339 1357
    */
1340
-  #define STEALTHCHOP
1358
+  #define STEALTHCHOP_XY
1359
+  #define STEALTHCHOP_Z
1360
+  #define STEALTHCHOP_E
1341 1361
 
1342 1362
   /**
1343 1363
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1361,7 +1381,7 @@
1361 1381
   /**
1362 1382
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1363 1383
    * This mode allows for faster movements at the expense of higher noise levels.
1364
-   * STEALTHCHOP needs to be enabled.
1384
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1365 1385
    * M913 X/Y/Z/E to live tune the setting
1366 1386
    */
1367 1387
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h View File

@@ -1324,6 +1324,24 @@
1324 1324
   #define E5_MICROSTEPS       16
1325 1325
 
1326 1326
   /**
1327
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1328
+   * The default pins can be found in your board's pins file.
1329
+   */
1330
+  //#define X_CS_PIN          -1
1331
+  //#define Y_CS_PIN          -1
1332
+  //#define Z_CS_PIN          -1
1333
+  //#define X2_CS_PIN         -1
1334
+  //#define Y2_CS_PIN         -1
1335
+  //#define Z2_CS_PIN         -1
1336
+  //#define Z3_CS_PIN         -1
1337
+  //#define E0_CS_PIN         -1
1338
+  //#define E1_CS_PIN         -1
1339
+  //#define E2_CS_PIN         -1
1340
+  //#define E3_CS_PIN         -1
1341
+  //#define E4_CS_PIN         -1
1342
+  //#define E5_CS_PIN         -1
1343
+
1344
+  /**
1327 1345
    * Use software SPI for TMC2130.
1328 1346
    * The default SW SPI pins are defined the respective pins files,
1329 1347
    * but you can override or define them here.
@@ -1337,7 +1355,9 @@
1337 1355
    * Use Trinamic's ultra quiet stepping mode.
1338 1356
    * When disabled, Marlin will use spreadCycle stepping mode.
1339 1357
    */
1340
-  #define STEALTHCHOP
1358
+  #define STEALTHCHOP_XY
1359
+  #define STEALTHCHOP_Z
1360
+  #define STEALTHCHOP_E
1341 1361
 
1342 1362
   /**
1343 1363
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1361,7 +1381,7 @@
1361 1381
   /**
1362 1382
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1363 1383
    * This mode allows for faster movements at the expense of higher noise levels.
1364
-   * STEALTHCHOP needs to be enabled.
1384
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1365 1385
    * M913 X/Y/Z/E to live tune the setting
1366 1386
    */
1367 1387
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h View File

@@ -1324,6 +1324,24 @@
1324 1324
   #define E5_MICROSTEPS       16
1325 1325
 
1326 1326
   /**
1327
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1328
+   * The default pins can be found in your board's pins file.
1329
+   */
1330
+  //#define X_CS_PIN          -1
1331
+  //#define Y_CS_PIN          -1
1332
+  //#define Z_CS_PIN          -1
1333
+  //#define X2_CS_PIN         -1
1334
+  //#define Y2_CS_PIN         -1
1335
+  //#define Z2_CS_PIN         -1
1336
+  //#define Z3_CS_PIN         -1
1337
+  //#define E0_CS_PIN         -1
1338
+  //#define E1_CS_PIN         -1
1339
+  //#define E2_CS_PIN         -1
1340
+  //#define E3_CS_PIN         -1
1341
+  //#define E4_CS_PIN         -1
1342
+  //#define E5_CS_PIN         -1
1343
+
1344
+  /**
1327 1345
    * Use software SPI for TMC2130.
1328 1346
    * The default SW SPI pins are defined the respective pins files,
1329 1347
    * but you can override or define them here.
@@ -1337,7 +1355,9 @@
1337 1355
    * Use Trinamic's ultra quiet stepping mode.
1338 1356
    * When disabled, Marlin will use spreadCycle stepping mode.
1339 1357
    */
1340
-  #define STEALTHCHOP
1358
+  #define STEALTHCHOP_XY
1359
+  #define STEALTHCHOP_Z
1360
+  #define STEALTHCHOP_E
1341 1361
 
1342 1362
   /**
1343 1363
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1361,7 +1381,7 @@
1361 1381
   /**
1362 1382
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1363 1383
    * This mode allows for faster movements at the expense of higher noise levels.
1364
-   * STEALTHCHOP needs to be enabled.
1384
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1365 1385
    * M913 X/Y/Z/E to live tune the setting
1366 1386
    */
1367 1387
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h View File

@@ -1324,6 +1324,24 @@
1324 1324
   #define E5_MICROSTEPS       16
1325 1325
 
1326 1326
   /**
1327
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1328
+   * The default pins can be found in your board's pins file.
1329
+   */
1330
+  //#define X_CS_PIN          -1
1331
+  //#define Y_CS_PIN          -1
1332
+  //#define Z_CS_PIN          -1
1333
+  //#define X2_CS_PIN         -1
1334
+  //#define Y2_CS_PIN         -1
1335
+  //#define Z2_CS_PIN         -1
1336
+  //#define Z3_CS_PIN         -1
1337
+  //#define E0_CS_PIN         -1
1338
+  //#define E1_CS_PIN         -1
1339
+  //#define E2_CS_PIN         -1
1340
+  //#define E3_CS_PIN         -1
1341
+  //#define E4_CS_PIN         -1
1342
+  //#define E5_CS_PIN         -1
1343
+
1344
+  /**
1327 1345
    * Use software SPI for TMC2130.
1328 1346
    * The default SW SPI pins are defined the respective pins files,
1329 1347
    * but you can override or define them here.
@@ -1337,7 +1355,9 @@
1337 1355
    * Use Trinamic's ultra quiet stepping mode.
1338 1356
    * When disabled, Marlin will use spreadCycle stepping mode.
1339 1357
    */
1340
-  #define STEALTHCHOP
1358
+  #define STEALTHCHOP_XY
1359
+  #define STEALTHCHOP_Z
1360
+  #define STEALTHCHOP_E
1341 1361
 
1342 1362
   /**
1343 1363
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1361,7 +1381,7 @@
1361 1381
   /**
1362 1382
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1363 1383
    * This mode allows for faster movements at the expense of higher noise levels.
1364
-   * STEALTHCHOP needs to be enabled.
1384
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1365 1385
    * M913 X/Y/Z/E to live tune the setting
1366 1386
    */
1367 1387
   //#define HYBRID_THRESHOLD

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

@@ -1297,6 +1297,24 @@
1297 1297
   #define E5_MICROSTEPS       16
1298 1298
 
1299 1299
   /**
1300
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1301
+   * The default pins can be found in your board's pins file.
1302
+   */
1303
+  //#define X_CS_PIN          -1
1304
+  //#define Y_CS_PIN          -1
1305
+  //#define Z_CS_PIN          -1
1306
+  //#define X2_CS_PIN         -1
1307
+  //#define Y2_CS_PIN         -1
1308
+  //#define Z2_CS_PIN         -1
1309
+  //#define Z3_CS_PIN         -1
1310
+  //#define E0_CS_PIN         -1
1311
+  //#define E1_CS_PIN         -1
1312
+  //#define E2_CS_PIN         -1
1313
+  //#define E3_CS_PIN         -1
1314
+  //#define E4_CS_PIN         -1
1315
+  //#define E5_CS_PIN         -1
1316
+
1317
+  /**
1300 1318
    * Use software SPI for TMC2130.
1301 1319
    * The default SW SPI pins are defined the respective pins files,
1302 1320
    * but you can override or define them here.
@@ -1310,7 +1328,9 @@
1310 1328
    * Use Trinamic's ultra quiet stepping mode.
1311 1329
    * When disabled, Marlin will use spreadCycle stepping mode.
1312 1330
    */
1313
-  #define STEALTHCHOP
1331
+  #define STEALTHCHOP_XY
1332
+  #define STEALTHCHOP_Z
1333
+  #define STEALTHCHOP_E
1314 1334
 
1315 1335
   /**
1316 1336
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1334,7 +1354,7 @@
1334 1354
   /**
1335 1355
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1336 1356
    * This mode allows for faster movements at the expense of higher noise levels.
1337
-   * STEALTHCHOP needs to be enabled.
1357
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1338 1358
    * M913 X/Y/Z/E to live tune the setting
1339 1359
    */
1340 1360
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/delta/MKS/SBASE/Configuration_adv.h View File

@@ -1324,6 +1324,24 @@
1324 1324
   #define E5_MICROSTEPS       16
1325 1325
 
1326 1326
   /**
1327
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1328
+   * The default pins can be found in your board's pins file.
1329
+   */
1330
+  //#define X_CS_PIN          -1
1331
+  //#define Y_CS_PIN          -1
1332
+  //#define Z_CS_PIN          -1
1333
+  //#define X2_CS_PIN         -1
1334
+  //#define Y2_CS_PIN         -1
1335
+  //#define Z2_CS_PIN         -1
1336
+  //#define Z3_CS_PIN         -1
1337
+  //#define E0_CS_PIN         -1
1338
+  //#define E1_CS_PIN         -1
1339
+  //#define E2_CS_PIN         -1
1340
+  //#define E3_CS_PIN         -1
1341
+  //#define E4_CS_PIN         -1
1342
+  //#define E5_CS_PIN         -1
1343
+
1344
+  /**
1327 1345
    * Use software SPI for TMC2130.
1328 1346
    * The default SW SPI pins are defined the respective pins files,
1329 1347
    * but you can override or define them here.
@@ -1337,7 +1355,9 @@
1337 1355
    * Use Trinamic's ultra quiet stepping mode.
1338 1356
    * When disabled, Marlin will use spreadCycle stepping mode.
1339 1357
    */
1340
-  #define STEALTHCHOP
1358
+  #define STEALTHCHOP_XY
1359
+  #define STEALTHCHOP_Z
1360
+  #define STEALTHCHOP_E
1341 1361
 
1342 1362
   /**
1343 1363
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1361,7 +1381,7 @@
1361 1381
   /**
1362 1382
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1363 1383
    * This mode allows for faster movements at the expense of higher noise levels.
1364
-   * STEALTHCHOP needs to be enabled.
1384
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1365 1385
    * M913 X/Y/Z/E to live tune the setting
1366 1386
    */
1367 1387
   //#define HYBRID_THRESHOLD

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

@@ -1324,6 +1324,24 @@
1324 1324
   #define E5_MICROSTEPS       16
1325 1325
 
1326 1326
   /**
1327
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1328
+   * The default pins can be found in your board's pins file.
1329
+   */
1330
+  //#define X_CS_PIN          -1
1331
+  //#define Y_CS_PIN          -1
1332
+  //#define Z_CS_PIN          -1
1333
+  //#define X2_CS_PIN         -1
1334
+  //#define Y2_CS_PIN         -1
1335
+  //#define Z2_CS_PIN         -1
1336
+  //#define Z3_CS_PIN         -1
1337
+  //#define E0_CS_PIN         -1
1338
+  //#define E1_CS_PIN         -1
1339
+  //#define E2_CS_PIN         -1
1340
+  //#define E3_CS_PIN         -1
1341
+  //#define E4_CS_PIN         -1
1342
+  //#define E5_CS_PIN         -1
1343
+
1344
+  /**
1327 1345
    * Use software SPI for TMC2130.
1328 1346
    * The default SW SPI pins are defined the respective pins files,
1329 1347
    * but you can override or define them here.
@@ -1337,7 +1355,9 @@
1337 1355
    * Use Trinamic's ultra quiet stepping mode.
1338 1356
    * When disabled, Marlin will use spreadCycle stepping mode.
1339 1357
    */
1340
-  #define STEALTHCHOP
1358
+  #define STEALTHCHOP_XY
1359
+  #define STEALTHCHOP_Z
1360
+  #define STEALTHCHOP_E
1341 1361
 
1342 1362
   /**
1343 1363
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1361,7 +1381,7 @@
1361 1381
   /**
1362 1382
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1363 1383
    * This mode allows for faster movements at the expense of higher noise levels.
1364
-   * STEALTHCHOP needs to be enabled.
1384
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1365 1385
    * M913 X/Y/Z/E to live tune the setting
1366 1386
    */
1367 1387
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/delta/generic/Configuration_adv.h View File

@@ -1324,6 +1324,24 @@
1324 1324
   #define E5_MICROSTEPS       16
1325 1325
 
1326 1326
   /**
1327
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1328
+   * The default pins can be found in your board's pins file.
1329
+   */
1330
+  //#define X_CS_PIN          -1
1331
+  //#define Y_CS_PIN          -1
1332
+  //#define Z_CS_PIN          -1
1333
+  //#define X2_CS_PIN         -1
1334
+  //#define Y2_CS_PIN         -1
1335
+  //#define Z2_CS_PIN         -1
1336
+  //#define Z3_CS_PIN         -1
1337
+  //#define E0_CS_PIN         -1
1338
+  //#define E1_CS_PIN         -1
1339
+  //#define E2_CS_PIN         -1
1340
+  //#define E3_CS_PIN         -1
1341
+  //#define E4_CS_PIN         -1
1342
+  //#define E5_CS_PIN         -1
1343
+
1344
+  /**
1327 1345
    * Use software SPI for TMC2130.
1328 1346
    * The default SW SPI pins are defined the respective pins files,
1329 1347
    * but you can override or define them here.
@@ -1337,7 +1355,9 @@
1337 1355
    * Use Trinamic's ultra quiet stepping mode.
1338 1356
    * When disabled, Marlin will use spreadCycle stepping mode.
1339 1357
    */
1340
-  #define STEALTHCHOP
1358
+  #define STEALTHCHOP_XY
1359
+  #define STEALTHCHOP_Z
1360
+  #define STEALTHCHOP_E
1341 1361
 
1342 1362
   /**
1343 1363
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1361,7 +1381,7 @@
1361 1381
   /**
1362 1382
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1363 1383
    * This mode allows for faster movements at the expense of higher noise levels.
1364
-   * STEALTHCHOP needs to be enabled.
1384
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1365 1385
    * M913 X/Y/Z/E to live tune the setting
1366 1386
    */
1367 1387
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h View File

@@ -1324,6 +1324,24 @@
1324 1324
   #define E5_MICROSTEPS       16
1325 1325
 
1326 1326
   /**
1327
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1328
+   * The default pins can be found in your board's pins file.
1329
+   */
1330
+  //#define X_CS_PIN          -1
1331
+  //#define Y_CS_PIN          -1
1332
+  //#define Z_CS_PIN          -1
1333
+  //#define X2_CS_PIN         -1
1334
+  //#define Y2_CS_PIN         -1
1335
+  //#define Z2_CS_PIN         -1
1336
+  //#define Z3_CS_PIN         -1
1337
+  //#define E0_CS_PIN         -1
1338
+  //#define E1_CS_PIN         -1
1339
+  //#define E2_CS_PIN         -1
1340
+  //#define E3_CS_PIN         -1
1341
+  //#define E4_CS_PIN         -1
1342
+  //#define E5_CS_PIN         -1
1343
+
1344
+  /**
1327 1345
    * Use software SPI for TMC2130.
1328 1346
    * The default SW SPI pins are defined the respective pins files,
1329 1347
    * but you can override or define them here.
@@ -1337,7 +1355,9 @@
1337 1355
    * Use Trinamic's ultra quiet stepping mode.
1338 1356
    * When disabled, Marlin will use spreadCycle stepping mode.
1339 1357
    */
1340
-  #define STEALTHCHOP
1358
+  #define STEALTHCHOP_XY
1359
+  #define STEALTHCHOP_Z
1360
+  #define STEALTHCHOP_E
1341 1361
 
1342 1362
   /**
1343 1363
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1361,7 +1381,7 @@
1361 1381
   /**
1362 1382
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1363 1383
    * This mode allows for faster movements at the expense of higher noise levels.
1364
-   * STEALTHCHOP needs to be enabled.
1384
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1365 1385
    * M913 X/Y/Z/E to live tune the setting
1366 1386
    */
1367 1387
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h View File

@@ -1324,6 +1324,24 @@
1324 1324
   #define E5_MICROSTEPS       16
1325 1325
 
1326 1326
   /**
1327
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1328
+   * The default pins can be found in your board's pins file.
1329
+   */
1330
+  //#define X_CS_PIN          -1
1331
+  //#define Y_CS_PIN          -1
1332
+  //#define Z_CS_PIN          -1
1333
+  //#define X2_CS_PIN         -1
1334
+  //#define Y2_CS_PIN         -1
1335
+  //#define Z2_CS_PIN         -1
1336
+  //#define Z3_CS_PIN         -1
1337
+  //#define E0_CS_PIN         -1
1338
+  //#define E1_CS_PIN         -1
1339
+  //#define E2_CS_PIN         -1
1340
+  //#define E3_CS_PIN         -1
1341
+  //#define E4_CS_PIN         -1
1342
+  //#define E5_CS_PIN         -1
1343
+
1344
+  /**
1327 1345
    * Use software SPI for TMC2130.
1328 1346
    * The default SW SPI pins are defined the respective pins files,
1329 1347
    * but you can override or define them here.
@@ -1337,7 +1355,9 @@
1337 1355
    * Use Trinamic's ultra quiet stepping mode.
1338 1356
    * When disabled, Marlin will use spreadCycle stepping mode.
1339 1357
    */
1340
-  #define STEALTHCHOP
1358
+  #define STEALTHCHOP_XY
1359
+  #define STEALTHCHOP_Z
1360
+  #define STEALTHCHOP_E
1341 1361
 
1342 1362
   /**
1343 1363
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1361,7 +1381,7 @@
1361 1381
   /**
1362 1382
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1363 1383
    * This mode allows for faster movements at the expense of higher noise levels.
1364
-   * STEALTHCHOP needs to be enabled.
1384
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1365 1385
    * M913 X/Y/Z/E to live tune the setting
1366 1386
    */
1367 1387
   //#define HYBRID_THRESHOLD

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

@@ -1322,6 +1322,24 @@
1322 1322
   #define E5_MICROSTEPS       16
1323 1323
 
1324 1324
   /**
1325
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1326
+   * The default pins can be found in your board's pins file.
1327
+   */
1328
+  //#define X_CS_PIN          -1
1329
+  //#define Y_CS_PIN          -1
1330
+  //#define Z_CS_PIN          -1
1331
+  //#define X2_CS_PIN         -1
1332
+  //#define Y2_CS_PIN         -1
1333
+  //#define Z2_CS_PIN         -1
1334
+  //#define Z3_CS_PIN         -1
1335
+  //#define E0_CS_PIN         -1
1336
+  //#define E1_CS_PIN         -1
1337
+  //#define E2_CS_PIN         -1
1338
+  //#define E3_CS_PIN         -1
1339
+  //#define E4_CS_PIN         -1
1340
+  //#define E5_CS_PIN         -1
1341
+
1342
+  /**
1325 1343
    * Use software SPI for TMC2130.
1326 1344
    * The default SW SPI pins are defined the respective pins files,
1327 1345
    * but you can override or define them here.
@@ -1335,7 +1353,9 @@
1335 1353
    * Use Trinamic's ultra quiet stepping mode.
1336 1354
    * When disabled, Marlin will use spreadCycle stepping mode.
1337 1355
    */
1338
-  #define STEALTHCHOP
1356
+  #define STEALTHCHOP_XY
1357
+  #define STEALTHCHOP_Z
1358
+  #define STEALTHCHOP_E
1339 1359
 
1340 1360
   /**
1341 1361
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1359,7 +1379,7 @@
1359 1379
   /**
1360 1380
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1361 1381
    * This mode allows for faster movements at the expense of higher noise levels.
1362
-   * STEALTHCHOP needs to be enabled.
1382
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1363 1383
    * M913 X/Y/Z/E to live tune the setting
1364 1384
    */
1365 1385
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/makibox/Configuration_adv.h View File

@@ -1322,6 +1322,24 @@
1322 1322
   #define E5_MICROSTEPS       16
1323 1323
 
1324 1324
   /**
1325
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1326
+   * The default pins can be found in your board's pins file.
1327
+   */
1328
+  //#define X_CS_PIN          -1
1329
+  //#define Y_CS_PIN          -1
1330
+  //#define Z_CS_PIN          -1
1331
+  //#define X2_CS_PIN         -1
1332
+  //#define Y2_CS_PIN         -1
1333
+  //#define Z2_CS_PIN         -1
1334
+  //#define Z3_CS_PIN         -1
1335
+  //#define E0_CS_PIN         -1
1336
+  //#define E1_CS_PIN         -1
1337
+  //#define E2_CS_PIN         -1
1338
+  //#define E3_CS_PIN         -1
1339
+  //#define E4_CS_PIN         -1
1340
+  //#define E5_CS_PIN         -1
1341
+
1342
+  /**
1325 1343
    * Use software SPI for TMC2130.
1326 1344
    * The default SW SPI pins are defined the respective pins files,
1327 1345
    * but you can override or define them here.
@@ -1335,7 +1353,9 @@
1335 1353
    * Use Trinamic's ultra quiet stepping mode.
1336 1354
    * When disabled, Marlin will use spreadCycle stepping mode.
1337 1355
    */
1338
-  #define STEALTHCHOP
1356
+  #define STEALTHCHOP_XY
1357
+  #define STEALTHCHOP_Z
1358
+  #define STEALTHCHOP_E
1339 1359
 
1340 1360
   /**
1341 1361
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1359,7 +1379,7 @@
1359 1379
   /**
1360 1380
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1361 1381
    * This mode allows for faster movements at the expense of higher noise levels.
1362
-   * STEALTHCHOP needs to be enabled.
1382
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1363 1383
    * M913 X/Y/Z/E to live tune the setting
1364 1384
    */
1365 1385
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h View File

@@ -1322,6 +1322,24 @@
1322 1322
   #define E5_MICROSTEPS       16
1323 1323
 
1324 1324
   /**
1325
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1326
+   * The default pins can be found in your board's pins file.
1327
+   */
1328
+  //#define X_CS_PIN          -1
1329
+  //#define Y_CS_PIN          -1
1330
+  //#define Z_CS_PIN          -1
1331
+  //#define X2_CS_PIN         -1
1332
+  //#define Y2_CS_PIN         -1
1333
+  //#define Z2_CS_PIN         -1
1334
+  //#define Z3_CS_PIN         -1
1335
+  //#define E0_CS_PIN         -1
1336
+  //#define E1_CS_PIN         -1
1337
+  //#define E2_CS_PIN         -1
1338
+  //#define E3_CS_PIN         -1
1339
+  //#define E4_CS_PIN         -1
1340
+  //#define E5_CS_PIN         -1
1341
+
1342
+  /**
1325 1343
    * Use software SPI for TMC2130.
1326 1344
    * The default SW SPI pins are defined the respective pins files,
1327 1345
    * but you can override or define them here.
@@ -1335,7 +1353,9 @@
1335 1353
    * Use Trinamic's ultra quiet stepping mode.
1336 1354
    * When disabled, Marlin will use spreadCycle stepping mode.
1337 1355
    */
1338
-  #define STEALTHCHOP
1356
+  #define STEALTHCHOP_XY
1357
+  #define STEALTHCHOP_Z
1358
+  #define STEALTHCHOP_E
1339 1359
 
1340 1360
   /**
1341 1361
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1359,7 +1379,7 @@
1359 1379
   /**
1360 1380
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1361 1381
    * This mode allows for faster movements at the expense of higher noise levels.
1362
-   * STEALTHCHOP needs to be enabled.
1382
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1363 1383
    * M913 X/Y/Z/E to live tune the setting
1364 1384
    */
1365 1385
   //#define HYBRID_THRESHOLD

+ 22
- 2
Marlin/src/config/examples/wt150/Configuration_adv.h View File

@@ -1323,6 +1323,24 @@
1323 1323
   #define E5_MICROSTEPS       16
1324 1324
 
1325 1325
   /**
1326
+   * Override default SPI pins for TMC2130 and TMC2660 drivers here.
1327
+   * The default pins can be found in your board's pins file.
1328
+   */
1329
+  //#define X_CS_PIN          -1
1330
+  //#define Y_CS_PIN          -1
1331
+  //#define Z_CS_PIN          -1
1332
+  //#define X2_CS_PIN         -1
1333
+  //#define Y2_CS_PIN         -1
1334
+  //#define Z2_CS_PIN         -1
1335
+  //#define Z3_CS_PIN         -1
1336
+  //#define E0_CS_PIN         -1
1337
+  //#define E1_CS_PIN         -1
1338
+  //#define E2_CS_PIN         -1
1339
+  //#define E3_CS_PIN         -1
1340
+  //#define E4_CS_PIN         -1
1341
+  //#define E5_CS_PIN         -1
1342
+
1343
+  /**
1326 1344
    * Use software SPI for TMC2130.
1327 1345
    * The default SW SPI pins are defined the respective pins files,
1328 1346
    * but you can override or define them here.
@@ -1336,7 +1354,9 @@
1336 1354
    * Use Trinamic's ultra quiet stepping mode.
1337 1355
    * When disabled, Marlin will use spreadCycle stepping mode.
1338 1356
    */
1339
-  #define STEALTHCHOP
1357
+  #define STEALTHCHOP_XY
1358
+  #define STEALTHCHOP_Z
1359
+  #define STEALTHCHOP_E
1340 1360
 
1341 1361
   /**
1342 1362
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
@@ -1360,7 +1380,7 @@
1360 1380
   /**
1361 1381
    * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
1362 1382
    * This mode allows for faster movements at the expense of higher noise levels.
1363
-   * STEALTHCHOP needs to be enabled.
1383
+   * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
1364 1384
    * M913 X/Y/Z/E to live tune the setting
1365 1385
    */
1366 1386
   //#define HYBRID_THRESHOLD

+ 108
- 60
Marlin/src/feature/tmc_util.cpp View File

@@ -48,35 +48,37 @@
48 48
 
49 49
   struct TMC_driver_data {
50 50
     uint32_t drv_status;
51
-    bool is_otpw;
52
-    bool is_ot;
53
-    bool is_error;
51
+    bool is_otpw,
52
+         is_ot,
53
+         is_s2ga,
54
+         is_s2gb,
55
+         is_error;
54 56
   };
55 57
   #if HAS_DRIVER(TMC2130)
56 58
     #if ENABLED(TMC_DEBUG)
57 59
       static uint32_t get_pwm_scale(TMC2130Stepper &st) { return st.PWM_SCALE(); }
58
-      static uint8_t get_status_response(TMC2130Stepper &st) { return st.status_response & 0xF; }
60
+      static uint8_t get_status_response(TMC2130Stepper &st, uint32_t) { return st.status_response & 0xF; }
59 61
     #endif
60 62
     static TMC_driver_data get_driver_data(TMC2130Stepper &st) {
61 63
       constexpr uint32_t OTPW_bm = 0x4000000UL;
62 64
       constexpr uint8_t OTPW_bp = 26;
63 65
       constexpr uint32_t OT_bm = 0x2000000UL;
64 66
       constexpr uint8_t OT_bp = 25;
65
-      constexpr uint8_t DRIVER_ERROR_bm = 0x2UL;
66
-      constexpr uint8_t DRIVER_ERROR_bp = 1;
67
+      constexpr uint8_t S2GA_bp = 27;
68
+      constexpr uint8_t S2GB_bp = 28;
67 69
       TMC_driver_data data;
68 70
       data.drv_status = st.DRV_STATUS();
69 71
       data.is_otpw = (data.drv_status & OTPW_bm) >> OTPW_bp;
70 72
       data.is_ot = (data.drv_status & OT_bm) >> OT_bp;
71
-      data.is_error = (st.status_response & DRIVER_ERROR_bm) >> DRIVER_ERROR_bp;
73
+      data.is_s2ga = (data.drv_status >> S2GA_bp) & 0b1;
74
+      data.is_s2gb = (data.drv_status >> S2GB_bp) & 0b1;
72 75
       return data;
73 76
     }
74 77
   #endif
75 78
   #if HAS_DRIVER(TMC2208)
76 79
     #if ENABLED(TMC_DEBUG)
77 80
       static uint32_t get_pwm_scale(TMC2208Stepper &st) { return st.pwm_scale_sum(); }
78
-      static uint8_t get_status_response(TMC2208Stepper &st) {
79
-        uint32_t drv_status = st.DRV_STATUS();
81
+      static uint8_t get_status_response(TMC2208Stepper &st, uint32_t drv_status) {
80 82
         uint8_t gstat = st.GSTAT();
81 83
         uint8_t response = 0;
82 84
         response |= (drv_status >> (31-3)) & 0b1000;
@@ -89,75 +91,112 @@
89 91
       constexpr uint8_t OTPW_bp = 0;
90 92
       constexpr uint32_t OT_bm = 0b10ul;
91 93
       constexpr uint8_t OT_bp = 1;
94
+      constexpr uint8_t S2GA_bp = 2;
95
+      constexpr uint8_t S2GB_bp = 3;
92 96
       TMC_driver_data data;
93 97
       data.drv_status = st.DRV_STATUS();
94 98
       data.is_otpw = (data.drv_status & OTPW_bm) >> OTPW_bp;
95 99
       data.is_ot = (data.drv_status & OT_bm) >> OT_bp;
96
-      data.is_error = st.drv_err();
100
+      data.is_s2ga = (data.drv_status >> S2GA_bp) & 0b1;
101
+      data.is_s2gb = (data.drv_status >> S2GB_bp) & 0b1;
97 102
       return data;
98 103
     }
99 104
   #endif
100 105
   #if HAS_DRIVER(TMC2660)
101 106
     #if ENABLED(TMC_DEBUG)
102 107
       static uint32_t get_pwm_scale(TMC2660Stepper) { return 0; }
103
-      static uint8_t get_status_response(TMC2660Stepper) { return 0; }
108
+      static uint8_t get_status_response(TMC2660Stepper, uint32_t drv_status) {
109
+        return drv_status & 0xFF;
110
+      }
104 111
     #endif
105 112
     static TMC_driver_data get_driver_data(TMC2660Stepper &st) {
106 113
       constexpr uint32_t OTPW_bm = 0x4UL;
107 114
       constexpr uint8_t OTPW_bp = 2;
108 115
       constexpr uint32_t OT_bm = 0x2UL;
109 116
       constexpr uint8_t OT_bp = 1;
110
-      constexpr uint8_t DRIVER_ERROR_bm = 0x6;
111 117
       TMC_driver_data data;
112 118
       data.drv_status = st.DRVSTATUS();
113 119
       data.is_otpw = (data.drv_status & OTPW_bm) >> OTPW_bp;
114 120
       data.is_ot = (data.drv_status & OT_bm) >> OT_bp;
115
-      data.is_error = data.drv_status & DRIVER_ERROR_bm;
116 121
       return data;
117 122
     }
118 123
   #endif
119 124
 
125
+  #if ENABLED(STOP_ON_ERROR)
126
+    void report_driver_error(const TMC_driver_data &data) {
127
+      SERIAL_ECHOPGM(" driver error detected: 0x");
128
+      SERIAL_PRINTLN(data.drv_status, HEX);
129
+      if (data.is_ot) SERIAL_ECHOLNPGM("overtemperature");
130
+      if (data.is_s2ga) SERIAL_ECHOLNPGM("short to ground (coil A)");
131
+      if (data.is_s2gb) SERIAL_ECHOLNPGM("short to ground (coil B)");
132
+      #if ENABLED(TMC_DEBUG)
133
+        tmc_report_all();
134
+      #endif
135
+      kill(PSTR("Driver error"));
136
+    }
137
+  #endif
138
+
139
+  template<typename TMC>
140
+  void report_driver_otpw(TMC &st) {
141
+    char timestamp[14];
142
+    duration_t elapsed = print_job_timer.duration();
143
+    const bool has_days = (elapsed.value > 60*60*24L);
144
+    (void)elapsed.toDigital(timestamp, has_days);
145
+    SERIAL_EOL();
146
+    SERIAL_ECHO(timestamp);
147
+    SERIAL_ECHOPGM(": ");
148
+    st.printLabel();
149
+    SERIAL_ECHOPGM(" driver overtemperature warning! (");
150
+    SERIAL_ECHO(st.getMilliamps());
151
+    SERIAL_ECHOLNPGM("mA)");
152
+  }
153
+
154
+  template<typename TMC>
155
+  void report_polled_driver_data(TMC &st, const TMC_driver_data &data) {
156
+    const uint32_t pwm_scale = get_pwm_scale(st);
157
+    st.printLabel();
158
+    SERIAL_ECHOPAIR(":", pwm_scale);
159
+    SERIAL_ECHOPGM(" |0b"); SERIAL_PRINT(get_status_response(st, data.drv_status), BIN);
160
+    SERIAL_ECHOPGM("| ");
161
+    if (st.error_count) SERIAL_CHAR('E');
162
+    else if (data.is_ot) SERIAL_CHAR('O');
163
+    else if (data.is_otpw) SERIAL_CHAR('W');
164
+    else if (st.otpw_count > 0) SERIAL_PRINT(st.otpw_count, DEC);
165
+    else if (st.flag_otpw) SERIAL_CHAR('F');
166
+    SERIAL_CHAR('\t');
167
+  }
168
+
120 169
   template<typename TMC>
121 170
   void monitor_tmc_driver(TMC &st) {
122 171
     TMC_driver_data data = get_driver_data(st);
172
+    if ((data.drv_status == 0xFFFFFFFF) || (data.drv_status == 0x0)) return;
173
+
174
+    if (data.is_ot /* | data.s2ga | data.s2gb*/) st.error_count++;
175
+    else if (st.error_count > 0) st.error_count--;
123 176
 
124 177
     #if ENABLED(STOP_ON_ERROR)
125
-      if (data.is_error) {
178
+      if (st.error_count >= 10) {
126 179
         SERIAL_EOL();
127 180
         st.printLabel();
128
-        SERIAL_ECHOLNPGM(" driver error detected:");
129
-        if (data.is_ot) SERIAL_ECHOLNPGM("overtemperature");
130
-        if (st.s2ga()) SERIAL_ECHOLNPGM("short to ground (coil A)");
131
-        if (st.s2gb()) SERIAL_ECHOLNPGM("short to ground (coil B)");
132
-        #if ENABLED(TMC_DEBUG)
133
-          tmc_report_all();
134
-        #endif
135
-        kill(PSTR("Driver error"));
181
+        report_driver_error(data);
136 182
       }
137 183
     #endif
138 184
 
139 185
     // Report if a warning was triggered
140 186
     if (data.is_otpw && st.otpw_count == 0) {
141
-      char timestamp[14];
142
-      duration_t elapsed = print_job_timer.duration();
143
-      const bool has_days = (elapsed.value > 60*60*24L);
144
-      (void)elapsed.toDigital(timestamp, has_days);
145
-      SERIAL_EOL();
146
-      SERIAL_ECHO(timestamp);
147
-      SERIAL_ECHOPGM(": ");
148
-      st.printLabel();
149
-      SERIAL_ECHOPGM(" driver overtemperature warning! (");
150
-      SERIAL_ECHO(st.getMilliamps());
151
-      SERIAL_ECHOLNPGM("mA)");
187
+      report_driver_otpw(st);
152 188
     }
153 189
     #if CURRENT_STEP_DOWN > 0
154 190
       // Decrease current if is_otpw is true and driver is enabled and there's been more than 4 warnings
155
-      if (data.is_otpw && st.isEnabled() && st.otpw_count > 4) {
156
-        st.rms_current(MAX(int16_t(st.getMilliamps() - (CURRENT_STEP_DOWN)), 0));
157
-        #if ENABLED(REPORT_CURRENT_CHANGE)
158
-          st.printLabel();
159
-          SERIAL_ECHOLNPAIR(" current decreased to ", st.getMilliamps());
160
-        #endif
191
+      if (data.is_otpw && st.otpw_count > 4) {
192
+        uint16_t I_rms = st.getMilliamps();
193
+        if (st.isEnabled() && I_rms > 100) {
194
+          st.rms_current(I_rms - (CURRENT_STEP_DOWN));
195
+          #if ENABLED(REPORT_CURRENT_CHANGE)
196
+            st.printLabel();
197
+            SERIAL_ECHOLNPAIR(" current decreased to ", st.getMilliamps());
198
+          #endif
199
+        }
161 200
       }
162 201
     #endif
163 202
 
@@ -169,17 +208,7 @@
169 208
 
170 209
     #if ENABLED(TMC_DEBUG)
171 210
       if (report_tmc_status) {
172
-        const uint32_t pwm_scale = get_pwm_scale(st);
173
-        st.printLabel();
174
-        SERIAL_ECHOPAIR(":", pwm_scale);
175
-        SERIAL_ECHOPGM(" |0b"); SERIAL_PRINT(get_status_response(st), BIN);
176
-        SERIAL_ECHOPGM("| ");
177
-        if (data.is_error) SERIAL_CHAR('E');
178
-        else if (data.is_ot) SERIAL_CHAR('O');
179
-        else if (data.is_otpw) SERIAL_CHAR('W');
180
-        else if (st.otpw_count > 0) SERIAL_PRINT(st.otpw_count, DEC);
181
-        else if (st.flag_otpw) SERIAL_CHAR('F');
182
-        SERIAL_CHAR('\t');
211
+        report_polled_driver_data(st, data);
183 212
       }
184 213
     #endif
185 214
   }
@@ -187,9 +216,10 @@
187 216
   #define HAS_HW_COMMS(ST) AXIS_DRIVER_TYPE(ST, TMC2130) || AXIS_DRIVER_TYPE(ST, TMC2660) || (AXIS_DRIVER_TYPE(ST, TMC2208) && defined(ST##_HARDWARE_SERIAL))
188 217
 
189 218
   void monitor_tmc_driver() {
190
-    static millis_t next_cOT = 0;
191
-    if (ELAPSED(millis(), next_cOT)) {
192
-      next_cOT = millis() + 500;
219
+    static millis_t next_poll = 0;
220
+    const millis_t ms = millis();
221
+    if (ELAPSED(ms, next_poll)) {
222
+      next_poll = ms + 500;
193 223
       #if HAS_HW_COMMS(X)
194 224
         monitor_tmc_driver(stepperX);
195 225
       #endif
@@ -379,7 +409,12 @@
379 409
         break;
380 410
       case TMC_VSENSE: print_vsense(st); break;
381 411
       case TMC_MICROSTEPS: SERIAL_ECHO(st.microsteps()); break;
382
-      case TMC_TSTEP: SERIAL_ECHO(st.TSTEP()); break;
412
+      case TMC_TSTEP: {
413
+          uint32_t tstep_value = st.TSTEP();
414
+          if (tstep_value == 0xFFFFF) SERIAL_ECHOPGM("max");
415
+          else SERIAL_ECHO(tstep_value);
416
+        }
417
+        break;
383 418
       case TMC_TPWMTHRS: {
384 419
           uint32_t tpwmthrs_val = st.TPWMTHRS();
385 420
           SERIAL_ECHO(tpwmthrs_val);
@@ -630,16 +665,29 @@
630 665
 
631 666
 #if USE_SENSORLESS
632 667
 
633
-  void tmc_stallguard(TMC2130Stepper &st, const bool enable/*=true*/) {
634
-    st.TCOOLTHRS(enable ? 0xFFFFF : 0);
635
-    #if ENABLED(STEALTHCHOP)
636
-      st.en_pwm_mode(!enable);
668
+  bool tmc_enable_stallguard(TMC2130Stepper &st) {
669
+    bool stealthchop_was_enabled = st.en_pwm_mode();
670
+
671
+    st.TCOOLTHRS(0xFFFFF);
672
+    #if STEALTHCHOP_ENABLED
673
+      st.en_pwm_mode(false);
674
+    #endif
675
+    st.diag1_stall(true);
676
+
677
+    return stealthchop_was_enabled;
678
+  }
679
+  void tmc_disable_stallguard(TMC2130Stepper &st, const bool restore_stealth) {
680
+    st.TCOOLTHRS(0);
681
+    #if STEALTHCHOP_ENABLED
682
+      st.en_pwm_mode(restore_stealth);
637 683
     #endif
638
-    st.diag1_stall(enable ? 1 : 0);
684
+    st.diag1_stall(false);
639 685
   }
640
-  void tmc_sensorless_homing(TMC2660Stepper &st, const bool enable) {
686
+  bool tmc_enable_stallguard(TMC2660Stepper) {
641 687
     // TODO
688
+    return false;
642 689
   }
690
+  void tmc_disable_stallguard(TMC2660Stepper, const bool) {};
643 691
 
644 692
 #endif // USE_SENSORLESS
645 693
 

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

@@ -52,7 +52,8 @@ class TMCStorage {
52 52
 
53 53
   public:
54 54
     #if ENABLED(MONITOR_DRIVER_STATUS)
55
-      uint8_t otpw_count = 0;
55
+      uint8_t otpw_count = 0,
56
+              error_count = 0;
56 57
       bool flag_otpw = false;
57 58
       bool getOTPW() { return flag_otpw; }
58 59
       void clear_otpw() { flag_otpw = 0; }
@@ -105,7 +106,7 @@ class TMCMarlin<TMC2208Stepper, AXIS_LETTER, DRIVER_ID> : public TMC2208Stepper,
105 106
     }
106 107
 };
107 108
 
108
-constexpr uint32_t _tmc_thrs(const uint16_t msteps, const int32_t thrs, const uint32_t spmm) {
109
+constexpr uint16_t _tmc_thrs(const uint16_t msteps, const int32_t thrs, const uint32_t spmm) {
109 110
   return 12650000UL * msteps / (256 * thrs * spmm);
110 111
 }
111 112
 
@@ -170,8 +171,16 @@ void monitor_tmc_driver();
170 171
  * Defined here because of limitations with templates and headers.
171 172
  */
172 173
 #if USE_SENSORLESS
173
-  void tmc_stallguard(TMC2130Stepper &st, const bool enable=true);
174
-  void tmc_stallguard(TMC2660Stepper &st, const bool enable=true);
174
+  // Track enabled status of stealthChop and only re-enable where applicable
175
+  struct sensorless_t {
176
+    bool x, y, z;
177
+  };
178
+
179
+  bool tmc_enable_stallguard(TMC2130Stepper &st);
180
+  void tmc_disable_stallguard(TMC2130Stepper &st, const bool restore_stealth);
181
+
182
+  bool tmc_enable_stallguard(TMC2660Stepper);
183
+  void tmc_disable_stallguard(TMC2660Stepper, const bool);
175 184
 #endif
176 185
 
177 186
 #if TMC_HAS_SPI

+ 5
- 4
Marlin/src/gcode/calibrate/G28.cpp View File

@@ -67,8 +67,9 @@
67 67
                 fr_mm_s = MIN(homing_feedrate(X_AXIS), homing_feedrate(Y_AXIS)) * SQRT(sq(mlratio) + 1.0);
68 68
 
69 69
     #if ENABLED(SENSORLESS_HOMING)
70
-      sensorless_homing_per_axis(X_AXIS);
71
-      sensorless_homing_per_axis(Y_AXIS);
70
+      sensorless_t stealth_states { false, false, false };
71
+      stealth_states.x = tmc_enable_stallguard(stepperX);
72
+      stealth_states.y = tmc_enable_stallguard(stepperY);
72 73
     #endif
73 74
 
74 75
     do_blocking_move_to_xy(1.5 * mlx * x_axis_home_dir, 1.5 * mly * home_dir(Y_AXIS), fr_mm_s);
@@ -78,8 +79,8 @@
78 79
     current_position[X_AXIS] = current_position[Y_AXIS] = 0.0;
79 80
 
80 81
     #if ENABLED(SENSORLESS_HOMING)
81
-      sensorless_homing_per_axis(X_AXIS, false);
82
-      sensorless_homing_per_axis(Y_AXIS, false);
82
+      tmc_disable_stallguard(stepperX, stealth_states.x);
83
+      tmc_disable_stallguard(stepperY, stealth_states.y);
83 84
     #endif
84 85
   }
85 86
 

+ 2
- 2
Marlin/src/gcode/queue.cpp View File

@@ -378,8 +378,8 @@ static int read_serial(const uint8_t index) {
378 378
     template<const size_t buffer_size>
379 379
     void receive(char (&buffer)[buffer_size]) {
380 380
       uint8_t data = 0;
381
-      millis_t tranfer_timeout = millis() + RX_TIMESLICE;
382
-      while (PENDING(millis(), tranfer_timeout)) {
381
+      millis_t transfer_timeout = millis() + RX_TIMESLICE;
382
+      while (PENDING(millis(), transfer_timeout)) {
383 383
         switch (stream_state) {
384 384
           case StreamState::STREAM_RESET:
385 385
             stream_reset();

+ 1
- 0
Marlin/src/inc/Conditionals_post.h View File

@@ -860,6 +860,7 @@
860 860
   #define AXIS_HAS_STALLGUARD(ST)  (AXIS_DRIVER_TYPE(ST, TMC2130) || AXIS_DRIVER_TYPE(ST, TMC2660))
861 861
   #define AXIS_HAS_STEALTHCHOP(ST) (AXIS_DRIVER_TYPE(ST, TMC2130) || AXIS_DRIVER_TYPE(ST, TMC2208))
862 862
 
863
+  #define STEALTHCHOP_ENABLED (ENABLED(STEALTHCHOP_XY) || ENABLED(STEALTHCHOP_Z) || ENABLED(STEALTHCHOP_E))
863 864
   #define USE_SENSORLESS (ENABLED(SENSORLESS_HOMING) || ENABLED(SENSORLESS_PROBING))
864 865
   // Disable Z axis sensorless homing if a probe is used to home the Z axis
865 866
   #if HOMING_Z_WITH_PROBE

+ 11
- 5
Marlin/src/inc/SanityCheck.h View File

@@ -264,6 +264,8 @@
264 264
   #error "MEASURED_(UPPER|LOWER)_LIMIT is now FILWIDTH_ERROR_MARGIN. Please update your configuration."
265 265
 #elif defined(HAVE_TMCDRIVER)
266 266
   #error "HAVE_TMCDRIVER is now [AXIS]_DRIVER_TYPE TMC26X. Please update your Configuration.h."
267
+#elif defined(STEALTHCHOP)
268
+  #error "STEALTHCHOP is now STEALTHCHOP_(XY|Z|E). Please update your Configuration_adv.h."
267 269
 #elif defined(HAVE_TMC26X)
268 270
   #error "HAVE_TMC26X is now [AXIS]_DRIVER_TYPE TMC26X. Please update your Configuration.h."
269 271
 #elif defined(HAVE_TMC2130)
@@ -1833,8 +1835,8 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE,
1833 1835
   // is necessary in order to reset the stallGuard indication between the initial movement of all three
1834 1836
   // towers to +Z and the individual homing of each tower. This restriction can be removed once a means of
1835 1837
   // clearing the stallGuard activated status is found.
1836
-  #if ENABLED(DELTA) && DISABLED(STEALTHCHOP)
1837
-    #error "SENSORLESS_HOMING on DELTA currently requires STEALTHCHOP."
1838
+  #if ENABLED(DELTA) && !(ENABLED(STEALTHCHOP_XY) && ENABLED(STEALTHCHOP_Z))
1839
+    #error "SENSORLESS_HOMING on DELTA currently requires STEALTHCHOP_XY and STEALTHCHOP_Z."
1838 1840
   #elif X_SENSORLESS && X_HOME_DIR == -1 && (!X_MIN_ENDSTOP_INVERTING || DISABLED(ENDSTOPPULLUP_XMIN))
1839 1841
     #error "SENSORLESS_HOMING requires X_MIN_ENDSTOP_INVERTING and ENDSTOPPULLUP_XMIN when homing to X_MIN."
1840 1842
   #elif X_SENSORLESS && X_HOME_DIR ==  1 && (!X_MAX_ENDSTOP_INVERTING || DISABLED(ENDSTOPPULLUP_XMAX))
@@ -1871,18 +1873,22 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE,
1871 1873
 #endif
1872 1874
 
1873 1875
 // Other TMC feature requirements
1874
-#if ENABLED(HYBRID_THRESHOLD) && DISABLED(STEALTHCHOP)
1875
-  #error "Enable STEALTHCHOP to use HYBRID_THRESHOLD."
1876
+#if ENABLED(HYBRID_THRESHOLD) && !STEALTHCHOP_ENABLED
1877
+  #error "Enable STEALTHCHOP_(XY|Z|E) to use HYBRID_THRESHOLD."
1876 1878
 #elif ENABLED(TMC_Z_CALIBRATION) && !AXIS_IS_TMC(Z) && !AXIS_IS_TMC(Z2) && !AXIS_IS_TMC(Z3)
1877 1879
   #error "TMC_Z_CALIBRATION requires at least one TMC driver on Z axis"
1878 1880
 #elif ENABLED(SENSORLESS_HOMING) && !HAS_STALLGUARD
1879 1881
   #error "SENSORLESS_HOMING requires TMC2130 stepper drivers."
1880 1882
 #elif ENABLED(SENSORLESS_PROBING) && !HAS_STALLGUARD
1881 1883
   #error "SENSORLESS_PROBING requires TMC2130 stepper drivers."
1882
-#elif ENABLED(STEALTHCHOP) && !HAS_STEALTHCHOP
1884
+#elif STEALTHCHOP_ENABLED && !HAS_STEALTHCHOP
1883 1885
   #error "STEALTHCHOP requires TMC2130 or TMC2208 stepper drivers."
1884 1886
 #endif
1885 1887
 
1888
+#if ENABLED(DELTA) && (ENABLED(STEALTHCHOP_XY) != ENABLED(STEALTHCHOP_Z))
1889
+  #error "STEALTHCHOP_XY and STEALTHCHOP_Z must be the same on DELTA."
1890
+#endif
1891
+
1886 1892
 /**
1887 1893
  * Digipot requirement
1888 1894
  */

+ 7
- 10
Marlin/src/module/delta.cpp View File

@@ -206,14 +206,6 @@ void forward_kinematics_DELTA(const float &z1, const float &z2, const float &z3)
206 206
   cartes[Z_AXIS] =                          z1 + ex[2] * Xnew + ey[2] * Ynew - ez[2] * Znew;
207 207
 }
208 208
 
209
-#if ENABLED(SENSORLESS_HOMING)
210
-  inline void delta_sensorless_homing(const bool on=true) {
211
-    sensorless_homing_per_axis(A_AXIS, on);
212
-    sensorless_homing_per_axis(B_AXIS, on);
213
-    sensorless_homing_per_axis(C_AXIS, on);
214
-  }
215
-#endif
216
-
217 209
 /**
218 210
  * A delta can only safely home all axes at the same time
219 211
  * This is like quick_home_xy() but for 3 towers.
@@ -229,7 +221,10 @@ void home_delta() {
229 221
 
230 222
   // Disable stealthChop if used. Enable diag1 pin on driver.
231 223
   #if ENABLED(SENSORLESS_HOMING)
232
-    delta_sensorless_homing();
224
+    sensorless_t stealth_states { false, false, false };
225
+    stealth_states.x = tmc_enable_stallguard(stepperX);
226
+    stealth_states.y = tmc_enable_stallguard(stepperY);
227
+    stealth_states.z = tmc_enable_stallguard(stepperZ);
233 228
   #endif
234 229
 
235 230
   // Move all carriages together linearly until an endstop is hit.
@@ -239,7 +234,9 @@ void home_delta() {
239 234
 
240 235
   // Re-enable stealthChop if used. Disable diag1 pin on driver.
241 236
   #if ENABLED(SENSORLESS_HOMING)
242
-    delta_sensorless_homing(false);
237
+    tmc_disable_stallguard(stepperX, stealth_states.x);
238
+    tmc_disable_stallguard(stepperY, stealth_states.y);
239
+    tmc_disable_stallguard(stepperZ, stealth_states.z);
243 240
   #endif
244 241
 
245 242
   endstops.validate_homing_move();

+ 55
- 13
Marlin/src/module/motion.cpp View File

@@ -1046,40 +1046,78 @@ inline float get_homing_bump_feedrate(const AxisEnum axis) {
1046 1046
 }
1047 1047
 
1048 1048
 #if ENABLED(SENSORLESS_HOMING)
1049
-
1050 1049
   /**
1051 1050
    * Set sensorless homing if the axis has it, accounting for Core Kinematics.
1052 1051
    */
1053
-  void sensorless_homing_per_axis(const AxisEnum axis, const bool enable/*=true*/) {
1052
+  sensorless_t start_sensorless_homing_per_axis(const AxisEnum axis) {
1053
+    sensorless_t stealth_states { false, false, false };
1054
+
1055
+    switch (axis) {
1056
+      default: break;
1057
+      #if X_SENSORLESS
1058
+        case X_AXIS:
1059
+          stealth_states.x = tmc_enable_stallguard(stepperX);
1060
+          #if CORE_IS_XY && Y_SENSORLESS
1061
+            stealth_states.y = tmc_enable_stallguard(stepperY);
1062
+          #elif CORE_IS_XZ && Z_SENSORLESS
1063
+            stealth_states.z = tmc_enable_stallguard(stepperZ);
1064
+          #endif
1065
+          break;
1066
+      #endif
1067
+      #if Y_SENSORLESS
1068
+        case Y_AXIS:
1069
+          stealth_states.y = tmc_enable_stallguard(stepperY);
1070
+          #if CORE_IS_XY && X_SENSORLESS
1071
+            stealth_states.x = tmc_enable_stallguard(stepperX);
1072
+          #elif CORE_IS_YZ && Z_SENSORLESS
1073
+            stealth_states.z = tmc_enable_stallguard(stepperZ);
1074
+          #endif
1075
+          break;
1076
+      #endif
1077
+      #if Z_SENSORLESS
1078
+        case Z_AXIS:
1079
+          stealth_states.z = tmc_enable_stallguard(stepperZ);
1080
+          #if CORE_IS_XZ && X_SENSORLESS
1081
+            stealth_states.x = tmc_enable_stallguard(stepperX);
1082
+          #elif CORE_IS_YZ && Y_SENSORLESS
1083
+            stealth_states.y = tmc_enable_stallguard(stepperY);
1084
+          #endif
1085
+          break;
1086
+      #endif
1087
+    }
1088
+    return stealth_states;
1089
+  }
1090
+
1091
+  void end_sensorless_homing_per_axis(const AxisEnum axis, sensorless_t enable_stealth) {
1054 1092
     switch (axis) {
1055 1093
       default: break;
1056 1094
       #if X_SENSORLESS
1057 1095
         case X_AXIS:
1058
-          tmc_stallguard(stepperX, enable);
1096
+          tmc_disable_stallguard(stepperX, enable_stealth.x);
1059 1097
           #if CORE_IS_XY && Y_SENSORLESS
1060
-            tmc_stallguard(stepperY, enable);
1098
+            tmc_disable_stallguard(stepperY, enable_stealth.y);
1061 1099
           #elif CORE_IS_XZ && Z_SENSORLESS
1062
-            tmc_stallguard(stepperZ, enable);
1100
+            tmc_disable_stallguard(stepperZ, enable_stealth.z);
1063 1101
           #endif
1064 1102
           break;
1065 1103
       #endif
1066 1104
       #if Y_SENSORLESS
1067 1105
         case Y_AXIS:
1068
-          tmc_stallguard(stepperY, enable);
1106
+          tmc_disable_stallguard(stepperY, enable_stealth.y);
1069 1107
           #if CORE_IS_XY && X_SENSORLESS
1070
-            tmc_stallguard(stepperX, enable);
1108
+            tmc_disable_stallguard(stepperX, enable_stealth.x);
1071 1109
           #elif CORE_IS_YZ && Z_SENSORLESS
1072
-            tmc_stallguard(stepperZ, enable);
1110
+            tmc_disable_stallguard(stepperZ, enable_stealth.z);
1073 1111
           #endif
1074 1112
           break;
1075 1113
       #endif
1076 1114
       #if Z_SENSORLESS
1077 1115
         case Z_AXIS:
1078
-          tmc_stallguard(stepperZ, enable);
1116
+          tmc_disable_stallguard(stepperZ, enable_stealth.z);
1079 1117
           #if CORE_IS_XZ && X_SENSORLESS
1080
-            tmc_stallguard(stepperX, enable);
1118
+            tmc_disable_stallguard(stepperX, enable_stealth.x);
1081 1119
           #elif CORE_IS_YZ && Y_SENSORLESS
1082
-            tmc_stallguard(stepperY, enable);
1120
+            tmc_disable_stallguard(stepperY, enable_stealth.y);
1083 1121
           #endif
1084 1122
           break;
1085 1123
       #endif
@@ -1126,6 +1164,10 @@ void do_homing_move(const AxisEnum axis, const float distance, const float fr_mm
1126 1164
     home_dir(axis);
1127 1165
   const bool is_home_dir = (axis_home_dir > 0) == (distance > 0);
1128 1166
 
1167
+  #if ENABLED(SENSORLESS_HOMING)
1168
+    sensorless_t stealth_states;
1169
+  #endif
1170
+
1129 1171
   if (is_home_dir) {
1130 1172
 
1131 1173
     #if HOMING_Z_WITH_PROBE && QUIET_PROBING
@@ -1134,7 +1176,7 @@ void do_homing_move(const AxisEnum axis, const float distance, const float fr_mm
1134 1176
 
1135 1177
     // Disable stealthChop if used. Enable diag1 pin on driver.
1136 1178
     #if ENABLED(SENSORLESS_HOMING)
1137
-      sensorless_homing_per_axis(axis);
1179
+      stealth_states = start_sensorless_homing_per_axis(axis);
1138 1180
     #endif
1139 1181
   }
1140 1182
 
@@ -1175,7 +1217,7 @@ void do_homing_move(const AxisEnum axis, const float distance, const float fr_mm
1175 1217
 
1176 1218
     // Re-enable stealthChop if used. Disable diag1 pin on driver.
1177 1219
     #if ENABLED(SENSORLESS_HOMING)
1178
-      sensorless_homing_per_axis(axis, false);
1220
+      end_sensorless_homing_per_axis(axis, stealth_states);
1179 1221
     #endif
1180 1222
   }
1181 1223
 

+ 0
- 4
Marlin/src/module/motion.h View File

@@ -216,10 +216,6 @@ void set_axis_is_not_at_home(const AxisEnum axis);
216 216
 
217 217
 void homeaxis(const AxisEnum axis);
218 218
 
219
-#if ENABLED(SENSORLESS_HOMING)
220
-  void sensorless_homing_per_axis(const AxisEnum axis, const bool enable=true);
221
-#endif
222
-
223 219
 /**
224 220
  * Workspace offsets
225 221
  */

+ 7
- 6
Marlin/src/module/probe.cpp View File

@@ -545,11 +545,12 @@ static bool do_probe_move(const float z, const float fr_mm_s) {
545 545
 
546 546
   // Disable stealthChop if used. Enable diag1 pin on driver.
547 547
   #if ENABLED(SENSORLESS_PROBING)
548
+    sensorless_t stealth_states { false, false, false };
548 549
     #if ENABLED(DELTA)
549
-      tmc_stallguard(stepperX);
550
-      tmc_stallguard(stepperY);
550
+      stealth_states.x = tmc_enable_stallguard(stepperX);
551
+      stealth_states.y = tmc_enable_stallguard(stepperY);
551 552
     #endif
552
-    tmc_stallguard(stepperZ);
553
+    stealth_states.z = tmc_enable_stallguard(stepperZ);
553 554
     endstops.enable(true);
554 555
   #endif
555 556
 
@@ -583,10 +584,10 @@ static bool do_probe_move(const float z, const float fr_mm_s) {
583 584
   #if ENABLED(SENSORLESS_PROBING)
584 585
     endstops.not_homing();
585 586
     #if ENABLED(DELTA)
586
-      tmc_stallguard(stepperX, false);
587
-      tmc_stallguard(stepperY, false);
587
+      tmc_disable_stallguard(stepperX, stealth_states.x);
588
+      tmc_disable_stallguard(stepperY, stealth_states.y);
588 589
     #endif
589
-    tmc_stallguard(stepperZ, false);
590
+    tmc_disable_stallguard(stepperZ, stealth_states.z);
590 591
   #endif
591 592
 
592 593
   // Retract BLTouch immediately after a probe if it was triggered

+ 71
- 54
Marlin/src/module/stepper_indirection.cpp View File

@@ -140,7 +140,8 @@
140 140
 #endif // TMC26X
141 141
 
142 142
 #if HAS_TRINAMIC
143
-  #define _TMC_INIT(ST, SPMM) tmc_init(stepper##ST, ST##_CURRENT, ST##_MICROSTEPS, ST##_HYBRID_THRESHOLD, SPMM)
143
+  enum StealthIndex : uint8_t { STEALTH_AXIS_XY, STEALTH_AXIS_Z, STEALTH_AXIS_E };
144
+  #define _TMC_INIT(ST, SPMM_INDEX, STEALTH_INDEX) tmc_init(stepper##ST, ST##_CURRENT, ST##_MICROSTEPS, ST##_HYBRID_THRESHOLD, planner.settings.axis_steps_per_mm[SPMM_INDEX], stealthchop_by_axis[STEALTH_INDEX])
144 145
 #endif
145 146
 
146 147
 //
@@ -201,11 +202,7 @@
201 202
   #endif
202 203
 
203 204
   template<char AXIS_LETTER, char DRIVER_ID>
204
-  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) {
205
-    #if DISABLED(STEALTHCHOP) || DISABLED(HYBRID_THRESHOLD)
206
-      UNUSED(thrs);
207
-      UNUSED(spmm);
208
-    #endif
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) {
209 206
     st.begin();
210 207
 
211 208
     CHOPCONF_t chopconf{0};
@@ -221,20 +218,22 @@
221 218
     st.iholddelay(10);
222 219
     st.TPOWERDOWN(128); // ~2s until driver lowers to hold current
223 220
 
224
-    #if ENABLED(STEALTHCHOP)
225
-      st.en_pwm_mode(true);
221
+    st.en_pwm_mode(stealth);
226 222
 
227
-      PWMCONF_t pwmconf{0};
228
-      pwmconf.pwm_freq = 0b01; // f_pwm = 2/683 f_clk
229
-      pwmconf.pwm_autoscale = true;
230
-      pwmconf.pwm_grad = 5;
231
-      pwmconf.pwm_ampl = 180;
232
-      st.PWMCONF(pwmconf.sr);
223
+    PWMCONF_t pwmconf{0};
224
+    pwmconf.pwm_freq = 0b01; // f_pwm = 2/683 f_clk
225
+    pwmconf.pwm_autoscale = true;
226
+    pwmconf.pwm_grad = 5;
227
+    pwmconf.pwm_ampl = 180;
228
+    st.PWMCONF(pwmconf.sr);
233 229
 
234
-      #if ENABLED(HYBRID_THRESHOLD)
235
-        st.TPWMTHRS(12650000UL*microsteps/(256*thrs*spmm));
236
-      #endif
230
+    #if ENABLED(HYBRID_THRESHOLD)
231
+      st.TPWMTHRS(12650000UL*microsteps/(256*thrs*spmm));
232
+    #else
233
+      UNUSED(thrs);
234
+      UNUSED(spmm);
237 235
     #endif
236
+
238 237
     st.GSTAT(); // Clear GSTAT
239 238
   }
240 239
 #endif // TMC2130
@@ -440,16 +439,13 @@
440 439
   }
441 440
 
442 441
   template<char AXIS_LETTER, char DRIVER_ID>
443
-  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) {
444
-    #if DISABLED(STEALTHCHOP) || DISABLED(HYBRID_THRESHOLD)
445
-      UNUSED(thrs);
446
-      UNUSED(spmm);
447
-    #endif
448
-
442
+  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) {
449 443
     TMC2208_n::GCONF_t gconf{0};
450 444
     gconf.pdn_disable = true; // Use UART
451 445
     gconf.mstep_reg_select = true; // Select microsteps with UART
452 446
     gconf.i_scale_analog = false;
447
+    gconf.en_spreadcycle = !stealth;
448
+    st.GCONF(gconf.sr);
453 449
 
454 450
     TMC2208_n::CHOPCONF_t chopconf{0};
455 451
     chopconf.tbl = 0b01; // blank_time = 24
@@ -463,25 +459,24 @@
463 459
     st.microsteps(microsteps);
464 460
     st.iholddelay(10);
465 461
     st.TPOWERDOWN(128); // ~2s until driver lowers to hold current
466
-    #if ENABLED(STEALTHCHOP)
467
-      gconf.en_spreadcycle = false;
468
-
469
-      TMC2208_n::PWMCONF_t pwmconf{0};
470
-      pwmconf.pwm_lim = 12;
471
-      pwmconf.pwm_reg = 8;
472
-      pwmconf.pwm_autograd = true;
473
-      pwmconf.pwm_autoscale = true;
474
-      pwmconf.pwm_freq = 0b01;
475
-      pwmconf.pwm_grad = 14;
476
-      pwmconf.pwm_ofs = 36;
477
-      st.PWMCONF(pwmconf.sr);
478
-      #if ENABLED(HYBRID_THRESHOLD)
479
-        st.TPWMTHRS(12650000UL*microsteps/(256*thrs*spmm));
480
-      #endif
462
+
463
+    TMC2208_n::PWMCONF_t pwmconf{0};
464
+    pwmconf.pwm_lim = 12;
465
+    pwmconf.pwm_reg = 8;
466
+    pwmconf.pwm_autograd = true;
467
+    pwmconf.pwm_autoscale = true;
468
+    pwmconf.pwm_freq = 0b01;
469
+    pwmconf.pwm_grad = 14;
470
+    pwmconf.pwm_ofs = 36;
471
+    st.PWMCONF(pwmconf.sr);
472
+
473
+    #if ENABLED(HYBRID_THRESHOLD)
474
+      st.TPWMTHRS(12650000UL*microsteps/(256*thrs*spmm));
481 475
     #else
482
-      gconf.en_spreadcycle = true;
476
+      UNUSED(thrs);
477
+      UNUSED(spmm);
483 478
     #endif
484
-    st.GCONF(gconf.sr);
479
+
485 480
     st.GSTAT(0b111); // Clear
486 481
     delay(200);
487 482
   }
@@ -543,7 +538,7 @@
543 538
   #endif
544 539
 
545 540
   template<char AXIS_LETTER, char DRIVER_ID>
546
-  void tmc_init(TMCMarlin<TMC2660Stepper, AXIS_LETTER, DRIVER_ID> &st, const uint16_t mA, const uint16_t microsteps, const uint32_t, const float) {
541
+  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) {
547 542
     st.begin();
548 543
     st.rms_current(mA);
549 544
     st.microsteps(microsteps);
@@ -605,44 +600,66 @@ void reset_stepper_drivers() {
605 600
     L6470_init_to_defaults();
606 601
   #endif
607 602
 
603
+  #if HAS_TRINAMIC
604
+    static constexpr bool stealthchop_by_axis[] = {
605
+      #if ENABLED(STEALTHCHOP_XY)
606
+        true
607
+      #else
608
+        false
609
+      #endif
610
+      ,
611
+      #if ENABLED(STEALTHCHOP_Z)
612
+        true
613
+      #else
614
+        false
615
+      #endif
616
+      ,
617
+      #if ENABLED(STEALTHCHOP_E)
618
+        true
619
+      #else
620
+        false
621
+      #endif
622
+    };
623
+  #endif
624
+
608 625
   #if AXIS_IS_TMC(X)
609
-    _TMC_INIT(X, planner.settings.axis_steps_per_mm[X_AXIS]);
626
+    _TMC_INIT(X, X_AXIS, STEALTH_AXIS_XY);
610 627
   #endif
611 628
   #if AXIS_IS_TMC(X2)
612
-    _TMC_INIT(X2, planner.settings.axis_steps_per_mm[X_AXIS]);
629
+    _TMC_INIT(X2, X_AXIS, STEALTH_AXIS_XY);
613 630
   #endif
614 631
   #if AXIS_IS_TMC(Y)
615
-    _TMC_INIT(Y, planner.settings.axis_steps_per_mm[Y_AXIS]);
632
+    _TMC_INIT(Y, Y_AXIS, STEALTH_AXIS_XY);
616 633
   #endif
617 634
   #if AXIS_IS_TMC(Y2)
618
-    _TMC_INIT(Y2, planner.settings.axis_steps_per_mm[Y_AXIS]);
635
+    _TMC_INIT(Y2, Y_AXIS, STEALTH_AXIS_XY);
619 636
   #endif
620 637
   #if AXIS_IS_TMC(Z)
621
-    _TMC_INIT(Z, planner.settings.axis_steps_per_mm[Z_AXIS]);
638
+    _TMC_INIT(Z, Z_AXIS, STEALTH_AXIS_Z);
622 639
   #endif
623 640
   #if AXIS_IS_TMC(Z2)
624
-    _TMC_INIT(Z2, planner.settings.axis_steps_per_mm[Z_AXIS]);
641
+    _TMC_INIT(Z2, Z_AXIS, STEALTH_AXIS_Z);
625 642
   #endif
626 643
   #if AXIS_IS_TMC(Z3)
627
-    _TMC_INIT(Z3, planner.settings.axis_steps_per_mm[Z_AXIS]);
644
+    _TMC_INIT(Z3, Z_AXIS, STEALTH_AXIS_Z);
628 645
   #endif
629 646
   #if AXIS_IS_TMC(E0)
630
-    _TMC_INIT(E0, planner.settings.axis_steps_per_mm[E_AXIS_N(0)]);
647
+    _TMC_INIT(E0, E_AXIS, STEALTH_AXIS_E);
631 648
   #endif
632 649
   #if AXIS_IS_TMC(E1)
633
-    _TMC_INIT(E1, planner.settings.axis_steps_per_mm[E_AXIS_N(1)]);
650
+    _TMC_INIT(E1, E_AXIS_N(1), STEALTH_AXIS_E);
634 651
   #endif
635 652
   #if AXIS_IS_TMC(E2)
636
-    _TMC_INIT(E2, planner.settings.axis_steps_per_mm[E_AXIS_N(2)]);
653
+    _TMC_INIT(E2, E_AXIS_N(2), STEALTH_AXIS_E);
637 654
   #endif
638 655
   #if AXIS_IS_TMC(E3)
639
-    _TMC_INIT(E3, planner.settings.axis_steps_per_mm[E_AXIS_N(3)]);
656
+    _TMC_INIT(E3, E_AXIS_N(3), STEALTH_AXIS_E);
640 657
   #endif
641 658
   #if AXIS_IS_TMC(E4)
642
-    _TMC_INIT(E4, planner.settings.axis_steps_per_mm[E_AXIS_N(4)]);
659
+    _TMC_INIT(E4, E_AXIS_N(4), STEALTH_AXIS_E);
643 660
   #endif
644 661
   #if AXIS_IS_TMC(E5)
645
-    _TMC_INIT(E5, planner.settings.axis_steps_per_mm[E_AXIS_N(5)]);
662
+    _TMC_INIT(E5, E_AXIS_N(5), STEALTH_AXIS_E);
646 663
   #endif
647 664
 
648 665
   #if USE_SENSORLESS

+ 2
- 0
Marlin/src/pins/pins_ARCHIM2.h View File

@@ -38,6 +38,8 @@
38 38
 
39 39
 #ifndef __SAM3X8E__
40 40
   #error "Oops! Select 'Archim' in 'Tools > Board.'"
41
+#elif DISABLED(TMC_USE_SW_SPI)
42
+  #error "Archim2 requires Software SPI. Enable TMC_USE_SW_SPI in Configuration_adv.h."
41 43
 #endif
42 44
 
43 45
 #define BOARD_NAME "Archim 2.0"

+ 21
- 0
Marlin/src/pins/pins_ULTRATRONICS_PRO.h View File

@@ -56,30 +56,51 @@
56 56
 #define X_STEP_PIN         35
57 57
 #define X_DIR_PIN          34
58 58
 #define X_ENABLE_PIN       37
59
+#ifndef X_CS_PIN
60
+  #define X_CS_PIN         18
61
+#endif
59 62
 
60 63
 #define Y_STEP_PIN         22
61 64
 #define Y_DIR_PIN          23
62 65
 #define Y_ENABLE_PIN       33
66
+#ifndef Y_CS_PIN
67
+  #define Y_CS_PIN         19
68
+#endif
63 69
 
64 70
 #define Z_STEP_PIN         25
65 71
 #define Z_DIR_PIN          26
66 72
 #define Z_ENABLE_PIN       24
73
+#ifndef Z_CS_PIN
74
+  #define Z_CS_PIN         16
75
+#endif
67 76
 
68 77
 #define E0_STEP_PIN        47
69 78
 #define E0_DIR_PIN         46
70 79
 #define E0_ENABLE_PIN      48
80
+#ifndef E0_CS_PIN
81
+  #define E0_CS_PIN        17
82
+#endif
71 83
 
72 84
 #define E1_STEP_PIN        44
73 85
 #define E1_DIR_PIN         36
74 86
 #define E1_ENABLE_PIN      45
87
+#ifndef E1_CS_PIN
88
+  #define E1_CS_PIN        -1
89
+#endif
75 90
 
76 91
 #define E2_STEP_PIN        42
77 92
 #define E2_DIR_PIN         41
78 93
 #define E2_ENABLE_PIN      43
94
+#ifndef E2_CS_PIN
95
+  #define E2_CS_PIN        -1
96
+#endif
79 97
 
80 98
 #define E3_STEP_PIN        39
81 99
 #define E3_DIR_PIN         38
82 100
 #define E3_ENABLE_PIN      40
101
+#ifndef E3_CS_PIN
102
+  #define E3_CS_PIN        -1
103
+#endif
83 104
 
84 105
 //
85 106
 // Temperature Sensors

+ 2
- 2
buildroot/share/tests/megaatmega2560_tests View File

@@ -296,7 +296,7 @@ exec_test $1 $2 "Delta Config (FLSUN AC because it's complex)"
296 296
 use_example_configs SCARA
297 297
 opt_enable USE_ZMIN_PLUG FIX_MOUNTED_PROBE AUTO_BED_LEVELING_BILINEAR PAUSE_BEFORE_DEPLOY_STOW \
298 298
            EEPROM_SETTINGS EEPROM_CHITCHAT ULTIMAKERCONTROLLER \
299
-           MONITOR_DRIVER_STATUS STEALTHCHOP HYBRID_THRESHOLD SENSORLESS_HOMING
299
+           MONITOR_DRIVER_STATUS STEALTHCHOP_XY STEALTHCHOP_Z STEALTHCHOP_E HYBRID_THRESHOLD SENSORLESS_HOMING
300 300
 opt_set X_DRIVER_TYPE TMC2130
301 301
 opt_set Y_DRIVER_TYPE TMC2130
302 302
 opt_set Z_DRIVER_TYPE TMC2130
@@ -311,7 +311,7 @@ opt_set Y_DRIVER_TYPE TMC2208
311 311
 opt_set Z_DRIVER_TYPE TMC2208
312 312
 opt_set E0_DRIVER_TYPE TMC2208
313 313
 opt_disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
314
-opt_enable REPRAPWORLD_KEYPAD MONITOR_DRIVER_STATUS STEALTHCHOP HYBRID_THRESHOLD TMC_DEBUG
314
+opt_enable REPRAPWORLD_KEYPAD MONITOR_DRIVER_STATUS STEALTHCHOP_XY STEALTHCHOP_Z STEALTHCHOP_E HYBRID_THRESHOLD TMC_DEBUG
315 315
 exec_test $1 $2 "TMC2208 Config"
316 316
 #
317 317
 # tvrrug Config need to check board type for sanguino atmega644p

+ 3
- 3
platformio.ini View File

@@ -31,7 +31,7 @@ build_flags = -fmax-errors=5
31 31
 lib_deps =
32 32
   https://github.com/MarlinFirmware/U8glib-HAL/archive/dev.zip
33 33
   LiquidCrystal@1.3.4
34
-  https://github.com/teemuatlut/TMCStepper.git
34
+  TMCStepper@<1.0.0
35 35
   Adafruit NeoPixel@1.1.3
36 36
   https://github.com/lincomatic/LiquidTWI2/archive/30aa480.zip
37 37
   https://github.com/ameyer/Arduino-L6470/archive/master.zip
@@ -162,7 +162,7 @@ monitor_speed     = 250000
162 162
 lib_deps          = Servo
163 163
   LiquidCrystal
164 164
   https://github.com/MarlinFirmware/U8glib-HAL/archive/dev.zip
165
-  https://github.com/teemuatlut/TMCStepper.git
165
+  TMCStepper@<1.0.0
166 166
 
167 167
 [env:LPC1769]
168 168
 platform          = https://github.com/p3p/pio-nxplpc-arduino-lpc176x/archive/master.zip
@@ -180,7 +180,7 @@ monitor_speed     = 250000
180 180
 lib_deps          = Servo
181 181
   LiquidCrystal
182 182
   https://github.com/MarlinFirmware/U8glib-HAL/archive/dev.zip
183
-  https://github.com/teemuatlut/TMCStepper.git
183
+  TMCStepper@<1.0.0
184 184
 
185 185
 #
186 186
 # Melzi and clones (ATmega1284p)

Loading…
Cancel
Save