浏览代码

SPI chaining with TMCStepper simplified interface (#15179)

Bob Kuhn 5 年前
父节点
当前提交
178dcd6fd8
共有 100 个文件被更改,包括 2514 次插入2609 次删除
  1. 26
    26
      Marlin/Configuration_adv.h
  2. 8
    2
      Marlin/src/feature/tmc_util.h
  3. 0
    3
      Marlin/src/inc/Conditionals_adv.h
  4. 34
    45
      Marlin/src/inc/SanityCheck.h
  5. 2
    89
      Marlin/src/module/stepper/trinamic.cpp
  6. 26
    26
      config/default/Configuration_adv.h
  7. 26
    26
      config/examples/3DFabXYZ/Migbot/Configuration_adv.h
  8. 26
    26
      config/examples/ADIMLab/Gantry v1/Configuration_adv.h
  9. 26
    26
      config/examples/ADIMLab/Gantry v2/Configuration_adv.h
  10. 26
    26
      config/examples/AlephObjects/TAZ4/Configuration_adv.h
  11. 26
    26
      config/examples/Alfawise/U20-bltouch/Configuration_adv.h
  12. 26
    26
      config/examples/Alfawise/U20/Configuration_adv.h
  13. 26
    26
      config/examples/AliExpress/UM2pExt/Configuration_adv.h
  14. 26
    26
      config/examples/Anet/A2/Configuration_adv.h
  15. 26
    26
      config/examples/Anet/A2plus/Configuration_adv.h
  16. 26
    26
      config/examples/Anet/A6/Configuration_adv.h
  17. 26
    26
      config/examples/Anet/A8/Configuration_adv.h
  18. 26
    26
      config/examples/Anet/A8plus/Configuration_adv.h
  19. 26
    26
      config/examples/Anet/E16/Configuration_adv.h
  20. 26
    26
      config/examples/AnyCubic/i3/Configuration_adv.h
  21. 26
    26
      config/examples/ArmEd/Configuration_adv.h
  22. 26
    26
      config/examples/BIBO/TouchX/cyclops/Configuration_adv.h
  23. 26
    26
      config/examples/BIBO/TouchX/default/Configuration_adv.h
  24. 26
    26
      config/examples/BQ/Hephestos/Configuration_adv.h
  25. 26
    26
      config/examples/BQ/Hephestos_2/Configuration_adv.h
  26. 26
    26
      config/examples/BQ/WITBOX/Configuration_adv.h
  27. 26
    26
      config/examples/Cartesio/Configuration_adv.h
  28. 26
    26
      config/examples/Creality/CR-10/Configuration_adv.h
  29. 26
    26
      config/examples/Creality/CR-10S/Configuration_adv.h
  30. 26
    26
      config/examples/Creality/CR-10_5S/Configuration_adv.h
  31. 26
    26
      config/examples/Creality/CR-10mini/Configuration_adv.h
  32. 26
    26
      config/examples/Creality/CR-20 Pro/Configuration_adv.h
  33. 26
    26
      config/examples/Creality/CR-20/Configuration_adv.h
  34. 26
    26
      config/examples/Creality/CR-8/Configuration_adv.h
  35. 26
    26
      config/examples/Creality/Ender-2/Configuration_adv.h
  36. 26
    26
      config/examples/Creality/Ender-3/Configuration_adv.h
  37. 26
    26
      config/examples/Creality/Ender-4/Configuration_adv.h
  38. 26
    26
      config/examples/Creality/Ender-5/Configuration_adv.h
  39. 26
    26
      config/examples/Dagoma/Disco Ultimate/Configuration_adv.h
  40. 26
    26
      config/examples/EVNOVO (Artillery)/Sidewinder X1/Configuration_adv.h
  41. 26
    26
      config/examples/Einstart-S/Configuration_adv.h
  42. 26
    26
      config/examples/FYSETC/AIO_II/Configuration_adv.h
  43. 26
    26
      config/examples/FYSETC/Cheetah 1.2/BLTouch/Configuration_adv.h
  44. 26
    26
      config/examples/FYSETC/Cheetah 1.2/base/Configuration_adv.h
  45. 26
    26
      config/examples/FYSETC/Cheetah/BLTouch/Configuration_adv.h
  46. 26
    26
      config/examples/FYSETC/Cheetah/base/Configuration_adv.h
  47. 26
    26
      config/examples/FYSETC/F6_13/Configuration_adv.h
  48. 26
    26
      config/examples/Felix/Configuration_adv.h
  49. 26
    26
      config/examples/FlashForge/CreatorPro/Configuration_adv.h
  50. 26
    26
      config/examples/FolgerTech/i3-2020/Configuration_adv.h
  51. 26
    26
      config/examples/Formbot/Raptor/Configuration_adv.h
  52. 26
    26
      config/examples/Formbot/T_Rex_2+/Configuration_adv.h
  53. 26
    26
      config/examples/Formbot/T_Rex_3/Configuration_adv.h
  54. 26
    26
      config/examples/Geeetech/A10/Configuration_adv.h
  55. 26
    26
      config/examples/Geeetech/A10M/Configuration_adv.h
  56. 26
    26
      config/examples/Geeetech/A20M/Configuration_adv.h
  57. 26
    26
      config/examples/Geeetech/MeCreator2/Configuration_adv.h
  58. 26
    26
      config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h
  59. 26
    26
      config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h
  60. 26
    26
      config/examples/HMS434/Configuration_adv.h
  61. 26
    26
      config/examples/Infitary/i3-M508/Configuration_adv.h
  62. 26
    26
      config/examples/JGAurora/A1/Configuration_adv.h
  63. 26
    26
      config/examples/JGAurora/A5/Configuration_adv.h
  64. 26
    26
      config/examples/JGAurora/A5S/Configuration_adv.h
  65. 26
    26
      config/examples/MakerParts/Configuration_adv.h
  66. 26
    26
      config/examples/Malyan/M150/Configuration_adv.h
  67. 26
    26
      config/examples/Malyan/M200/Configuration_adv.h
  68. 26
    26
      config/examples/Micromake/C1/enhanced/Configuration_adv.h
  69. 26
    26
      config/examples/Mks/Robin/Configuration_adv.h
  70. 26
    26
      config/examples/Mks/Sbase/Configuration_adv.h
  71. 26
    26
      config/examples/RapideLite/RL200/Configuration_adv.h
  72. 26
    26
      config/examples/RigidBot/Configuration_adv.h
  73. 26
    26
      config/examples/SCARA/Configuration_adv.h
  74. 26
    26
      config/examples/STM32/Black_STM32F407VET6/Configuration_adv.h
  75. 26
    26
      config/examples/Sanguinololu/Configuration_adv.h
  76. 26
    26
      config/examples/Tevo/Michelangelo/Configuration_adv.h
  77. 26
    26
      config/examples/Tevo/Tarantula Pro/Configuration_adv.h
  78. 26
    26
      config/examples/Tevo/Tornado/V1 (MKS Base)/Configuration_adv.h
  79. 26
    26
      config/examples/Tevo/Tornado/V2 (MKS GEN-L)/Configuration_adv.h
  80. 26
    26
      config/examples/TheBorg/Configuration_adv.h
  81. 26
    26
      config/examples/TinyBoy2/Configuration_adv.h
  82. 26
    26
      config/examples/Tronxy/X3A/Configuration_adv.h
  83. 26
    26
      config/examples/Tronxy/X5S-2E/Configuration_adv.h
  84. 26
    26
      config/examples/UltiMachine/Archim1/Configuration_adv.h
  85. 26
    26
      config/examples/UltiMachine/Archim2/Configuration_adv.h
  86. 26
    26
      config/examples/VORONDesign/Configuration_adv.h
  87. 26
    26
      config/examples/Velleman/K8200/Configuration_adv.h
  88. 26
    26
      config/examples/Velleman/K8400/Configuration_adv.h
  89. 26
    26
      config/examples/WASP/PowerWASP/Configuration_adv.h
  90. 26
    26
      config/examples/Wanhao/Duplicator 6/Configuration_adv.h
  91. 26
    26
      config/examples/Wanhao/Duplicator i3 Mini/Configuration_adv.h
  92. 26
    26
      config/examples/delta/Anycubic/Kossel/Configuration_adv.h
  93. 26
    26
      config/examples/delta/Dreammaker/Overlord/Configuration_adv.h
  94. 26
    26
      config/examples/delta/Dreammaker/Overlord_Pro/Configuration_adv.h
  95. 26
    26
      config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h
  96. 26
    26
      config/examples/delta/FLSUN/kossel/Configuration_adv.h
  97. 26
    26
      config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h
  98. 26
    26
      config/examples/delta/Geeetech/Rostock 301/Configuration_adv.h
  99. 26
    26
      config/examples/delta/MKS/SBASE/Configuration_adv.h
  100. 0
    0
      config/examples/delta/Tevo Little Monster/Configuration_adv.h

+ 26
- 26
Marlin/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 8
- 2
Marlin/src/feature/tmc_util.h 查看文件

@@ -103,9 +103,15 @@ class TMCMarlin : public TMC, public TMCStorage<AXIS_LETTER, DRIVER_ID> {
103 103
     TMCMarlin(const uint16_t cs_pin, const float RS) :
104 104
       TMC(cs_pin, RS)
105 105
       {}
106
+    TMCMarlin(const uint16_t cs_pin, const float RS, const uint8_t axis_chain_index) :
107
+      TMC(cs_pin, RS, axis_chain_index)
108
+      {}
106 109
     TMCMarlin(const uint16_t CS, const float RS, const uint16_t pinMOSI, const uint16_t pinMISO, const uint16_t pinSCK) :
107 110
       TMC(CS, RS, pinMOSI, pinMISO, pinSCK)
108 111
       {}
112
+    TMCMarlin(const uint16_t CS, const float RS, const uint16_t pinMOSI, const uint16_t pinMISO, const uint16_t pinSCK, const uint8_t axis_chain_index) :
113
+      TMC(CS, RS, pinMOSI, pinMISO, pinSCK,  axis_chain_index)
114
+      {}
109 115
     inline uint16_t rms_current() { return TMC::rms_current(); }
110 116
     inline void rms_current(uint16_t mA) {
111 117
       this->val_mA = mA;
@@ -267,10 +273,10 @@ class TMCMarlin<TMC2209Stepper, AXIS_LETTER, DRIVER_ID, AXIS_ID> : public TMC220
267 273
 template<char AXIS_LETTER, char DRIVER_ID, AxisEnum AXIS_ID>
268 274
 class TMCMarlin<TMC2660Stepper, AXIS_LETTER, DRIVER_ID, AXIS_ID> : public TMC2660Stepper, public TMCStorage<AXIS_LETTER, DRIVER_ID> {
269 275
   public:
270
-    TMCMarlin(const uint16_t cs_pin, const float RS) :
276
+    TMCMarlin(const uint16_t cs_pin, const float RS, const uint8_t) :
271 277
       TMC2660Stepper(cs_pin, RS)
272 278
       {}
273
-    TMCMarlin(const uint16_t CS, const float RS, const uint16_t pinMOSI, const uint16_t pinMISO, const uint16_t pinSCK) :
279
+    TMCMarlin(const uint16_t CS, const float RS, const uint16_t pinMOSI, const uint16_t pinMISO, const uint16_t pinSCK, const uint8_t) :
274 280
       TMC2660Stepper(CS, RS, pinMOSI, pinMISO, pinSCK)
275 281
       {}
276 282
     inline uint16_t rms_current() { return TMC2660Stepper::rms_current(); }

+ 0
- 3
Marlin/src/inc/Conditionals_adv.h 查看文件

@@ -131,9 +131,6 @@
131 131
 // Extensible UI pin mapping for RepRapDiscount
132 132
 #define TOUCH_UI_ULTIPANEL ENABLED(LULZBOT_TOUCH_UI) && ANY(AO_EXP1_PINMAP, AO_EXP2_PINMAP, CR10_TFT_PINMAP)
133 133
 
134
-// TMC SPI Chaining
135
-#define TMC_USE_CHAIN (X_CHAIN_POS||Y_CHAIN_POS||Z_CHAIN_POS||X2_CHAIN_POS||Y2_CHAIN_POS||Z2_CHAIN_POS||Z3_CHAIN_POS||E0_CHAIN_POS||E1_CHAIN_POS||E2_CHAIN_POS||E3_CHAIN_POS||E4_CHAIN_POS||E5_CHAIN_POS)
136
-
137 134
 // Poll-based jogging for joystick and other devices
138 135
 #if ENABLED(JOYSTICK)
139 136
   #define POLL_JOG

+ 34
- 45
Marlin/src/inc/SanityCheck.h 查看文件

@@ -2157,69 +2157,58 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
2157 2157
   #error "STEALTHCHOP requires TMC2130, TMC2160, TMC2208, TMC2209, or TMC5160 stepper drivers."
2158 2158
 #endif
2159 2159
 
2160
-#if TMC_USE_CHAIN
2161
-  #if  (X_CHAIN_POS  && !PIN_EXISTS(X_CS) ) \
2162
-    || (Y_CHAIN_POS  && !PIN_EXISTS(Y_CS) ) \
2163
-    || (Z_CHAIN_POS  && !PIN_EXISTS(Z_CS) ) \
2164
-    || (X2_CHAIN_POS && !PIN_EXISTS(X2_CS)) \
2165
-    || (Y2_CHAIN_POS && !PIN_EXISTS(Y2_CS)) \
2166
-    || (Z2_CHAIN_POS && !PIN_EXISTS(Z2_CS)) \
2167
-    || (Z3_CHAIN_POS && !PIN_EXISTS(Z3_CS)) \
2168
-    || (E0_CHAIN_POS && !PIN_EXISTS(E0_CS)) \
2169
-    || (E1_CHAIN_POS && !PIN_EXISTS(E1_CS)) \
2170
-    || (E2_CHAIN_POS && !PIN_EXISTS(E2_CS)) \
2171
-    || (E3_CHAIN_POS && !PIN_EXISTS(E3_CS)) \
2172
-    || (E4_CHAIN_POS && !PIN_EXISTS(E4_CS)) \
2173
-    || (E5_CHAIN_POS && !PIN_EXISTS(E5_CS))
2174
-    #error "With TMC_USE_CHAIN all chained TMC drivers need a CS pin."
2160
+#define IN_CHAIN(A) (A##_CHAIN_POS > 0)
2161
+// TMC SPI Chaining
2162
+#if IN_CHAIN(X) || IN_CHAIN(Y) || IN_CHAIN(Z) || IN_CHAIN(X2) || IN_CHAIN(Y2) || IN_CHAIN(Z2) || IN_CHAIN(Z3) || IN_CHAIN(E0) || IN_CHAIN(E1) || IN_CHAIN(E2) || IN_CHAIN(E3) || IN_CHAIN(E4) || IN_CHAIN(E5)
2163
+  #if  (IN_CHAIN(X)  && !PIN_EXISTS(X_CS) ) || (IN_CHAIN(Y)  && !PIN_EXISTS(Y_CS) ) \
2164
+    || (IN_CHAIN(Z)  && !PIN_EXISTS(Z_CS) ) || (IN_CHAIN(X2) && !PIN_EXISTS(X2_CS)) \
2165
+    || (IN_CHAIN(Y2) && !PIN_EXISTS(Y2_CS)) || (IN_CHAIN(Z2) && !PIN_EXISTS(Z2_CS)) \
2166
+    || (IN_CHAIN(Z3) && !PIN_EXISTS(Z3_CS)) || (IN_CHAIN(E0) && !PIN_EXISTS(E0_CS)) \
2167
+    || (IN_CHAIN(E1) && !PIN_EXISTS(E1_CS)) || (IN_CHAIN(E2) && !PIN_EXISTS(E2_CS)) \
2168
+    || (IN_CHAIN(E3) && !PIN_EXISTS(E3_CS)) || (IN_CHAIN(E4) && !PIN_EXISTS(E4_CS)) \
2169
+    || (IN_CHAIN(E5) && !PIN_EXISTS(E5_CS))
2170
+    #error "All chained TMC drivers need a CS pin."
2175 2171
   #else
2176
-    #if X_CHAIN_POS
2172
+    #if IN_CHAIN(X)
2177 2173
       #define CS_COMPARE X_CS_PIN
2178
-    #elif Y_CHAIN_POS
2174
+    #elif IN_CHAIN(Y)
2179 2175
       #define CS_COMPARE Y_CS_PIN
2180
-    #elif Z_CHAIN_POS
2176
+    #elif IN_CHAIN(Z)
2181 2177
       #define CS_COMPARE Z_CS_PIN
2182
-    #elif X2_CHAIN_POS
2178
+    #elif IN_CHAIN(X2)
2183 2179
       #define CS_COMPARE X2_CS_PIN
2184
-    #elif Y2_CHAIN_POS
2180
+    #elif IN_CHAIN(Y2)
2185 2181
       #define CS_COMPARE Y2_CS_PIN
2186
-    #elif Z2_CHAIN_POS
2182
+    #elif IN_CHAIN(Z2)
2187 2183
       #define CS_COMPARE Z2_CS_PIN
2188
-    #elif Z3_CHAIN_POS
2184
+    #elif IN_CHAIN(Z3)
2189 2185
       #define CS_COMPARE Z3_CS_PIN
2190
-    #elif E0_CHAIN_POS
2186
+    #elif IN_CHAIN(E0)
2191 2187
       #define CS_COMPARE E0_CS_PIN
2192
-    #elif E1_CHAIN_POS
2188
+    #elif IN_CHAIN(E1)
2193 2189
       #define CS_COMPARE E1_CS_PIN
2194
-    #elif E2_CHAIN_POS
2190
+    #elif IN_CHAIN(E2)
2195 2191
       #define CS_COMPARE E2_CS_PIN
2196
-    #elif E3_CHAIN_POS
2192
+    #elif IN_CHAIN(E3)
2197 2193
       #define CS_COMPARE E3_CS_PIN
2198
-    #elif E4_CHAIN_POS
2194
+    #elif IN_CHAIN(E4)
2199 2195
       #define CS_COMPARE E4_CS_PIN
2200
-    #elif E5_CHAIN_POS
2196
+    #elif IN_CHAIN(E5)
2201 2197
       #define CS_COMPARE E5_CS_PIN
2202
-    #else
2203
-      #error "With TMC_USE_CHAIN some TMC drivers should be chained."
2204 2198
     #endif
2205
-    #if  (X_CHAIN_POS  && X_CS_PIN  != CS_COMPARE) \
2206
-      || (Y_CHAIN_POS  && Y_CS_PIN  != CS_COMPARE) \
2207
-      || (Z_CHAIN_POS  && Z_CS_PIN  != CS_COMPARE) \
2208
-      || (X2_CHAIN_POS && X2_CS_PIN != CS_COMPARE) \
2209
-      || (Y2_CHAIN_POS && Y2_CS_PIN != CS_COMPARE) \
2210
-      || (Z2_CHAIN_POS && Z2_CS_PIN != CS_COMPARE) \
2211
-      || (Z3_CHAIN_POS && Z3_CS_PIN != CS_COMPARE) \
2212
-      || (E0_CHAIN_POS && E0_CS_PIN != CS_COMPARE) \
2213
-      || (E1_CHAIN_POS && E1_CS_PIN != CS_COMPARE) \
2214
-      || (E2_CHAIN_POS && E2_CS_PIN != CS_COMPARE) \
2215
-      || (E3_CHAIN_POS && E3_CS_PIN != CS_COMPARE) \
2216
-      || (E4_CHAIN_POS && E4_CS_PIN != CS_COMPARE) \
2217
-      || (E5_CHAIN_POS && E5_CS_PIN != CS_COMPARE)
2218
-      #error "With TMC_USE_CHAIN all TMC drivers must use the same CS pin."
2199
+    #if  (IN_CHAIN(X)  && X_CS_PIN  != CS_COMPARE) || (IN_CHAIN(Y)  && Y_CS_PIN  != CS_COMPARE) \
2200
+      || (IN_CHAIN(Z)  && Z_CS_PIN  != CS_COMPARE) || (IN_CHAIN(X2) && X2_CS_PIN != CS_COMPARE) \
2201
+      || (IN_CHAIN(Y2) && Y2_CS_PIN != CS_COMPARE) || (IN_CHAIN(Z2) && Z2_CS_PIN != CS_COMPARE) \
2202
+      || (IN_CHAIN(Z3) && Z3_CS_PIN != CS_COMPARE) || (IN_CHAIN(E0) && E0_CS_PIN != CS_COMPARE) \
2203
+      || (IN_CHAIN(E1) && E1_CS_PIN != CS_COMPARE) || (IN_CHAIN(E2) && E2_CS_PIN != CS_COMPARE) \
2204
+      || (IN_CHAIN(E3) && E3_CS_PIN != CS_COMPARE) || (IN_CHAIN(E4) && E4_CS_PIN != CS_COMPARE) \
2205
+      || (IN_CHAIN(E5) && E5_CS_PIN != CS_COMPARE)
2206
+      #error "All chained TMC drivers must use the same CS pin."
2219 2207
     #endif
2220 2208
   #endif
2221 2209
   #undef CS_COMPARE
2222
-#endif // TMC_USE_CHAIN
2210
+#endif
2211
+#undef IN_CHAIN
2223 2212
 
2224 2213
 #if ENABLED(DELTA) && (ENABLED(STEALTHCHOP_XY) != ENABLED(STEALTHCHOP_Z))
2225 2214
   #error "STEALTHCHOP_XY and STEALTHCHOP_Z must be the same on DELTA."

+ 2
- 89
Marlin/src/module/stepper/trinamic.cpp 查看文件

@@ -44,9 +44,9 @@ enum StealthIndex : uint8_t { STEALTH_AXIS_XY, STEALTH_AXIS_Z, STEALTH_AXIS_E };
44 44
 //   AI = Axis Enum Index
45 45
 // SWHW = SW/SH UART selection
46 46
 #if ENABLED(TMC_USE_SW_SPI)
47
-  #define __TMC_SPI_DEFINE(IC, ST, L, AI) TMCMarlin<IC##Stepper, L, AI> stepper##ST(ST##_CS_PIN, ST##_RSENSE, TMC_SW_MOSI, TMC_SW_MISO, TMC_SW_SCK)
47
+  #define __TMC_SPI_DEFINE(IC, ST, L, AI) TMCMarlin<IC##Stepper, L, AI> stepper##ST(ST##_CS_PIN, ST##_RSENSE, TMC_SW_MOSI, TMC_SW_MISO, TMC_SW_SCK, ST##_CHAIN_POS)
48 48
 #else
49
-  #define __TMC_SPI_DEFINE(IC, ST, L, AI) TMCMarlin<IC##Stepper, L, AI> stepper##ST(ST##_CS_PIN, ST##_RSENSE)
49
+  #define __TMC_SPI_DEFINE(IC, ST, L, AI) TMCMarlin<IC##Stepper, L, AI> stepper##ST(ST##_CS_PIN, ST##_RSENSE, ST##_CHAIN_POS)
50 50
 #endif
51 51
 
52 52
 #define TMC_UART_HW_DEFINE(IC, ST, L, AI) TMCMarlin<IC##Stepper, L, AI> stepper##ST(&ST##_HARDWARE_SERIAL, ST##_RSENSE, ST##_SLAVE_ADDRESS)
@@ -653,93 +653,6 @@ void reset_trinamic_drivers() {
653 653
     #endif
654 654
   };
655 655
 
656
-  #if TMC_USE_CHAIN
657
-
658
-    enum TMC_axis_enum : unsigned char { _, X, Y, Z, X2, Y2, Z2, Z3, E0, E1, E2, E3, E4, E5 };
659
-    #define __TMC_CHAIN(Q,V) do{ stepper##Q.set_chain_info(Q,V); }while(0)
660
-    #define _TMC_CHAIN(Q) __TMC_CHAIN(Q, Q##_CHAIN_POS)
661
-
662
-    #if AXIS_HAS_SPI(X)                  // First set chain array to uninitialized
663
-      __TMC_CHAIN(X, 0);
664
-    #endif
665
-    #if AXIS_HAS_SPI(X2)
666
-      __TMC_CHAIN(X2, 0);
667
-    #endif
668
-    #if AXIS_HAS_SPI(Y)
669
-      __TMC_CHAIN(Y, 0);
670
-    #endif
671
-    #if AXIS_HAS_SPI(Y2)
672
-      __TMC_CHAIN(Y2, 0);
673
-    #endif
674
-    #if AXIS_HAS_SPI(Z)
675
-      __TMC_CHAIN(Z, 0);
676
-    #endif
677
-    #if AXIS_HAS_SPI(Z2)
678
-      __TMC_CHAIN(Z2, 0);
679
-    #endif
680
-    #if AXIS_HAS_SPI(Z3)
681
-      __TMC_CHAIN(Z3, 0);
682
-    #endif
683
-    #if AXIS_HAS_SPI(E0)
684
-      __TMC_CHAIN(E0, 0);
685
-    #endif
686
-    #if AXIS_HAS_SPI(E1)
687
-      __TMC_CHAIN(E1, 0);
688
-    #endif
689
-    #if AXIS_HAS_SPI(E2)
690
-      __TMC_CHAIN(E2, 0);
691
-    #endif
692
-    #if AXIS_HAS_SPI(E3)
693
-      __TMC_CHAIN(E3, 0);
694
-    #endif
695
-    #if AXIS_HAS_SPI(E4)
696
-      __TMC_CHAIN(E4, 0);
697
-    #endif
698
-    #if AXIS_HAS_SPI(E5)
699
-      __TMC_CHAIN(E5, 0);
700
-    #endif
701
-
702
-    #if AXIS_HAS_SPI(X) && X_CHAIN_POS             // Now set up the SPI chain
703
-      _TMC_CHAIN(X);
704
-    #endif
705
-    #if AXIS_HAS_SPI(X2) && X2_CHAIN_POS
706
-      _TMC_CHAIN(X2);
707
-    #endif
708
-    #if AXIS_HAS_SPI(Y) && Y_CHAIN_POS
709
-      _TMC_CHAIN(Y);
710
-    #endif
711
-    #if AXIS_HAS_SPI(Y2) && Y2_CHAIN_POS
712
-      _TMC_CHAIN(Y2);
713
-    #endif
714
-    #if AXIS_HAS_SPI(Z) && Z_CHAIN_POS
715
-      _TMC_CHAIN(Z);
716
-    #endif
717
-    #if AXIS_HAS_SPI(Z2) && Z2_CHAIN_POS
718
-      _TMC_CHAIN(Z2);
719
-    #endif
720
-    #if AXIS_HAS_SPI(Z3) && Z3_CHAIN_POS
721
-      _TMC_CHAIN(Z3);
722
-    #endif
723
-    #if AXIS_HAS_SPI(E0) && E0_CHAIN_POS
724
-      _TMC_CHAIN(E0);
725
-    #endif
726
-    #if AXIS_HAS_SPI(E1) && E1_CHAIN_POS
727
-      _TMC_CHAIN(E1);
728
-    #endif
729
-    #if AXIS_HAS_SPI(E2) && E2_CHAIN_POS
730
-      _TMC_CHAIN(E2);
731
-    #endif
732
-    #if AXIS_HAS_SPI(E3) && E3_CHAIN_POS
733
-      _TMC_CHAIN(E3);
734
-    #endif
735
-    #if AXIS_HAS_SPI(E4) && E4_CHAIN_POS
736
-      _TMC_CHAIN(E4);
737
-    #endif
738
-    #if AXIS_HAS_SPI(E5) && E5_CHAIN_POS
739
-      _TMC_CHAIN(E5);
740
-    #endif
741
-  #endif // TMC_USE_CHAIN
742
-
743 656
   #if AXIS_IS_TMC(X)
744 657
     _TMC_INIT(X, STEALTH_AXIS_XY);
745 658
   #endif

+ 26
- 26
config/default/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/3DFabXYZ/Migbot/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/ADIMLab/Gantry v1/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/ADIMLab/Gantry v2/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/AlephObjects/TAZ4/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/Alfawise/U20-bltouch/Configuration_adv.h 查看文件

@@ -1802,91 +1802,91 @@
1802 1802
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1803 1803
     #define X_MICROSTEPS   16  // 0..256
1804 1804
     #define X_RSENSE     0.11
1805
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1805
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1806 1806
   #endif
1807 1807
 
1808 1808
   #if AXIS_IS_TMC(X2)
1809 1809
     #define X2_CURRENT    800
1810 1810
     #define X2_MICROSTEPS  16
1811 1811
     #define X2_RSENSE    0.11
1812
-    #define X2_CHAIN_POS    0
1812
+    #define X2_CHAIN_POS   -1
1813 1813
   #endif
1814 1814
 
1815 1815
   #if AXIS_IS_TMC(Y)
1816 1816
     #define Y_CURRENT     800
1817 1817
     #define Y_MICROSTEPS   16
1818 1818
     #define Y_RSENSE     0.11
1819
-    #define Y_CHAIN_POS     0
1819
+    #define Y_CHAIN_POS    -1
1820 1820
   #endif
1821 1821
 
1822 1822
   #if AXIS_IS_TMC(Y2)
1823 1823
     #define Y2_CURRENT    800
1824 1824
     #define Y2_MICROSTEPS  16
1825 1825
     #define Y2_RSENSE    0.11
1826
-    #define Y2_CHAIN_POS    0
1826
+    #define Y2_CHAIN_POS   -1
1827 1827
   #endif
1828 1828
 
1829 1829
   #if AXIS_IS_TMC(Z)
1830 1830
     #define Z_CURRENT     800
1831 1831
     #define Z_MICROSTEPS   16
1832 1832
     #define Z_RSENSE     0.11
1833
-    #define Z_CHAIN_POS     0
1833
+    #define Z_CHAIN_POS    -1
1834 1834
   #endif
1835 1835
 
1836 1836
   #if AXIS_IS_TMC(Z2)
1837 1837
     #define Z2_CURRENT    800
1838 1838
     #define Z2_MICROSTEPS  16
1839 1839
     #define Z2_RSENSE    0.11
1840
-    #define Z2_CHAIN_POS    0
1840
+    #define Z2_CHAIN_POS   -1
1841 1841
   #endif
1842 1842
 
1843 1843
   #if AXIS_IS_TMC(Z3)
1844 1844
     #define Z3_CURRENT    800
1845 1845
     #define Z3_MICROSTEPS  16
1846 1846
     #define Z3_RSENSE    0.11
1847
-    #define Z3_CHAIN_POS    0
1847
+    #define Z3_CHAIN_POS   -1
1848 1848
   #endif
1849 1849
 
1850 1850
   #if AXIS_IS_TMC(E0)
1851 1851
     #define E0_CURRENT    800
1852 1852
     #define E0_MICROSTEPS  16
1853 1853
     #define E0_RSENSE    0.11
1854
-    #define E0_CHAIN_POS    0
1854
+    #define E0_CHAIN_POS   -1
1855 1855
   #endif
1856 1856
 
1857 1857
   #if AXIS_IS_TMC(E1)
1858 1858
     #define E1_CURRENT    800
1859 1859
     #define E1_MICROSTEPS  16
1860 1860
     #define E1_RSENSE    0.11
1861
-    #define E1_CHAIN_POS    0
1861
+    #define E1_CHAIN_POS   -1
1862 1862
   #endif
1863 1863
 
1864 1864
   #if AXIS_IS_TMC(E2)
1865 1865
     #define E2_CURRENT    800
1866 1866
     #define E2_MICROSTEPS  16
1867 1867
     #define E2_RSENSE    0.11
1868
-    #define E2_CHAIN_POS    0
1868
+    #define E2_CHAIN_POS   -1
1869 1869
   #endif
1870 1870
 
1871 1871
   #if AXIS_IS_TMC(E3)
1872 1872
     #define E3_CURRENT    800
1873 1873
     #define E3_MICROSTEPS  16
1874 1874
     #define E3_RSENSE    0.11
1875
-    #define E3_CHAIN_POS    0
1875
+    #define E3_CHAIN_POS   -1
1876 1876
   #endif
1877 1877
 
1878 1878
   #if AXIS_IS_TMC(E4)
1879 1879
     #define E4_CURRENT    800
1880 1880
     #define E4_MICROSTEPS  16
1881 1881
     #define E4_RSENSE    0.11
1882
-    #define E4_CHAIN_POS    0
1882
+    #define E4_CHAIN_POS   -1
1883 1883
   #endif
1884 1884
 
1885 1885
   #if AXIS_IS_TMC(E5)
1886 1886
     #define E5_CURRENT    800
1887 1887
     #define E5_MICROSTEPS  16
1888 1888
     #define E5_RSENSE    0.11
1889
-    #define E5_CHAIN_POS    0
1889
+    #define E5_CHAIN_POS   -1
1890 1890
   #endif
1891 1891
 
1892 1892
   /**
@@ -2112,7 +2112,7 @@
2112 2112
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2113 2113
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2114 2114
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2115
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2115
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2116 2116
   #endif
2117 2117
 
2118 2118
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2120,7 +2120,7 @@
2120 2120
     #define X2_OVERCURRENT    2000
2121 2121
     #define X2_STALLCURRENT   1500
2122 2122
     #define X2_MAX_VOLTAGE     127
2123
-    #define X2_CHAIN_POS         0
2123
+    #define X2_CHAIN_POS        -1
2124 2124
   #endif
2125 2125
 
2126 2126
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2128,7 +2128,7 @@
2128 2128
     #define Y_OVERCURRENT     2000
2129 2129
     #define Y_STALLCURRENT    1500
2130 2130
     #define Y_MAX_VOLTAGE      127
2131
-    #define Y_CHAIN_POS          0
2131
+    #define Y_CHAIN_POS         -1
2132 2132
   #endif
2133 2133
 
2134 2134
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2136,7 +2136,7 @@
2136 2136
     #define Y2_OVERCURRENT    2000
2137 2137
     #define Y2_STALLCURRENT   1500
2138 2138
     #define Y2_MAX_VOLTAGE     127
2139
-    #define Y2_CHAIN_POS         0
2139
+    #define Y2_CHAIN_POS        -1
2140 2140
   #endif
2141 2141
 
2142 2142
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2144,7 +2144,7 @@
2144 2144
     #define Z_OVERCURRENT     2000
2145 2145
     #define Z_STALLCURRENT    1500
2146 2146
     #define Z_MAX_VOLTAGE      127
2147
-    #define Z_CHAIN_POS          0
2147
+    #define Z_CHAIN_POS         -1
2148 2148
   #endif
2149 2149
 
2150 2150
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2152,7 +2152,7 @@
2152 2152
     #define Z2_OVERCURRENT    2000
2153 2153
     #define Z2_STALLCURRENT   1500
2154 2154
     #define Z2_MAX_VOLTAGE     127
2155
-    #define Z2_CHAIN_POS         0
2155
+    #define Z2_CHAIN_POS        -1
2156 2156
   #endif
2157 2157
 
2158 2158
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2160,7 +2160,7 @@
2160 2160
     #define Z3_OVERCURRENT    2000
2161 2161
     #define Z3_STALLCURRENT   1500
2162 2162
     #define Z3_MAX_VOLTAGE     127
2163
-    #define Z3_CHAIN_POS         0
2163
+    #define Z3_CHAIN_POS        -1
2164 2164
   #endif
2165 2165
 
2166 2166
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2168,7 +2168,7 @@
2168 2168
     #define E0_OVERCURRENT    2000
2169 2169
     #define E0_STALLCURRENT   1500
2170 2170
     #define E0_MAX_VOLTAGE     127
2171
-    #define E0_CHAIN_POS         0
2171
+    #define E0_CHAIN_POS        -1
2172 2172
   #endif
2173 2173
 
2174 2174
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2176,7 +2176,7 @@
2176 2176
     #define E1_OVERCURRENT    2000
2177 2177
     #define E1_STALLCURRENT   1500
2178 2178
     #define E1_MAX_VOLTAGE     127
2179
-    #define E1_CHAIN_POS         0
2179
+    #define E1_CHAIN_POS        -1
2180 2180
   #endif
2181 2181
 
2182 2182
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2184,7 +2184,7 @@
2184 2184
     #define E2_OVERCURRENT    2000
2185 2185
     #define E2_STALLCURRENT   1500
2186 2186
     #define E2_MAX_VOLTAGE     127
2187
-    #define E2_CHAIN_POS         0
2187
+    #define E2_CHAIN_POS        -1
2188 2188
   #endif
2189 2189
 
2190 2190
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2192,7 +2192,7 @@
2192 2192
     #define E3_OVERCURRENT    2000
2193 2193
     #define E3_STALLCURRENT   1500
2194 2194
     #define E3_MAX_VOLTAGE     127
2195
-    #define E3_CHAIN_POS         0
2195
+    #define E3_CHAIN_POS        -1
2196 2196
   #endif
2197 2197
 
2198 2198
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2200,7 +2200,7 @@
2200 2200
     #define E4_OVERCURRENT    2000
2201 2201
     #define E4_STALLCURRENT   1500
2202 2202
     #define E4_MAX_VOLTAGE     127
2203
-    #define E4_CHAIN_POS         0
2203
+    #define E4_CHAIN_POS        -1
2204 2204
   #endif
2205 2205
 
2206 2206
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2208,7 +2208,7 @@
2208 2208
     #define E5_OVERCURRENT    2000
2209 2209
     #define E5_STALLCURRENT   1500
2210 2210
     #define E5_MAX_VOLTAGE     127
2211
-    #define E5_CHAIN_POS         0
2211
+    #define E5_CHAIN_POS        -1
2212 2212
   #endif
2213 2213
 
2214 2214
   /**

+ 26
- 26
config/examples/Alfawise/U20/Configuration_adv.h 查看文件

@@ -1801,91 +1801,91 @@
1801 1801
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1802 1802
     #define X_MICROSTEPS   16  // 0..256
1803 1803
     #define X_RSENSE     0.11
1804
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1804
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1805 1805
   #endif
1806 1806
 
1807 1807
   #if AXIS_IS_TMC(X2)
1808 1808
     #define X2_CURRENT    800
1809 1809
     #define X2_MICROSTEPS  16
1810 1810
     #define X2_RSENSE    0.11
1811
-    #define X2_CHAIN_POS    0
1811
+    #define X2_CHAIN_POS   -1
1812 1812
   #endif
1813 1813
 
1814 1814
   #if AXIS_IS_TMC(Y)
1815 1815
     #define Y_CURRENT     800
1816 1816
     #define Y_MICROSTEPS   16
1817 1817
     #define Y_RSENSE     0.11
1818
-    #define Y_CHAIN_POS     0
1818
+    #define Y_CHAIN_POS    -1
1819 1819
   #endif
1820 1820
 
1821 1821
   #if AXIS_IS_TMC(Y2)
1822 1822
     #define Y2_CURRENT    800
1823 1823
     #define Y2_MICROSTEPS  16
1824 1824
     #define Y2_RSENSE    0.11
1825
-    #define Y2_CHAIN_POS    0
1825
+    #define Y2_CHAIN_POS   -1
1826 1826
   #endif
1827 1827
 
1828 1828
   #if AXIS_IS_TMC(Z)
1829 1829
     #define Z_CURRENT     800
1830 1830
     #define Z_MICROSTEPS   16
1831 1831
     #define Z_RSENSE     0.11
1832
-    #define Z_CHAIN_POS     0
1832
+    #define Z_CHAIN_POS    -1
1833 1833
   #endif
1834 1834
 
1835 1835
   #if AXIS_IS_TMC(Z2)
1836 1836
     #define Z2_CURRENT    800
1837 1837
     #define Z2_MICROSTEPS  16
1838 1838
     #define Z2_RSENSE    0.11
1839
-    #define Z2_CHAIN_POS    0
1839
+    #define Z2_CHAIN_POS   -1
1840 1840
   #endif
1841 1841
 
1842 1842
   #if AXIS_IS_TMC(Z3)
1843 1843
     #define Z3_CURRENT    800
1844 1844
     #define Z3_MICROSTEPS  16
1845 1845
     #define Z3_RSENSE    0.11
1846
-    #define Z3_CHAIN_POS    0
1846
+    #define Z3_CHAIN_POS   -1
1847 1847
   #endif
1848 1848
 
1849 1849
   #if AXIS_IS_TMC(E0)
1850 1850
     #define E0_CURRENT    800
1851 1851
     #define E0_MICROSTEPS  16
1852 1852
     #define E0_RSENSE    0.11
1853
-    #define E0_CHAIN_POS    0
1853
+    #define E0_CHAIN_POS   -1
1854 1854
   #endif
1855 1855
 
1856 1856
   #if AXIS_IS_TMC(E1)
1857 1857
     #define E1_CURRENT    800
1858 1858
     #define E1_MICROSTEPS  16
1859 1859
     #define E1_RSENSE    0.11
1860
-    #define E1_CHAIN_POS    0
1860
+    #define E1_CHAIN_POS   -1
1861 1861
   #endif
1862 1862
 
1863 1863
   #if AXIS_IS_TMC(E2)
1864 1864
     #define E2_CURRENT    800
1865 1865
     #define E2_MICROSTEPS  16
1866 1866
     #define E2_RSENSE    0.11
1867
-    #define E2_CHAIN_POS    0
1867
+    #define E2_CHAIN_POS   -1
1868 1868
   #endif
1869 1869
 
1870 1870
   #if AXIS_IS_TMC(E3)
1871 1871
     #define E3_CURRENT    800
1872 1872
     #define E3_MICROSTEPS  16
1873 1873
     #define E3_RSENSE    0.11
1874
-    #define E3_CHAIN_POS    0
1874
+    #define E3_CHAIN_POS   -1
1875 1875
   #endif
1876 1876
 
1877 1877
   #if AXIS_IS_TMC(E4)
1878 1878
     #define E4_CURRENT    800
1879 1879
     #define E4_MICROSTEPS  16
1880 1880
     #define E4_RSENSE    0.11
1881
-    #define E4_CHAIN_POS    0
1881
+    #define E4_CHAIN_POS   -1
1882 1882
   #endif
1883 1883
 
1884 1884
   #if AXIS_IS_TMC(E5)
1885 1885
     #define E5_CURRENT    800
1886 1886
     #define E5_MICROSTEPS  16
1887 1887
     #define E5_RSENSE    0.11
1888
-    #define E5_CHAIN_POS    0
1888
+    #define E5_CHAIN_POS   -1
1889 1889
   #endif
1890 1890
 
1891 1891
   /**
@@ -2111,7 +2111,7 @@
2111 2111
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2112 2112
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2113 2113
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2114
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2114
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2115 2115
   #endif
2116 2116
 
2117 2117
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2119,7 +2119,7 @@
2119 2119
     #define X2_OVERCURRENT    2000
2120 2120
     #define X2_STALLCURRENT   1500
2121 2121
     #define X2_MAX_VOLTAGE     127
2122
-    #define X2_CHAIN_POS         0
2122
+    #define X2_CHAIN_POS        -1
2123 2123
   #endif
2124 2124
 
2125 2125
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2127,7 +2127,7 @@
2127 2127
     #define Y_OVERCURRENT     2000
2128 2128
     #define Y_STALLCURRENT    1500
2129 2129
     #define Y_MAX_VOLTAGE      127
2130
-    #define Y_CHAIN_POS          0
2130
+    #define Y_CHAIN_POS         -1
2131 2131
   #endif
2132 2132
 
2133 2133
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2135,7 +2135,7 @@
2135 2135
     #define Y2_OVERCURRENT    2000
2136 2136
     #define Y2_STALLCURRENT   1500
2137 2137
     #define Y2_MAX_VOLTAGE     127
2138
-    #define Y2_CHAIN_POS         0
2138
+    #define Y2_CHAIN_POS        -1
2139 2139
   #endif
2140 2140
 
2141 2141
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2143,7 +2143,7 @@
2143 2143
     #define Z_OVERCURRENT     2000
2144 2144
     #define Z_STALLCURRENT    1500
2145 2145
     #define Z_MAX_VOLTAGE      127
2146
-    #define Z_CHAIN_POS          0
2146
+    #define Z_CHAIN_POS         -1
2147 2147
   #endif
2148 2148
 
2149 2149
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2151,7 +2151,7 @@
2151 2151
     #define Z2_OVERCURRENT    2000
2152 2152
     #define Z2_STALLCURRENT   1500
2153 2153
     #define Z2_MAX_VOLTAGE     127
2154
-    #define Z2_CHAIN_POS         0
2154
+    #define Z2_CHAIN_POS        -1
2155 2155
   #endif
2156 2156
 
2157 2157
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2159,7 +2159,7 @@
2159 2159
     #define Z3_OVERCURRENT    2000
2160 2160
     #define Z3_STALLCURRENT   1500
2161 2161
     #define Z3_MAX_VOLTAGE     127
2162
-    #define Z3_CHAIN_POS         0
2162
+    #define Z3_CHAIN_POS        -1
2163 2163
   #endif
2164 2164
 
2165 2165
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2167,7 +2167,7 @@
2167 2167
     #define E0_OVERCURRENT    2000
2168 2168
     #define E0_STALLCURRENT   1500
2169 2169
     #define E0_MAX_VOLTAGE     127
2170
-    #define E0_CHAIN_POS         0
2170
+    #define E0_CHAIN_POS        -1
2171 2171
   #endif
2172 2172
 
2173 2173
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2175,7 +2175,7 @@
2175 2175
     #define E1_OVERCURRENT    2000
2176 2176
     #define E1_STALLCURRENT   1500
2177 2177
     #define E1_MAX_VOLTAGE     127
2178
-    #define E1_CHAIN_POS         0
2178
+    #define E1_CHAIN_POS        -1
2179 2179
   #endif
2180 2180
 
2181 2181
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2183,7 +2183,7 @@
2183 2183
     #define E2_OVERCURRENT    2000
2184 2184
     #define E2_STALLCURRENT   1500
2185 2185
     #define E2_MAX_VOLTAGE     127
2186
-    #define E2_CHAIN_POS         0
2186
+    #define E2_CHAIN_POS        -1
2187 2187
   #endif
2188 2188
 
2189 2189
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2191,7 +2191,7 @@
2191 2191
     #define E3_OVERCURRENT    2000
2192 2192
     #define E3_STALLCURRENT   1500
2193 2193
     #define E3_MAX_VOLTAGE     127
2194
-    #define E3_CHAIN_POS         0
2194
+    #define E3_CHAIN_POS        -1
2195 2195
   #endif
2196 2196
 
2197 2197
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2199,7 +2199,7 @@
2199 2199
     #define E4_OVERCURRENT    2000
2200 2200
     #define E4_STALLCURRENT   1500
2201 2201
     #define E4_MAX_VOLTAGE     127
2202
-    #define E4_CHAIN_POS         0
2202
+    #define E4_CHAIN_POS        -1
2203 2203
   #endif
2204 2204
 
2205 2205
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2207,7 +2207,7 @@
2207 2207
     #define E5_OVERCURRENT    2000
2208 2208
     #define E5_STALLCURRENT   1500
2209 2209
     #define E5_MAX_VOLTAGE     127
2210
-    #define E5_CHAIN_POS         0
2210
+    #define E5_CHAIN_POS        -1
2211 2211
   #endif
2212 2212
 
2213 2213
   /**

+ 26
- 26
config/examples/AliExpress/UM2pExt/Configuration_adv.h 查看文件

@@ -1799,91 +1799,91 @@
1799 1799
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1800 1800
     #define X_MICROSTEPS   16  // 0..256
1801 1801
     #define X_RSENSE     0.11
1802
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1802
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1803 1803
   #endif
1804 1804
 
1805 1805
   #if AXIS_IS_TMC(X2)
1806 1806
     #define X2_CURRENT    800
1807 1807
     #define X2_MICROSTEPS  16
1808 1808
     #define X2_RSENSE    0.11
1809
-    #define X2_CHAIN_POS    0
1809
+    #define X2_CHAIN_POS   -1
1810 1810
   #endif
1811 1811
 
1812 1812
   #if AXIS_IS_TMC(Y)
1813 1813
     #define Y_CURRENT     800
1814 1814
     #define Y_MICROSTEPS   16
1815 1815
     #define Y_RSENSE     0.11
1816
-    #define Y_CHAIN_POS     0
1816
+    #define Y_CHAIN_POS    -1
1817 1817
   #endif
1818 1818
 
1819 1819
   #if AXIS_IS_TMC(Y2)
1820 1820
     #define Y2_CURRENT    800
1821 1821
     #define Y2_MICROSTEPS  16
1822 1822
     #define Y2_RSENSE    0.11
1823
-    #define Y2_CHAIN_POS    0
1823
+    #define Y2_CHAIN_POS   -1
1824 1824
   #endif
1825 1825
 
1826 1826
   #if AXIS_IS_TMC(Z)
1827 1827
     #define Z_CURRENT     800
1828 1828
     #define Z_MICROSTEPS   16
1829 1829
     #define Z_RSENSE     0.11
1830
-    #define Z_CHAIN_POS     0
1830
+    #define Z_CHAIN_POS    -1
1831 1831
   #endif
1832 1832
 
1833 1833
   #if AXIS_IS_TMC(Z2)
1834 1834
     #define Z2_CURRENT    800
1835 1835
     #define Z2_MICROSTEPS  16
1836 1836
     #define Z2_RSENSE    0.11
1837
-    #define Z2_CHAIN_POS    0
1837
+    #define Z2_CHAIN_POS   -1
1838 1838
   #endif
1839 1839
 
1840 1840
   #if AXIS_IS_TMC(Z3)
1841 1841
     #define Z3_CURRENT    800
1842 1842
     #define Z3_MICROSTEPS  16
1843 1843
     #define Z3_RSENSE    0.11
1844
-    #define Z3_CHAIN_POS    0
1844
+    #define Z3_CHAIN_POS   -1
1845 1845
   #endif
1846 1846
 
1847 1847
   #if AXIS_IS_TMC(E0)
1848 1848
     #define E0_CURRENT    800
1849 1849
     #define E0_MICROSTEPS  16
1850 1850
     #define E0_RSENSE    0.11
1851
-    #define E0_CHAIN_POS    0
1851
+    #define E0_CHAIN_POS   -1
1852 1852
   #endif
1853 1853
 
1854 1854
   #if AXIS_IS_TMC(E1)
1855 1855
     #define E1_CURRENT    800
1856 1856
     #define E1_MICROSTEPS  16
1857 1857
     #define E1_RSENSE    0.11
1858
-    #define E1_CHAIN_POS    0
1858
+    #define E1_CHAIN_POS   -1
1859 1859
   #endif
1860 1860
 
1861 1861
   #if AXIS_IS_TMC(E2)
1862 1862
     #define E2_CURRENT    800
1863 1863
     #define E2_MICROSTEPS  16
1864 1864
     #define E2_RSENSE    0.11
1865
-    #define E2_CHAIN_POS    0
1865
+    #define E2_CHAIN_POS   -1
1866 1866
   #endif
1867 1867
 
1868 1868
   #if AXIS_IS_TMC(E3)
1869 1869
     #define E3_CURRENT    800
1870 1870
     #define E3_MICROSTEPS  16
1871 1871
     #define E3_RSENSE    0.11
1872
-    #define E3_CHAIN_POS    0
1872
+    #define E3_CHAIN_POS   -1
1873 1873
   #endif
1874 1874
 
1875 1875
   #if AXIS_IS_TMC(E4)
1876 1876
     #define E4_CURRENT    800
1877 1877
     #define E4_MICROSTEPS  16
1878 1878
     #define E4_RSENSE    0.11
1879
-    #define E4_CHAIN_POS    0
1879
+    #define E4_CHAIN_POS   -1
1880 1880
   #endif
1881 1881
 
1882 1882
   #if AXIS_IS_TMC(E5)
1883 1883
     #define E5_CURRENT    800
1884 1884
     #define E5_MICROSTEPS  16
1885 1885
     #define E5_RSENSE    0.11
1886
-    #define E5_CHAIN_POS    0
1886
+    #define E5_CHAIN_POS   -1
1887 1887
   #endif
1888 1888
 
1889 1889
   /**
@@ -2109,7 +2109,7 @@
2109 2109
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2110 2110
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2111 2111
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2112
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2112
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2113 2113
   #endif
2114 2114
 
2115 2115
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2117,7 +2117,7 @@
2117 2117
     #define X2_OVERCURRENT    2000
2118 2118
     #define X2_STALLCURRENT   1500
2119 2119
     #define X2_MAX_VOLTAGE     127
2120
-    #define X2_CHAIN_POS         0
2120
+    #define X2_CHAIN_POS        -1
2121 2121
   #endif
2122 2122
 
2123 2123
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2125,7 +2125,7 @@
2125 2125
     #define Y_OVERCURRENT     2000
2126 2126
     #define Y_STALLCURRENT    1500
2127 2127
     #define Y_MAX_VOLTAGE      127
2128
-    #define Y_CHAIN_POS          0
2128
+    #define Y_CHAIN_POS         -1
2129 2129
   #endif
2130 2130
 
2131 2131
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2133,7 +2133,7 @@
2133 2133
     #define Y2_OVERCURRENT    2000
2134 2134
     #define Y2_STALLCURRENT   1500
2135 2135
     #define Y2_MAX_VOLTAGE     127
2136
-    #define Y2_CHAIN_POS         0
2136
+    #define Y2_CHAIN_POS        -1
2137 2137
   #endif
2138 2138
 
2139 2139
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2141,7 +2141,7 @@
2141 2141
     #define Z_OVERCURRENT     2000
2142 2142
     #define Z_STALLCURRENT    1500
2143 2143
     #define Z_MAX_VOLTAGE      127
2144
-    #define Z_CHAIN_POS          0
2144
+    #define Z_CHAIN_POS         -1
2145 2145
   #endif
2146 2146
 
2147 2147
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2149,7 +2149,7 @@
2149 2149
     #define Z2_OVERCURRENT    2000
2150 2150
     #define Z2_STALLCURRENT   1500
2151 2151
     #define Z2_MAX_VOLTAGE     127
2152
-    #define Z2_CHAIN_POS         0
2152
+    #define Z2_CHAIN_POS        -1
2153 2153
   #endif
2154 2154
 
2155 2155
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2157,7 +2157,7 @@
2157 2157
     #define Z3_OVERCURRENT    2000
2158 2158
     #define Z3_STALLCURRENT   1500
2159 2159
     #define Z3_MAX_VOLTAGE     127
2160
-    #define Z3_CHAIN_POS         0
2160
+    #define Z3_CHAIN_POS        -1
2161 2161
   #endif
2162 2162
 
2163 2163
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2165,7 +2165,7 @@
2165 2165
     #define E0_OVERCURRENT    2000
2166 2166
     #define E0_STALLCURRENT   1500
2167 2167
     #define E0_MAX_VOLTAGE     127
2168
-    #define E0_CHAIN_POS         0
2168
+    #define E0_CHAIN_POS        -1
2169 2169
   #endif
2170 2170
 
2171 2171
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2173,7 +2173,7 @@
2173 2173
     #define E1_OVERCURRENT    2000
2174 2174
     #define E1_STALLCURRENT   1500
2175 2175
     #define E1_MAX_VOLTAGE     127
2176
-    #define E1_CHAIN_POS         0
2176
+    #define E1_CHAIN_POS        -1
2177 2177
   #endif
2178 2178
 
2179 2179
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2181,7 +2181,7 @@
2181 2181
     #define E2_OVERCURRENT    2000
2182 2182
     #define E2_STALLCURRENT   1500
2183 2183
     #define E2_MAX_VOLTAGE     127
2184
-    #define E2_CHAIN_POS         0
2184
+    #define E2_CHAIN_POS        -1
2185 2185
   #endif
2186 2186
 
2187 2187
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2189,7 +2189,7 @@
2189 2189
     #define E3_OVERCURRENT    2000
2190 2190
     #define E3_STALLCURRENT   1500
2191 2191
     #define E3_MAX_VOLTAGE     127
2192
-    #define E3_CHAIN_POS         0
2192
+    #define E3_CHAIN_POS        -1
2193 2193
   #endif
2194 2194
 
2195 2195
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2197,7 +2197,7 @@
2197 2197
     #define E4_OVERCURRENT    2000
2198 2198
     #define E4_STALLCURRENT   1500
2199 2199
     #define E4_MAX_VOLTAGE     127
2200
-    #define E4_CHAIN_POS         0
2200
+    #define E4_CHAIN_POS        -1
2201 2201
   #endif
2202 2202
 
2203 2203
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2205,7 +2205,7 @@
2205 2205
     #define E5_OVERCURRENT    2000
2206 2206
     #define E5_STALLCURRENT   1500
2207 2207
     #define E5_MAX_VOLTAGE     127
2208
-    #define E5_CHAIN_POS         0
2208
+    #define E5_CHAIN_POS        -1
2209 2209
   #endif
2210 2210
 
2211 2211
   /**

+ 26
- 26
config/examples/Anet/A2/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/Anet/A2plus/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/Anet/A6/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/Anet/A8/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/Anet/A8plus/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/Anet/E16/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/AnyCubic/i3/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/ArmEd/Configuration_adv.h 查看文件

@@ -1801,91 +1801,91 @@
1801 1801
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1802 1802
     #define X_MICROSTEPS   16  // 0..256
1803 1803
     #define X_RSENSE     0.11
1804
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1804
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1805 1805
   #endif
1806 1806
 
1807 1807
   #if AXIS_IS_TMC(X2)
1808 1808
     #define X2_CURRENT    800
1809 1809
     #define X2_MICROSTEPS  16
1810 1810
     #define X2_RSENSE    0.11
1811
-    #define X2_CHAIN_POS    0
1811
+    #define X2_CHAIN_POS   -1
1812 1812
   #endif
1813 1813
 
1814 1814
   #if AXIS_IS_TMC(Y)
1815 1815
     #define Y_CURRENT     800
1816 1816
     #define Y_MICROSTEPS   16
1817 1817
     #define Y_RSENSE     0.11
1818
-    #define Y_CHAIN_POS     0
1818
+    #define Y_CHAIN_POS    -1
1819 1819
   #endif
1820 1820
 
1821 1821
   #if AXIS_IS_TMC(Y2)
1822 1822
     #define Y2_CURRENT    800
1823 1823
     #define Y2_MICROSTEPS  16
1824 1824
     #define Y2_RSENSE    0.11
1825
-    #define Y2_CHAIN_POS    0
1825
+    #define Y2_CHAIN_POS   -1
1826 1826
   #endif
1827 1827
 
1828 1828
   #if AXIS_IS_TMC(Z)
1829 1829
     #define Z_CURRENT     800
1830 1830
     #define Z_MICROSTEPS   16
1831 1831
     #define Z_RSENSE     0.11
1832
-    #define Z_CHAIN_POS     0
1832
+    #define Z_CHAIN_POS    -1
1833 1833
   #endif
1834 1834
 
1835 1835
   #if AXIS_IS_TMC(Z2)
1836 1836
     #define Z2_CURRENT    800
1837 1837
     #define Z2_MICROSTEPS  16
1838 1838
     #define Z2_RSENSE    0.11
1839
-    #define Z2_CHAIN_POS    0
1839
+    #define Z2_CHAIN_POS   -1
1840 1840
   #endif
1841 1841
 
1842 1842
   #if AXIS_IS_TMC(Z3)
1843 1843
     #define Z3_CURRENT    800
1844 1844
     #define Z3_MICROSTEPS  16
1845 1845
     #define Z3_RSENSE    0.11
1846
-    #define Z3_CHAIN_POS    0
1846
+    #define Z3_CHAIN_POS   -1
1847 1847
   #endif
1848 1848
 
1849 1849
   #if AXIS_IS_TMC(E0)
1850 1850
     #define E0_CURRENT    800
1851 1851
     #define E0_MICROSTEPS  16
1852 1852
     #define E0_RSENSE    0.11
1853
-    #define E0_CHAIN_POS    0
1853
+    #define E0_CHAIN_POS   -1
1854 1854
   #endif
1855 1855
 
1856 1856
   #if AXIS_IS_TMC(E1)
1857 1857
     #define E1_CURRENT    800
1858 1858
     #define E1_MICROSTEPS  16
1859 1859
     #define E1_RSENSE    0.11
1860
-    #define E1_CHAIN_POS    0
1860
+    #define E1_CHAIN_POS   -1
1861 1861
   #endif
1862 1862
 
1863 1863
   #if AXIS_IS_TMC(E2)
1864 1864
     #define E2_CURRENT    800
1865 1865
     #define E2_MICROSTEPS  16
1866 1866
     #define E2_RSENSE    0.11
1867
-    #define E2_CHAIN_POS    0
1867
+    #define E2_CHAIN_POS   -1
1868 1868
   #endif
1869 1869
 
1870 1870
   #if AXIS_IS_TMC(E3)
1871 1871
     #define E3_CURRENT    800
1872 1872
     #define E3_MICROSTEPS  16
1873 1873
     #define E3_RSENSE    0.11
1874
-    #define E3_CHAIN_POS    0
1874
+    #define E3_CHAIN_POS   -1
1875 1875
   #endif
1876 1876
 
1877 1877
   #if AXIS_IS_TMC(E4)
1878 1878
     #define E4_CURRENT    800
1879 1879
     #define E4_MICROSTEPS  16
1880 1880
     #define E4_RSENSE    0.11
1881
-    #define E4_CHAIN_POS    0
1881
+    #define E4_CHAIN_POS   -1
1882 1882
   #endif
1883 1883
 
1884 1884
   #if AXIS_IS_TMC(E5)
1885 1885
     #define E5_CURRENT    800
1886 1886
     #define E5_MICROSTEPS  16
1887 1887
     #define E5_RSENSE    0.11
1888
-    #define E5_CHAIN_POS    0
1888
+    #define E5_CHAIN_POS   -1
1889 1889
   #endif
1890 1890
 
1891 1891
   /**
@@ -2111,7 +2111,7 @@
2111 2111
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2112 2112
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2113 2113
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2114
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2114
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2115 2115
   #endif
2116 2116
 
2117 2117
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2119,7 +2119,7 @@
2119 2119
     #define X2_OVERCURRENT    2000
2120 2120
     #define X2_STALLCURRENT   1500
2121 2121
     #define X2_MAX_VOLTAGE     127
2122
-    #define X2_CHAIN_POS         0
2122
+    #define X2_CHAIN_POS        -1
2123 2123
   #endif
2124 2124
 
2125 2125
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2127,7 +2127,7 @@
2127 2127
     #define Y_OVERCURRENT     2000
2128 2128
     #define Y_STALLCURRENT    1500
2129 2129
     #define Y_MAX_VOLTAGE      127
2130
-    #define Y_CHAIN_POS          0
2130
+    #define Y_CHAIN_POS         -1
2131 2131
   #endif
2132 2132
 
2133 2133
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2135,7 +2135,7 @@
2135 2135
     #define Y2_OVERCURRENT    2000
2136 2136
     #define Y2_STALLCURRENT   1500
2137 2137
     #define Y2_MAX_VOLTAGE     127
2138
-    #define Y2_CHAIN_POS         0
2138
+    #define Y2_CHAIN_POS        -1
2139 2139
   #endif
2140 2140
 
2141 2141
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2143,7 +2143,7 @@
2143 2143
     #define Z_OVERCURRENT     2000
2144 2144
     #define Z_STALLCURRENT    1500
2145 2145
     #define Z_MAX_VOLTAGE      127
2146
-    #define Z_CHAIN_POS          0
2146
+    #define Z_CHAIN_POS         -1
2147 2147
   #endif
2148 2148
 
2149 2149
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2151,7 +2151,7 @@
2151 2151
     #define Z2_OVERCURRENT    2000
2152 2152
     #define Z2_STALLCURRENT   1500
2153 2153
     #define Z2_MAX_VOLTAGE     127
2154
-    #define Z2_CHAIN_POS         0
2154
+    #define Z2_CHAIN_POS        -1
2155 2155
   #endif
2156 2156
 
2157 2157
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2159,7 +2159,7 @@
2159 2159
     #define Z3_OVERCURRENT    2000
2160 2160
     #define Z3_STALLCURRENT   1500
2161 2161
     #define Z3_MAX_VOLTAGE     127
2162
-    #define Z3_CHAIN_POS         0
2162
+    #define Z3_CHAIN_POS        -1
2163 2163
   #endif
2164 2164
 
2165 2165
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2167,7 +2167,7 @@
2167 2167
     #define E0_OVERCURRENT    2000
2168 2168
     #define E0_STALLCURRENT   1500
2169 2169
     #define E0_MAX_VOLTAGE     127
2170
-    #define E0_CHAIN_POS         0
2170
+    #define E0_CHAIN_POS        -1
2171 2171
   #endif
2172 2172
 
2173 2173
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2175,7 +2175,7 @@
2175 2175
     #define E1_OVERCURRENT    2000
2176 2176
     #define E1_STALLCURRENT   1500
2177 2177
     #define E1_MAX_VOLTAGE     127
2178
-    #define E1_CHAIN_POS         0
2178
+    #define E1_CHAIN_POS        -1
2179 2179
   #endif
2180 2180
 
2181 2181
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2183,7 +2183,7 @@
2183 2183
     #define E2_OVERCURRENT    2000
2184 2184
     #define E2_STALLCURRENT   1500
2185 2185
     #define E2_MAX_VOLTAGE     127
2186
-    #define E2_CHAIN_POS         0
2186
+    #define E2_CHAIN_POS        -1
2187 2187
   #endif
2188 2188
 
2189 2189
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2191,7 +2191,7 @@
2191 2191
     #define E3_OVERCURRENT    2000
2192 2192
     #define E3_STALLCURRENT   1500
2193 2193
     #define E3_MAX_VOLTAGE     127
2194
-    #define E3_CHAIN_POS         0
2194
+    #define E3_CHAIN_POS        -1
2195 2195
   #endif
2196 2196
 
2197 2197
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2199,7 +2199,7 @@
2199 2199
     #define E4_OVERCURRENT    2000
2200 2200
     #define E4_STALLCURRENT   1500
2201 2201
     #define E4_MAX_VOLTAGE     127
2202
-    #define E4_CHAIN_POS         0
2202
+    #define E4_CHAIN_POS        -1
2203 2203
   #endif
2204 2204
 
2205 2205
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2207,7 +2207,7 @@
2207 2207
     #define E5_OVERCURRENT    2000
2208 2208
     #define E5_STALLCURRENT   1500
2209 2209
     #define E5_MAX_VOLTAGE     127
2210
-    #define E5_CHAIN_POS         0
2210
+    #define E5_CHAIN_POS        -1
2211 2211
   #endif
2212 2212
 
2213 2213
   /**

+ 26
- 26
config/examples/BIBO/TouchX/cyclops/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/BIBO/TouchX/default/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/BQ/Hephestos/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/BQ/Hephestos_2/Configuration_adv.h 查看文件

@@ -1805,91 +1805,91 @@
1805 1805
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1806 1806
     #define X_MICROSTEPS   16  // 0..256
1807 1807
     #define X_RSENSE     0.11
1808
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1808
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1809 1809
   #endif
1810 1810
 
1811 1811
   #if AXIS_IS_TMC(X2)
1812 1812
     #define X2_CURRENT    800
1813 1813
     #define X2_MICROSTEPS  16
1814 1814
     #define X2_RSENSE    0.11
1815
-    #define X2_CHAIN_POS    0
1815
+    #define X2_CHAIN_POS   -1
1816 1816
   #endif
1817 1817
 
1818 1818
   #if AXIS_IS_TMC(Y)
1819 1819
     #define Y_CURRENT     800
1820 1820
     #define Y_MICROSTEPS   16
1821 1821
     #define Y_RSENSE     0.11
1822
-    #define Y_CHAIN_POS     0
1822
+    #define Y_CHAIN_POS    -1
1823 1823
   #endif
1824 1824
 
1825 1825
   #if AXIS_IS_TMC(Y2)
1826 1826
     #define Y2_CURRENT    800
1827 1827
     #define Y2_MICROSTEPS  16
1828 1828
     #define Y2_RSENSE    0.11
1829
-    #define Y2_CHAIN_POS    0
1829
+    #define Y2_CHAIN_POS   -1
1830 1830
   #endif
1831 1831
 
1832 1832
   #if AXIS_IS_TMC(Z)
1833 1833
     #define Z_CURRENT     800
1834 1834
     #define Z_MICROSTEPS   16
1835 1835
     #define Z_RSENSE     0.11
1836
-    #define Z_CHAIN_POS     0
1836
+    #define Z_CHAIN_POS    -1
1837 1837
   #endif
1838 1838
 
1839 1839
   #if AXIS_IS_TMC(Z2)
1840 1840
     #define Z2_CURRENT    800
1841 1841
     #define Z2_MICROSTEPS  16
1842 1842
     #define Z2_RSENSE    0.11
1843
-    #define Z2_CHAIN_POS    0
1843
+    #define Z2_CHAIN_POS   -1
1844 1844
   #endif
1845 1845
 
1846 1846
   #if AXIS_IS_TMC(Z3)
1847 1847
     #define Z3_CURRENT    800
1848 1848
     #define Z3_MICROSTEPS  16
1849 1849
     #define Z3_RSENSE    0.11
1850
-    #define Z3_CHAIN_POS    0
1850
+    #define Z3_CHAIN_POS   -1
1851 1851
   #endif
1852 1852
 
1853 1853
   #if AXIS_IS_TMC(E0)
1854 1854
     #define E0_CURRENT    800
1855 1855
     #define E0_MICROSTEPS  16
1856 1856
     #define E0_RSENSE    0.11
1857
-    #define E0_CHAIN_POS    0
1857
+    #define E0_CHAIN_POS   -1
1858 1858
   #endif
1859 1859
 
1860 1860
   #if AXIS_IS_TMC(E1)
1861 1861
     #define E1_CURRENT    800
1862 1862
     #define E1_MICROSTEPS  16
1863 1863
     #define E1_RSENSE    0.11
1864
-    #define E1_CHAIN_POS    0
1864
+    #define E1_CHAIN_POS   -1
1865 1865
   #endif
1866 1866
 
1867 1867
   #if AXIS_IS_TMC(E2)
1868 1868
     #define E2_CURRENT    800
1869 1869
     #define E2_MICROSTEPS  16
1870 1870
     #define E2_RSENSE    0.11
1871
-    #define E2_CHAIN_POS    0
1871
+    #define E2_CHAIN_POS   -1
1872 1872
   #endif
1873 1873
 
1874 1874
   #if AXIS_IS_TMC(E3)
1875 1875
     #define E3_CURRENT    800
1876 1876
     #define E3_MICROSTEPS  16
1877 1877
     #define E3_RSENSE    0.11
1878
-    #define E3_CHAIN_POS    0
1878
+    #define E3_CHAIN_POS   -1
1879 1879
   #endif
1880 1880
 
1881 1881
   #if AXIS_IS_TMC(E4)
1882 1882
     #define E4_CURRENT    800
1883 1883
     #define E4_MICROSTEPS  16
1884 1884
     #define E4_RSENSE    0.11
1885
-    #define E4_CHAIN_POS    0
1885
+    #define E4_CHAIN_POS   -1
1886 1886
   #endif
1887 1887
 
1888 1888
   #if AXIS_IS_TMC(E5)
1889 1889
     #define E5_CURRENT    800
1890 1890
     #define E5_MICROSTEPS  16
1891 1891
     #define E5_RSENSE    0.11
1892
-    #define E5_CHAIN_POS    0
1892
+    #define E5_CHAIN_POS   -1
1893 1893
   #endif
1894 1894
 
1895 1895
   /**
@@ -2115,7 +2115,7 @@
2115 2115
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2116 2116
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2117 2117
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2118
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2118
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define X2_OVERCURRENT    2000
2124 2124
     #define X2_STALLCURRENT   1500
2125 2125
     #define X2_MAX_VOLTAGE     127
2126
-    #define X2_CHAIN_POS         0
2126
+    #define X2_CHAIN_POS        -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y_OVERCURRENT     2000
2132 2132
     #define Y_STALLCURRENT    1500
2133 2133
     #define Y_MAX_VOLTAGE      127
2134
-    #define Y_CHAIN_POS          0
2134
+    #define Y_CHAIN_POS         -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Y2_OVERCURRENT    2000
2140 2140
     #define Y2_STALLCURRENT   1500
2141 2141
     #define Y2_MAX_VOLTAGE     127
2142
-    #define Y2_CHAIN_POS         0
2142
+    #define Y2_CHAIN_POS        -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z_OVERCURRENT     2000
2148 2148
     #define Z_STALLCURRENT    1500
2149 2149
     #define Z_MAX_VOLTAGE      127
2150
-    #define Z_CHAIN_POS          0
2150
+    #define Z_CHAIN_POS         -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z2_OVERCURRENT    2000
2156 2156
     #define Z2_STALLCURRENT   1500
2157 2157
     #define Z2_MAX_VOLTAGE     127
2158
-    #define Z2_CHAIN_POS         0
2158
+    #define Z2_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define Z3_OVERCURRENT    2000
2164 2164
     #define Z3_STALLCURRENT   1500
2165 2165
     #define Z3_MAX_VOLTAGE     127
2166
-    #define Z3_CHAIN_POS         0
2166
+    #define Z3_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E0_OVERCURRENT    2000
2172 2172
     #define E0_STALLCURRENT   1500
2173 2173
     #define E0_MAX_VOLTAGE     127
2174
-    #define E0_CHAIN_POS         0
2174
+    #define E0_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E1_OVERCURRENT    2000
2180 2180
     #define E1_STALLCURRENT   1500
2181 2181
     #define E1_MAX_VOLTAGE     127
2182
-    #define E1_CHAIN_POS         0
2182
+    #define E1_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E2_OVERCURRENT    2000
2188 2188
     #define E2_STALLCURRENT   1500
2189 2189
     #define E2_MAX_VOLTAGE     127
2190
-    #define E2_CHAIN_POS         0
2190
+    #define E2_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E3_OVERCURRENT    2000
2196 2196
     #define E3_STALLCURRENT   1500
2197 2197
     #define E3_MAX_VOLTAGE     127
2198
-    #define E3_CHAIN_POS         0
2198
+    #define E3_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E4_OVERCURRENT    2000
2204 2204
     #define E4_STALLCURRENT   1500
2205 2205
     #define E4_MAX_VOLTAGE     127
2206
-    #define E4_CHAIN_POS         0
2206
+    #define E4_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2211,7 +2211,7 @@
2211 2211
     #define E5_OVERCURRENT    2000
2212 2212
     #define E5_STALLCURRENT   1500
2213 2213
     #define E5_MAX_VOLTAGE     127
2214
-    #define E5_CHAIN_POS         0
2214
+    #define E5_CHAIN_POS        -1
2215 2215
   #endif
2216 2216
 
2217 2217
   /**

+ 26
- 26
config/examples/BQ/WITBOX/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/Cartesio/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/Creality/CR-10/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/Creality/CR-10S/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/Creality/CR-10_5S/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/Creality/CR-10mini/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/Creality/CR-20 Pro/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/Creality/CR-20/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/Creality/CR-8/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/Creality/Ender-2/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/Creality/Ender-3/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     580  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     580
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     580
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    650
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/Creality/Ender-4/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/Creality/Ender-5/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/Dagoma/Disco Ultimate/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/EVNOVO (Artillery)/Sidewinder X1/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/Einstart-S/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/FYSETC/AIO_II/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     700  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     650
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    650
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/FYSETC/Cheetah 1.2/BLTouch/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     700  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     500
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    650
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/FYSETC/Cheetah 1.2/base/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     700  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     500
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    650
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/FYSETC/Cheetah/BLTouch/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     700  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     500
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    650
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/FYSETC/Cheetah/base/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     700  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     500
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    650
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/FYSETC/F6_13/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/Felix/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/FlashForge/CreatorPro/Configuration_adv.h 查看文件

@@ -1796,91 +1796,91 @@
1796 1796
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1797 1797
     #define X_MICROSTEPS   16  // 0..256
1798 1798
     #define X_RSENSE     0.11
1799
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1799
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1800 1800
   #endif
1801 1801
 
1802 1802
   #if AXIS_IS_TMC(X2)
1803 1803
     #define X2_CURRENT    800
1804 1804
     #define X2_MICROSTEPS  16
1805 1805
     #define X2_RSENSE    0.11
1806
-    #define X2_CHAIN_POS    0
1806
+    #define X2_CHAIN_POS   -1
1807 1807
   #endif
1808 1808
 
1809 1809
   #if AXIS_IS_TMC(Y)
1810 1810
     #define Y_CURRENT     800
1811 1811
     #define Y_MICROSTEPS   16
1812 1812
     #define Y_RSENSE     0.11
1813
-    #define Y_CHAIN_POS     0
1813
+    #define Y_CHAIN_POS    -1
1814 1814
   #endif
1815 1815
 
1816 1816
   #if AXIS_IS_TMC(Y2)
1817 1817
     #define Y2_CURRENT    800
1818 1818
     #define Y2_MICROSTEPS  16
1819 1819
     #define Y2_RSENSE    0.11
1820
-    #define Y2_CHAIN_POS    0
1820
+    #define Y2_CHAIN_POS   -1
1821 1821
   #endif
1822 1822
 
1823 1823
   #if AXIS_IS_TMC(Z)
1824 1824
     #define Z_CURRENT     800
1825 1825
     #define Z_MICROSTEPS   16
1826 1826
     #define Z_RSENSE     0.11
1827
-    #define Z_CHAIN_POS     0
1827
+    #define Z_CHAIN_POS    -1
1828 1828
   #endif
1829 1829
 
1830 1830
   #if AXIS_IS_TMC(Z2)
1831 1831
     #define Z2_CURRENT    800
1832 1832
     #define Z2_MICROSTEPS  16
1833 1833
     #define Z2_RSENSE    0.11
1834
-    #define Z2_CHAIN_POS    0
1834
+    #define Z2_CHAIN_POS   -1
1835 1835
   #endif
1836 1836
 
1837 1837
   #if AXIS_IS_TMC(Z3)
1838 1838
     #define Z3_CURRENT    800
1839 1839
     #define Z3_MICROSTEPS  16
1840 1840
     #define Z3_RSENSE    0.11
1841
-    #define Z3_CHAIN_POS    0
1841
+    #define Z3_CHAIN_POS   -1
1842 1842
   #endif
1843 1843
 
1844 1844
   #if AXIS_IS_TMC(E0)
1845 1845
     #define E0_CURRENT    800
1846 1846
     #define E0_MICROSTEPS  16
1847 1847
     #define E0_RSENSE    0.11
1848
-    #define E0_CHAIN_POS    0
1848
+    #define E0_CHAIN_POS   -1
1849 1849
   #endif
1850 1850
 
1851 1851
   #if AXIS_IS_TMC(E1)
1852 1852
     #define E1_CURRENT    800
1853 1853
     #define E1_MICROSTEPS  16
1854 1854
     #define E1_RSENSE    0.11
1855
-    #define E1_CHAIN_POS    0
1855
+    #define E1_CHAIN_POS   -1
1856 1856
   #endif
1857 1857
 
1858 1858
   #if AXIS_IS_TMC(E2)
1859 1859
     #define E2_CURRENT    800
1860 1860
     #define E2_MICROSTEPS  16
1861 1861
     #define E2_RSENSE    0.11
1862
-    #define E2_CHAIN_POS    0
1862
+    #define E2_CHAIN_POS   -1
1863 1863
   #endif
1864 1864
 
1865 1865
   #if AXIS_IS_TMC(E3)
1866 1866
     #define E3_CURRENT    800
1867 1867
     #define E3_MICROSTEPS  16
1868 1868
     #define E3_RSENSE    0.11
1869
-    #define E3_CHAIN_POS    0
1869
+    #define E3_CHAIN_POS   -1
1870 1870
   #endif
1871 1871
 
1872 1872
   #if AXIS_IS_TMC(E4)
1873 1873
     #define E4_CURRENT    800
1874 1874
     #define E4_MICROSTEPS  16
1875 1875
     #define E4_RSENSE    0.11
1876
-    #define E4_CHAIN_POS    0
1876
+    #define E4_CHAIN_POS   -1
1877 1877
   #endif
1878 1878
 
1879 1879
   #if AXIS_IS_TMC(E5)
1880 1880
     #define E5_CURRENT    800
1881 1881
     #define E5_MICROSTEPS  16
1882 1882
     #define E5_RSENSE    0.11
1883
-    #define E5_CHAIN_POS    0
1883
+    #define E5_CHAIN_POS   -1
1884 1884
   #endif
1885 1885
 
1886 1886
   /**
@@ -2106,7 +2106,7 @@
2106 2106
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2107 2107
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2108 2108
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2109
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2109
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2110 2110
   #endif
2111 2111
 
2112 2112
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2114,7 +2114,7 @@
2114 2114
     #define X2_OVERCURRENT    2000
2115 2115
     #define X2_STALLCURRENT   1500
2116 2116
     #define X2_MAX_VOLTAGE     127
2117
-    #define X2_CHAIN_POS         0
2117
+    #define X2_CHAIN_POS        -1
2118 2118
   #endif
2119 2119
 
2120 2120
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2122,7 +2122,7 @@
2122 2122
     #define Y_OVERCURRENT     2000
2123 2123
     #define Y_STALLCURRENT    1500
2124 2124
     #define Y_MAX_VOLTAGE      127
2125
-    #define Y_CHAIN_POS          0
2125
+    #define Y_CHAIN_POS         -1
2126 2126
   #endif
2127 2127
 
2128 2128
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2130,7 +2130,7 @@
2130 2130
     #define Y2_OVERCURRENT    2000
2131 2131
     #define Y2_STALLCURRENT   1500
2132 2132
     #define Y2_MAX_VOLTAGE     127
2133
-    #define Y2_CHAIN_POS         0
2133
+    #define Y2_CHAIN_POS        -1
2134 2134
   #endif
2135 2135
 
2136 2136
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2138,7 +2138,7 @@
2138 2138
     #define Z_OVERCURRENT     2000
2139 2139
     #define Z_STALLCURRENT    1500
2140 2140
     #define Z_MAX_VOLTAGE      127
2141
-    #define Z_CHAIN_POS          0
2141
+    #define Z_CHAIN_POS         -1
2142 2142
   #endif
2143 2143
 
2144 2144
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2146,7 +2146,7 @@
2146 2146
     #define Z2_OVERCURRENT    2000
2147 2147
     #define Z2_STALLCURRENT   1500
2148 2148
     #define Z2_MAX_VOLTAGE     127
2149
-    #define Z2_CHAIN_POS         0
2149
+    #define Z2_CHAIN_POS        -1
2150 2150
   #endif
2151 2151
 
2152 2152
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2154,7 +2154,7 @@
2154 2154
     #define Z3_OVERCURRENT    2000
2155 2155
     #define Z3_STALLCURRENT   1500
2156 2156
     #define Z3_MAX_VOLTAGE     127
2157
-    #define Z3_CHAIN_POS         0
2157
+    #define Z3_CHAIN_POS        -1
2158 2158
   #endif
2159 2159
 
2160 2160
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2162,7 +2162,7 @@
2162 2162
     #define E0_OVERCURRENT    2000
2163 2163
     #define E0_STALLCURRENT   1500
2164 2164
     #define E0_MAX_VOLTAGE     127
2165
-    #define E0_CHAIN_POS         0
2165
+    #define E0_CHAIN_POS        -1
2166 2166
   #endif
2167 2167
 
2168 2168
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2170,7 +2170,7 @@
2170 2170
     #define E1_OVERCURRENT    2000
2171 2171
     #define E1_STALLCURRENT   1500
2172 2172
     #define E1_MAX_VOLTAGE     127
2173
-    #define E1_CHAIN_POS         0
2173
+    #define E1_CHAIN_POS        -1
2174 2174
   #endif
2175 2175
 
2176 2176
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2178,7 +2178,7 @@
2178 2178
     #define E2_OVERCURRENT    2000
2179 2179
     #define E2_STALLCURRENT   1500
2180 2180
     #define E2_MAX_VOLTAGE     127
2181
-    #define E2_CHAIN_POS         0
2181
+    #define E2_CHAIN_POS        -1
2182 2182
   #endif
2183 2183
 
2184 2184
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2186,7 +2186,7 @@
2186 2186
     #define E3_OVERCURRENT    2000
2187 2187
     #define E3_STALLCURRENT   1500
2188 2188
     #define E3_MAX_VOLTAGE     127
2189
-    #define E3_CHAIN_POS         0
2189
+    #define E3_CHAIN_POS        -1
2190 2190
   #endif
2191 2191
 
2192 2192
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2194,7 +2194,7 @@
2194 2194
     #define E4_OVERCURRENT    2000
2195 2195
     #define E4_STALLCURRENT   1500
2196 2196
     #define E4_MAX_VOLTAGE     127
2197
-    #define E4_CHAIN_POS         0
2197
+    #define E4_CHAIN_POS        -1
2198 2198
   #endif
2199 2199
 
2200 2200
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2202,7 +2202,7 @@
2202 2202
     #define E5_OVERCURRENT    2000
2203 2203
     #define E5_STALLCURRENT   1500
2204 2204
     #define E5_MAX_VOLTAGE     127
2205
-    #define E5_CHAIN_POS         0
2205
+    #define E5_CHAIN_POS        -1
2206 2206
   #endif
2207 2207
 
2208 2208
   /**

+ 26
- 26
config/examples/FolgerTech/i3-2020/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/Formbot/Raptor/Configuration_adv.h 查看文件

@@ -1799,91 +1799,91 @@
1799 1799
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1800 1800
     #define X_MICROSTEPS   16  // 0..256
1801 1801
     #define X_RSENSE     0.11
1802
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1802
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1803 1803
   #endif
1804 1804
 
1805 1805
   #if AXIS_IS_TMC(X2)
1806 1806
     #define X2_CURRENT    800
1807 1807
     #define X2_MICROSTEPS  16
1808 1808
     #define X2_RSENSE    0.11
1809
-    #define X2_CHAIN_POS    0
1809
+    #define X2_CHAIN_POS   -1
1810 1810
   #endif
1811 1811
 
1812 1812
   #if AXIS_IS_TMC(Y)
1813 1813
     #define Y_CURRENT     800
1814 1814
     #define Y_MICROSTEPS   16
1815 1815
     #define Y_RSENSE     0.11
1816
-    #define Y_CHAIN_POS     0
1816
+    #define Y_CHAIN_POS    -1
1817 1817
   #endif
1818 1818
 
1819 1819
   #if AXIS_IS_TMC(Y2)
1820 1820
     #define Y2_CURRENT    800
1821 1821
     #define Y2_MICROSTEPS  16
1822 1822
     #define Y2_RSENSE    0.11
1823
-    #define Y2_CHAIN_POS    0
1823
+    #define Y2_CHAIN_POS   -1
1824 1824
   #endif
1825 1825
 
1826 1826
   #if AXIS_IS_TMC(Z)
1827 1827
     #define Z_CURRENT     800
1828 1828
     #define Z_MICROSTEPS   16
1829 1829
     #define Z_RSENSE     0.11
1830
-    #define Z_CHAIN_POS     0
1830
+    #define Z_CHAIN_POS    -1
1831 1831
   #endif
1832 1832
 
1833 1833
   #if AXIS_IS_TMC(Z2)
1834 1834
     #define Z2_CURRENT    800
1835 1835
     #define Z2_MICROSTEPS  16
1836 1836
     #define Z2_RSENSE    0.11
1837
-    #define Z2_CHAIN_POS    0
1837
+    #define Z2_CHAIN_POS   -1
1838 1838
   #endif
1839 1839
 
1840 1840
   #if AXIS_IS_TMC(Z3)
1841 1841
     #define Z3_CURRENT    800
1842 1842
     #define Z3_MICROSTEPS  16
1843 1843
     #define Z3_RSENSE    0.11
1844
-    #define Z3_CHAIN_POS    0
1844
+    #define Z3_CHAIN_POS   -1
1845 1845
   #endif
1846 1846
 
1847 1847
   #if AXIS_IS_TMC(E0)
1848 1848
     #define E0_CURRENT    800
1849 1849
     #define E0_MICROSTEPS  16
1850 1850
     #define E0_RSENSE    0.11
1851
-    #define E0_CHAIN_POS    0
1851
+    #define E0_CHAIN_POS   -1
1852 1852
   #endif
1853 1853
 
1854 1854
   #if AXIS_IS_TMC(E1)
1855 1855
     #define E1_CURRENT    800
1856 1856
     #define E1_MICROSTEPS  16
1857 1857
     #define E1_RSENSE    0.11
1858
-    #define E1_CHAIN_POS    0
1858
+    #define E1_CHAIN_POS   -1
1859 1859
   #endif
1860 1860
 
1861 1861
   #if AXIS_IS_TMC(E2)
1862 1862
     #define E2_CURRENT    800
1863 1863
     #define E2_MICROSTEPS  16
1864 1864
     #define E2_RSENSE    0.11
1865
-    #define E2_CHAIN_POS    0
1865
+    #define E2_CHAIN_POS   -1
1866 1866
   #endif
1867 1867
 
1868 1868
   #if AXIS_IS_TMC(E3)
1869 1869
     #define E3_CURRENT    800
1870 1870
     #define E3_MICROSTEPS  16
1871 1871
     #define E3_RSENSE    0.11
1872
-    #define E3_CHAIN_POS    0
1872
+    #define E3_CHAIN_POS   -1
1873 1873
   #endif
1874 1874
 
1875 1875
   #if AXIS_IS_TMC(E4)
1876 1876
     #define E4_CURRENT    800
1877 1877
     #define E4_MICROSTEPS  16
1878 1878
     #define E4_RSENSE    0.11
1879
-    #define E4_CHAIN_POS    0
1879
+    #define E4_CHAIN_POS   -1
1880 1880
   #endif
1881 1881
 
1882 1882
   #if AXIS_IS_TMC(E5)
1883 1883
     #define E5_CURRENT    800
1884 1884
     #define E5_MICROSTEPS  16
1885 1885
     #define E5_RSENSE    0.11
1886
-    #define E5_CHAIN_POS    0
1886
+    #define E5_CHAIN_POS   -1
1887 1887
   #endif
1888 1888
 
1889 1889
   /**
@@ -2109,7 +2109,7 @@
2109 2109
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2110 2110
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2111 2111
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2112
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2112
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2113 2113
   #endif
2114 2114
 
2115 2115
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2117,7 +2117,7 @@
2117 2117
     #define X2_OVERCURRENT    2000
2118 2118
     #define X2_STALLCURRENT   1500
2119 2119
     #define X2_MAX_VOLTAGE     127
2120
-    #define X2_CHAIN_POS         0
2120
+    #define X2_CHAIN_POS        -1
2121 2121
   #endif
2122 2122
 
2123 2123
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2125,7 +2125,7 @@
2125 2125
     #define Y_OVERCURRENT     2000
2126 2126
     #define Y_STALLCURRENT    1500
2127 2127
     #define Y_MAX_VOLTAGE      127
2128
-    #define Y_CHAIN_POS          0
2128
+    #define Y_CHAIN_POS         -1
2129 2129
   #endif
2130 2130
 
2131 2131
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2133,7 +2133,7 @@
2133 2133
     #define Y2_OVERCURRENT    2000
2134 2134
     #define Y2_STALLCURRENT   1500
2135 2135
     #define Y2_MAX_VOLTAGE     127
2136
-    #define Y2_CHAIN_POS         0
2136
+    #define Y2_CHAIN_POS        -1
2137 2137
   #endif
2138 2138
 
2139 2139
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2141,7 +2141,7 @@
2141 2141
     #define Z_OVERCURRENT     2000
2142 2142
     #define Z_STALLCURRENT    1500
2143 2143
     #define Z_MAX_VOLTAGE      127
2144
-    #define Z_CHAIN_POS          0
2144
+    #define Z_CHAIN_POS         -1
2145 2145
   #endif
2146 2146
 
2147 2147
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2149,7 +2149,7 @@
2149 2149
     #define Z2_OVERCURRENT    2000
2150 2150
     #define Z2_STALLCURRENT   1500
2151 2151
     #define Z2_MAX_VOLTAGE     127
2152
-    #define Z2_CHAIN_POS         0
2152
+    #define Z2_CHAIN_POS        -1
2153 2153
   #endif
2154 2154
 
2155 2155
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2157,7 +2157,7 @@
2157 2157
     #define Z3_OVERCURRENT    2000
2158 2158
     #define Z3_STALLCURRENT   1500
2159 2159
     #define Z3_MAX_VOLTAGE     127
2160
-    #define Z3_CHAIN_POS         0
2160
+    #define Z3_CHAIN_POS        -1
2161 2161
   #endif
2162 2162
 
2163 2163
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2165,7 +2165,7 @@
2165 2165
     #define E0_OVERCURRENT    2000
2166 2166
     #define E0_STALLCURRENT   1500
2167 2167
     #define E0_MAX_VOLTAGE     127
2168
-    #define E0_CHAIN_POS         0
2168
+    #define E0_CHAIN_POS        -1
2169 2169
   #endif
2170 2170
 
2171 2171
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2173,7 +2173,7 @@
2173 2173
     #define E1_OVERCURRENT    2000
2174 2174
     #define E1_STALLCURRENT   1500
2175 2175
     #define E1_MAX_VOLTAGE     127
2176
-    #define E1_CHAIN_POS         0
2176
+    #define E1_CHAIN_POS        -1
2177 2177
   #endif
2178 2178
 
2179 2179
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2181,7 +2181,7 @@
2181 2181
     #define E2_OVERCURRENT    2000
2182 2182
     #define E2_STALLCURRENT   1500
2183 2183
     #define E2_MAX_VOLTAGE     127
2184
-    #define E2_CHAIN_POS         0
2184
+    #define E2_CHAIN_POS        -1
2185 2185
   #endif
2186 2186
 
2187 2187
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2189,7 +2189,7 @@
2189 2189
     #define E3_OVERCURRENT    2000
2190 2190
     #define E3_STALLCURRENT   1500
2191 2191
     #define E3_MAX_VOLTAGE     127
2192
-    #define E3_CHAIN_POS         0
2192
+    #define E3_CHAIN_POS        -1
2193 2193
   #endif
2194 2194
 
2195 2195
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2197,7 +2197,7 @@
2197 2197
     #define E4_OVERCURRENT    2000
2198 2198
     #define E4_STALLCURRENT   1500
2199 2199
     #define E4_MAX_VOLTAGE     127
2200
-    #define E4_CHAIN_POS         0
2200
+    #define E4_CHAIN_POS        -1
2201 2201
   #endif
2202 2202
 
2203 2203
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2205,7 +2205,7 @@
2205 2205
     #define E5_OVERCURRENT    2000
2206 2206
     #define E5_STALLCURRENT   1500
2207 2207
     #define E5_MAX_VOLTAGE     127
2208
-    #define E5_CHAIN_POS         0
2208
+    #define E5_CHAIN_POS        -1
2209 2209
   #endif
2210 2210
 
2211 2211
   /**

+ 26
- 26
config/examples/Formbot/T_Rex_2+/Configuration_adv.h 查看文件

@@ -1801,91 +1801,91 @@
1801 1801
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1802 1802
     #define X_MICROSTEPS   16  // 0..256
1803 1803
     #define X_RSENSE     0.11
1804
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1804
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1805 1805
   #endif
1806 1806
 
1807 1807
   #if AXIS_IS_TMC(X2)
1808 1808
     #define X2_CURRENT    800
1809 1809
     #define X2_MICROSTEPS  16
1810 1810
     #define X2_RSENSE    0.11
1811
-    #define X2_CHAIN_POS    0
1811
+    #define X2_CHAIN_POS   -1
1812 1812
   #endif
1813 1813
 
1814 1814
   #if AXIS_IS_TMC(Y)
1815 1815
     #define Y_CURRENT     800
1816 1816
     #define Y_MICROSTEPS   16
1817 1817
     #define Y_RSENSE     0.11
1818
-    #define Y_CHAIN_POS     0
1818
+    #define Y_CHAIN_POS    -1
1819 1819
   #endif
1820 1820
 
1821 1821
   #if AXIS_IS_TMC(Y2)
1822 1822
     #define Y2_CURRENT    800
1823 1823
     #define Y2_MICROSTEPS  16
1824 1824
     #define Y2_RSENSE    0.11
1825
-    #define Y2_CHAIN_POS    0
1825
+    #define Y2_CHAIN_POS   -1
1826 1826
   #endif
1827 1827
 
1828 1828
   #if AXIS_IS_TMC(Z)
1829 1829
     #define Z_CURRENT     800
1830 1830
     #define Z_MICROSTEPS   16
1831 1831
     #define Z_RSENSE     0.11
1832
-    #define Z_CHAIN_POS     0
1832
+    #define Z_CHAIN_POS    -1
1833 1833
   #endif
1834 1834
 
1835 1835
   #if AXIS_IS_TMC(Z2)
1836 1836
     #define Z2_CURRENT    800
1837 1837
     #define Z2_MICROSTEPS  16
1838 1838
     #define Z2_RSENSE    0.11
1839
-    #define Z2_CHAIN_POS    0
1839
+    #define Z2_CHAIN_POS   -1
1840 1840
   #endif
1841 1841
 
1842 1842
   #if AXIS_IS_TMC(Z3)
1843 1843
     #define Z3_CURRENT    800
1844 1844
     #define Z3_MICROSTEPS  16
1845 1845
     #define Z3_RSENSE    0.11
1846
-    #define Z3_CHAIN_POS    0
1846
+    #define Z3_CHAIN_POS   -1
1847 1847
   #endif
1848 1848
 
1849 1849
   #if AXIS_IS_TMC(E0)
1850 1850
     #define E0_CURRENT    800
1851 1851
     #define E0_MICROSTEPS  16
1852 1852
     #define E0_RSENSE    0.11
1853
-    #define E0_CHAIN_POS    0
1853
+    #define E0_CHAIN_POS   -1
1854 1854
   #endif
1855 1855
 
1856 1856
   #if AXIS_IS_TMC(E1)
1857 1857
     #define E1_CURRENT    800
1858 1858
     #define E1_MICROSTEPS  16
1859 1859
     #define E1_RSENSE    0.11
1860
-    #define E1_CHAIN_POS    0
1860
+    #define E1_CHAIN_POS   -1
1861 1861
   #endif
1862 1862
 
1863 1863
   #if AXIS_IS_TMC(E2)
1864 1864
     #define E2_CURRENT    800
1865 1865
     #define E2_MICROSTEPS  16
1866 1866
     #define E2_RSENSE    0.11
1867
-    #define E2_CHAIN_POS    0
1867
+    #define E2_CHAIN_POS   -1
1868 1868
   #endif
1869 1869
 
1870 1870
   #if AXIS_IS_TMC(E3)
1871 1871
     #define E3_CURRENT    800
1872 1872
     #define E3_MICROSTEPS  16
1873 1873
     #define E3_RSENSE    0.11
1874
-    #define E3_CHAIN_POS    0
1874
+    #define E3_CHAIN_POS   -1
1875 1875
   #endif
1876 1876
 
1877 1877
   #if AXIS_IS_TMC(E4)
1878 1878
     #define E4_CURRENT    800
1879 1879
     #define E4_MICROSTEPS  16
1880 1880
     #define E4_RSENSE    0.11
1881
-    #define E4_CHAIN_POS    0
1881
+    #define E4_CHAIN_POS   -1
1882 1882
   #endif
1883 1883
 
1884 1884
   #if AXIS_IS_TMC(E5)
1885 1885
     #define E5_CURRENT    800
1886 1886
     #define E5_MICROSTEPS  16
1887 1887
     #define E5_RSENSE    0.11
1888
-    #define E5_CHAIN_POS    0
1888
+    #define E5_CHAIN_POS   -1
1889 1889
   #endif
1890 1890
 
1891 1891
   /**
@@ -2111,7 +2111,7 @@
2111 2111
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2112 2112
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2113 2113
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2114
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2114
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2115 2115
   #endif
2116 2116
 
2117 2117
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2119,7 +2119,7 @@
2119 2119
     #define X2_OVERCURRENT    2000
2120 2120
     #define X2_STALLCURRENT   1500
2121 2121
     #define X2_MAX_VOLTAGE     127
2122
-    #define X2_CHAIN_POS         0
2122
+    #define X2_CHAIN_POS        -1
2123 2123
   #endif
2124 2124
 
2125 2125
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2127,7 +2127,7 @@
2127 2127
     #define Y_OVERCURRENT     2000
2128 2128
     #define Y_STALLCURRENT    1500
2129 2129
     #define Y_MAX_VOLTAGE      127
2130
-    #define Y_CHAIN_POS          0
2130
+    #define Y_CHAIN_POS         -1
2131 2131
   #endif
2132 2132
 
2133 2133
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2135,7 +2135,7 @@
2135 2135
     #define Y2_OVERCURRENT    2000
2136 2136
     #define Y2_STALLCURRENT   1500
2137 2137
     #define Y2_MAX_VOLTAGE     127
2138
-    #define Y2_CHAIN_POS         0
2138
+    #define Y2_CHAIN_POS        -1
2139 2139
   #endif
2140 2140
 
2141 2141
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2143,7 +2143,7 @@
2143 2143
     #define Z_OVERCURRENT     2000
2144 2144
     #define Z_STALLCURRENT    1500
2145 2145
     #define Z_MAX_VOLTAGE      127
2146
-    #define Z_CHAIN_POS          0
2146
+    #define Z_CHAIN_POS         -1
2147 2147
   #endif
2148 2148
 
2149 2149
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2151,7 +2151,7 @@
2151 2151
     #define Z2_OVERCURRENT    2000
2152 2152
     #define Z2_STALLCURRENT   1500
2153 2153
     #define Z2_MAX_VOLTAGE     127
2154
-    #define Z2_CHAIN_POS         0
2154
+    #define Z2_CHAIN_POS        -1
2155 2155
   #endif
2156 2156
 
2157 2157
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2159,7 +2159,7 @@
2159 2159
     #define Z3_OVERCURRENT    2000
2160 2160
     #define Z3_STALLCURRENT   1500
2161 2161
     #define Z3_MAX_VOLTAGE     127
2162
-    #define Z3_CHAIN_POS         0
2162
+    #define Z3_CHAIN_POS        -1
2163 2163
   #endif
2164 2164
 
2165 2165
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2167,7 +2167,7 @@
2167 2167
     #define E0_OVERCURRENT    2000
2168 2168
     #define E0_STALLCURRENT   1500
2169 2169
     #define E0_MAX_VOLTAGE     127
2170
-    #define E0_CHAIN_POS         0
2170
+    #define E0_CHAIN_POS        -1
2171 2171
   #endif
2172 2172
 
2173 2173
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2175,7 +2175,7 @@
2175 2175
     #define E1_OVERCURRENT    2000
2176 2176
     #define E1_STALLCURRENT   1500
2177 2177
     #define E1_MAX_VOLTAGE     127
2178
-    #define E1_CHAIN_POS         0
2178
+    #define E1_CHAIN_POS        -1
2179 2179
   #endif
2180 2180
 
2181 2181
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2183,7 +2183,7 @@
2183 2183
     #define E2_OVERCURRENT    2000
2184 2184
     #define E2_STALLCURRENT   1500
2185 2185
     #define E2_MAX_VOLTAGE     127
2186
-    #define E2_CHAIN_POS         0
2186
+    #define E2_CHAIN_POS        -1
2187 2187
   #endif
2188 2188
 
2189 2189
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2191,7 +2191,7 @@
2191 2191
     #define E3_OVERCURRENT    2000
2192 2192
     #define E3_STALLCURRENT   1500
2193 2193
     #define E3_MAX_VOLTAGE     127
2194
-    #define E3_CHAIN_POS         0
2194
+    #define E3_CHAIN_POS        -1
2195 2195
   #endif
2196 2196
 
2197 2197
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2199,7 +2199,7 @@
2199 2199
     #define E4_OVERCURRENT    2000
2200 2200
     #define E4_STALLCURRENT   1500
2201 2201
     #define E4_MAX_VOLTAGE     127
2202
-    #define E4_CHAIN_POS         0
2202
+    #define E4_CHAIN_POS        -1
2203 2203
   #endif
2204 2204
 
2205 2205
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2207,7 +2207,7 @@
2207 2207
     #define E5_OVERCURRENT    2000
2208 2208
     #define E5_STALLCURRENT   1500
2209 2209
     #define E5_MAX_VOLTAGE     127
2210
-    #define E5_CHAIN_POS         0
2210
+    #define E5_CHAIN_POS        -1
2211 2211
   #endif
2212 2212
 
2213 2213
   /**

+ 26
- 26
config/examples/Formbot/T_Rex_3/Configuration_adv.h 查看文件

@@ -1801,91 +1801,91 @@
1801 1801
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1802 1802
     #define X_MICROSTEPS   16  // 0..256
1803 1803
     #define X_RSENSE     0.11
1804
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1804
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1805 1805
   #endif
1806 1806
 
1807 1807
   #if AXIS_IS_TMC(X2)
1808 1808
     #define X2_CURRENT    800
1809 1809
     #define X2_MICROSTEPS  16
1810 1810
     #define X2_RSENSE    0.11
1811
-    #define X2_CHAIN_POS    0
1811
+    #define X2_CHAIN_POS   -1
1812 1812
   #endif
1813 1813
 
1814 1814
   #if AXIS_IS_TMC(Y)
1815 1815
     #define Y_CURRENT     800
1816 1816
     #define Y_MICROSTEPS   16
1817 1817
     #define Y_RSENSE     0.11
1818
-    #define Y_CHAIN_POS     0
1818
+    #define Y_CHAIN_POS    -1
1819 1819
   #endif
1820 1820
 
1821 1821
   #if AXIS_IS_TMC(Y2)
1822 1822
     #define Y2_CURRENT    800
1823 1823
     #define Y2_MICROSTEPS  16
1824 1824
     #define Y2_RSENSE    0.11
1825
-    #define Y2_CHAIN_POS    0
1825
+    #define Y2_CHAIN_POS   -1
1826 1826
   #endif
1827 1827
 
1828 1828
   #if AXIS_IS_TMC(Z)
1829 1829
     #define Z_CURRENT     800
1830 1830
     #define Z_MICROSTEPS   16
1831 1831
     #define Z_RSENSE     0.11
1832
-    #define Z_CHAIN_POS     0
1832
+    #define Z_CHAIN_POS    -1
1833 1833
   #endif
1834 1834
 
1835 1835
   #if AXIS_IS_TMC(Z2)
1836 1836
     #define Z2_CURRENT    800
1837 1837
     #define Z2_MICROSTEPS  16
1838 1838
     #define Z2_RSENSE    0.11
1839
-    #define Z2_CHAIN_POS    0
1839
+    #define Z2_CHAIN_POS   -1
1840 1840
   #endif
1841 1841
 
1842 1842
   #if AXIS_IS_TMC(Z3)
1843 1843
     #define Z3_CURRENT    800
1844 1844
     #define Z3_MICROSTEPS  16
1845 1845
     #define Z3_RSENSE    0.11
1846
-    #define Z3_CHAIN_POS    0
1846
+    #define Z3_CHAIN_POS   -1
1847 1847
   #endif
1848 1848
 
1849 1849
   #if AXIS_IS_TMC(E0)
1850 1850
     #define E0_CURRENT    800
1851 1851
     #define E0_MICROSTEPS  16
1852 1852
     #define E0_RSENSE    0.11
1853
-    #define E0_CHAIN_POS    0
1853
+    #define E0_CHAIN_POS   -1
1854 1854
   #endif
1855 1855
 
1856 1856
   #if AXIS_IS_TMC(E1)
1857 1857
     #define E1_CURRENT    800
1858 1858
     #define E1_MICROSTEPS  16
1859 1859
     #define E1_RSENSE    0.11
1860
-    #define E1_CHAIN_POS    0
1860
+    #define E1_CHAIN_POS   -1
1861 1861
   #endif
1862 1862
 
1863 1863
   #if AXIS_IS_TMC(E2)
1864 1864
     #define E2_CURRENT    800
1865 1865
     #define E2_MICROSTEPS  16
1866 1866
     #define E2_RSENSE    0.11
1867
-    #define E2_CHAIN_POS    0
1867
+    #define E2_CHAIN_POS   -1
1868 1868
   #endif
1869 1869
 
1870 1870
   #if AXIS_IS_TMC(E3)
1871 1871
     #define E3_CURRENT    800
1872 1872
     #define E3_MICROSTEPS  16
1873 1873
     #define E3_RSENSE    0.11
1874
-    #define E3_CHAIN_POS    0
1874
+    #define E3_CHAIN_POS   -1
1875 1875
   #endif
1876 1876
 
1877 1877
   #if AXIS_IS_TMC(E4)
1878 1878
     #define E4_CURRENT    800
1879 1879
     #define E4_MICROSTEPS  16
1880 1880
     #define E4_RSENSE    0.11
1881
-    #define E4_CHAIN_POS    0
1881
+    #define E4_CHAIN_POS   -1
1882 1882
   #endif
1883 1883
 
1884 1884
   #if AXIS_IS_TMC(E5)
1885 1885
     #define E5_CURRENT    800
1886 1886
     #define E5_MICROSTEPS  16
1887 1887
     #define E5_RSENSE    0.11
1888
-    #define E5_CHAIN_POS    0
1888
+    #define E5_CHAIN_POS   -1
1889 1889
   #endif
1890 1890
 
1891 1891
   /**
@@ -2111,7 +2111,7 @@
2111 2111
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2112 2112
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2113 2113
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2114
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2114
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2115 2115
   #endif
2116 2116
 
2117 2117
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2119,7 +2119,7 @@
2119 2119
     #define X2_OVERCURRENT    2000
2120 2120
     #define X2_STALLCURRENT   1500
2121 2121
     #define X2_MAX_VOLTAGE     127
2122
-    #define X2_CHAIN_POS         0
2122
+    #define X2_CHAIN_POS        -1
2123 2123
   #endif
2124 2124
 
2125 2125
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2127,7 +2127,7 @@
2127 2127
     #define Y_OVERCURRENT     2000
2128 2128
     #define Y_STALLCURRENT    1500
2129 2129
     #define Y_MAX_VOLTAGE      127
2130
-    #define Y_CHAIN_POS          0
2130
+    #define Y_CHAIN_POS         -1
2131 2131
   #endif
2132 2132
 
2133 2133
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2135,7 +2135,7 @@
2135 2135
     #define Y2_OVERCURRENT    2000
2136 2136
     #define Y2_STALLCURRENT   1500
2137 2137
     #define Y2_MAX_VOLTAGE     127
2138
-    #define Y2_CHAIN_POS         0
2138
+    #define Y2_CHAIN_POS        -1
2139 2139
   #endif
2140 2140
 
2141 2141
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2143,7 +2143,7 @@
2143 2143
     #define Z_OVERCURRENT     2000
2144 2144
     #define Z_STALLCURRENT    1500
2145 2145
     #define Z_MAX_VOLTAGE      127
2146
-    #define Z_CHAIN_POS          0
2146
+    #define Z_CHAIN_POS         -1
2147 2147
   #endif
2148 2148
 
2149 2149
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2151,7 +2151,7 @@
2151 2151
     #define Z2_OVERCURRENT    2000
2152 2152
     #define Z2_STALLCURRENT   1500
2153 2153
     #define Z2_MAX_VOLTAGE     127
2154
-    #define Z2_CHAIN_POS         0
2154
+    #define Z2_CHAIN_POS        -1
2155 2155
   #endif
2156 2156
 
2157 2157
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2159,7 +2159,7 @@
2159 2159
     #define Z3_OVERCURRENT    2000
2160 2160
     #define Z3_STALLCURRENT   1500
2161 2161
     #define Z3_MAX_VOLTAGE     127
2162
-    #define Z3_CHAIN_POS         0
2162
+    #define Z3_CHAIN_POS        -1
2163 2163
   #endif
2164 2164
 
2165 2165
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2167,7 +2167,7 @@
2167 2167
     #define E0_OVERCURRENT    2000
2168 2168
     #define E0_STALLCURRENT   1500
2169 2169
     #define E0_MAX_VOLTAGE     127
2170
-    #define E0_CHAIN_POS         0
2170
+    #define E0_CHAIN_POS        -1
2171 2171
   #endif
2172 2172
 
2173 2173
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2175,7 +2175,7 @@
2175 2175
     #define E1_OVERCURRENT    2000
2176 2176
     #define E1_STALLCURRENT   1500
2177 2177
     #define E1_MAX_VOLTAGE     127
2178
-    #define E1_CHAIN_POS         0
2178
+    #define E1_CHAIN_POS        -1
2179 2179
   #endif
2180 2180
 
2181 2181
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2183,7 +2183,7 @@
2183 2183
     #define E2_OVERCURRENT    2000
2184 2184
     #define E2_STALLCURRENT   1500
2185 2185
     #define E2_MAX_VOLTAGE     127
2186
-    #define E2_CHAIN_POS         0
2186
+    #define E2_CHAIN_POS        -1
2187 2187
   #endif
2188 2188
 
2189 2189
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2191,7 +2191,7 @@
2191 2191
     #define E3_OVERCURRENT    2000
2192 2192
     #define E3_STALLCURRENT   1500
2193 2193
     #define E3_MAX_VOLTAGE     127
2194
-    #define E3_CHAIN_POS         0
2194
+    #define E3_CHAIN_POS        -1
2195 2195
   #endif
2196 2196
 
2197 2197
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2199,7 +2199,7 @@
2199 2199
     #define E4_OVERCURRENT    2000
2200 2200
     #define E4_STALLCURRENT   1500
2201 2201
     #define E4_MAX_VOLTAGE     127
2202
-    #define E4_CHAIN_POS         0
2202
+    #define E4_CHAIN_POS        -1
2203 2203
   #endif
2204 2204
 
2205 2205
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2207,7 +2207,7 @@
2207 2207
     #define E5_OVERCURRENT    2000
2208 2208
     #define E5_STALLCURRENT   1500
2209 2209
     #define E5_MAX_VOLTAGE     127
2210
-    #define E5_CHAIN_POS         0
2210
+    #define E5_CHAIN_POS        -1
2211 2211
   #endif
2212 2212
 
2213 2213
   /**

+ 26
- 26
config/examples/Geeetech/A10/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/Geeetech/A10M/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/Geeetech/A20M/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/Geeetech/MeCreator2/Configuration_adv.h 查看文件

@@ -1796,91 +1796,91 @@
1796 1796
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1797 1797
     #define X_MICROSTEPS   16  // 0..256
1798 1798
     #define X_RSENSE     0.11
1799
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1799
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1800 1800
   #endif
1801 1801
 
1802 1802
   #if AXIS_IS_TMC(X2)
1803 1803
     #define X2_CURRENT    800
1804 1804
     #define X2_MICROSTEPS  16
1805 1805
     #define X2_RSENSE    0.11
1806
-    #define X2_CHAIN_POS    0
1806
+    #define X2_CHAIN_POS   -1
1807 1807
   #endif
1808 1808
 
1809 1809
   #if AXIS_IS_TMC(Y)
1810 1810
     #define Y_CURRENT     800
1811 1811
     #define Y_MICROSTEPS   16
1812 1812
     #define Y_RSENSE     0.11
1813
-    #define Y_CHAIN_POS     0
1813
+    #define Y_CHAIN_POS    -1
1814 1814
   #endif
1815 1815
 
1816 1816
   #if AXIS_IS_TMC(Y2)
1817 1817
     #define Y2_CURRENT    800
1818 1818
     #define Y2_MICROSTEPS  16
1819 1819
     #define Y2_RSENSE    0.11
1820
-    #define Y2_CHAIN_POS    0
1820
+    #define Y2_CHAIN_POS   -1
1821 1821
   #endif
1822 1822
 
1823 1823
   #if AXIS_IS_TMC(Z)
1824 1824
     #define Z_CURRENT     800
1825 1825
     #define Z_MICROSTEPS   16
1826 1826
     #define Z_RSENSE     0.11
1827
-    #define Z_CHAIN_POS     0
1827
+    #define Z_CHAIN_POS    -1
1828 1828
   #endif
1829 1829
 
1830 1830
   #if AXIS_IS_TMC(Z2)
1831 1831
     #define Z2_CURRENT    800
1832 1832
     #define Z2_MICROSTEPS  16
1833 1833
     #define Z2_RSENSE    0.11
1834
-    #define Z2_CHAIN_POS    0
1834
+    #define Z2_CHAIN_POS   -1
1835 1835
   #endif
1836 1836
 
1837 1837
   #if AXIS_IS_TMC(Z3)
1838 1838
     #define Z3_CURRENT    800
1839 1839
     #define Z3_MICROSTEPS  16
1840 1840
     #define Z3_RSENSE    0.11
1841
-    #define Z3_CHAIN_POS    0
1841
+    #define Z3_CHAIN_POS   -1
1842 1842
   #endif
1843 1843
 
1844 1844
   #if AXIS_IS_TMC(E0)
1845 1845
     #define E0_CURRENT    800
1846 1846
     #define E0_MICROSTEPS  16
1847 1847
     #define E0_RSENSE    0.11
1848
-    #define E0_CHAIN_POS    0
1848
+    #define E0_CHAIN_POS   -1
1849 1849
   #endif
1850 1850
 
1851 1851
   #if AXIS_IS_TMC(E1)
1852 1852
     #define E1_CURRENT    800
1853 1853
     #define E1_MICROSTEPS  16
1854 1854
     #define E1_RSENSE    0.11
1855
-    #define E1_CHAIN_POS    0
1855
+    #define E1_CHAIN_POS   -1
1856 1856
   #endif
1857 1857
 
1858 1858
   #if AXIS_IS_TMC(E2)
1859 1859
     #define E2_CURRENT    800
1860 1860
     #define E2_MICROSTEPS  16
1861 1861
     #define E2_RSENSE    0.11
1862
-    #define E2_CHAIN_POS    0
1862
+    #define E2_CHAIN_POS   -1
1863 1863
   #endif
1864 1864
 
1865 1865
   #if AXIS_IS_TMC(E3)
1866 1866
     #define E3_CURRENT    800
1867 1867
     #define E3_MICROSTEPS  16
1868 1868
     #define E3_RSENSE    0.11
1869
-    #define E3_CHAIN_POS    0
1869
+    #define E3_CHAIN_POS   -1
1870 1870
   #endif
1871 1871
 
1872 1872
   #if AXIS_IS_TMC(E4)
1873 1873
     #define E4_CURRENT    800
1874 1874
     #define E4_MICROSTEPS  16
1875 1875
     #define E4_RSENSE    0.11
1876
-    #define E4_CHAIN_POS    0
1876
+    #define E4_CHAIN_POS   -1
1877 1877
   #endif
1878 1878
 
1879 1879
   #if AXIS_IS_TMC(E5)
1880 1880
     #define E5_CURRENT    800
1881 1881
     #define E5_MICROSTEPS  16
1882 1882
     #define E5_RSENSE    0.11
1883
-    #define E5_CHAIN_POS    0
1883
+    #define E5_CHAIN_POS   -1
1884 1884
   #endif
1885 1885
 
1886 1886
   /**
@@ -2106,7 +2106,7 @@
2106 2106
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2107 2107
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2108 2108
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2109
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2109
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2110 2110
   #endif
2111 2111
 
2112 2112
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2114,7 +2114,7 @@
2114 2114
     #define X2_OVERCURRENT    2000
2115 2115
     #define X2_STALLCURRENT   1500
2116 2116
     #define X2_MAX_VOLTAGE     127
2117
-    #define X2_CHAIN_POS         0
2117
+    #define X2_CHAIN_POS        -1
2118 2118
   #endif
2119 2119
 
2120 2120
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2122,7 +2122,7 @@
2122 2122
     #define Y_OVERCURRENT     2000
2123 2123
     #define Y_STALLCURRENT    1500
2124 2124
     #define Y_MAX_VOLTAGE      127
2125
-    #define Y_CHAIN_POS          0
2125
+    #define Y_CHAIN_POS         -1
2126 2126
   #endif
2127 2127
 
2128 2128
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2130,7 +2130,7 @@
2130 2130
     #define Y2_OVERCURRENT    2000
2131 2131
     #define Y2_STALLCURRENT   1500
2132 2132
     #define Y2_MAX_VOLTAGE     127
2133
-    #define Y2_CHAIN_POS         0
2133
+    #define Y2_CHAIN_POS        -1
2134 2134
   #endif
2135 2135
 
2136 2136
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2138,7 +2138,7 @@
2138 2138
     #define Z_OVERCURRENT     2000
2139 2139
     #define Z_STALLCURRENT    1500
2140 2140
     #define Z_MAX_VOLTAGE      127
2141
-    #define Z_CHAIN_POS          0
2141
+    #define Z_CHAIN_POS         -1
2142 2142
   #endif
2143 2143
 
2144 2144
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2146,7 +2146,7 @@
2146 2146
     #define Z2_OVERCURRENT    2000
2147 2147
     #define Z2_STALLCURRENT   1500
2148 2148
     #define Z2_MAX_VOLTAGE     127
2149
-    #define Z2_CHAIN_POS         0
2149
+    #define Z2_CHAIN_POS        -1
2150 2150
   #endif
2151 2151
 
2152 2152
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2154,7 +2154,7 @@
2154 2154
     #define Z3_OVERCURRENT    2000
2155 2155
     #define Z3_STALLCURRENT   1500
2156 2156
     #define Z3_MAX_VOLTAGE     127
2157
-    #define Z3_CHAIN_POS         0
2157
+    #define Z3_CHAIN_POS        -1
2158 2158
   #endif
2159 2159
 
2160 2160
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2162,7 +2162,7 @@
2162 2162
     #define E0_OVERCURRENT    2000
2163 2163
     #define E0_STALLCURRENT   1500
2164 2164
     #define E0_MAX_VOLTAGE     127
2165
-    #define E0_CHAIN_POS         0
2165
+    #define E0_CHAIN_POS        -1
2166 2166
   #endif
2167 2167
 
2168 2168
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2170,7 +2170,7 @@
2170 2170
     #define E1_OVERCURRENT    2000
2171 2171
     #define E1_STALLCURRENT   1500
2172 2172
     #define E1_MAX_VOLTAGE     127
2173
-    #define E1_CHAIN_POS         0
2173
+    #define E1_CHAIN_POS        -1
2174 2174
   #endif
2175 2175
 
2176 2176
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2178,7 +2178,7 @@
2178 2178
     #define E2_OVERCURRENT    2000
2179 2179
     #define E2_STALLCURRENT   1500
2180 2180
     #define E2_MAX_VOLTAGE     127
2181
-    #define E2_CHAIN_POS         0
2181
+    #define E2_CHAIN_POS        -1
2182 2182
   #endif
2183 2183
 
2184 2184
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2186,7 +2186,7 @@
2186 2186
     #define E3_OVERCURRENT    2000
2187 2187
     #define E3_STALLCURRENT   1500
2188 2188
     #define E3_MAX_VOLTAGE     127
2189
-    #define E3_CHAIN_POS         0
2189
+    #define E3_CHAIN_POS        -1
2190 2190
   #endif
2191 2191
 
2192 2192
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2194,7 +2194,7 @@
2194 2194
     #define E4_OVERCURRENT    2000
2195 2195
     #define E4_STALLCURRENT   1500
2196 2196
     #define E4_MAX_VOLTAGE     127
2197
-    #define E4_CHAIN_POS         0
2197
+    #define E4_CHAIN_POS        -1
2198 2198
   #endif
2199 2199
 
2200 2200
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2202,7 +2202,7 @@
2202 2202
     #define E5_OVERCURRENT    2000
2203 2203
     #define E5_STALLCURRENT   1500
2204 2204
     #define E5_MAX_VOLTAGE     127
2205
-    #define E5_CHAIN_POS         0
2205
+    #define E5_CHAIN_POS        -1
2206 2206
   #endif
2207 2207
 
2208 2208
   /**

+ 26
- 26
config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/HMS434/Configuration_adv.h 查看文件

@@ -1776,91 +1776,91 @@
1776 1776
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1777 1777
     #define X_MICROSTEPS   16  // 0..256
1778 1778
     #define X_RSENSE     0.11
1779
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1779
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1780 1780
   #endif
1781 1781
 
1782 1782
   #if AXIS_IS_TMC(X2)
1783 1783
     #define X2_CURRENT    800
1784 1784
     #define X2_MICROSTEPS  16
1785 1785
     #define X2_RSENSE    0.11
1786
-    #define X2_CHAIN_POS    0
1786
+    #define X2_CHAIN_POS   -1
1787 1787
   #endif
1788 1788
 
1789 1789
   #if AXIS_IS_TMC(Y)
1790 1790
     #define Y_CURRENT     800
1791 1791
     #define Y_MICROSTEPS   16
1792 1792
     #define Y_RSENSE     0.11
1793
-    #define Y_CHAIN_POS     0
1793
+    #define Y_CHAIN_POS    -1
1794 1794
   #endif
1795 1795
 
1796 1796
   #if AXIS_IS_TMC(Y2)
1797 1797
     #define Y2_CURRENT    800
1798 1798
     #define Y2_MICROSTEPS  16
1799 1799
     #define Y2_RSENSE    0.11
1800
-    #define Y2_CHAIN_POS    0
1800
+    #define Y2_CHAIN_POS   -1
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(Z)
1804 1804
     #define Z_CURRENT     800
1805 1805
     #define Z_MICROSTEPS   16
1806 1806
     #define Z_RSENSE     0.11
1807
-    #define Z_CHAIN_POS     0
1807
+    #define Z_CHAIN_POS    -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Z2)
1811 1811
     #define Z2_CURRENT    800
1812 1812
     #define Z2_MICROSTEPS  16
1813 1813
     #define Z2_RSENSE    0.11
1814
-    #define Z2_CHAIN_POS    0
1814
+    #define Z2_CHAIN_POS   -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Z3)
1818 1818
     #define Z3_CURRENT    800
1819 1819
     #define Z3_MICROSTEPS  16
1820 1820
     #define Z3_RSENSE    0.11
1821
-    #define Z3_CHAIN_POS    0
1821
+    #define Z3_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(E0)
1825 1825
     #define E0_CURRENT    800
1826 1826
     #define E0_MICROSTEPS  16
1827 1827
     #define E0_RSENSE    0.11
1828
-    #define E0_CHAIN_POS    0
1828
+    #define E0_CHAIN_POS   -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(E1)
1832 1832
     #define E1_CURRENT    800
1833 1833
     #define E1_MICROSTEPS  16
1834 1834
     #define E1_RSENSE    0.11
1835
-    #define E1_CHAIN_POS    0
1835
+    #define E1_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(E2)
1839 1839
     #define E2_CURRENT    800
1840 1840
     #define E2_MICROSTEPS  16
1841 1841
     #define E2_RSENSE    0.11
1842
-    #define E2_CHAIN_POS    0
1842
+    #define E2_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E3)
1846 1846
     #define E3_CURRENT    800
1847 1847
     #define E3_MICROSTEPS  16
1848 1848
     #define E3_RSENSE    0.11
1849
-    #define E3_CHAIN_POS    0
1849
+    #define E3_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E4)
1853 1853
     #define E4_CURRENT    800
1854 1854
     #define E4_MICROSTEPS  16
1855 1855
     #define E4_RSENSE    0.11
1856
-    #define E4_CHAIN_POS    0
1856
+    #define E4_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E5)
1860 1860
     #define E5_CURRENT    800
1861 1861
     #define E5_MICROSTEPS  16
1862 1862
     #define E5_RSENSE    0.11
1863
-    #define E5_CHAIN_POS    0
1863
+    #define E5_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   /**
@@ -2086,7 +2086,7 @@
2086 2086
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2087 2087
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2088 2088
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2089
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2089
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2090 2090
   #endif
2091 2091
 
2092 2092
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2094,7 +2094,7 @@
2094 2094
     #define X2_OVERCURRENT    2000
2095 2095
     #define X2_STALLCURRENT   1500
2096 2096
     #define X2_MAX_VOLTAGE     127
2097
-    #define X2_CHAIN_POS         0
2097
+    #define X2_CHAIN_POS        -1
2098 2098
   #endif
2099 2099
 
2100 2100
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2102,7 +2102,7 @@
2102 2102
     #define Y_OVERCURRENT     2000
2103 2103
     #define Y_STALLCURRENT    1500
2104 2104
     #define Y_MAX_VOLTAGE      127
2105
-    #define Y_CHAIN_POS          0
2105
+    #define Y_CHAIN_POS         -1
2106 2106
   #endif
2107 2107
 
2108 2108
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2110,7 +2110,7 @@
2110 2110
     #define Y2_OVERCURRENT    2000
2111 2111
     #define Y2_STALLCURRENT   1500
2112 2112
     #define Y2_MAX_VOLTAGE     127
2113
-    #define Y2_CHAIN_POS         0
2113
+    #define Y2_CHAIN_POS        -1
2114 2114
   #endif
2115 2115
 
2116 2116
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2118,7 +2118,7 @@
2118 2118
     #define Z_OVERCURRENT     2000
2119 2119
     #define Z_STALLCURRENT    1500
2120 2120
     #define Z_MAX_VOLTAGE      127
2121
-    #define Z_CHAIN_POS          0
2121
+    #define Z_CHAIN_POS         -1
2122 2122
   #endif
2123 2123
 
2124 2124
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2126,7 +2126,7 @@
2126 2126
     #define Z2_OVERCURRENT    2000
2127 2127
     #define Z2_STALLCURRENT   1500
2128 2128
     #define Z2_MAX_VOLTAGE     127
2129
-    #define Z2_CHAIN_POS         0
2129
+    #define Z2_CHAIN_POS        -1
2130 2130
   #endif
2131 2131
 
2132 2132
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2134,7 +2134,7 @@
2134 2134
     #define Z3_OVERCURRENT    2000
2135 2135
     #define Z3_STALLCURRENT   1500
2136 2136
     #define Z3_MAX_VOLTAGE     127
2137
-    #define Z3_CHAIN_POS         0
2137
+    #define Z3_CHAIN_POS        -1
2138 2138
   #endif
2139 2139
 
2140 2140
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2142,7 +2142,7 @@
2142 2142
     #define E0_OVERCURRENT    2000
2143 2143
     #define E0_STALLCURRENT   1500
2144 2144
     #define E0_MAX_VOLTAGE     127
2145
-    #define E0_CHAIN_POS         0
2145
+    #define E0_CHAIN_POS        -1
2146 2146
   #endif
2147 2147
 
2148 2148
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2150,7 +2150,7 @@
2150 2150
     #define E1_OVERCURRENT    2000
2151 2151
     #define E1_STALLCURRENT   1500
2152 2152
     #define E1_MAX_VOLTAGE     127
2153
-    #define E1_CHAIN_POS         0
2153
+    #define E1_CHAIN_POS        -1
2154 2154
   #endif
2155 2155
 
2156 2156
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2158,7 +2158,7 @@
2158 2158
     #define E2_OVERCURRENT    2000
2159 2159
     #define E2_STALLCURRENT   1500
2160 2160
     #define E2_MAX_VOLTAGE     127
2161
-    #define E2_CHAIN_POS         0
2161
+    #define E2_CHAIN_POS        -1
2162 2162
   #endif
2163 2163
 
2164 2164
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2166,7 +2166,7 @@
2166 2166
     #define E3_OVERCURRENT    2000
2167 2167
     #define E3_STALLCURRENT   1500
2168 2168
     #define E3_MAX_VOLTAGE     127
2169
-    #define E3_CHAIN_POS         0
2169
+    #define E3_CHAIN_POS        -1
2170 2170
   #endif
2171 2171
 
2172 2172
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2174,7 +2174,7 @@
2174 2174
     #define E4_OVERCURRENT    2000
2175 2175
     #define E4_STALLCURRENT   1500
2176 2176
     #define E4_MAX_VOLTAGE     127
2177
-    #define E4_CHAIN_POS         0
2177
+    #define E4_CHAIN_POS        -1
2178 2178
   #endif
2179 2179
 
2180 2180
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2182,7 +2182,7 @@
2182 2182
     #define E5_OVERCURRENT    2000
2183 2183
     #define E5_STALLCURRENT   1500
2184 2184
     #define E5_MAX_VOLTAGE     127
2185
-    #define E5_CHAIN_POS         0
2185
+    #define E5_CHAIN_POS        -1
2186 2186
   #endif
2187 2187
 
2188 2188
   /**

+ 26
- 26
config/examples/Infitary/i3-M508/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/JGAurora/A1/Configuration_adv.h 查看文件

@@ -1802,91 +1802,91 @@
1802 1802
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1803 1803
     #define X_MICROSTEPS   16  // 0..256
1804 1804
     #define X_RSENSE     0.11
1805
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1805
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1806 1806
   #endif
1807 1807
 
1808 1808
   #if AXIS_IS_TMC(X2)
1809 1809
     #define X2_CURRENT    800
1810 1810
     #define X2_MICROSTEPS  16
1811 1811
     #define X2_RSENSE    0.11
1812
-    #define X2_CHAIN_POS    0
1812
+    #define X2_CHAIN_POS   -1
1813 1813
   #endif
1814 1814
 
1815 1815
   #if AXIS_IS_TMC(Y)
1816 1816
     #define Y_CURRENT     800
1817 1817
     #define Y_MICROSTEPS   16
1818 1818
     #define Y_RSENSE     0.11
1819
-    #define Y_CHAIN_POS     0
1819
+    #define Y_CHAIN_POS    -1
1820 1820
   #endif
1821 1821
 
1822 1822
   #if AXIS_IS_TMC(Y2)
1823 1823
     #define Y2_CURRENT    800
1824 1824
     #define Y2_MICROSTEPS  16
1825 1825
     #define Y2_RSENSE    0.11
1826
-    #define Y2_CHAIN_POS    0
1826
+    #define Y2_CHAIN_POS   -1
1827 1827
   #endif
1828 1828
 
1829 1829
   #if AXIS_IS_TMC(Z)
1830 1830
     #define Z_CURRENT     800
1831 1831
     #define Z_MICROSTEPS   16
1832 1832
     #define Z_RSENSE     0.11
1833
-    #define Z_CHAIN_POS     0
1833
+    #define Z_CHAIN_POS    -1
1834 1834
   #endif
1835 1835
 
1836 1836
   #if AXIS_IS_TMC(Z2)
1837 1837
     #define Z2_CURRENT    800
1838 1838
     #define Z2_MICROSTEPS  16
1839 1839
     #define Z2_RSENSE    0.11
1840
-    #define Z2_CHAIN_POS    0
1840
+    #define Z2_CHAIN_POS   -1
1841 1841
   #endif
1842 1842
 
1843 1843
   #if AXIS_IS_TMC(Z3)
1844 1844
     #define Z3_CURRENT    800
1845 1845
     #define Z3_MICROSTEPS  16
1846 1846
     #define Z3_RSENSE    0.11
1847
-    #define Z3_CHAIN_POS    0
1847
+    #define Z3_CHAIN_POS   -1
1848 1848
   #endif
1849 1849
 
1850 1850
   #if AXIS_IS_TMC(E0)
1851 1851
     #define E0_CURRENT    800
1852 1852
     #define E0_MICROSTEPS  16
1853 1853
     #define E0_RSENSE    0.11
1854
-    #define E0_CHAIN_POS    0
1854
+    #define E0_CHAIN_POS   -1
1855 1855
   #endif
1856 1856
 
1857 1857
   #if AXIS_IS_TMC(E1)
1858 1858
     #define E1_CURRENT    800
1859 1859
     #define E1_MICROSTEPS  16
1860 1860
     #define E1_RSENSE    0.11
1861
-    #define E1_CHAIN_POS    0
1861
+    #define E1_CHAIN_POS   -1
1862 1862
   #endif
1863 1863
 
1864 1864
   #if AXIS_IS_TMC(E2)
1865 1865
     #define E2_CURRENT    800
1866 1866
     #define E2_MICROSTEPS  16
1867 1867
     #define E2_RSENSE    0.11
1868
-    #define E2_CHAIN_POS    0
1868
+    #define E2_CHAIN_POS   -1
1869 1869
   #endif
1870 1870
 
1871 1871
   #if AXIS_IS_TMC(E3)
1872 1872
     #define E3_CURRENT    800
1873 1873
     #define E3_MICROSTEPS  16
1874 1874
     #define E3_RSENSE    0.11
1875
-    #define E3_CHAIN_POS    0
1875
+    #define E3_CHAIN_POS   -1
1876 1876
   #endif
1877 1877
 
1878 1878
   #if AXIS_IS_TMC(E4)
1879 1879
     #define E4_CURRENT    800
1880 1880
     #define E4_MICROSTEPS  16
1881 1881
     #define E4_RSENSE    0.11
1882
-    #define E4_CHAIN_POS    0
1882
+    #define E4_CHAIN_POS   -1
1883 1883
   #endif
1884 1884
 
1885 1885
   #if AXIS_IS_TMC(E5)
1886 1886
     #define E5_CURRENT    800
1887 1887
     #define E5_MICROSTEPS  16
1888 1888
     #define E5_RSENSE    0.11
1889
-    #define E5_CHAIN_POS    0
1889
+    #define E5_CHAIN_POS   -1
1890 1890
   #endif
1891 1891
 
1892 1892
   /**
@@ -2112,7 +2112,7 @@
2112 2112
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2113 2113
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2114 2114
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2115
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2115
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2116 2116
   #endif
2117 2117
 
2118 2118
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2120,7 +2120,7 @@
2120 2120
     #define X2_OVERCURRENT    2000
2121 2121
     #define X2_STALLCURRENT   1500
2122 2122
     #define X2_MAX_VOLTAGE     127
2123
-    #define X2_CHAIN_POS         0
2123
+    #define X2_CHAIN_POS        -1
2124 2124
   #endif
2125 2125
 
2126 2126
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2128,7 +2128,7 @@
2128 2128
     #define Y_OVERCURRENT     2000
2129 2129
     #define Y_STALLCURRENT    1500
2130 2130
     #define Y_MAX_VOLTAGE      127
2131
-    #define Y_CHAIN_POS          0
2131
+    #define Y_CHAIN_POS         -1
2132 2132
   #endif
2133 2133
 
2134 2134
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2136,7 +2136,7 @@
2136 2136
     #define Y2_OVERCURRENT    2000
2137 2137
     #define Y2_STALLCURRENT   1500
2138 2138
     #define Y2_MAX_VOLTAGE     127
2139
-    #define Y2_CHAIN_POS         0
2139
+    #define Y2_CHAIN_POS        -1
2140 2140
   #endif
2141 2141
 
2142 2142
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2144,7 +2144,7 @@
2144 2144
     #define Z_OVERCURRENT     2000
2145 2145
     #define Z_STALLCURRENT    1500
2146 2146
     #define Z_MAX_VOLTAGE      127
2147
-    #define Z_CHAIN_POS          0
2147
+    #define Z_CHAIN_POS         -1
2148 2148
   #endif
2149 2149
 
2150 2150
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2152,7 +2152,7 @@
2152 2152
     #define Z2_OVERCURRENT    2000
2153 2153
     #define Z2_STALLCURRENT   1500
2154 2154
     #define Z2_MAX_VOLTAGE     127
2155
-    #define Z2_CHAIN_POS         0
2155
+    #define Z2_CHAIN_POS        -1
2156 2156
   #endif
2157 2157
 
2158 2158
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2160,7 +2160,7 @@
2160 2160
     #define Z3_OVERCURRENT    2000
2161 2161
     #define Z3_STALLCURRENT   1500
2162 2162
     #define Z3_MAX_VOLTAGE     127
2163
-    #define Z3_CHAIN_POS         0
2163
+    #define Z3_CHAIN_POS        -1
2164 2164
   #endif
2165 2165
 
2166 2166
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2168,7 +2168,7 @@
2168 2168
     #define E0_OVERCURRENT    2000
2169 2169
     #define E0_STALLCURRENT   1500
2170 2170
     #define E0_MAX_VOLTAGE     127
2171
-    #define E0_CHAIN_POS         0
2171
+    #define E0_CHAIN_POS        -1
2172 2172
   #endif
2173 2173
 
2174 2174
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2176,7 +2176,7 @@
2176 2176
     #define E1_OVERCURRENT    2000
2177 2177
     #define E1_STALLCURRENT   1500
2178 2178
     #define E1_MAX_VOLTAGE     127
2179
-    #define E1_CHAIN_POS         0
2179
+    #define E1_CHAIN_POS        -1
2180 2180
   #endif
2181 2181
 
2182 2182
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2184,7 +2184,7 @@
2184 2184
     #define E2_OVERCURRENT    2000
2185 2185
     #define E2_STALLCURRENT   1500
2186 2186
     #define E2_MAX_VOLTAGE     127
2187
-    #define E2_CHAIN_POS         0
2187
+    #define E2_CHAIN_POS        -1
2188 2188
   #endif
2189 2189
 
2190 2190
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2192,7 +2192,7 @@
2192 2192
     #define E3_OVERCURRENT    2000
2193 2193
     #define E3_STALLCURRENT   1500
2194 2194
     #define E3_MAX_VOLTAGE     127
2195
-    #define E3_CHAIN_POS         0
2195
+    #define E3_CHAIN_POS        -1
2196 2196
   #endif
2197 2197
 
2198 2198
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2200,7 +2200,7 @@
2200 2200
     #define E4_OVERCURRENT    2000
2201 2201
     #define E4_STALLCURRENT   1500
2202 2202
     #define E4_MAX_VOLTAGE     127
2203
-    #define E4_CHAIN_POS         0
2203
+    #define E4_CHAIN_POS        -1
2204 2204
   #endif
2205 2205
 
2206 2206
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2208,7 +2208,7 @@
2208 2208
     #define E5_OVERCURRENT    2000
2209 2209
     #define E5_STALLCURRENT   1500
2210 2210
     #define E5_MAX_VOLTAGE     127
2211
-    #define E5_CHAIN_POS         0
2211
+    #define E5_CHAIN_POS        -1
2212 2212
   #endif
2213 2213
 
2214 2214
   /**

+ 26
- 26
config/examples/JGAurora/A5/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/JGAurora/A5S/Configuration_adv.h 查看文件

@@ -1802,91 +1802,91 @@
1802 1802
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1803 1803
     #define X_MICROSTEPS   16  // 0..256
1804 1804
     #define X_RSENSE     0.11
1805
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1805
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1806 1806
   #endif
1807 1807
 
1808 1808
   #if AXIS_IS_TMC(X2)
1809 1809
     #define X2_CURRENT    800
1810 1810
     #define X2_MICROSTEPS  16
1811 1811
     #define X2_RSENSE    0.11
1812
-    #define X2_CHAIN_POS    0
1812
+    #define X2_CHAIN_POS   -1
1813 1813
   #endif
1814 1814
 
1815 1815
   #if AXIS_IS_TMC(Y)
1816 1816
     #define Y_CURRENT     800
1817 1817
     #define Y_MICROSTEPS   16
1818 1818
     #define Y_RSENSE     0.11
1819
-    #define Y_CHAIN_POS     0
1819
+    #define Y_CHAIN_POS    -1
1820 1820
   #endif
1821 1821
 
1822 1822
   #if AXIS_IS_TMC(Y2)
1823 1823
     #define Y2_CURRENT    800
1824 1824
     #define Y2_MICROSTEPS  16
1825 1825
     #define Y2_RSENSE    0.11
1826
-    #define Y2_CHAIN_POS    0
1826
+    #define Y2_CHAIN_POS   -1
1827 1827
   #endif
1828 1828
 
1829 1829
   #if AXIS_IS_TMC(Z)
1830 1830
     #define Z_CURRENT     800
1831 1831
     #define Z_MICROSTEPS   16
1832 1832
     #define Z_RSENSE     0.11
1833
-    #define Z_CHAIN_POS     0
1833
+    #define Z_CHAIN_POS    -1
1834 1834
   #endif
1835 1835
 
1836 1836
   #if AXIS_IS_TMC(Z2)
1837 1837
     #define Z2_CURRENT    800
1838 1838
     #define Z2_MICROSTEPS  16
1839 1839
     #define Z2_RSENSE    0.11
1840
-    #define Z2_CHAIN_POS    0
1840
+    #define Z2_CHAIN_POS   -1
1841 1841
   #endif
1842 1842
 
1843 1843
   #if AXIS_IS_TMC(Z3)
1844 1844
     #define Z3_CURRENT    800
1845 1845
     #define Z3_MICROSTEPS  16
1846 1846
     #define Z3_RSENSE    0.11
1847
-    #define Z3_CHAIN_POS    0
1847
+    #define Z3_CHAIN_POS   -1
1848 1848
   #endif
1849 1849
 
1850 1850
   #if AXIS_IS_TMC(E0)
1851 1851
     #define E0_CURRENT    800
1852 1852
     #define E0_MICROSTEPS  16
1853 1853
     #define E0_RSENSE    0.11
1854
-    #define E0_CHAIN_POS    0
1854
+    #define E0_CHAIN_POS   -1
1855 1855
   #endif
1856 1856
 
1857 1857
   #if AXIS_IS_TMC(E1)
1858 1858
     #define E1_CURRENT    800
1859 1859
     #define E1_MICROSTEPS  16
1860 1860
     #define E1_RSENSE    0.11
1861
-    #define E1_CHAIN_POS    0
1861
+    #define E1_CHAIN_POS   -1
1862 1862
   #endif
1863 1863
 
1864 1864
   #if AXIS_IS_TMC(E2)
1865 1865
     #define E2_CURRENT    800
1866 1866
     #define E2_MICROSTEPS  16
1867 1867
     #define E2_RSENSE    0.11
1868
-    #define E2_CHAIN_POS    0
1868
+    #define E2_CHAIN_POS   -1
1869 1869
   #endif
1870 1870
 
1871 1871
   #if AXIS_IS_TMC(E3)
1872 1872
     #define E3_CURRENT    800
1873 1873
     #define E3_MICROSTEPS  16
1874 1874
     #define E3_RSENSE    0.11
1875
-    #define E3_CHAIN_POS    0
1875
+    #define E3_CHAIN_POS   -1
1876 1876
   #endif
1877 1877
 
1878 1878
   #if AXIS_IS_TMC(E4)
1879 1879
     #define E4_CURRENT    800
1880 1880
     #define E4_MICROSTEPS  16
1881 1881
     #define E4_RSENSE    0.11
1882
-    #define E4_CHAIN_POS    0
1882
+    #define E4_CHAIN_POS   -1
1883 1883
   #endif
1884 1884
 
1885 1885
   #if AXIS_IS_TMC(E5)
1886 1886
     #define E5_CURRENT    800
1887 1887
     #define E5_MICROSTEPS  16
1888 1888
     #define E5_RSENSE    0.11
1889
-    #define E5_CHAIN_POS    0
1889
+    #define E5_CHAIN_POS   -1
1890 1890
   #endif
1891 1891
 
1892 1892
   /**
@@ -2112,7 +2112,7 @@
2112 2112
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2113 2113
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2114 2114
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2115
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2115
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2116 2116
   #endif
2117 2117
 
2118 2118
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2120,7 +2120,7 @@
2120 2120
     #define X2_OVERCURRENT    2000
2121 2121
     #define X2_STALLCURRENT   1500
2122 2122
     #define X2_MAX_VOLTAGE     127
2123
-    #define X2_CHAIN_POS         0
2123
+    #define X2_CHAIN_POS        -1
2124 2124
   #endif
2125 2125
 
2126 2126
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2128,7 +2128,7 @@
2128 2128
     #define Y_OVERCURRENT     2000
2129 2129
     #define Y_STALLCURRENT    1500
2130 2130
     #define Y_MAX_VOLTAGE      127
2131
-    #define Y_CHAIN_POS          0
2131
+    #define Y_CHAIN_POS         -1
2132 2132
   #endif
2133 2133
 
2134 2134
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2136,7 +2136,7 @@
2136 2136
     #define Y2_OVERCURRENT    2000
2137 2137
     #define Y2_STALLCURRENT   1500
2138 2138
     #define Y2_MAX_VOLTAGE     127
2139
-    #define Y2_CHAIN_POS         0
2139
+    #define Y2_CHAIN_POS        -1
2140 2140
   #endif
2141 2141
 
2142 2142
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2144,7 +2144,7 @@
2144 2144
     #define Z_OVERCURRENT     2000
2145 2145
     #define Z_STALLCURRENT    1500
2146 2146
     #define Z_MAX_VOLTAGE      127
2147
-    #define Z_CHAIN_POS          0
2147
+    #define Z_CHAIN_POS         -1
2148 2148
   #endif
2149 2149
 
2150 2150
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2152,7 +2152,7 @@
2152 2152
     #define Z2_OVERCURRENT    2000
2153 2153
     #define Z2_STALLCURRENT   1500
2154 2154
     #define Z2_MAX_VOLTAGE     127
2155
-    #define Z2_CHAIN_POS         0
2155
+    #define Z2_CHAIN_POS        -1
2156 2156
   #endif
2157 2157
 
2158 2158
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2160,7 +2160,7 @@
2160 2160
     #define Z3_OVERCURRENT    2000
2161 2161
     #define Z3_STALLCURRENT   1500
2162 2162
     #define Z3_MAX_VOLTAGE     127
2163
-    #define Z3_CHAIN_POS         0
2163
+    #define Z3_CHAIN_POS        -1
2164 2164
   #endif
2165 2165
 
2166 2166
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2168,7 +2168,7 @@
2168 2168
     #define E0_OVERCURRENT    2000
2169 2169
     #define E0_STALLCURRENT   1500
2170 2170
     #define E0_MAX_VOLTAGE     127
2171
-    #define E0_CHAIN_POS         0
2171
+    #define E0_CHAIN_POS        -1
2172 2172
   #endif
2173 2173
 
2174 2174
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2176,7 +2176,7 @@
2176 2176
     #define E1_OVERCURRENT    2000
2177 2177
     #define E1_STALLCURRENT   1500
2178 2178
     #define E1_MAX_VOLTAGE     127
2179
-    #define E1_CHAIN_POS         0
2179
+    #define E1_CHAIN_POS        -1
2180 2180
   #endif
2181 2181
 
2182 2182
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2184,7 +2184,7 @@
2184 2184
     #define E2_OVERCURRENT    2000
2185 2185
     #define E2_STALLCURRENT   1500
2186 2186
     #define E2_MAX_VOLTAGE     127
2187
-    #define E2_CHAIN_POS         0
2187
+    #define E2_CHAIN_POS        -1
2188 2188
   #endif
2189 2189
 
2190 2190
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2192,7 +2192,7 @@
2192 2192
     #define E3_OVERCURRENT    2000
2193 2193
     #define E3_STALLCURRENT   1500
2194 2194
     #define E3_MAX_VOLTAGE     127
2195
-    #define E3_CHAIN_POS         0
2195
+    #define E3_CHAIN_POS        -1
2196 2196
   #endif
2197 2197
 
2198 2198
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2200,7 +2200,7 @@
2200 2200
     #define E4_OVERCURRENT    2000
2201 2201
     #define E4_STALLCURRENT   1500
2202 2202
     #define E4_MAX_VOLTAGE     127
2203
-    #define E4_CHAIN_POS         0
2203
+    #define E4_CHAIN_POS        -1
2204 2204
   #endif
2205 2205
 
2206 2206
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2208,7 +2208,7 @@
2208 2208
     #define E5_OVERCURRENT    2000
2209 2209
     #define E5_STALLCURRENT   1500
2210 2210
     #define E5_MAX_VOLTAGE     127
2211
-    #define E5_CHAIN_POS         0
2211
+    #define E5_CHAIN_POS        -1
2212 2212
   #endif
2213 2213
 
2214 2214
   /**

+ 26
- 26
config/examples/MakerParts/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/Malyan/M150/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/Malyan/M200/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/Micromake/C1/enhanced/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/Mks/Robin/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/Mks/Sbase/Configuration_adv.h 查看文件

@@ -1798,91 +1798,91 @@
1798 1798
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1799 1799
     #define X_MICROSTEPS   16  // 0..256
1800 1800
     #define X_RSENSE     0.11
1801
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1801
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1802 1802
   #endif
1803 1803
 
1804 1804
   #if AXIS_IS_TMC(X2)
1805 1805
     #define X2_CURRENT    800
1806 1806
     #define X2_MICROSTEPS  16
1807 1807
     #define X2_RSENSE    0.11
1808
-    #define X2_CHAIN_POS    0
1808
+    #define X2_CHAIN_POS   -1
1809 1809
   #endif
1810 1810
 
1811 1811
   #if AXIS_IS_TMC(Y)
1812 1812
     #define Y_CURRENT     800
1813 1813
     #define Y_MICROSTEPS   16
1814 1814
     #define Y_RSENSE     0.11
1815
-    #define Y_CHAIN_POS     0
1815
+    #define Y_CHAIN_POS    -1
1816 1816
   #endif
1817 1817
 
1818 1818
   #if AXIS_IS_TMC(Y2)
1819 1819
     #define Y2_CURRENT    800
1820 1820
     #define Y2_MICROSTEPS  16
1821 1821
     #define Y2_RSENSE    0.11
1822
-    #define Y2_CHAIN_POS    0
1822
+    #define Y2_CHAIN_POS   -1
1823 1823
   #endif
1824 1824
 
1825 1825
   #if AXIS_IS_TMC(Z)
1826 1826
     #define Z_CURRENT     800
1827 1827
     #define Z_MICROSTEPS   16
1828 1828
     #define Z_RSENSE     0.11
1829
-    #define Z_CHAIN_POS     0
1829
+    #define Z_CHAIN_POS    -1
1830 1830
   #endif
1831 1831
 
1832 1832
   #if AXIS_IS_TMC(Z2)
1833 1833
     #define Z2_CURRENT    800
1834 1834
     #define Z2_MICROSTEPS  16
1835 1835
     #define Z2_RSENSE    0.11
1836
-    #define Z2_CHAIN_POS    0
1836
+    #define Z2_CHAIN_POS   -1
1837 1837
   #endif
1838 1838
 
1839 1839
   #if AXIS_IS_TMC(Z3)
1840 1840
     #define Z3_CURRENT    800
1841 1841
     #define Z3_MICROSTEPS  16
1842 1842
     #define Z3_RSENSE    0.11
1843
-    #define Z3_CHAIN_POS    0
1843
+    #define Z3_CHAIN_POS   -1
1844 1844
   #endif
1845 1845
 
1846 1846
   #if AXIS_IS_TMC(E0)
1847 1847
     #define E0_CURRENT    800
1848 1848
     #define E0_MICROSTEPS  16
1849 1849
     #define E0_RSENSE    0.11
1850
-    #define E0_CHAIN_POS    0
1850
+    #define E0_CHAIN_POS   -1
1851 1851
   #endif
1852 1852
 
1853 1853
   #if AXIS_IS_TMC(E1)
1854 1854
     #define E1_CURRENT    800
1855 1855
     #define E1_MICROSTEPS  16
1856 1856
     #define E1_RSENSE    0.11
1857
-    #define E1_CHAIN_POS    0
1857
+    #define E1_CHAIN_POS   -1
1858 1858
   #endif
1859 1859
 
1860 1860
   #if AXIS_IS_TMC(E2)
1861 1861
     #define E2_CURRENT    800
1862 1862
     #define E2_MICROSTEPS  16
1863 1863
     #define E2_RSENSE    0.11
1864
-    #define E2_CHAIN_POS    0
1864
+    #define E2_CHAIN_POS   -1
1865 1865
   #endif
1866 1866
 
1867 1867
   #if AXIS_IS_TMC(E3)
1868 1868
     #define E3_CURRENT    800
1869 1869
     #define E3_MICROSTEPS  16
1870 1870
     #define E3_RSENSE    0.11
1871
-    #define E3_CHAIN_POS    0
1871
+    #define E3_CHAIN_POS   -1
1872 1872
   #endif
1873 1873
 
1874 1874
   #if AXIS_IS_TMC(E4)
1875 1875
     #define E4_CURRENT    800
1876 1876
     #define E4_MICROSTEPS  16
1877 1877
     #define E4_RSENSE    0.11
1878
-    #define E4_CHAIN_POS    0
1878
+    #define E4_CHAIN_POS   -1
1879 1879
   #endif
1880 1880
 
1881 1881
   #if AXIS_IS_TMC(E5)
1882 1882
     #define E5_CURRENT    800
1883 1883
     #define E5_MICROSTEPS  16
1884 1884
     #define E5_RSENSE    0.11
1885
-    #define E5_CHAIN_POS    0
1885
+    #define E5_CHAIN_POS   -1
1886 1886
   #endif
1887 1887
 
1888 1888
   /**
@@ -2108,7 +2108,7 @@
2108 2108
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2109 2109
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2110 2110
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2111
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2111
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2112 2112
   #endif
2113 2113
 
2114 2114
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2116,7 +2116,7 @@
2116 2116
     #define X2_OVERCURRENT    2000
2117 2117
     #define X2_STALLCURRENT   1500
2118 2118
     #define X2_MAX_VOLTAGE     127
2119
-    #define X2_CHAIN_POS         0
2119
+    #define X2_CHAIN_POS        -1
2120 2120
   #endif
2121 2121
 
2122 2122
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2124,7 +2124,7 @@
2124 2124
     #define Y_OVERCURRENT     2000
2125 2125
     #define Y_STALLCURRENT    1500
2126 2126
     #define Y_MAX_VOLTAGE      127
2127
-    #define Y_CHAIN_POS          0
2127
+    #define Y_CHAIN_POS         -1
2128 2128
   #endif
2129 2129
 
2130 2130
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2132,7 +2132,7 @@
2132 2132
     #define Y2_OVERCURRENT    2000
2133 2133
     #define Y2_STALLCURRENT   1500
2134 2134
     #define Y2_MAX_VOLTAGE     127
2135
-    #define Y2_CHAIN_POS         0
2135
+    #define Y2_CHAIN_POS        -1
2136 2136
   #endif
2137 2137
 
2138 2138
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2140,7 +2140,7 @@
2140 2140
     #define Z_OVERCURRENT     2000
2141 2141
     #define Z_STALLCURRENT    1500
2142 2142
     #define Z_MAX_VOLTAGE      127
2143
-    #define Z_CHAIN_POS          0
2143
+    #define Z_CHAIN_POS         -1
2144 2144
   #endif
2145 2145
 
2146 2146
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2148,7 +2148,7 @@
2148 2148
     #define Z2_OVERCURRENT    2000
2149 2149
     #define Z2_STALLCURRENT   1500
2150 2150
     #define Z2_MAX_VOLTAGE     127
2151
-    #define Z2_CHAIN_POS         0
2151
+    #define Z2_CHAIN_POS        -1
2152 2152
   #endif
2153 2153
 
2154 2154
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2156,7 +2156,7 @@
2156 2156
     #define Z3_OVERCURRENT    2000
2157 2157
     #define Z3_STALLCURRENT   1500
2158 2158
     #define Z3_MAX_VOLTAGE     127
2159
-    #define Z3_CHAIN_POS         0
2159
+    #define Z3_CHAIN_POS        -1
2160 2160
   #endif
2161 2161
 
2162 2162
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2164,7 +2164,7 @@
2164 2164
     #define E0_OVERCURRENT    2000
2165 2165
     #define E0_STALLCURRENT   1500
2166 2166
     #define E0_MAX_VOLTAGE     127
2167
-    #define E0_CHAIN_POS         0
2167
+    #define E0_CHAIN_POS        -1
2168 2168
   #endif
2169 2169
 
2170 2170
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2172,7 +2172,7 @@
2172 2172
     #define E1_OVERCURRENT    2000
2173 2173
     #define E1_STALLCURRENT   1500
2174 2174
     #define E1_MAX_VOLTAGE     127
2175
-    #define E1_CHAIN_POS         0
2175
+    #define E1_CHAIN_POS        -1
2176 2176
   #endif
2177 2177
 
2178 2178
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2180,7 +2180,7 @@
2180 2180
     #define E2_OVERCURRENT    2000
2181 2181
     #define E2_STALLCURRENT   1500
2182 2182
     #define E2_MAX_VOLTAGE     127
2183
-    #define E2_CHAIN_POS         0
2183
+    #define E2_CHAIN_POS        -1
2184 2184
   #endif
2185 2185
 
2186 2186
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2188,7 +2188,7 @@
2188 2188
     #define E3_OVERCURRENT    2000
2189 2189
     #define E3_STALLCURRENT   1500
2190 2190
     #define E3_MAX_VOLTAGE     127
2191
-    #define E3_CHAIN_POS         0
2191
+    #define E3_CHAIN_POS        -1
2192 2192
   #endif
2193 2193
 
2194 2194
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2196,7 +2196,7 @@
2196 2196
     #define E4_OVERCURRENT    2000
2197 2197
     #define E4_STALLCURRENT   1500
2198 2198
     #define E4_MAX_VOLTAGE     127
2199
-    #define E4_CHAIN_POS         0
2199
+    #define E4_CHAIN_POS        -1
2200 2200
   #endif
2201 2201
 
2202 2202
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2204,7 +2204,7 @@
2204 2204
     #define E5_OVERCURRENT    2000
2205 2205
     #define E5_STALLCURRENT   1500
2206 2206
     #define E5_MAX_VOLTAGE     127
2207
-    #define E5_CHAIN_POS         0
2207
+    #define E5_CHAIN_POS        -1
2208 2208
   #endif
2209 2209
 
2210 2210
   /**

+ 26
- 26
config/examples/RapideLite/RL200/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/RigidBot/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/SCARA/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/STM32/Black_STM32F407VET6/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/Sanguinololu/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/Tevo/Michelangelo/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/Tevo/Tarantula Pro/Configuration_adv.h 查看文件

@@ -1793,91 +1793,91 @@
1793 1793
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1794 1794
     #define X_MICROSTEPS   16  // 0..256
1795 1795
     #define X_RSENSE     0.11
1796
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1796
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1797 1797
   #endif
1798 1798
 
1799 1799
   #if AXIS_IS_TMC(X2)
1800 1800
     #define X2_CURRENT    800
1801 1801
     #define X2_MICROSTEPS  16
1802 1802
     #define X2_RSENSE    0.11
1803
-    #define X2_CHAIN_POS    0
1803
+    #define X2_CHAIN_POS   -1
1804 1804
   #endif
1805 1805
 
1806 1806
   #if AXIS_IS_TMC(Y)
1807 1807
     #define Y_CURRENT     800
1808 1808
     #define Y_MICROSTEPS   16
1809 1809
     #define Y_RSENSE     0.11
1810
-    #define Y_CHAIN_POS     0
1810
+    #define Y_CHAIN_POS    -1
1811 1811
   #endif
1812 1812
 
1813 1813
   #if AXIS_IS_TMC(Y2)
1814 1814
     #define Y2_CURRENT    800
1815 1815
     #define Y2_MICROSTEPS  16
1816 1816
     #define Y2_RSENSE    0.11
1817
-    #define Y2_CHAIN_POS    0
1817
+    #define Y2_CHAIN_POS   -1
1818 1818
   #endif
1819 1819
 
1820 1820
   #if AXIS_IS_TMC(Z)
1821 1821
     #define Z_CURRENT     800
1822 1822
     #define Z_MICROSTEPS   16
1823 1823
     #define Z_RSENSE     0.11
1824
-    #define Z_CHAIN_POS     0
1824
+    #define Z_CHAIN_POS    -1
1825 1825
   #endif
1826 1826
 
1827 1827
   #if AXIS_IS_TMC(Z2)
1828 1828
     #define Z2_CURRENT    800
1829 1829
     #define Z2_MICROSTEPS  16
1830 1830
     #define Z2_RSENSE    0.11
1831
-    #define Z2_CHAIN_POS    0
1831
+    #define Z2_CHAIN_POS   -1
1832 1832
   #endif
1833 1833
 
1834 1834
   #if AXIS_IS_TMC(Z3)
1835 1835
     #define Z3_CURRENT    800
1836 1836
     #define Z3_MICROSTEPS  16
1837 1837
     #define Z3_RSENSE    0.11
1838
-    #define Z3_CHAIN_POS    0
1838
+    #define Z3_CHAIN_POS   -1
1839 1839
   #endif
1840 1840
 
1841 1841
   #if AXIS_IS_TMC(E0)
1842 1842
     #define E0_CURRENT    800
1843 1843
     #define E0_MICROSTEPS  16
1844 1844
     #define E0_RSENSE    0.11
1845
-    #define E0_CHAIN_POS    0
1845
+    #define E0_CHAIN_POS   -1
1846 1846
   #endif
1847 1847
 
1848 1848
   #if AXIS_IS_TMC(E1)
1849 1849
     #define E1_CURRENT    800
1850 1850
     #define E1_MICROSTEPS  16
1851 1851
     #define E1_RSENSE    0.11
1852
-    #define E1_CHAIN_POS    0
1852
+    #define E1_CHAIN_POS   -1
1853 1853
   #endif
1854 1854
 
1855 1855
   #if AXIS_IS_TMC(E2)
1856 1856
     #define E2_CURRENT    800
1857 1857
     #define E2_MICROSTEPS  16
1858 1858
     #define E2_RSENSE    0.11
1859
-    #define E2_CHAIN_POS    0
1859
+    #define E2_CHAIN_POS   -1
1860 1860
   #endif
1861 1861
 
1862 1862
   #if AXIS_IS_TMC(E3)
1863 1863
     #define E3_CURRENT    800
1864 1864
     #define E3_MICROSTEPS  16
1865 1865
     #define E3_RSENSE    0.11
1866
-    #define E3_CHAIN_POS    0
1866
+    #define E3_CHAIN_POS   -1
1867 1867
   #endif
1868 1868
 
1869 1869
   #if AXIS_IS_TMC(E4)
1870 1870
     #define E4_CURRENT    800
1871 1871
     #define E4_MICROSTEPS  16
1872 1872
     #define E4_RSENSE    0.11
1873
-    #define E4_CHAIN_POS    0
1873
+    #define E4_CHAIN_POS   -1
1874 1874
   #endif
1875 1875
 
1876 1876
   #if AXIS_IS_TMC(E5)
1877 1877
     #define E5_CURRENT    800
1878 1878
     #define E5_MICROSTEPS  16
1879 1879
     #define E5_RSENSE    0.11
1880
-    #define E5_CHAIN_POS    0
1880
+    #define E5_CHAIN_POS   -1
1881 1881
   #endif
1882 1882
 
1883 1883
   /**
@@ -2103,7 +2103,7 @@
2103 2103
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2104 2104
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2105 2105
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2106
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2106
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2107 2107
   #endif
2108 2108
 
2109 2109
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2111,7 +2111,7 @@
2111 2111
     #define X2_OVERCURRENT    2000
2112 2112
     #define X2_STALLCURRENT   1500
2113 2113
     #define X2_MAX_VOLTAGE     127
2114
-    #define X2_CHAIN_POS         0
2114
+    #define X2_CHAIN_POS        -1
2115 2115
   #endif
2116 2116
 
2117 2117
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2119,7 +2119,7 @@
2119 2119
     #define Y_OVERCURRENT     2000
2120 2120
     #define Y_STALLCURRENT    1500
2121 2121
     #define Y_MAX_VOLTAGE      127
2122
-    #define Y_CHAIN_POS          0
2122
+    #define Y_CHAIN_POS         -1
2123 2123
   #endif
2124 2124
 
2125 2125
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2127,7 +2127,7 @@
2127 2127
     #define Y2_OVERCURRENT    2000
2128 2128
     #define Y2_STALLCURRENT   1500
2129 2129
     #define Y2_MAX_VOLTAGE     127
2130
-    #define Y2_CHAIN_POS         0
2130
+    #define Y2_CHAIN_POS        -1
2131 2131
   #endif
2132 2132
 
2133 2133
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2135,7 +2135,7 @@
2135 2135
     #define Z_OVERCURRENT     2000
2136 2136
     #define Z_STALLCURRENT    1500
2137 2137
     #define Z_MAX_VOLTAGE      127
2138
-    #define Z_CHAIN_POS          0
2138
+    #define Z_CHAIN_POS         -1
2139 2139
   #endif
2140 2140
 
2141 2141
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2143,7 +2143,7 @@
2143 2143
     #define Z2_OVERCURRENT    2000
2144 2144
     #define Z2_STALLCURRENT   1500
2145 2145
     #define Z2_MAX_VOLTAGE     127
2146
-    #define Z2_CHAIN_POS         0
2146
+    #define Z2_CHAIN_POS        -1
2147 2147
   #endif
2148 2148
 
2149 2149
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2151,7 +2151,7 @@
2151 2151
     #define Z3_OVERCURRENT    2000
2152 2152
     #define Z3_STALLCURRENT   1500
2153 2153
     #define Z3_MAX_VOLTAGE     127
2154
-    #define Z3_CHAIN_POS         0
2154
+    #define Z3_CHAIN_POS        -1
2155 2155
   #endif
2156 2156
 
2157 2157
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2159,7 +2159,7 @@
2159 2159
     #define E0_OVERCURRENT    2000
2160 2160
     #define E0_STALLCURRENT   1500
2161 2161
     #define E0_MAX_VOLTAGE     127
2162
-    #define E0_CHAIN_POS         0
2162
+    #define E0_CHAIN_POS        -1
2163 2163
   #endif
2164 2164
 
2165 2165
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2167,7 +2167,7 @@
2167 2167
     #define E1_OVERCURRENT    2000
2168 2168
     #define E1_STALLCURRENT   1500
2169 2169
     #define E1_MAX_VOLTAGE     127
2170
-    #define E1_CHAIN_POS         0
2170
+    #define E1_CHAIN_POS        -1
2171 2171
   #endif
2172 2172
 
2173 2173
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2175,7 +2175,7 @@
2175 2175
     #define E2_OVERCURRENT    2000
2176 2176
     #define E2_STALLCURRENT   1500
2177 2177
     #define E2_MAX_VOLTAGE     127
2178
-    #define E2_CHAIN_POS         0
2178
+    #define E2_CHAIN_POS        -1
2179 2179
   #endif
2180 2180
 
2181 2181
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2183,7 +2183,7 @@
2183 2183
     #define E3_OVERCURRENT    2000
2184 2184
     #define E3_STALLCURRENT   1500
2185 2185
     #define E3_MAX_VOLTAGE     127
2186
-    #define E3_CHAIN_POS         0
2186
+    #define E3_CHAIN_POS        -1
2187 2187
   #endif
2188 2188
 
2189 2189
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2191,7 +2191,7 @@
2191 2191
     #define E4_OVERCURRENT    2000
2192 2192
     #define E4_STALLCURRENT   1500
2193 2193
     #define E4_MAX_VOLTAGE     127
2194
-    #define E4_CHAIN_POS         0
2194
+    #define E4_CHAIN_POS        -1
2195 2195
   #endif
2196 2196
 
2197 2197
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2199,7 +2199,7 @@
2199 2199
     #define E5_OVERCURRENT    2000
2200 2200
     #define E5_STALLCURRENT   1500
2201 2201
     #define E5_MAX_VOLTAGE     127
2202
-    #define E5_CHAIN_POS         0
2202
+    #define E5_CHAIN_POS        -1
2203 2203
   #endif
2204 2204
 
2205 2205
   /**

+ 26
- 26
config/examples/Tevo/Tornado/V1 (MKS Base)/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/Tevo/Tornado/V2 (MKS GEN-L)/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/TheBorg/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/TinyBoy2/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/Tronxy/X3A/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/Tronxy/X5S-2E/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/UltiMachine/Archim1/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/UltiMachine/Archim2/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/VORONDesign/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/Velleman/K8200/Configuration_adv.h 查看文件

@@ -1810,91 +1810,91 @@
1810 1810
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1811 1811
     #define X_MICROSTEPS   16  // 0..256
1812 1812
     #define X_RSENSE     0.11
1813
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1813
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1814 1814
   #endif
1815 1815
 
1816 1816
   #if AXIS_IS_TMC(X2)
1817 1817
     #define X2_CURRENT    800
1818 1818
     #define X2_MICROSTEPS  16
1819 1819
     #define X2_RSENSE    0.11
1820
-    #define X2_CHAIN_POS    0
1820
+    #define X2_CHAIN_POS   -1
1821 1821
   #endif
1822 1822
 
1823 1823
   #if AXIS_IS_TMC(Y)
1824 1824
     #define Y_CURRENT     800
1825 1825
     #define Y_MICROSTEPS   16
1826 1826
     #define Y_RSENSE     0.11
1827
-    #define Y_CHAIN_POS     0
1827
+    #define Y_CHAIN_POS    -1
1828 1828
   #endif
1829 1829
 
1830 1830
   #if AXIS_IS_TMC(Y2)
1831 1831
     #define Y2_CURRENT    800
1832 1832
     #define Y2_MICROSTEPS  16
1833 1833
     #define Y2_RSENSE    0.11
1834
-    #define Y2_CHAIN_POS    0
1834
+    #define Y2_CHAIN_POS   -1
1835 1835
   #endif
1836 1836
 
1837 1837
   #if AXIS_IS_TMC(Z)
1838 1838
     #define Z_CURRENT     800
1839 1839
     #define Z_MICROSTEPS   16
1840 1840
     #define Z_RSENSE     0.11
1841
-    #define Z_CHAIN_POS     0
1841
+    #define Z_CHAIN_POS    -1
1842 1842
   #endif
1843 1843
 
1844 1844
   #if AXIS_IS_TMC(Z2)
1845 1845
     #define Z2_CURRENT    800
1846 1846
     #define Z2_MICROSTEPS  16
1847 1847
     #define Z2_RSENSE    0.11
1848
-    #define Z2_CHAIN_POS    0
1848
+    #define Z2_CHAIN_POS   -1
1849 1849
   #endif
1850 1850
 
1851 1851
   #if AXIS_IS_TMC(Z3)
1852 1852
     #define Z3_CURRENT    800
1853 1853
     #define Z3_MICROSTEPS  16
1854 1854
     #define Z3_RSENSE    0.11
1855
-    #define Z3_CHAIN_POS    0
1855
+    #define Z3_CHAIN_POS   -1
1856 1856
   #endif
1857 1857
 
1858 1858
   #if AXIS_IS_TMC(E0)
1859 1859
     #define E0_CURRENT    800
1860 1860
     #define E0_MICROSTEPS  16
1861 1861
     #define E0_RSENSE    0.11
1862
-    #define E0_CHAIN_POS    0
1862
+    #define E0_CHAIN_POS   -1
1863 1863
   #endif
1864 1864
 
1865 1865
   #if AXIS_IS_TMC(E1)
1866 1866
     #define E1_CURRENT    800
1867 1867
     #define E1_MICROSTEPS  16
1868 1868
     #define E1_RSENSE    0.11
1869
-    #define E1_CHAIN_POS    0
1869
+    #define E1_CHAIN_POS   -1
1870 1870
   #endif
1871 1871
 
1872 1872
   #if AXIS_IS_TMC(E2)
1873 1873
     #define E2_CURRENT    800
1874 1874
     #define E2_MICROSTEPS  16
1875 1875
     #define E2_RSENSE    0.11
1876
-    #define E2_CHAIN_POS    0
1876
+    #define E2_CHAIN_POS   -1
1877 1877
   #endif
1878 1878
 
1879 1879
   #if AXIS_IS_TMC(E3)
1880 1880
     #define E3_CURRENT    800
1881 1881
     #define E3_MICROSTEPS  16
1882 1882
     #define E3_RSENSE    0.11
1883
-    #define E3_CHAIN_POS    0
1883
+    #define E3_CHAIN_POS   -1
1884 1884
   #endif
1885 1885
 
1886 1886
   #if AXIS_IS_TMC(E4)
1887 1887
     #define E4_CURRENT    800
1888 1888
     #define E4_MICROSTEPS  16
1889 1889
     #define E4_RSENSE    0.11
1890
-    #define E4_CHAIN_POS    0
1890
+    #define E4_CHAIN_POS   -1
1891 1891
   #endif
1892 1892
 
1893 1893
   #if AXIS_IS_TMC(E5)
1894 1894
     #define E5_CURRENT    800
1895 1895
     #define E5_MICROSTEPS  16
1896 1896
     #define E5_RSENSE    0.11
1897
-    #define E5_CHAIN_POS    0
1897
+    #define E5_CHAIN_POS   -1
1898 1898
   #endif
1899 1899
 
1900 1900
   /**
@@ -2120,7 +2120,7 @@
2120 2120
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2121 2121
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2122 2122
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2123
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2123
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2124 2124
   #endif
2125 2125
 
2126 2126
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2128,7 +2128,7 @@
2128 2128
     #define X2_OVERCURRENT    2000
2129 2129
     #define X2_STALLCURRENT   1500
2130 2130
     #define X2_MAX_VOLTAGE     127
2131
-    #define X2_CHAIN_POS         0
2131
+    #define X2_CHAIN_POS        -1
2132 2132
   #endif
2133 2133
 
2134 2134
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2136,7 +2136,7 @@
2136 2136
     #define Y_OVERCURRENT     2000
2137 2137
     #define Y_STALLCURRENT    1500
2138 2138
     #define Y_MAX_VOLTAGE      127
2139
-    #define Y_CHAIN_POS          0
2139
+    #define Y_CHAIN_POS         -1
2140 2140
   #endif
2141 2141
 
2142 2142
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2144,7 +2144,7 @@
2144 2144
     #define Y2_OVERCURRENT    2000
2145 2145
     #define Y2_STALLCURRENT   1500
2146 2146
     #define Y2_MAX_VOLTAGE     127
2147
-    #define Y2_CHAIN_POS         0
2147
+    #define Y2_CHAIN_POS        -1
2148 2148
   #endif
2149 2149
 
2150 2150
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2152,7 +2152,7 @@
2152 2152
     #define Z_OVERCURRENT     2000
2153 2153
     #define Z_STALLCURRENT    1500
2154 2154
     #define Z_MAX_VOLTAGE      127
2155
-    #define Z_CHAIN_POS          0
2155
+    #define Z_CHAIN_POS         -1
2156 2156
   #endif
2157 2157
 
2158 2158
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2160,7 +2160,7 @@
2160 2160
     #define Z2_OVERCURRENT    2000
2161 2161
     #define Z2_STALLCURRENT   1500
2162 2162
     #define Z2_MAX_VOLTAGE     127
2163
-    #define Z2_CHAIN_POS         0
2163
+    #define Z2_CHAIN_POS        -1
2164 2164
   #endif
2165 2165
 
2166 2166
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2168,7 +2168,7 @@
2168 2168
     #define Z3_OVERCURRENT    2000
2169 2169
     #define Z3_STALLCURRENT   1500
2170 2170
     #define Z3_MAX_VOLTAGE     127
2171
-    #define Z3_CHAIN_POS         0
2171
+    #define Z3_CHAIN_POS        -1
2172 2172
   #endif
2173 2173
 
2174 2174
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2176,7 +2176,7 @@
2176 2176
     #define E0_OVERCURRENT    2000
2177 2177
     #define E0_STALLCURRENT   1500
2178 2178
     #define E0_MAX_VOLTAGE     127
2179
-    #define E0_CHAIN_POS         0
2179
+    #define E0_CHAIN_POS        -1
2180 2180
   #endif
2181 2181
 
2182 2182
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2184,7 +2184,7 @@
2184 2184
     #define E1_OVERCURRENT    2000
2185 2185
     #define E1_STALLCURRENT   1500
2186 2186
     #define E1_MAX_VOLTAGE     127
2187
-    #define E1_CHAIN_POS         0
2187
+    #define E1_CHAIN_POS        -1
2188 2188
   #endif
2189 2189
 
2190 2190
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2192,7 +2192,7 @@
2192 2192
     #define E2_OVERCURRENT    2000
2193 2193
     #define E2_STALLCURRENT   1500
2194 2194
     #define E2_MAX_VOLTAGE     127
2195
-    #define E2_CHAIN_POS         0
2195
+    #define E2_CHAIN_POS        -1
2196 2196
   #endif
2197 2197
 
2198 2198
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2200,7 +2200,7 @@
2200 2200
     #define E3_OVERCURRENT    2000
2201 2201
     #define E3_STALLCURRENT   1500
2202 2202
     #define E3_MAX_VOLTAGE     127
2203
-    #define E3_CHAIN_POS         0
2203
+    #define E3_CHAIN_POS        -1
2204 2204
   #endif
2205 2205
 
2206 2206
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2208,7 +2208,7 @@
2208 2208
     #define E4_OVERCURRENT    2000
2209 2209
     #define E4_STALLCURRENT   1500
2210 2210
     #define E4_MAX_VOLTAGE     127
2211
-    #define E4_CHAIN_POS         0
2211
+    #define E4_CHAIN_POS        -1
2212 2212
   #endif
2213 2213
 
2214 2214
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2216,7 +2216,7 @@
2216 2216
     #define E5_OVERCURRENT    2000
2217 2217
     #define E5_STALLCURRENT   1500
2218 2218
     #define E5_MAX_VOLTAGE     127
2219
-    #define E5_CHAIN_POS         0
2219
+    #define E5_CHAIN_POS        -1
2220 2220
   #endif
2221 2221
 
2222 2222
   /**

+ 26
- 26
config/examples/Velleman/K8400/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/WASP/PowerWASP/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/Wanhao/Duplicator 6/Configuration_adv.h 查看文件

@@ -1799,91 +1799,91 @@
1799 1799
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1800 1800
     #define X_MICROSTEPS   16  // 0..256
1801 1801
     #define X_RSENSE     0.11
1802
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1802
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1803 1803
   #endif
1804 1804
 
1805 1805
   #if AXIS_IS_TMC(X2)
1806 1806
     #define X2_CURRENT    800
1807 1807
     #define X2_MICROSTEPS  16
1808 1808
     #define X2_RSENSE    0.11
1809
-    #define X2_CHAIN_POS    0
1809
+    #define X2_CHAIN_POS   -1
1810 1810
   #endif
1811 1811
 
1812 1812
   #if AXIS_IS_TMC(Y)
1813 1813
     #define Y_CURRENT     800
1814 1814
     #define Y_MICROSTEPS   16
1815 1815
     #define Y_RSENSE     0.11
1816
-    #define Y_CHAIN_POS     0
1816
+    #define Y_CHAIN_POS    -1
1817 1817
   #endif
1818 1818
 
1819 1819
   #if AXIS_IS_TMC(Y2)
1820 1820
     #define Y2_CURRENT    800
1821 1821
     #define Y2_MICROSTEPS  16
1822 1822
     #define Y2_RSENSE    0.11
1823
-    #define Y2_CHAIN_POS    0
1823
+    #define Y2_CHAIN_POS   -1
1824 1824
   #endif
1825 1825
 
1826 1826
   #if AXIS_IS_TMC(Z)
1827 1827
     #define Z_CURRENT     800
1828 1828
     #define Z_MICROSTEPS   16
1829 1829
     #define Z_RSENSE     0.11
1830
-    #define Z_CHAIN_POS     0
1830
+    #define Z_CHAIN_POS    -1
1831 1831
   #endif
1832 1832
 
1833 1833
   #if AXIS_IS_TMC(Z2)
1834 1834
     #define Z2_CURRENT    800
1835 1835
     #define Z2_MICROSTEPS  16
1836 1836
     #define Z2_RSENSE    0.11
1837
-    #define Z2_CHAIN_POS    0
1837
+    #define Z2_CHAIN_POS   -1
1838 1838
   #endif
1839 1839
 
1840 1840
   #if AXIS_IS_TMC(Z3)
1841 1841
     #define Z3_CURRENT    800
1842 1842
     #define Z3_MICROSTEPS  16
1843 1843
     #define Z3_RSENSE    0.11
1844
-    #define Z3_CHAIN_POS    0
1844
+    #define Z3_CHAIN_POS   -1
1845 1845
   #endif
1846 1846
 
1847 1847
   #if AXIS_IS_TMC(E0)
1848 1848
     #define E0_CURRENT    800
1849 1849
     #define E0_MICROSTEPS  16
1850 1850
     #define E0_RSENSE    0.11
1851
-    #define E0_CHAIN_POS    0
1851
+    #define E0_CHAIN_POS   -1
1852 1852
   #endif
1853 1853
 
1854 1854
   #if AXIS_IS_TMC(E1)
1855 1855
     #define E1_CURRENT    800
1856 1856
     #define E1_MICROSTEPS  16
1857 1857
     #define E1_RSENSE    0.11
1858
-    #define E1_CHAIN_POS    0
1858
+    #define E1_CHAIN_POS   -1
1859 1859
   #endif
1860 1860
 
1861 1861
   #if AXIS_IS_TMC(E2)
1862 1862
     #define E2_CURRENT    800
1863 1863
     #define E2_MICROSTEPS  16
1864 1864
     #define E2_RSENSE    0.11
1865
-    #define E2_CHAIN_POS    0
1865
+    #define E2_CHAIN_POS   -1
1866 1866
   #endif
1867 1867
 
1868 1868
   #if AXIS_IS_TMC(E3)
1869 1869
     #define E3_CURRENT    800
1870 1870
     #define E3_MICROSTEPS  16
1871 1871
     #define E3_RSENSE    0.11
1872
-    #define E3_CHAIN_POS    0
1872
+    #define E3_CHAIN_POS   -1
1873 1873
   #endif
1874 1874
 
1875 1875
   #if AXIS_IS_TMC(E4)
1876 1876
     #define E4_CURRENT    800
1877 1877
     #define E4_MICROSTEPS  16
1878 1878
     #define E4_RSENSE    0.11
1879
-    #define E4_CHAIN_POS    0
1879
+    #define E4_CHAIN_POS   -1
1880 1880
   #endif
1881 1881
 
1882 1882
   #if AXIS_IS_TMC(E5)
1883 1883
     #define E5_CURRENT    800
1884 1884
     #define E5_MICROSTEPS  16
1885 1885
     #define E5_RSENSE    0.11
1886
-    #define E5_CHAIN_POS    0
1886
+    #define E5_CHAIN_POS   -1
1887 1887
   #endif
1888 1888
 
1889 1889
   /**
@@ -2109,7 +2109,7 @@
2109 2109
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2110 2110
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2111 2111
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2112
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2112
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2113 2113
   #endif
2114 2114
 
2115 2115
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2117,7 +2117,7 @@
2117 2117
     #define X2_OVERCURRENT    2000
2118 2118
     #define X2_STALLCURRENT   1500
2119 2119
     #define X2_MAX_VOLTAGE     127
2120
-    #define X2_CHAIN_POS         0
2120
+    #define X2_CHAIN_POS        -1
2121 2121
   #endif
2122 2122
 
2123 2123
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2125,7 +2125,7 @@
2125 2125
     #define Y_OVERCURRENT     2000
2126 2126
     #define Y_STALLCURRENT    1500
2127 2127
     #define Y_MAX_VOLTAGE      127
2128
-    #define Y_CHAIN_POS          0
2128
+    #define Y_CHAIN_POS         -1
2129 2129
   #endif
2130 2130
 
2131 2131
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2133,7 +2133,7 @@
2133 2133
     #define Y2_OVERCURRENT    2000
2134 2134
     #define Y2_STALLCURRENT   1500
2135 2135
     #define Y2_MAX_VOLTAGE     127
2136
-    #define Y2_CHAIN_POS         0
2136
+    #define Y2_CHAIN_POS        -1
2137 2137
   #endif
2138 2138
 
2139 2139
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2141,7 +2141,7 @@
2141 2141
     #define Z_OVERCURRENT     2000
2142 2142
     #define Z_STALLCURRENT    1500
2143 2143
     #define Z_MAX_VOLTAGE      127
2144
-    #define Z_CHAIN_POS          0
2144
+    #define Z_CHAIN_POS         -1
2145 2145
   #endif
2146 2146
 
2147 2147
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2149,7 +2149,7 @@
2149 2149
     #define Z2_OVERCURRENT    2000
2150 2150
     #define Z2_STALLCURRENT   1500
2151 2151
     #define Z2_MAX_VOLTAGE     127
2152
-    #define Z2_CHAIN_POS         0
2152
+    #define Z2_CHAIN_POS        -1
2153 2153
   #endif
2154 2154
 
2155 2155
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2157,7 +2157,7 @@
2157 2157
     #define Z3_OVERCURRENT    2000
2158 2158
     #define Z3_STALLCURRENT   1500
2159 2159
     #define Z3_MAX_VOLTAGE     127
2160
-    #define Z3_CHAIN_POS         0
2160
+    #define Z3_CHAIN_POS        -1
2161 2161
   #endif
2162 2162
 
2163 2163
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2165,7 +2165,7 @@
2165 2165
     #define E0_OVERCURRENT    2000
2166 2166
     #define E0_STALLCURRENT   1500
2167 2167
     #define E0_MAX_VOLTAGE     127
2168
-    #define E0_CHAIN_POS         0
2168
+    #define E0_CHAIN_POS        -1
2169 2169
   #endif
2170 2170
 
2171 2171
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2173,7 +2173,7 @@
2173 2173
     #define E1_OVERCURRENT    2000
2174 2174
     #define E1_STALLCURRENT   1500
2175 2175
     #define E1_MAX_VOLTAGE     127
2176
-    #define E1_CHAIN_POS         0
2176
+    #define E1_CHAIN_POS        -1
2177 2177
   #endif
2178 2178
 
2179 2179
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2181,7 +2181,7 @@
2181 2181
     #define E2_OVERCURRENT    2000
2182 2182
     #define E2_STALLCURRENT   1500
2183 2183
     #define E2_MAX_VOLTAGE     127
2184
-    #define E2_CHAIN_POS         0
2184
+    #define E2_CHAIN_POS        -1
2185 2185
   #endif
2186 2186
 
2187 2187
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2189,7 +2189,7 @@
2189 2189
     #define E3_OVERCURRENT    2000
2190 2190
     #define E3_STALLCURRENT   1500
2191 2191
     #define E3_MAX_VOLTAGE     127
2192
-    #define E3_CHAIN_POS         0
2192
+    #define E3_CHAIN_POS        -1
2193 2193
   #endif
2194 2194
 
2195 2195
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2197,7 +2197,7 @@
2197 2197
     #define E4_OVERCURRENT    2000
2198 2198
     #define E4_STALLCURRENT   1500
2199 2199
     #define E4_MAX_VOLTAGE     127
2200
-    #define E4_CHAIN_POS         0
2200
+    #define E4_CHAIN_POS        -1
2201 2201
   #endif
2202 2202
 
2203 2203
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2205,7 +2205,7 @@
2205 2205
     #define E5_OVERCURRENT    2000
2206 2206
     #define E5_STALLCURRENT   1500
2207 2207
     #define E5_MAX_VOLTAGE     127
2208
-    #define E5_CHAIN_POS         0
2208
+    #define E5_CHAIN_POS        -1
2209 2209
   #endif
2210 2210
 
2211 2211
   /**

+ 26
- 26
config/examples/Wanhao/Duplicator i3 Mini/Configuration_adv.h 查看文件

@@ -1797,91 +1797,91 @@
1797 1797
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1798 1798
     #define X_MICROSTEPS   16  // 0..256
1799 1799
     #define X_RSENSE     0.11
1800
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1800
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1801 1801
   #endif
1802 1802
 
1803 1803
   #if AXIS_IS_TMC(X2)
1804 1804
     #define X2_CURRENT    800
1805 1805
     #define X2_MICROSTEPS  16
1806 1806
     #define X2_RSENSE    0.11
1807
-    #define X2_CHAIN_POS    0
1807
+    #define X2_CHAIN_POS   -1
1808 1808
   #endif
1809 1809
 
1810 1810
   #if AXIS_IS_TMC(Y)
1811 1811
     #define Y_CURRENT     800
1812 1812
     #define Y_MICROSTEPS   16
1813 1813
     #define Y_RSENSE     0.11
1814
-    #define Y_CHAIN_POS     0
1814
+    #define Y_CHAIN_POS    -1
1815 1815
   #endif
1816 1816
 
1817 1817
   #if AXIS_IS_TMC(Y2)
1818 1818
     #define Y2_CURRENT    800
1819 1819
     #define Y2_MICROSTEPS  16
1820 1820
     #define Y2_RSENSE    0.11
1821
-    #define Y2_CHAIN_POS    0
1821
+    #define Y2_CHAIN_POS   -1
1822 1822
   #endif
1823 1823
 
1824 1824
   #if AXIS_IS_TMC(Z)
1825 1825
     #define Z_CURRENT     800
1826 1826
     #define Z_MICROSTEPS   16
1827 1827
     #define Z_RSENSE     0.11
1828
-    #define Z_CHAIN_POS     0
1828
+    #define Z_CHAIN_POS    -1
1829 1829
   #endif
1830 1830
 
1831 1831
   #if AXIS_IS_TMC(Z2)
1832 1832
     #define Z2_CURRENT    800
1833 1833
     #define Z2_MICROSTEPS  16
1834 1834
     #define Z2_RSENSE    0.11
1835
-    #define Z2_CHAIN_POS    0
1835
+    #define Z2_CHAIN_POS   -1
1836 1836
   #endif
1837 1837
 
1838 1838
   #if AXIS_IS_TMC(Z3)
1839 1839
     #define Z3_CURRENT    800
1840 1840
     #define Z3_MICROSTEPS  16
1841 1841
     #define Z3_RSENSE    0.11
1842
-    #define Z3_CHAIN_POS    0
1842
+    #define Z3_CHAIN_POS   -1
1843 1843
   #endif
1844 1844
 
1845 1845
   #if AXIS_IS_TMC(E0)
1846 1846
     #define E0_CURRENT    800
1847 1847
     #define E0_MICROSTEPS  16
1848 1848
     #define E0_RSENSE    0.11
1849
-    #define E0_CHAIN_POS    0
1849
+    #define E0_CHAIN_POS   -1
1850 1850
   #endif
1851 1851
 
1852 1852
   #if AXIS_IS_TMC(E1)
1853 1853
     #define E1_CURRENT    800
1854 1854
     #define E1_MICROSTEPS  16
1855 1855
     #define E1_RSENSE    0.11
1856
-    #define E1_CHAIN_POS    0
1856
+    #define E1_CHAIN_POS   -1
1857 1857
   #endif
1858 1858
 
1859 1859
   #if AXIS_IS_TMC(E2)
1860 1860
     #define E2_CURRENT    800
1861 1861
     #define E2_MICROSTEPS  16
1862 1862
     #define E2_RSENSE    0.11
1863
-    #define E2_CHAIN_POS    0
1863
+    #define E2_CHAIN_POS   -1
1864 1864
   #endif
1865 1865
 
1866 1866
   #if AXIS_IS_TMC(E3)
1867 1867
     #define E3_CURRENT    800
1868 1868
     #define E3_MICROSTEPS  16
1869 1869
     #define E3_RSENSE    0.11
1870
-    #define E3_CHAIN_POS    0
1870
+    #define E3_CHAIN_POS   -1
1871 1871
   #endif
1872 1872
 
1873 1873
   #if AXIS_IS_TMC(E4)
1874 1874
     #define E4_CURRENT    800
1875 1875
     #define E4_MICROSTEPS  16
1876 1876
     #define E4_RSENSE    0.11
1877
-    #define E4_CHAIN_POS    0
1877
+    #define E4_CHAIN_POS   -1
1878 1878
   #endif
1879 1879
 
1880 1880
   #if AXIS_IS_TMC(E5)
1881 1881
     #define E5_CURRENT    800
1882 1882
     #define E5_MICROSTEPS  16
1883 1883
     #define E5_RSENSE    0.11
1884
-    #define E5_CHAIN_POS    0
1884
+    #define E5_CHAIN_POS   -1
1885 1885
   #endif
1886 1886
 
1887 1887
   /**
@@ -2107,7 +2107,7 @@
2107 2107
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2108 2108
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2109 2109
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2110
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2110
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2111 2111
   #endif
2112 2112
 
2113 2113
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2115,7 +2115,7 @@
2115 2115
     #define X2_OVERCURRENT    2000
2116 2116
     #define X2_STALLCURRENT   1500
2117 2117
     #define X2_MAX_VOLTAGE     127
2118
-    #define X2_CHAIN_POS         0
2118
+    #define X2_CHAIN_POS        -1
2119 2119
   #endif
2120 2120
 
2121 2121
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2123,7 +2123,7 @@
2123 2123
     #define Y_OVERCURRENT     2000
2124 2124
     #define Y_STALLCURRENT    1500
2125 2125
     #define Y_MAX_VOLTAGE      127
2126
-    #define Y_CHAIN_POS          0
2126
+    #define Y_CHAIN_POS         -1
2127 2127
   #endif
2128 2128
 
2129 2129
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2131,7 +2131,7 @@
2131 2131
     #define Y2_OVERCURRENT    2000
2132 2132
     #define Y2_STALLCURRENT   1500
2133 2133
     #define Y2_MAX_VOLTAGE     127
2134
-    #define Y2_CHAIN_POS         0
2134
+    #define Y2_CHAIN_POS        -1
2135 2135
   #endif
2136 2136
 
2137 2137
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2139,7 +2139,7 @@
2139 2139
     #define Z_OVERCURRENT     2000
2140 2140
     #define Z_STALLCURRENT    1500
2141 2141
     #define Z_MAX_VOLTAGE      127
2142
-    #define Z_CHAIN_POS          0
2142
+    #define Z_CHAIN_POS         -1
2143 2143
   #endif
2144 2144
 
2145 2145
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2147,7 +2147,7 @@
2147 2147
     #define Z2_OVERCURRENT    2000
2148 2148
     #define Z2_STALLCURRENT   1500
2149 2149
     #define Z2_MAX_VOLTAGE     127
2150
-    #define Z2_CHAIN_POS         0
2150
+    #define Z2_CHAIN_POS        -1
2151 2151
   #endif
2152 2152
 
2153 2153
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2155,7 +2155,7 @@
2155 2155
     #define Z3_OVERCURRENT    2000
2156 2156
     #define Z3_STALLCURRENT   1500
2157 2157
     #define Z3_MAX_VOLTAGE     127
2158
-    #define Z3_CHAIN_POS         0
2158
+    #define Z3_CHAIN_POS        -1
2159 2159
   #endif
2160 2160
 
2161 2161
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2163,7 +2163,7 @@
2163 2163
     #define E0_OVERCURRENT    2000
2164 2164
     #define E0_STALLCURRENT   1500
2165 2165
     #define E0_MAX_VOLTAGE     127
2166
-    #define E0_CHAIN_POS         0
2166
+    #define E0_CHAIN_POS        -1
2167 2167
   #endif
2168 2168
 
2169 2169
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2171,7 +2171,7 @@
2171 2171
     #define E1_OVERCURRENT    2000
2172 2172
     #define E1_STALLCURRENT   1500
2173 2173
     #define E1_MAX_VOLTAGE     127
2174
-    #define E1_CHAIN_POS         0
2174
+    #define E1_CHAIN_POS        -1
2175 2175
   #endif
2176 2176
 
2177 2177
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2179,7 +2179,7 @@
2179 2179
     #define E2_OVERCURRENT    2000
2180 2180
     #define E2_STALLCURRENT   1500
2181 2181
     #define E2_MAX_VOLTAGE     127
2182
-    #define E2_CHAIN_POS         0
2182
+    #define E2_CHAIN_POS        -1
2183 2183
   #endif
2184 2184
 
2185 2185
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2187,7 +2187,7 @@
2187 2187
     #define E3_OVERCURRENT    2000
2188 2188
     #define E3_STALLCURRENT   1500
2189 2189
     #define E3_MAX_VOLTAGE     127
2190
-    #define E3_CHAIN_POS         0
2190
+    #define E3_CHAIN_POS        -1
2191 2191
   #endif
2192 2192
 
2193 2193
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2195,7 +2195,7 @@
2195 2195
     #define E4_OVERCURRENT    2000
2196 2196
     #define E4_STALLCURRENT   1500
2197 2197
     #define E4_MAX_VOLTAGE     127
2198
-    #define E4_CHAIN_POS         0
2198
+    #define E4_CHAIN_POS        -1
2199 2199
   #endif
2200 2200
 
2201 2201
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2203,7 +2203,7 @@
2203 2203
     #define E5_OVERCURRENT    2000
2204 2204
     #define E5_STALLCURRENT   1500
2205 2205
     #define E5_MAX_VOLTAGE     127
2206
-    #define E5_CHAIN_POS         0
2206
+    #define E5_CHAIN_POS        -1
2207 2207
   #endif
2208 2208
 
2209 2209
   /**

+ 26
- 26
config/examples/delta/Anycubic/Kossel/Configuration_adv.h 查看文件

@@ -1799,91 +1799,91 @@
1799 1799
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1800 1800
     #define X_MICROSTEPS   16  // 0..256
1801 1801
     #define X_RSENSE     0.11
1802
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1802
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1803 1803
   #endif
1804 1804
 
1805 1805
   #if AXIS_IS_TMC(X2)
1806 1806
     #define X2_CURRENT    800
1807 1807
     #define X2_MICROSTEPS  16
1808 1808
     #define X2_RSENSE    0.11
1809
-    #define X2_CHAIN_POS    0
1809
+    #define X2_CHAIN_POS   -1
1810 1810
   #endif
1811 1811
 
1812 1812
   #if AXIS_IS_TMC(Y)
1813 1813
     #define Y_CURRENT     800
1814 1814
     #define Y_MICROSTEPS   16
1815 1815
     #define Y_RSENSE     0.11
1816
-    #define Y_CHAIN_POS     0
1816
+    #define Y_CHAIN_POS    -1
1817 1817
   #endif
1818 1818
 
1819 1819
   #if AXIS_IS_TMC(Y2)
1820 1820
     #define Y2_CURRENT    800
1821 1821
     #define Y2_MICROSTEPS  16
1822 1822
     #define Y2_RSENSE    0.11
1823
-    #define Y2_CHAIN_POS    0
1823
+    #define Y2_CHAIN_POS   -1
1824 1824
   #endif
1825 1825
 
1826 1826
   #if AXIS_IS_TMC(Z)
1827 1827
     #define Z_CURRENT     800
1828 1828
     #define Z_MICROSTEPS   16
1829 1829
     #define Z_RSENSE     0.11
1830
-    #define Z_CHAIN_POS     0
1830
+    #define Z_CHAIN_POS    -1
1831 1831
   #endif
1832 1832
 
1833 1833
   #if AXIS_IS_TMC(Z2)
1834 1834
     #define Z2_CURRENT    800
1835 1835
     #define Z2_MICROSTEPS  16
1836 1836
     #define Z2_RSENSE    0.11
1837
-    #define Z2_CHAIN_POS    0
1837
+    #define Z2_CHAIN_POS   -1
1838 1838
   #endif
1839 1839
 
1840 1840
   #if AXIS_IS_TMC(Z3)
1841 1841
     #define Z3_CURRENT    800
1842 1842
     #define Z3_MICROSTEPS  16
1843 1843
     #define Z3_RSENSE    0.11
1844
-    #define Z3_CHAIN_POS    0
1844
+    #define Z3_CHAIN_POS   -1
1845 1845
   #endif
1846 1846
 
1847 1847
   #if AXIS_IS_TMC(E0)
1848 1848
     #define E0_CURRENT    800
1849 1849
     #define E0_MICROSTEPS  16
1850 1850
     #define E0_RSENSE    0.11
1851
-    #define E0_CHAIN_POS    0
1851
+    #define E0_CHAIN_POS   -1
1852 1852
   #endif
1853 1853
 
1854 1854
   #if AXIS_IS_TMC(E1)
1855 1855
     #define E1_CURRENT    800
1856 1856
     #define E1_MICROSTEPS  16
1857 1857
     #define E1_RSENSE    0.11
1858
-    #define E1_CHAIN_POS    0
1858
+    #define E1_CHAIN_POS   -1
1859 1859
   #endif
1860 1860
 
1861 1861
   #if AXIS_IS_TMC(E2)
1862 1862
     #define E2_CURRENT    800
1863 1863
     #define E2_MICROSTEPS  16
1864 1864
     #define E2_RSENSE    0.11
1865
-    #define E2_CHAIN_POS    0
1865
+    #define E2_CHAIN_POS   -1
1866 1866
   #endif
1867 1867
 
1868 1868
   #if AXIS_IS_TMC(E3)
1869 1869
     #define E3_CURRENT    800
1870 1870
     #define E3_MICROSTEPS  16
1871 1871
     #define E3_RSENSE    0.11
1872
-    #define E3_CHAIN_POS    0
1872
+    #define E3_CHAIN_POS   -1
1873 1873
   #endif
1874 1874
 
1875 1875
   #if AXIS_IS_TMC(E4)
1876 1876
     #define E4_CURRENT    800
1877 1877
     #define E4_MICROSTEPS  16
1878 1878
     #define E4_RSENSE    0.11
1879
-    #define E4_CHAIN_POS    0
1879
+    #define E4_CHAIN_POS   -1
1880 1880
   #endif
1881 1881
 
1882 1882
   #if AXIS_IS_TMC(E5)
1883 1883
     #define E5_CURRENT    800
1884 1884
     #define E5_MICROSTEPS  16
1885 1885
     #define E5_RSENSE    0.11
1886
-    #define E5_CHAIN_POS    0
1886
+    #define E5_CHAIN_POS   -1
1887 1887
   #endif
1888 1888
 
1889 1889
   /**
@@ -2109,7 +2109,7 @@
2109 2109
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2110 2110
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2111 2111
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2112
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2112
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2113 2113
   #endif
2114 2114
 
2115 2115
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2117,7 +2117,7 @@
2117 2117
     #define X2_OVERCURRENT    2000
2118 2118
     #define X2_STALLCURRENT   1500
2119 2119
     #define X2_MAX_VOLTAGE     127
2120
-    #define X2_CHAIN_POS         0
2120
+    #define X2_CHAIN_POS        -1
2121 2121
   #endif
2122 2122
 
2123 2123
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2125,7 +2125,7 @@
2125 2125
     #define Y_OVERCURRENT     2000
2126 2126
     #define Y_STALLCURRENT    1500
2127 2127
     #define Y_MAX_VOLTAGE      127
2128
-    #define Y_CHAIN_POS          0
2128
+    #define Y_CHAIN_POS         -1
2129 2129
   #endif
2130 2130
 
2131 2131
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2133,7 +2133,7 @@
2133 2133
     #define Y2_OVERCURRENT    2000
2134 2134
     #define Y2_STALLCURRENT   1500
2135 2135
     #define Y2_MAX_VOLTAGE     127
2136
-    #define Y2_CHAIN_POS         0
2136
+    #define Y2_CHAIN_POS        -1
2137 2137
   #endif
2138 2138
 
2139 2139
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2141,7 +2141,7 @@
2141 2141
     #define Z_OVERCURRENT     2000
2142 2142
     #define Z_STALLCURRENT    1500
2143 2143
     #define Z_MAX_VOLTAGE      127
2144
-    #define Z_CHAIN_POS          0
2144
+    #define Z_CHAIN_POS         -1
2145 2145
   #endif
2146 2146
 
2147 2147
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2149,7 +2149,7 @@
2149 2149
     #define Z2_OVERCURRENT    2000
2150 2150
     #define Z2_STALLCURRENT   1500
2151 2151
     #define Z2_MAX_VOLTAGE     127
2152
-    #define Z2_CHAIN_POS         0
2152
+    #define Z2_CHAIN_POS        -1
2153 2153
   #endif
2154 2154
 
2155 2155
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2157,7 +2157,7 @@
2157 2157
     #define Z3_OVERCURRENT    2000
2158 2158
     #define Z3_STALLCURRENT   1500
2159 2159
     #define Z3_MAX_VOLTAGE     127
2160
-    #define Z3_CHAIN_POS         0
2160
+    #define Z3_CHAIN_POS        -1
2161 2161
   #endif
2162 2162
 
2163 2163
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2165,7 +2165,7 @@
2165 2165
     #define E0_OVERCURRENT    2000
2166 2166
     #define E0_STALLCURRENT   1500
2167 2167
     #define E0_MAX_VOLTAGE     127
2168
-    #define E0_CHAIN_POS         0
2168
+    #define E0_CHAIN_POS        -1
2169 2169
   #endif
2170 2170
 
2171 2171
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2173,7 +2173,7 @@
2173 2173
     #define E1_OVERCURRENT    2000
2174 2174
     #define E1_STALLCURRENT   1500
2175 2175
     #define E1_MAX_VOLTAGE     127
2176
-    #define E1_CHAIN_POS         0
2176
+    #define E1_CHAIN_POS        -1
2177 2177
   #endif
2178 2178
 
2179 2179
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2181,7 +2181,7 @@
2181 2181
     #define E2_OVERCURRENT    2000
2182 2182
     #define E2_STALLCURRENT   1500
2183 2183
     #define E2_MAX_VOLTAGE     127
2184
-    #define E2_CHAIN_POS         0
2184
+    #define E2_CHAIN_POS        -1
2185 2185
   #endif
2186 2186
 
2187 2187
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2189,7 +2189,7 @@
2189 2189
     #define E3_OVERCURRENT    2000
2190 2190
     #define E3_STALLCURRENT   1500
2191 2191
     #define E3_MAX_VOLTAGE     127
2192
-    #define E3_CHAIN_POS         0
2192
+    #define E3_CHAIN_POS        -1
2193 2193
   #endif
2194 2194
 
2195 2195
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2197,7 +2197,7 @@
2197 2197
     #define E4_OVERCURRENT    2000
2198 2198
     #define E4_STALLCURRENT   1500
2199 2199
     #define E4_MAX_VOLTAGE     127
2200
-    #define E4_CHAIN_POS         0
2200
+    #define E4_CHAIN_POS        -1
2201 2201
   #endif
2202 2202
 
2203 2203
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2205,7 +2205,7 @@
2205 2205
     #define E5_OVERCURRENT    2000
2206 2206
     #define E5_STALLCURRENT   1500
2207 2207
     #define E5_MAX_VOLTAGE     127
2208
-    #define E5_CHAIN_POS         0
2208
+    #define E5_CHAIN_POS        -1
2209 2209
   #endif
2210 2210
 
2211 2211
   /**

+ 26
- 26
config/examples/delta/Dreammaker/Overlord/Configuration_adv.h 查看文件

@@ -1799,91 +1799,91 @@
1799 1799
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1800 1800
     #define X_MICROSTEPS   16  // 0..256
1801 1801
     #define X_RSENSE     0.11
1802
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1802
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1803 1803
   #endif
1804 1804
 
1805 1805
   #if AXIS_IS_TMC(X2)
1806 1806
     #define X2_CURRENT    800
1807 1807
     #define X2_MICROSTEPS  16
1808 1808
     #define X2_RSENSE    0.11
1809
-    #define X2_CHAIN_POS    0
1809
+    #define X2_CHAIN_POS   -1
1810 1810
   #endif
1811 1811
 
1812 1812
   #if AXIS_IS_TMC(Y)
1813 1813
     #define Y_CURRENT     800
1814 1814
     #define Y_MICROSTEPS   16
1815 1815
     #define Y_RSENSE     0.11
1816
-    #define Y_CHAIN_POS     0
1816
+    #define Y_CHAIN_POS    -1
1817 1817
   #endif
1818 1818
 
1819 1819
   #if AXIS_IS_TMC(Y2)
1820 1820
     #define Y2_CURRENT    800
1821 1821
     #define Y2_MICROSTEPS  16
1822 1822
     #define Y2_RSENSE    0.11
1823
-    #define Y2_CHAIN_POS    0
1823
+    #define Y2_CHAIN_POS   -1
1824 1824
   #endif
1825 1825
 
1826 1826
   #if AXIS_IS_TMC(Z)
1827 1827
     #define Z_CURRENT     800
1828 1828
     #define Z_MICROSTEPS   16
1829 1829
     #define Z_RSENSE     0.11
1830
-    #define Z_CHAIN_POS     0
1830
+    #define Z_CHAIN_POS    -1
1831 1831
   #endif
1832 1832
 
1833 1833
   #if AXIS_IS_TMC(Z2)
1834 1834
     #define Z2_CURRENT    800
1835 1835
     #define Z2_MICROSTEPS  16
1836 1836
     #define Z2_RSENSE    0.11
1837
-    #define Z2_CHAIN_POS    0
1837
+    #define Z2_CHAIN_POS   -1
1838 1838
   #endif
1839 1839
 
1840 1840
   #if AXIS_IS_TMC(Z3)
1841 1841
     #define Z3_CURRENT    800
1842 1842
     #define Z3_MICROSTEPS  16
1843 1843
     #define Z3_RSENSE    0.11
1844
-    #define Z3_CHAIN_POS    0
1844
+    #define Z3_CHAIN_POS   -1
1845 1845
   #endif
1846 1846
 
1847 1847
   #if AXIS_IS_TMC(E0)
1848 1848
     #define E0_CURRENT    800
1849 1849
     #define E0_MICROSTEPS  16
1850 1850
     #define E0_RSENSE    0.11
1851
-    #define E0_CHAIN_POS    0
1851
+    #define E0_CHAIN_POS   -1
1852 1852
   #endif
1853 1853
 
1854 1854
   #if AXIS_IS_TMC(E1)
1855 1855
     #define E1_CURRENT    800
1856 1856
     #define E1_MICROSTEPS  16
1857 1857
     #define E1_RSENSE    0.11
1858
-    #define E1_CHAIN_POS    0
1858
+    #define E1_CHAIN_POS   -1
1859 1859
   #endif
1860 1860
 
1861 1861
   #if AXIS_IS_TMC(E2)
1862 1862
     #define E2_CURRENT    800
1863 1863
     #define E2_MICROSTEPS  16
1864 1864
     #define E2_RSENSE    0.11
1865
-    #define E2_CHAIN_POS    0
1865
+    #define E2_CHAIN_POS   -1
1866 1866
   #endif
1867 1867
 
1868 1868
   #if AXIS_IS_TMC(E3)
1869 1869
     #define E3_CURRENT    800
1870 1870
     #define E3_MICROSTEPS  16
1871 1871
     #define E3_RSENSE    0.11
1872
-    #define E3_CHAIN_POS    0
1872
+    #define E3_CHAIN_POS   -1
1873 1873
   #endif
1874 1874
 
1875 1875
   #if AXIS_IS_TMC(E4)
1876 1876
     #define E4_CURRENT    800
1877 1877
     #define E4_MICROSTEPS  16
1878 1878
     #define E4_RSENSE    0.11
1879
-    #define E4_CHAIN_POS    0
1879
+    #define E4_CHAIN_POS   -1
1880 1880
   #endif
1881 1881
 
1882 1882
   #if AXIS_IS_TMC(E5)
1883 1883
     #define E5_CURRENT    800
1884 1884
     #define E5_MICROSTEPS  16
1885 1885
     #define E5_RSENSE    0.11
1886
-    #define E5_CHAIN_POS    0
1886
+    #define E5_CHAIN_POS   -1
1887 1887
   #endif
1888 1888
 
1889 1889
   /**
@@ -2097,7 +2097,7 @@
2097 2097
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2098 2098
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2099 2099
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2100
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2100
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2101 2101
   #endif
2102 2102
 
2103 2103
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2105,7 +2105,7 @@
2105 2105
     #define X2_OVERCURRENT    2000
2106 2106
     #define X2_STALLCURRENT   1500
2107 2107
     #define X2_MAX_VOLTAGE     127
2108
-    #define X2_CHAIN_POS         0
2108
+    #define X2_CHAIN_POS        -1
2109 2109
   #endif
2110 2110
 
2111 2111
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2113,7 +2113,7 @@
2113 2113
     #define Y_OVERCURRENT     2000
2114 2114
     #define Y_STALLCURRENT    1500
2115 2115
     #define Y_MAX_VOLTAGE      127
2116
-    #define Y_CHAIN_POS          0
2116
+    #define Y_CHAIN_POS         -1
2117 2117
   #endif
2118 2118
 
2119 2119
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2121,7 +2121,7 @@
2121 2121
     #define Y2_OVERCURRENT    2000
2122 2122
     #define Y2_STALLCURRENT   1500
2123 2123
     #define Y2_MAX_VOLTAGE     127
2124
-    #define Y2_CHAIN_POS         0
2124
+    #define Y2_CHAIN_POS        -1
2125 2125
   #endif
2126 2126
 
2127 2127
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2129,7 +2129,7 @@
2129 2129
     #define Z_OVERCURRENT     2000
2130 2130
     #define Z_STALLCURRENT    1500
2131 2131
     #define Z_MAX_VOLTAGE      127
2132
-    #define Z_CHAIN_POS          0
2132
+    #define Z_CHAIN_POS         -1
2133 2133
   #endif
2134 2134
 
2135 2135
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2137,7 +2137,7 @@
2137 2137
     #define Z2_OVERCURRENT    2000
2138 2138
     #define Z2_STALLCURRENT   1500
2139 2139
     #define Z2_MAX_VOLTAGE     127
2140
-    #define Z2_CHAIN_POS         0
2140
+    #define Z2_CHAIN_POS        -1
2141 2141
   #endif
2142 2142
 
2143 2143
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2145,7 +2145,7 @@
2145 2145
     #define Z3_OVERCURRENT    2000
2146 2146
     #define Z3_STALLCURRENT   1500
2147 2147
     #define Z3_MAX_VOLTAGE     127
2148
-    #define Z3_CHAIN_POS         0
2148
+    #define Z3_CHAIN_POS        -1
2149 2149
   #endif
2150 2150
 
2151 2151
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2153,7 +2153,7 @@
2153 2153
     #define E0_OVERCURRENT    2000
2154 2154
     #define E0_STALLCURRENT   1500
2155 2155
     #define E0_MAX_VOLTAGE     127
2156
-    #define E0_CHAIN_POS         0
2156
+    #define E0_CHAIN_POS        -1
2157 2157
   #endif
2158 2158
 
2159 2159
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2161,7 +2161,7 @@
2161 2161
     #define E1_OVERCURRENT    2000
2162 2162
     #define E1_STALLCURRENT   1500
2163 2163
     #define E1_MAX_VOLTAGE     127
2164
-    #define E1_CHAIN_POS         0
2164
+    #define E1_CHAIN_POS        -1
2165 2165
   #endif
2166 2166
 
2167 2167
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2169,7 +2169,7 @@
2169 2169
     #define E2_OVERCURRENT    2000
2170 2170
     #define E2_STALLCURRENT   1500
2171 2171
     #define E2_MAX_VOLTAGE     127
2172
-    #define E2_CHAIN_POS         0
2172
+    #define E2_CHAIN_POS        -1
2173 2173
   #endif
2174 2174
 
2175 2175
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2177,7 +2177,7 @@
2177 2177
     #define E3_OVERCURRENT    2000
2178 2178
     #define E3_STALLCURRENT   1500
2179 2179
     #define E3_MAX_VOLTAGE     127
2180
-    #define E3_CHAIN_POS         0
2180
+    #define E3_CHAIN_POS        -1
2181 2181
   #endif
2182 2182
 
2183 2183
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2185,7 +2185,7 @@
2185 2185
     #define E4_OVERCURRENT    2000
2186 2186
     #define E4_STALLCURRENT   1500
2187 2187
     #define E4_MAX_VOLTAGE     127
2188
-    #define E4_CHAIN_POS         0
2188
+    #define E4_CHAIN_POS        -1
2189 2189
   #endif
2190 2190
 
2191 2191
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2193,7 +2193,7 @@
2193 2193
     #define E5_OVERCURRENT    2000
2194 2194
     #define E5_STALLCURRENT   1500
2195 2195
     #define E5_MAX_VOLTAGE     127
2196
-    #define E5_CHAIN_POS         0
2196
+    #define E5_CHAIN_POS        -1
2197 2197
   #endif
2198 2198
 
2199 2199
   /**

+ 26
- 26
config/examples/delta/Dreammaker/Overlord_Pro/Configuration_adv.h 查看文件

@@ -1799,91 +1799,91 @@
1799 1799
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1800 1800
     #define X_MICROSTEPS   16  // 0..256
1801 1801
     #define X_RSENSE     0.11
1802
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1802
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1803 1803
   #endif
1804 1804
 
1805 1805
   #if AXIS_IS_TMC(X2)
1806 1806
     #define X2_CURRENT    800
1807 1807
     #define X2_MICROSTEPS  16
1808 1808
     #define X2_RSENSE    0.11
1809
-    #define X2_CHAIN_POS    0
1809
+    #define X2_CHAIN_POS   -1
1810 1810
   #endif
1811 1811
 
1812 1812
   #if AXIS_IS_TMC(Y)
1813 1813
     #define Y_CURRENT     800
1814 1814
     #define Y_MICROSTEPS   16
1815 1815
     #define Y_RSENSE     0.11
1816
-    #define Y_CHAIN_POS     0
1816
+    #define Y_CHAIN_POS    -1
1817 1817
   #endif
1818 1818
 
1819 1819
   #if AXIS_IS_TMC(Y2)
1820 1820
     #define Y2_CURRENT    800
1821 1821
     #define Y2_MICROSTEPS  16
1822 1822
     #define Y2_RSENSE    0.11
1823
-    #define Y2_CHAIN_POS    0
1823
+    #define Y2_CHAIN_POS   -1
1824 1824
   #endif
1825 1825
 
1826 1826
   #if AXIS_IS_TMC(Z)
1827 1827
     #define Z_CURRENT     800
1828 1828
     #define Z_MICROSTEPS   16
1829 1829
     #define Z_RSENSE     0.11
1830
-    #define Z_CHAIN_POS     0
1830
+    #define Z_CHAIN_POS    -1
1831 1831
   #endif
1832 1832
 
1833 1833
   #if AXIS_IS_TMC(Z2)
1834 1834
     #define Z2_CURRENT    800
1835 1835
     #define Z2_MICROSTEPS  16
1836 1836
     #define Z2_RSENSE    0.11
1837
-    #define Z2_CHAIN_POS    0
1837
+    #define Z2_CHAIN_POS   -1
1838 1838
   #endif
1839 1839
 
1840 1840
   #if AXIS_IS_TMC(Z3)
1841 1841
     #define Z3_CURRENT    800
1842 1842
     #define Z3_MICROSTEPS  16
1843 1843
     #define Z3_RSENSE    0.11
1844
-    #define Z3_CHAIN_POS    0
1844
+    #define Z3_CHAIN_POS   -1
1845 1845
   #endif
1846 1846
 
1847 1847
   #if AXIS_IS_TMC(E0)
1848 1848
     #define E0_CURRENT    800
1849 1849
     #define E0_MICROSTEPS  16
1850 1850
     #define E0_RSENSE    0.11
1851
-    #define E0_CHAIN_POS    0
1851
+    #define E0_CHAIN_POS   -1
1852 1852
   #endif
1853 1853
 
1854 1854
   #if AXIS_IS_TMC(E1)
1855 1855
     #define E1_CURRENT    800
1856 1856
     #define E1_MICROSTEPS  16
1857 1857
     #define E1_RSENSE    0.11
1858
-    #define E1_CHAIN_POS    0
1858
+    #define E1_CHAIN_POS   -1
1859 1859
   #endif
1860 1860
 
1861 1861
   #if AXIS_IS_TMC(E2)
1862 1862
     #define E2_CURRENT    800
1863 1863
     #define E2_MICROSTEPS  16
1864 1864
     #define E2_RSENSE    0.11
1865
-    #define E2_CHAIN_POS    0
1865
+    #define E2_CHAIN_POS   -1
1866 1866
   #endif
1867 1867
 
1868 1868
   #if AXIS_IS_TMC(E3)
1869 1869
     #define E3_CURRENT    800
1870 1870
     #define E3_MICROSTEPS  16
1871 1871
     #define E3_RSENSE    0.11
1872
-    #define E3_CHAIN_POS    0
1872
+    #define E3_CHAIN_POS   -1
1873 1873
   #endif
1874 1874
 
1875 1875
   #if AXIS_IS_TMC(E4)
1876 1876
     #define E4_CURRENT    800
1877 1877
     #define E4_MICROSTEPS  16
1878 1878
     #define E4_RSENSE    0.11
1879
-    #define E4_CHAIN_POS    0
1879
+    #define E4_CHAIN_POS   -1
1880 1880
   #endif
1881 1881
 
1882 1882
   #if AXIS_IS_TMC(E5)
1883 1883
     #define E5_CURRENT    800
1884 1884
     #define E5_MICROSTEPS  16
1885 1885
     #define E5_RSENSE    0.11
1886
-    #define E5_CHAIN_POS    0
1886
+    #define E5_CHAIN_POS   -1
1887 1887
   #endif
1888 1888
 
1889 1889
   /**
@@ -2097,7 +2097,7 @@
2097 2097
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2098 2098
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2099 2099
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2100
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2100
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2101 2101
   #endif
2102 2102
 
2103 2103
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2105,7 +2105,7 @@
2105 2105
     #define X2_OVERCURRENT    2000
2106 2106
     #define X2_STALLCURRENT   1500
2107 2107
     #define X2_MAX_VOLTAGE     127
2108
-    #define X2_CHAIN_POS         0
2108
+    #define X2_CHAIN_POS        -1
2109 2109
   #endif
2110 2110
 
2111 2111
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2113,7 +2113,7 @@
2113 2113
     #define Y_OVERCURRENT     2000
2114 2114
     #define Y_STALLCURRENT    1500
2115 2115
     #define Y_MAX_VOLTAGE      127
2116
-    #define Y_CHAIN_POS          0
2116
+    #define Y_CHAIN_POS         -1
2117 2117
   #endif
2118 2118
 
2119 2119
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2121,7 +2121,7 @@
2121 2121
     #define Y2_OVERCURRENT    2000
2122 2122
     #define Y2_STALLCURRENT   1500
2123 2123
     #define Y2_MAX_VOLTAGE     127
2124
-    #define Y2_CHAIN_POS         0
2124
+    #define Y2_CHAIN_POS        -1
2125 2125
   #endif
2126 2126
 
2127 2127
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2129,7 +2129,7 @@
2129 2129
     #define Z_OVERCURRENT     2000
2130 2130
     #define Z_STALLCURRENT    1500
2131 2131
     #define Z_MAX_VOLTAGE      127
2132
-    #define Z_CHAIN_POS          0
2132
+    #define Z_CHAIN_POS         -1
2133 2133
   #endif
2134 2134
 
2135 2135
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2137,7 +2137,7 @@
2137 2137
     #define Z2_OVERCURRENT    2000
2138 2138
     #define Z2_STALLCURRENT   1500
2139 2139
     #define Z2_MAX_VOLTAGE     127
2140
-    #define Z2_CHAIN_POS         0
2140
+    #define Z2_CHAIN_POS        -1
2141 2141
   #endif
2142 2142
 
2143 2143
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2145,7 +2145,7 @@
2145 2145
     #define Z3_OVERCURRENT    2000
2146 2146
     #define Z3_STALLCURRENT   1500
2147 2147
     #define Z3_MAX_VOLTAGE     127
2148
-    #define Z3_CHAIN_POS         0
2148
+    #define Z3_CHAIN_POS        -1
2149 2149
   #endif
2150 2150
 
2151 2151
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2153,7 +2153,7 @@
2153 2153
     #define E0_OVERCURRENT    2000
2154 2154
     #define E0_STALLCURRENT   1500
2155 2155
     #define E0_MAX_VOLTAGE     127
2156
-    #define E0_CHAIN_POS         0
2156
+    #define E0_CHAIN_POS        -1
2157 2157
   #endif
2158 2158
 
2159 2159
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2161,7 +2161,7 @@
2161 2161
     #define E1_OVERCURRENT    2000
2162 2162
     #define E1_STALLCURRENT   1500
2163 2163
     #define E1_MAX_VOLTAGE     127
2164
-    #define E1_CHAIN_POS         0
2164
+    #define E1_CHAIN_POS        -1
2165 2165
   #endif
2166 2166
 
2167 2167
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2169,7 +2169,7 @@
2169 2169
     #define E2_OVERCURRENT    2000
2170 2170
     #define E2_STALLCURRENT   1500
2171 2171
     #define E2_MAX_VOLTAGE     127
2172
-    #define E2_CHAIN_POS         0
2172
+    #define E2_CHAIN_POS        -1
2173 2173
   #endif
2174 2174
 
2175 2175
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2177,7 +2177,7 @@
2177 2177
     #define E3_OVERCURRENT    2000
2178 2178
     #define E3_STALLCURRENT   1500
2179 2179
     #define E3_MAX_VOLTAGE     127
2180
-    #define E3_CHAIN_POS         0
2180
+    #define E3_CHAIN_POS        -1
2181 2181
   #endif
2182 2182
 
2183 2183
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2185,7 +2185,7 @@
2185 2185
     #define E4_OVERCURRENT    2000
2186 2186
     #define E4_STALLCURRENT   1500
2187 2187
     #define E4_MAX_VOLTAGE     127
2188
-    #define E4_CHAIN_POS         0
2188
+    #define E4_CHAIN_POS        -1
2189 2189
   #endif
2190 2190
 
2191 2191
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2193,7 +2193,7 @@
2193 2193
     #define E5_OVERCURRENT    2000
2194 2194
     #define E5_STALLCURRENT   1500
2195 2195
     #define E5_MAX_VOLTAGE     127
2196
-    #define E5_CHAIN_POS         0
2196
+    #define E5_CHAIN_POS        -1
2197 2197
   #endif
2198 2198
 
2199 2199
   /**

+ 26
- 26
config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h 查看文件

@@ -1799,91 +1799,91 @@
1799 1799
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1800 1800
     #define X_MICROSTEPS   16  // 0..256
1801 1801
     #define X_RSENSE     0.11
1802
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1802
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1803 1803
   #endif
1804 1804
 
1805 1805
   #if AXIS_IS_TMC(X2)
1806 1806
     #define X2_CURRENT    800
1807 1807
     #define X2_MICROSTEPS  16
1808 1808
     #define X2_RSENSE    0.11
1809
-    #define X2_CHAIN_POS    0
1809
+    #define X2_CHAIN_POS   -1
1810 1810
   #endif
1811 1811
 
1812 1812
   #if AXIS_IS_TMC(Y)
1813 1813
     #define Y_CURRENT     800
1814 1814
     #define Y_MICROSTEPS   16
1815 1815
     #define Y_RSENSE     0.11
1816
-    #define Y_CHAIN_POS     0
1816
+    #define Y_CHAIN_POS    -1
1817 1817
   #endif
1818 1818
 
1819 1819
   #if AXIS_IS_TMC(Y2)
1820 1820
     #define Y2_CURRENT    800
1821 1821
     #define Y2_MICROSTEPS  16
1822 1822
     #define Y2_RSENSE    0.11
1823
-    #define Y2_CHAIN_POS    0
1823
+    #define Y2_CHAIN_POS   -1
1824 1824
   #endif
1825 1825
 
1826 1826
   #if AXIS_IS_TMC(Z)
1827 1827
     #define Z_CURRENT     800
1828 1828
     #define Z_MICROSTEPS   16
1829 1829
     #define Z_RSENSE     0.11
1830
-    #define Z_CHAIN_POS     0
1830
+    #define Z_CHAIN_POS    -1
1831 1831
   #endif
1832 1832
 
1833 1833
   #if AXIS_IS_TMC(Z2)
1834 1834
     #define Z2_CURRENT    800
1835 1835
     #define Z2_MICROSTEPS  16
1836 1836
     #define Z2_RSENSE    0.11
1837
-    #define Z2_CHAIN_POS    0
1837
+    #define Z2_CHAIN_POS   -1
1838 1838
   #endif
1839 1839
 
1840 1840
   #if AXIS_IS_TMC(Z3)
1841 1841
     #define Z3_CURRENT    800
1842 1842
     #define Z3_MICROSTEPS  16
1843 1843
     #define Z3_RSENSE    0.11
1844
-    #define Z3_CHAIN_POS    0
1844
+    #define Z3_CHAIN_POS   -1
1845 1845
   #endif
1846 1846
 
1847 1847
   #if AXIS_IS_TMC(E0)
1848 1848
     #define E0_CURRENT    800
1849 1849
     #define E0_MICROSTEPS  16
1850 1850
     #define E0_RSENSE    0.11
1851
-    #define E0_CHAIN_POS    0
1851
+    #define E0_CHAIN_POS   -1
1852 1852
   #endif
1853 1853
 
1854 1854
   #if AXIS_IS_TMC(E1)
1855 1855
     #define E1_CURRENT    800
1856 1856
     #define E1_MICROSTEPS  16
1857 1857
     #define E1_RSENSE    0.11
1858
-    #define E1_CHAIN_POS    0
1858
+    #define E1_CHAIN_POS   -1
1859 1859
   #endif
1860 1860
 
1861 1861
   #if AXIS_IS_TMC(E2)
1862 1862
     #define E2_CURRENT    800
1863 1863
     #define E2_MICROSTEPS  16
1864 1864
     #define E2_RSENSE    0.11
1865
-    #define E2_CHAIN_POS    0
1865
+    #define E2_CHAIN_POS   -1
1866 1866
   #endif
1867 1867
 
1868 1868
   #if AXIS_IS_TMC(E3)
1869 1869
     #define E3_CURRENT    800
1870 1870
     #define E3_MICROSTEPS  16
1871 1871
     #define E3_RSENSE    0.11
1872
-    #define E3_CHAIN_POS    0
1872
+    #define E3_CHAIN_POS   -1
1873 1873
   #endif
1874 1874
 
1875 1875
   #if AXIS_IS_TMC(E4)
1876 1876
     #define E4_CURRENT    800
1877 1877
     #define E4_MICROSTEPS  16
1878 1878
     #define E4_RSENSE    0.11
1879
-    #define E4_CHAIN_POS    0
1879
+    #define E4_CHAIN_POS   -1
1880 1880
   #endif
1881 1881
 
1882 1882
   #if AXIS_IS_TMC(E5)
1883 1883
     #define E5_CURRENT    800
1884 1884
     #define E5_MICROSTEPS  16
1885 1885
     #define E5_RSENSE    0.11
1886
-    #define E5_CHAIN_POS    0
1886
+    #define E5_CHAIN_POS   -1
1887 1887
   #endif
1888 1888
 
1889 1889
   /**
@@ -2109,7 +2109,7 @@
2109 2109
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2110 2110
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2111 2111
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2112
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2112
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2113 2113
   #endif
2114 2114
 
2115 2115
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2117,7 +2117,7 @@
2117 2117
     #define X2_OVERCURRENT    2000
2118 2118
     #define X2_STALLCURRENT   1500
2119 2119
     #define X2_MAX_VOLTAGE     127
2120
-    #define X2_CHAIN_POS         0
2120
+    #define X2_CHAIN_POS        -1
2121 2121
   #endif
2122 2122
 
2123 2123
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2125,7 +2125,7 @@
2125 2125
     #define Y_OVERCURRENT     2000
2126 2126
     #define Y_STALLCURRENT    1500
2127 2127
     #define Y_MAX_VOLTAGE      127
2128
-    #define Y_CHAIN_POS          0
2128
+    #define Y_CHAIN_POS         -1
2129 2129
   #endif
2130 2130
 
2131 2131
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2133,7 +2133,7 @@
2133 2133
     #define Y2_OVERCURRENT    2000
2134 2134
     #define Y2_STALLCURRENT   1500
2135 2135
     #define Y2_MAX_VOLTAGE     127
2136
-    #define Y2_CHAIN_POS         0
2136
+    #define Y2_CHAIN_POS        -1
2137 2137
   #endif
2138 2138
 
2139 2139
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2141,7 +2141,7 @@
2141 2141
     #define Z_OVERCURRENT     2000
2142 2142
     #define Z_STALLCURRENT    1500
2143 2143
     #define Z_MAX_VOLTAGE      127
2144
-    #define Z_CHAIN_POS          0
2144
+    #define Z_CHAIN_POS         -1
2145 2145
   #endif
2146 2146
 
2147 2147
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2149,7 +2149,7 @@
2149 2149
     #define Z2_OVERCURRENT    2000
2150 2150
     #define Z2_STALLCURRENT   1500
2151 2151
     #define Z2_MAX_VOLTAGE     127
2152
-    #define Z2_CHAIN_POS         0
2152
+    #define Z2_CHAIN_POS        -1
2153 2153
   #endif
2154 2154
 
2155 2155
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2157,7 +2157,7 @@
2157 2157
     #define Z3_OVERCURRENT    2000
2158 2158
     #define Z3_STALLCURRENT   1500
2159 2159
     #define Z3_MAX_VOLTAGE     127
2160
-    #define Z3_CHAIN_POS         0
2160
+    #define Z3_CHAIN_POS        -1
2161 2161
   #endif
2162 2162
 
2163 2163
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2165,7 +2165,7 @@
2165 2165
     #define E0_OVERCURRENT    2000
2166 2166
     #define E0_STALLCURRENT   1500
2167 2167
     #define E0_MAX_VOLTAGE     127
2168
-    #define E0_CHAIN_POS         0
2168
+    #define E0_CHAIN_POS        -1
2169 2169
   #endif
2170 2170
 
2171 2171
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2173,7 +2173,7 @@
2173 2173
     #define E1_OVERCURRENT    2000
2174 2174
     #define E1_STALLCURRENT   1500
2175 2175
     #define E1_MAX_VOLTAGE     127
2176
-    #define E1_CHAIN_POS         0
2176
+    #define E1_CHAIN_POS        -1
2177 2177
   #endif
2178 2178
 
2179 2179
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2181,7 +2181,7 @@
2181 2181
     #define E2_OVERCURRENT    2000
2182 2182
     #define E2_STALLCURRENT   1500
2183 2183
     #define E2_MAX_VOLTAGE     127
2184
-    #define E2_CHAIN_POS         0
2184
+    #define E2_CHAIN_POS        -1
2185 2185
   #endif
2186 2186
 
2187 2187
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2189,7 +2189,7 @@
2189 2189
     #define E3_OVERCURRENT    2000
2190 2190
     #define E3_STALLCURRENT   1500
2191 2191
     #define E3_MAX_VOLTAGE     127
2192
-    #define E3_CHAIN_POS         0
2192
+    #define E3_CHAIN_POS        -1
2193 2193
   #endif
2194 2194
 
2195 2195
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2197,7 +2197,7 @@
2197 2197
     #define E4_OVERCURRENT    2000
2198 2198
     #define E4_STALLCURRENT   1500
2199 2199
     #define E4_MAX_VOLTAGE     127
2200
-    #define E4_CHAIN_POS         0
2200
+    #define E4_CHAIN_POS        -1
2201 2201
   #endif
2202 2202
 
2203 2203
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2205,7 +2205,7 @@
2205 2205
     #define E5_OVERCURRENT    2000
2206 2206
     #define E5_STALLCURRENT   1500
2207 2207
     #define E5_MAX_VOLTAGE     127
2208
-    #define E5_CHAIN_POS         0
2208
+    #define E5_CHAIN_POS        -1
2209 2209
   #endif
2210 2210
 
2211 2211
   /**

+ 26
- 26
config/examples/delta/FLSUN/kossel/Configuration_adv.h 查看文件

@@ -1799,91 +1799,91 @@
1799 1799
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1800 1800
     #define X_MICROSTEPS   16  // 0..256
1801 1801
     #define X_RSENSE     0.11
1802
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1802
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1803 1803
   #endif
1804 1804
 
1805 1805
   #if AXIS_IS_TMC(X2)
1806 1806
     #define X2_CURRENT    800
1807 1807
     #define X2_MICROSTEPS  16
1808 1808
     #define X2_RSENSE    0.11
1809
-    #define X2_CHAIN_POS    0
1809
+    #define X2_CHAIN_POS   -1
1810 1810
   #endif
1811 1811
 
1812 1812
   #if AXIS_IS_TMC(Y)
1813 1813
     #define Y_CURRENT     800
1814 1814
     #define Y_MICROSTEPS   16
1815 1815
     #define Y_RSENSE     0.11
1816
-    #define Y_CHAIN_POS     0
1816
+    #define Y_CHAIN_POS    -1
1817 1817
   #endif
1818 1818
 
1819 1819
   #if AXIS_IS_TMC(Y2)
1820 1820
     #define Y2_CURRENT    800
1821 1821
     #define Y2_MICROSTEPS  16
1822 1822
     #define Y2_RSENSE    0.11
1823
-    #define Y2_CHAIN_POS    0
1823
+    #define Y2_CHAIN_POS   -1
1824 1824
   #endif
1825 1825
 
1826 1826
   #if AXIS_IS_TMC(Z)
1827 1827
     #define Z_CURRENT     800
1828 1828
     #define Z_MICROSTEPS   16
1829 1829
     #define Z_RSENSE     0.11
1830
-    #define Z_CHAIN_POS     0
1830
+    #define Z_CHAIN_POS    -1
1831 1831
   #endif
1832 1832
 
1833 1833
   #if AXIS_IS_TMC(Z2)
1834 1834
     #define Z2_CURRENT    800
1835 1835
     #define Z2_MICROSTEPS  16
1836 1836
     #define Z2_RSENSE    0.11
1837
-    #define Z2_CHAIN_POS    0
1837
+    #define Z2_CHAIN_POS   -1
1838 1838
   #endif
1839 1839
 
1840 1840
   #if AXIS_IS_TMC(Z3)
1841 1841
     #define Z3_CURRENT    800
1842 1842
     #define Z3_MICROSTEPS  16
1843 1843
     #define Z3_RSENSE    0.11
1844
-    #define Z3_CHAIN_POS    0
1844
+    #define Z3_CHAIN_POS   -1
1845 1845
   #endif
1846 1846
 
1847 1847
   #if AXIS_IS_TMC(E0)
1848 1848
     #define E0_CURRENT    800
1849 1849
     #define E0_MICROSTEPS  16
1850 1850
     #define E0_RSENSE    0.11
1851
-    #define E0_CHAIN_POS    0
1851
+    #define E0_CHAIN_POS   -1
1852 1852
   #endif
1853 1853
 
1854 1854
   #if AXIS_IS_TMC(E1)
1855 1855
     #define E1_CURRENT    800
1856 1856
     #define E1_MICROSTEPS  16
1857 1857
     #define E1_RSENSE    0.11
1858
-    #define E1_CHAIN_POS    0
1858
+    #define E1_CHAIN_POS   -1
1859 1859
   #endif
1860 1860
 
1861 1861
   #if AXIS_IS_TMC(E2)
1862 1862
     #define E2_CURRENT    800
1863 1863
     #define E2_MICROSTEPS  16
1864 1864
     #define E2_RSENSE    0.11
1865
-    #define E2_CHAIN_POS    0
1865
+    #define E2_CHAIN_POS   -1
1866 1866
   #endif
1867 1867
 
1868 1868
   #if AXIS_IS_TMC(E3)
1869 1869
     #define E3_CURRENT    800
1870 1870
     #define E3_MICROSTEPS  16
1871 1871
     #define E3_RSENSE    0.11
1872
-    #define E3_CHAIN_POS    0
1872
+    #define E3_CHAIN_POS   -1
1873 1873
   #endif
1874 1874
 
1875 1875
   #if AXIS_IS_TMC(E4)
1876 1876
     #define E4_CURRENT    800
1877 1877
     #define E4_MICROSTEPS  16
1878 1878
     #define E4_RSENSE    0.11
1879
-    #define E4_CHAIN_POS    0
1879
+    #define E4_CHAIN_POS   -1
1880 1880
   #endif
1881 1881
 
1882 1882
   #if AXIS_IS_TMC(E5)
1883 1883
     #define E5_CURRENT    800
1884 1884
     #define E5_MICROSTEPS  16
1885 1885
     #define E5_RSENSE    0.11
1886
-    #define E5_CHAIN_POS    0
1886
+    #define E5_CHAIN_POS   -1
1887 1887
   #endif
1888 1888
 
1889 1889
   /**
@@ -2109,7 +2109,7 @@
2109 2109
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2110 2110
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2111 2111
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2112
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2112
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2113 2113
   #endif
2114 2114
 
2115 2115
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2117,7 +2117,7 @@
2117 2117
     #define X2_OVERCURRENT    2000
2118 2118
     #define X2_STALLCURRENT   1500
2119 2119
     #define X2_MAX_VOLTAGE     127
2120
-    #define X2_CHAIN_POS         0
2120
+    #define X2_CHAIN_POS        -1
2121 2121
   #endif
2122 2122
 
2123 2123
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2125,7 +2125,7 @@
2125 2125
     #define Y_OVERCURRENT     2000
2126 2126
     #define Y_STALLCURRENT    1500
2127 2127
     #define Y_MAX_VOLTAGE      127
2128
-    #define Y_CHAIN_POS          0
2128
+    #define Y_CHAIN_POS         -1
2129 2129
   #endif
2130 2130
 
2131 2131
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2133,7 +2133,7 @@
2133 2133
     #define Y2_OVERCURRENT    2000
2134 2134
     #define Y2_STALLCURRENT   1500
2135 2135
     #define Y2_MAX_VOLTAGE     127
2136
-    #define Y2_CHAIN_POS         0
2136
+    #define Y2_CHAIN_POS        -1
2137 2137
   #endif
2138 2138
 
2139 2139
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2141,7 +2141,7 @@
2141 2141
     #define Z_OVERCURRENT     2000
2142 2142
     #define Z_STALLCURRENT    1500
2143 2143
     #define Z_MAX_VOLTAGE      127
2144
-    #define Z_CHAIN_POS          0
2144
+    #define Z_CHAIN_POS         -1
2145 2145
   #endif
2146 2146
 
2147 2147
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2149,7 +2149,7 @@
2149 2149
     #define Z2_OVERCURRENT    2000
2150 2150
     #define Z2_STALLCURRENT   1500
2151 2151
     #define Z2_MAX_VOLTAGE     127
2152
-    #define Z2_CHAIN_POS         0
2152
+    #define Z2_CHAIN_POS        -1
2153 2153
   #endif
2154 2154
 
2155 2155
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2157,7 +2157,7 @@
2157 2157
     #define Z3_OVERCURRENT    2000
2158 2158
     #define Z3_STALLCURRENT   1500
2159 2159
     #define Z3_MAX_VOLTAGE     127
2160
-    #define Z3_CHAIN_POS         0
2160
+    #define Z3_CHAIN_POS        -1
2161 2161
   #endif
2162 2162
 
2163 2163
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2165,7 +2165,7 @@
2165 2165
     #define E0_OVERCURRENT    2000
2166 2166
     #define E0_STALLCURRENT   1500
2167 2167
     #define E0_MAX_VOLTAGE     127
2168
-    #define E0_CHAIN_POS         0
2168
+    #define E0_CHAIN_POS        -1
2169 2169
   #endif
2170 2170
 
2171 2171
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2173,7 +2173,7 @@
2173 2173
     #define E1_OVERCURRENT    2000
2174 2174
     #define E1_STALLCURRENT   1500
2175 2175
     #define E1_MAX_VOLTAGE     127
2176
-    #define E1_CHAIN_POS         0
2176
+    #define E1_CHAIN_POS        -1
2177 2177
   #endif
2178 2178
 
2179 2179
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2181,7 +2181,7 @@
2181 2181
     #define E2_OVERCURRENT    2000
2182 2182
     #define E2_STALLCURRENT   1500
2183 2183
     #define E2_MAX_VOLTAGE     127
2184
-    #define E2_CHAIN_POS         0
2184
+    #define E2_CHAIN_POS        -1
2185 2185
   #endif
2186 2186
 
2187 2187
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2189,7 +2189,7 @@
2189 2189
     #define E3_OVERCURRENT    2000
2190 2190
     #define E3_STALLCURRENT   1500
2191 2191
     #define E3_MAX_VOLTAGE     127
2192
-    #define E3_CHAIN_POS         0
2192
+    #define E3_CHAIN_POS        -1
2193 2193
   #endif
2194 2194
 
2195 2195
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2197,7 +2197,7 @@
2197 2197
     #define E4_OVERCURRENT    2000
2198 2198
     #define E4_STALLCURRENT   1500
2199 2199
     #define E4_MAX_VOLTAGE     127
2200
-    #define E4_CHAIN_POS         0
2200
+    #define E4_CHAIN_POS        -1
2201 2201
   #endif
2202 2202
 
2203 2203
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2205,7 +2205,7 @@
2205 2205
     #define E5_OVERCURRENT    2000
2206 2206
     #define E5_STALLCURRENT   1500
2207 2207
     #define E5_MAX_VOLTAGE     127
2208
-    #define E5_CHAIN_POS         0
2208
+    #define E5_CHAIN_POS        -1
2209 2209
   #endif
2210 2210
 
2211 2211
   /**

+ 26
- 26
config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h 查看文件

@@ -1799,91 +1799,91 @@
1799 1799
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1800 1800
     #define X_MICROSTEPS   16  // 0..256
1801 1801
     #define X_RSENSE     0.11
1802
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1802
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1803 1803
   #endif
1804 1804
 
1805 1805
   #if AXIS_IS_TMC(X2)
1806 1806
     #define X2_CURRENT    800
1807 1807
     #define X2_MICROSTEPS  16
1808 1808
     #define X2_RSENSE    0.11
1809
-    #define X2_CHAIN_POS    0
1809
+    #define X2_CHAIN_POS   -1
1810 1810
   #endif
1811 1811
 
1812 1812
   #if AXIS_IS_TMC(Y)
1813 1813
     #define Y_CURRENT     800
1814 1814
     #define Y_MICROSTEPS   16
1815 1815
     #define Y_RSENSE     0.11
1816
-    #define Y_CHAIN_POS     0
1816
+    #define Y_CHAIN_POS    -1
1817 1817
   #endif
1818 1818
 
1819 1819
   #if AXIS_IS_TMC(Y2)
1820 1820
     #define Y2_CURRENT    800
1821 1821
     #define Y2_MICROSTEPS  16
1822 1822
     #define Y2_RSENSE    0.11
1823
-    #define Y2_CHAIN_POS    0
1823
+    #define Y2_CHAIN_POS   -1
1824 1824
   #endif
1825 1825
 
1826 1826
   #if AXIS_IS_TMC(Z)
1827 1827
     #define Z_CURRENT     800
1828 1828
     #define Z_MICROSTEPS   16
1829 1829
     #define Z_RSENSE     0.11
1830
-    #define Z_CHAIN_POS     0
1830
+    #define Z_CHAIN_POS    -1
1831 1831
   #endif
1832 1832
 
1833 1833
   #if AXIS_IS_TMC(Z2)
1834 1834
     #define Z2_CURRENT    800
1835 1835
     #define Z2_MICROSTEPS  16
1836 1836
     #define Z2_RSENSE    0.11
1837
-    #define Z2_CHAIN_POS    0
1837
+    #define Z2_CHAIN_POS   -1
1838 1838
   #endif
1839 1839
 
1840 1840
   #if AXIS_IS_TMC(Z3)
1841 1841
     #define Z3_CURRENT    800
1842 1842
     #define Z3_MICROSTEPS  16
1843 1843
     #define Z3_RSENSE    0.11
1844
-    #define Z3_CHAIN_POS    0
1844
+    #define Z3_CHAIN_POS   -1
1845 1845
   #endif
1846 1846
 
1847 1847
   #if AXIS_IS_TMC(E0)
1848 1848
     #define E0_CURRENT    800
1849 1849
     #define E0_MICROSTEPS  16
1850 1850
     #define E0_RSENSE    0.11
1851
-    #define E0_CHAIN_POS    0
1851
+    #define E0_CHAIN_POS   -1
1852 1852
   #endif
1853 1853
 
1854 1854
   #if AXIS_IS_TMC(E1)
1855 1855
     #define E1_CURRENT    800
1856 1856
     #define E1_MICROSTEPS  16
1857 1857
     #define E1_RSENSE    0.11
1858
-    #define E1_CHAIN_POS    0
1858
+    #define E1_CHAIN_POS   -1
1859 1859
   #endif
1860 1860
 
1861 1861
   #if AXIS_IS_TMC(E2)
1862 1862
     #define E2_CURRENT    800
1863 1863
     #define E2_MICROSTEPS  16
1864 1864
     #define E2_RSENSE    0.11
1865
-    #define E2_CHAIN_POS    0
1865
+    #define E2_CHAIN_POS   -1
1866 1866
   #endif
1867 1867
 
1868 1868
   #if AXIS_IS_TMC(E3)
1869 1869
     #define E3_CURRENT    800
1870 1870
     #define E3_MICROSTEPS  16
1871 1871
     #define E3_RSENSE    0.11
1872
-    #define E3_CHAIN_POS    0
1872
+    #define E3_CHAIN_POS   -1
1873 1873
   #endif
1874 1874
 
1875 1875
   #if AXIS_IS_TMC(E4)
1876 1876
     #define E4_CURRENT    800
1877 1877
     #define E4_MICROSTEPS  16
1878 1878
     #define E4_RSENSE    0.11
1879
-    #define E4_CHAIN_POS    0
1879
+    #define E4_CHAIN_POS   -1
1880 1880
   #endif
1881 1881
 
1882 1882
   #if AXIS_IS_TMC(E5)
1883 1883
     #define E5_CURRENT    800
1884 1884
     #define E5_MICROSTEPS  16
1885 1885
     #define E5_RSENSE    0.11
1886
-    #define E5_CHAIN_POS    0
1886
+    #define E5_CHAIN_POS   -1
1887 1887
   #endif
1888 1888
 
1889 1889
   /**
@@ -2109,7 +2109,7 @@
2109 2109
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2110 2110
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2111 2111
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2112
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2112
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2113 2113
   #endif
2114 2114
 
2115 2115
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2117,7 +2117,7 @@
2117 2117
     #define X2_OVERCURRENT    2000
2118 2118
     #define X2_STALLCURRENT   1500
2119 2119
     #define X2_MAX_VOLTAGE     127
2120
-    #define X2_CHAIN_POS         0
2120
+    #define X2_CHAIN_POS        -1
2121 2121
   #endif
2122 2122
 
2123 2123
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2125,7 +2125,7 @@
2125 2125
     #define Y_OVERCURRENT     2000
2126 2126
     #define Y_STALLCURRENT    1500
2127 2127
     #define Y_MAX_VOLTAGE      127
2128
-    #define Y_CHAIN_POS          0
2128
+    #define Y_CHAIN_POS         -1
2129 2129
   #endif
2130 2130
 
2131 2131
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2133,7 +2133,7 @@
2133 2133
     #define Y2_OVERCURRENT    2000
2134 2134
     #define Y2_STALLCURRENT   1500
2135 2135
     #define Y2_MAX_VOLTAGE     127
2136
-    #define Y2_CHAIN_POS         0
2136
+    #define Y2_CHAIN_POS        -1
2137 2137
   #endif
2138 2138
 
2139 2139
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2141,7 +2141,7 @@
2141 2141
     #define Z_OVERCURRENT     2000
2142 2142
     #define Z_STALLCURRENT    1500
2143 2143
     #define Z_MAX_VOLTAGE      127
2144
-    #define Z_CHAIN_POS          0
2144
+    #define Z_CHAIN_POS         -1
2145 2145
   #endif
2146 2146
 
2147 2147
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2149,7 +2149,7 @@
2149 2149
     #define Z2_OVERCURRENT    2000
2150 2150
     #define Z2_STALLCURRENT   1500
2151 2151
     #define Z2_MAX_VOLTAGE     127
2152
-    #define Z2_CHAIN_POS         0
2152
+    #define Z2_CHAIN_POS        -1
2153 2153
   #endif
2154 2154
 
2155 2155
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2157,7 +2157,7 @@
2157 2157
     #define Z3_OVERCURRENT    2000
2158 2158
     #define Z3_STALLCURRENT   1500
2159 2159
     #define Z3_MAX_VOLTAGE     127
2160
-    #define Z3_CHAIN_POS         0
2160
+    #define Z3_CHAIN_POS        -1
2161 2161
   #endif
2162 2162
 
2163 2163
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2165,7 +2165,7 @@
2165 2165
     #define E0_OVERCURRENT    2000
2166 2166
     #define E0_STALLCURRENT   1500
2167 2167
     #define E0_MAX_VOLTAGE     127
2168
-    #define E0_CHAIN_POS         0
2168
+    #define E0_CHAIN_POS        -1
2169 2169
   #endif
2170 2170
 
2171 2171
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2173,7 +2173,7 @@
2173 2173
     #define E1_OVERCURRENT    2000
2174 2174
     #define E1_STALLCURRENT   1500
2175 2175
     #define E1_MAX_VOLTAGE     127
2176
-    #define E1_CHAIN_POS         0
2176
+    #define E1_CHAIN_POS        -1
2177 2177
   #endif
2178 2178
 
2179 2179
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2181,7 +2181,7 @@
2181 2181
     #define E2_OVERCURRENT    2000
2182 2182
     #define E2_STALLCURRENT   1500
2183 2183
     #define E2_MAX_VOLTAGE     127
2184
-    #define E2_CHAIN_POS         0
2184
+    #define E2_CHAIN_POS        -1
2185 2185
   #endif
2186 2186
 
2187 2187
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2189,7 +2189,7 @@
2189 2189
     #define E3_OVERCURRENT    2000
2190 2190
     #define E3_STALLCURRENT   1500
2191 2191
     #define E3_MAX_VOLTAGE     127
2192
-    #define E3_CHAIN_POS         0
2192
+    #define E3_CHAIN_POS        -1
2193 2193
   #endif
2194 2194
 
2195 2195
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2197,7 +2197,7 @@
2197 2197
     #define E4_OVERCURRENT    2000
2198 2198
     #define E4_STALLCURRENT   1500
2199 2199
     #define E4_MAX_VOLTAGE     127
2200
-    #define E4_CHAIN_POS         0
2200
+    #define E4_CHAIN_POS        -1
2201 2201
   #endif
2202 2202
 
2203 2203
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2205,7 +2205,7 @@
2205 2205
     #define E5_OVERCURRENT    2000
2206 2206
     #define E5_STALLCURRENT   1500
2207 2207
     #define E5_MAX_VOLTAGE     127
2208
-    #define E5_CHAIN_POS         0
2208
+    #define E5_CHAIN_POS        -1
2209 2209
   #endif
2210 2210
 
2211 2211
   /**

+ 26
- 26
config/examples/delta/Geeetech/Rostock 301/Configuration_adv.h 查看文件

@@ -1799,91 +1799,91 @@
1799 1799
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1800 1800
     #define X_MICROSTEPS   16  // 0..256
1801 1801
     #define X_RSENSE     0.11
1802
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1802
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1803 1803
   #endif
1804 1804
 
1805 1805
   #if AXIS_IS_TMC(X2)
1806 1806
     #define X2_CURRENT    800
1807 1807
     #define X2_MICROSTEPS  16
1808 1808
     #define X2_RSENSE    0.11
1809
-    #define X2_CHAIN_POS    0
1809
+    #define X2_CHAIN_POS   -1
1810 1810
   #endif
1811 1811
 
1812 1812
   #if AXIS_IS_TMC(Y)
1813 1813
     #define Y_CURRENT     800
1814 1814
     #define Y_MICROSTEPS   16
1815 1815
     #define Y_RSENSE     0.11
1816
-    #define Y_CHAIN_POS     0
1816
+    #define Y_CHAIN_POS    -1
1817 1817
   #endif
1818 1818
 
1819 1819
   #if AXIS_IS_TMC(Y2)
1820 1820
     #define Y2_CURRENT    800
1821 1821
     #define Y2_MICROSTEPS  16
1822 1822
     #define Y2_RSENSE    0.11
1823
-    #define Y2_CHAIN_POS    0
1823
+    #define Y2_CHAIN_POS   -1
1824 1824
   #endif
1825 1825
 
1826 1826
   #if AXIS_IS_TMC(Z)
1827 1827
     #define Z_CURRENT     800
1828 1828
     #define Z_MICROSTEPS   16
1829 1829
     #define Z_RSENSE     0.11
1830
-    #define Z_CHAIN_POS     0
1830
+    #define Z_CHAIN_POS    -1
1831 1831
   #endif
1832 1832
 
1833 1833
   #if AXIS_IS_TMC(Z2)
1834 1834
     #define Z2_CURRENT    800
1835 1835
     #define Z2_MICROSTEPS  16
1836 1836
     #define Z2_RSENSE    0.11
1837
-    #define Z2_CHAIN_POS    0
1837
+    #define Z2_CHAIN_POS   -1
1838 1838
   #endif
1839 1839
 
1840 1840
   #if AXIS_IS_TMC(Z3)
1841 1841
     #define Z3_CURRENT    800
1842 1842
     #define Z3_MICROSTEPS  16
1843 1843
     #define Z3_RSENSE    0.11
1844
-    #define Z3_CHAIN_POS    0
1844
+    #define Z3_CHAIN_POS   -1
1845 1845
   #endif
1846 1846
 
1847 1847
   #if AXIS_IS_TMC(E0)
1848 1848
     #define E0_CURRENT    800
1849 1849
     #define E0_MICROSTEPS  16
1850 1850
     #define E0_RSENSE    0.11
1851
-    #define E0_CHAIN_POS    0
1851
+    #define E0_CHAIN_POS   -1
1852 1852
   #endif
1853 1853
 
1854 1854
   #if AXIS_IS_TMC(E1)
1855 1855
     #define E1_CURRENT    800
1856 1856
     #define E1_MICROSTEPS  16
1857 1857
     #define E1_RSENSE    0.11
1858
-    #define E1_CHAIN_POS    0
1858
+    #define E1_CHAIN_POS   -1
1859 1859
   #endif
1860 1860
 
1861 1861
   #if AXIS_IS_TMC(E2)
1862 1862
     #define E2_CURRENT    800
1863 1863
     #define E2_MICROSTEPS  16
1864 1864
     #define E2_RSENSE    0.11
1865
-    #define E2_CHAIN_POS    0
1865
+    #define E2_CHAIN_POS   -1
1866 1866
   #endif
1867 1867
 
1868 1868
   #if AXIS_IS_TMC(E3)
1869 1869
     #define E3_CURRENT    800
1870 1870
     #define E3_MICROSTEPS  16
1871 1871
     #define E3_RSENSE    0.11
1872
-    #define E3_CHAIN_POS    0
1872
+    #define E3_CHAIN_POS   -1
1873 1873
   #endif
1874 1874
 
1875 1875
   #if AXIS_IS_TMC(E4)
1876 1876
     #define E4_CURRENT    800
1877 1877
     #define E4_MICROSTEPS  16
1878 1878
     #define E4_RSENSE    0.11
1879
-    #define E4_CHAIN_POS    0
1879
+    #define E4_CHAIN_POS   -1
1880 1880
   #endif
1881 1881
 
1882 1882
   #if AXIS_IS_TMC(E5)
1883 1883
     #define E5_CURRENT    800
1884 1884
     #define E5_MICROSTEPS  16
1885 1885
     #define E5_RSENSE    0.11
1886
-    #define E5_CHAIN_POS    0
1886
+    #define E5_CHAIN_POS   -1
1887 1887
   #endif
1888 1888
 
1889 1889
   /**
@@ -2109,7 +2109,7 @@
2109 2109
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2110 2110
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2111 2111
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2112
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2112
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2113 2113
   #endif
2114 2114
 
2115 2115
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2117,7 +2117,7 @@
2117 2117
     #define X2_OVERCURRENT    2000
2118 2118
     #define X2_STALLCURRENT   1500
2119 2119
     #define X2_MAX_VOLTAGE     127
2120
-    #define X2_CHAIN_POS         0
2120
+    #define X2_CHAIN_POS        -1
2121 2121
   #endif
2122 2122
 
2123 2123
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2125,7 +2125,7 @@
2125 2125
     #define Y_OVERCURRENT     2000
2126 2126
     #define Y_STALLCURRENT    1500
2127 2127
     #define Y_MAX_VOLTAGE      127
2128
-    #define Y_CHAIN_POS          0
2128
+    #define Y_CHAIN_POS         -1
2129 2129
   #endif
2130 2130
 
2131 2131
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2133,7 +2133,7 @@
2133 2133
     #define Y2_OVERCURRENT    2000
2134 2134
     #define Y2_STALLCURRENT   1500
2135 2135
     #define Y2_MAX_VOLTAGE     127
2136
-    #define Y2_CHAIN_POS         0
2136
+    #define Y2_CHAIN_POS        -1
2137 2137
   #endif
2138 2138
 
2139 2139
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2141,7 +2141,7 @@
2141 2141
     #define Z_OVERCURRENT     2000
2142 2142
     #define Z_STALLCURRENT    1500
2143 2143
     #define Z_MAX_VOLTAGE      127
2144
-    #define Z_CHAIN_POS          0
2144
+    #define Z_CHAIN_POS         -1
2145 2145
   #endif
2146 2146
 
2147 2147
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2149,7 +2149,7 @@
2149 2149
     #define Z2_OVERCURRENT    2000
2150 2150
     #define Z2_STALLCURRENT   1500
2151 2151
     #define Z2_MAX_VOLTAGE     127
2152
-    #define Z2_CHAIN_POS         0
2152
+    #define Z2_CHAIN_POS        -1
2153 2153
   #endif
2154 2154
 
2155 2155
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2157,7 +2157,7 @@
2157 2157
     #define Z3_OVERCURRENT    2000
2158 2158
     #define Z3_STALLCURRENT   1500
2159 2159
     #define Z3_MAX_VOLTAGE     127
2160
-    #define Z3_CHAIN_POS         0
2160
+    #define Z3_CHAIN_POS        -1
2161 2161
   #endif
2162 2162
 
2163 2163
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2165,7 +2165,7 @@
2165 2165
     #define E0_OVERCURRENT    2000
2166 2166
     #define E0_STALLCURRENT   1500
2167 2167
     #define E0_MAX_VOLTAGE     127
2168
-    #define E0_CHAIN_POS         0
2168
+    #define E0_CHAIN_POS        -1
2169 2169
   #endif
2170 2170
 
2171 2171
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2173,7 +2173,7 @@
2173 2173
     #define E1_OVERCURRENT    2000
2174 2174
     #define E1_STALLCURRENT   1500
2175 2175
     #define E1_MAX_VOLTAGE     127
2176
-    #define E1_CHAIN_POS         0
2176
+    #define E1_CHAIN_POS        -1
2177 2177
   #endif
2178 2178
 
2179 2179
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2181,7 +2181,7 @@
2181 2181
     #define E2_OVERCURRENT    2000
2182 2182
     #define E2_STALLCURRENT   1500
2183 2183
     #define E2_MAX_VOLTAGE     127
2184
-    #define E2_CHAIN_POS         0
2184
+    #define E2_CHAIN_POS        -1
2185 2185
   #endif
2186 2186
 
2187 2187
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2189,7 +2189,7 @@
2189 2189
     #define E3_OVERCURRENT    2000
2190 2190
     #define E3_STALLCURRENT   1500
2191 2191
     #define E3_MAX_VOLTAGE     127
2192
-    #define E3_CHAIN_POS         0
2192
+    #define E3_CHAIN_POS        -1
2193 2193
   #endif
2194 2194
 
2195 2195
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2197,7 +2197,7 @@
2197 2197
     #define E4_OVERCURRENT    2000
2198 2198
     #define E4_STALLCURRENT   1500
2199 2199
     #define E4_MAX_VOLTAGE     127
2200
-    #define E4_CHAIN_POS         0
2200
+    #define E4_CHAIN_POS        -1
2201 2201
   #endif
2202 2202
 
2203 2203
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2205,7 +2205,7 @@
2205 2205
     #define E5_OVERCURRENT    2000
2206 2206
     #define E5_STALLCURRENT   1500
2207 2207
     #define E5_MAX_VOLTAGE     127
2208
-    #define E5_CHAIN_POS         0
2208
+    #define E5_CHAIN_POS        -1
2209 2209
   #endif
2210 2210
 
2211 2211
   /**

+ 26
- 26
config/examples/delta/MKS/SBASE/Configuration_adv.h 查看文件

@@ -1799,91 +1799,91 @@
1799 1799
     #define X_CURRENT     800  // (mA) RMS current. Multiply by 1.414 for peak current.
1800 1800
     #define X_MICROSTEPS   16  // 0..256
1801 1801
     #define X_RSENSE     0.11
1802
-    #define X_CHAIN_POS     0  // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ...
1802
+    #define X_CHAIN_POS    -1  // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
1803 1803
   #endif
1804 1804
 
1805 1805
   #if AXIS_IS_TMC(X2)
1806 1806
     #define X2_CURRENT    800
1807 1807
     #define X2_MICROSTEPS  16
1808 1808
     #define X2_RSENSE    0.11
1809
-    #define X2_CHAIN_POS    0
1809
+    #define X2_CHAIN_POS   -1
1810 1810
   #endif
1811 1811
 
1812 1812
   #if AXIS_IS_TMC(Y)
1813 1813
     #define Y_CURRENT     800
1814 1814
     #define Y_MICROSTEPS   16
1815 1815
     #define Y_RSENSE     0.11
1816
-    #define Y_CHAIN_POS     0
1816
+    #define Y_CHAIN_POS    -1
1817 1817
   #endif
1818 1818
 
1819 1819
   #if AXIS_IS_TMC(Y2)
1820 1820
     #define Y2_CURRENT    800
1821 1821
     #define Y2_MICROSTEPS  16
1822 1822
     #define Y2_RSENSE    0.11
1823
-    #define Y2_CHAIN_POS    0
1823
+    #define Y2_CHAIN_POS   -1
1824 1824
   #endif
1825 1825
 
1826 1826
   #if AXIS_IS_TMC(Z)
1827 1827
     #define Z_CURRENT     800
1828 1828
     #define Z_MICROSTEPS   16
1829 1829
     #define Z_RSENSE     0.11
1830
-    #define Z_CHAIN_POS     0
1830
+    #define Z_CHAIN_POS    -1
1831 1831
   #endif
1832 1832
 
1833 1833
   #if AXIS_IS_TMC(Z2)
1834 1834
     #define Z2_CURRENT    800
1835 1835
     #define Z2_MICROSTEPS  16
1836 1836
     #define Z2_RSENSE    0.11
1837
-    #define Z2_CHAIN_POS    0
1837
+    #define Z2_CHAIN_POS   -1
1838 1838
   #endif
1839 1839
 
1840 1840
   #if AXIS_IS_TMC(Z3)
1841 1841
     #define Z3_CURRENT    800
1842 1842
     #define Z3_MICROSTEPS  16
1843 1843
     #define Z3_RSENSE    0.11
1844
-    #define Z3_CHAIN_POS    0
1844
+    #define Z3_CHAIN_POS   -1
1845 1845
   #endif
1846 1846
 
1847 1847
   #if AXIS_IS_TMC(E0)
1848 1848
     #define E0_CURRENT    800
1849 1849
     #define E0_MICROSTEPS  16
1850 1850
     #define E0_RSENSE    0.11
1851
-    #define E0_CHAIN_POS    0
1851
+    #define E0_CHAIN_POS   -1
1852 1852
   #endif
1853 1853
 
1854 1854
   #if AXIS_IS_TMC(E1)
1855 1855
     #define E1_CURRENT    800
1856 1856
     #define E1_MICROSTEPS  16
1857 1857
     #define E1_RSENSE    0.11
1858
-    #define E1_CHAIN_POS    0
1858
+    #define E1_CHAIN_POS   -1
1859 1859
   #endif
1860 1860
 
1861 1861
   #if AXIS_IS_TMC(E2)
1862 1862
     #define E2_CURRENT    800
1863 1863
     #define E2_MICROSTEPS  16
1864 1864
     #define E2_RSENSE    0.11
1865
-    #define E2_CHAIN_POS    0
1865
+    #define E2_CHAIN_POS   -1
1866 1866
   #endif
1867 1867
 
1868 1868
   #if AXIS_IS_TMC(E3)
1869 1869
     #define E3_CURRENT    800
1870 1870
     #define E3_MICROSTEPS  16
1871 1871
     #define E3_RSENSE    0.11
1872
-    #define E3_CHAIN_POS    0
1872
+    #define E3_CHAIN_POS   -1
1873 1873
   #endif
1874 1874
 
1875 1875
   #if AXIS_IS_TMC(E4)
1876 1876
     #define E4_CURRENT    800
1877 1877
     #define E4_MICROSTEPS  16
1878 1878
     #define E4_RSENSE    0.11
1879
-    #define E4_CHAIN_POS    0
1879
+    #define E4_CHAIN_POS   -1
1880 1880
   #endif
1881 1881
 
1882 1882
   #if AXIS_IS_TMC(E5)
1883 1883
     #define E5_CURRENT    800
1884 1884
     #define E5_MICROSTEPS  16
1885 1885
     #define E5_RSENSE    0.11
1886
-    #define E5_CHAIN_POS    0
1886
+    #define E5_CHAIN_POS   -1
1887 1887
   #endif
1888 1888
 
1889 1889
   /**
@@ -2109,7 +2109,7 @@
2109 2109
     #define X_OVERCURRENT   2000  // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
2110 2110
     #define X_STALLCURRENT  1500  // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) -  4A max - rounds down)
2111 2111
     #define X_MAX_VOLTAGE    127  // 0-255, Maximum effective voltage seen by stepper
2112
-    #define X_CHAIN_POS        0  // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
2112
+    #define X_CHAIN_POS       -1  // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
2113 2113
   #endif
2114 2114
 
2115 2115
   #if AXIS_DRIVER_TYPE_X2(L6470)
@@ -2117,7 +2117,7 @@
2117 2117
     #define X2_OVERCURRENT    2000
2118 2118
     #define X2_STALLCURRENT   1500
2119 2119
     #define X2_MAX_VOLTAGE     127
2120
-    #define X2_CHAIN_POS         0
2120
+    #define X2_CHAIN_POS        -1
2121 2121
   #endif
2122 2122
 
2123 2123
   #if AXIS_DRIVER_TYPE_Y(L6470)
@@ -2125,7 +2125,7 @@
2125 2125
     #define Y_OVERCURRENT     2000
2126 2126
     #define Y_STALLCURRENT    1500
2127 2127
     #define Y_MAX_VOLTAGE      127
2128
-    #define Y_CHAIN_POS          0
2128
+    #define Y_CHAIN_POS         -1
2129 2129
   #endif
2130 2130
 
2131 2131
   #if AXIS_DRIVER_TYPE_Y2(L6470)
@@ -2133,7 +2133,7 @@
2133 2133
     #define Y2_OVERCURRENT    2000
2134 2134
     #define Y2_STALLCURRENT   1500
2135 2135
     #define Y2_MAX_VOLTAGE     127
2136
-    #define Y2_CHAIN_POS         0
2136
+    #define Y2_CHAIN_POS        -1
2137 2137
   #endif
2138 2138
 
2139 2139
   #if AXIS_DRIVER_TYPE_Z(L6470)
@@ -2141,7 +2141,7 @@
2141 2141
     #define Z_OVERCURRENT     2000
2142 2142
     #define Z_STALLCURRENT    1500
2143 2143
     #define Z_MAX_VOLTAGE      127
2144
-    #define Z_CHAIN_POS          0
2144
+    #define Z_CHAIN_POS         -1
2145 2145
   #endif
2146 2146
 
2147 2147
   #if AXIS_DRIVER_TYPE_Z2(L6470)
@@ -2149,7 +2149,7 @@
2149 2149
     #define Z2_OVERCURRENT    2000
2150 2150
     #define Z2_STALLCURRENT   1500
2151 2151
     #define Z2_MAX_VOLTAGE     127
2152
-    #define Z2_CHAIN_POS         0
2152
+    #define Z2_CHAIN_POS        -1
2153 2153
   #endif
2154 2154
 
2155 2155
   #if AXIS_DRIVER_TYPE_Z3(L6470)
@@ -2157,7 +2157,7 @@
2157 2157
     #define Z3_OVERCURRENT    2000
2158 2158
     #define Z3_STALLCURRENT   1500
2159 2159
     #define Z3_MAX_VOLTAGE     127
2160
-    #define Z3_CHAIN_POS         0
2160
+    #define Z3_CHAIN_POS        -1
2161 2161
   #endif
2162 2162
 
2163 2163
   #if AXIS_DRIVER_TYPE_E0(L6470)
@@ -2165,7 +2165,7 @@
2165 2165
     #define E0_OVERCURRENT    2000
2166 2166
     #define E0_STALLCURRENT   1500
2167 2167
     #define E0_MAX_VOLTAGE     127
2168
-    #define E0_CHAIN_POS         0
2168
+    #define E0_CHAIN_POS        -1
2169 2169
   #endif
2170 2170
 
2171 2171
   #if AXIS_DRIVER_TYPE_E1(L6470)
@@ -2173,7 +2173,7 @@
2173 2173
     #define E1_OVERCURRENT    2000
2174 2174
     #define E1_STALLCURRENT   1500
2175 2175
     #define E1_MAX_VOLTAGE     127
2176
-    #define E1_CHAIN_POS         0
2176
+    #define E1_CHAIN_POS        -1
2177 2177
   #endif
2178 2178
 
2179 2179
   #if AXIS_DRIVER_TYPE_E2(L6470)
@@ -2181,7 +2181,7 @@
2181 2181
     #define E2_OVERCURRENT    2000
2182 2182
     #define E2_STALLCURRENT   1500
2183 2183
     #define E2_MAX_VOLTAGE     127
2184
-    #define E2_CHAIN_POS         0
2184
+    #define E2_CHAIN_POS        -1
2185 2185
   #endif
2186 2186
 
2187 2187
   #if AXIS_DRIVER_TYPE_E3(L6470)
@@ -2189,7 +2189,7 @@
2189 2189
     #define E3_OVERCURRENT    2000
2190 2190
     #define E3_STALLCURRENT   1500
2191 2191
     #define E3_MAX_VOLTAGE     127
2192
-    #define E3_CHAIN_POS         0
2192
+    #define E3_CHAIN_POS        -1
2193 2193
   #endif
2194 2194
 
2195 2195
   #if AXIS_DRIVER_TYPE_E4(L6470)
@@ -2197,7 +2197,7 @@
2197 2197
     #define E4_OVERCURRENT    2000
2198 2198
     #define E4_STALLCURRENT   1500
2199 2199
     #define E4_MAX_VOLTAGE     127
2200
-    #define E4_CHAIN_POS         0
2200
+    #define E4_CHAIN_POS        -1
2201 2201
   #endif
2202 2202
 
2203 2203
   #if AXIS_DRIVER_TYPE_E5(L6470)
@@ -2205,7 +2205,7 @@
2205 2205
     #define E5_OVERCURRENT    2000
2206 2206
     #define E5_STALLCURRENT   1500
2207 2207
     #define E5_MAX_VOLTAGE     127
2208
-    #define E5_CHAIN_POS         0
2208
+    #define E5_CHAIN_POS        -1
2209 2209
   #endif
2210 2210
 
2211 2211
   /**

+ 0
- 0
config/examples/delta/Tevo Little Monster/Configuration_adv.h 查看文件


部分文件因为文件数量过多而无法显示

正在加载...
取消
保存