|
@@ -66,7 +66,12 @@
|
66
|
66
|
#define ___TMC_CLASS(MODEL, A, I, E) ____TMC_CLASS(MODEL, A, I, E)
|
67
|
67
|
#define __TMC_CLASS(MODEL, A, I, E) ___TMC_CLASS(_##MODEL, A, I, E)
|
68
|
68
|
#define _TMC_CLASS(MODEL, L, E) __TMC_CLASS(MODEL, L, E)
|
69
|
|
- #define TMC_CLASS(ST) _TMC_CLASS(ST##_DRIVER_TYPE, TMC_##ST##_LABEL, ST##_AXIS)
|
|
69
|
+ #define TMC_CLASS(ST, A) _TMC_CLASS(ST##_DRIVER_TYPE, TMC_##ST##_LABEL, A##_AXIS)
|
|
70
|
+ #if ENABLED(DISTINCT_E_FACTORS)
|
|
71
|
+ #define TMC_CLASS_E(I) TMC_CLASS(E##I, E##I)
|
|
72
|
+ #else
|
|
73
|
+ #define TMC_CLASS_E(I) TMC_CLASS(E##I, E)
|
|
74
|
+ #endif
|
70
|
75
|
|
71
|
76
|
typedef struct {
|
72
|
77
|
uint8_t toff;
|
|
@@ -101,7 +106,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset
|
101
|
106
|
#define X_DIR_READ (stepperX.getStatus() & STATUS_DIR)
|
102
|
107
|
#else
|
103
|
108
|
#if AXIS_IS_TMC(X)
|
104
|
|
- extern TMC_CLASS(X) stepperX;
|
|
109
|
+ extern TMC_CLASS(X, X) stepperX;
|
105
|
110
|
#endif
|
106
|
111
|
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
107
|
112
|
extern TMC26XStepper stepperX;
|
|
@@ -136,7 +141,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset
|
136
|
141
|
#define Y_DIR_READ (stepperY.getStatus() & STATUS_DIR)
|
137
|
142
|
#else
|
138
|
143
|
#if AXIS_IS_TMC(Y)
|
139
|
|
- extern TMC_CLASS(Y) stepperY;
|
|
144
|
+ extern TMC_CLASS(Y, Y) stepperY;
|
140
|
145
|
#endif
|
141
|
146
|
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
142
|
147
|
extern TMC26XStepper stepperY;
|
|
@@ -171,7 +176,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset
|
171
|
176
|
#define Z_DIR_READ (stepperZ.getStatus() & STATUS_DIR)
|
172
|
177
|
#else
|
173
|
178
|
#if AXIS_IS_TMC(Z)
|
174
|
|
- extern TMC_CLASS(Z) stepperZ;
|
|
179
|
+ extern TMC_CLASS(Z, Z) stepperZ;
|
175
|
180
|
#endif
|
176
|
181
|
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
177
|
182
|
extern TMC26XStepper stepperZ;
|
|
@@ -207,7 +212,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset
|
207
|
212
|
#define X2_DIR_READ (stepperX2.getStatus() & STATUS_DIR)
|
208
|
213
|
#else
|
209
|
214
|
#if AXIS_IS_TMC(X2)
|
210
|
|
- extern TMC_CLASS(X2) stepperX2;
|
|
215
|
+ extern TMC_CLASS(X2, X) stepperX2;
|
211
|
216
|
#endif
|
212
|
217
|
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
213
|
218
|
extern TMC26XStepper stepperX2;
|
|
@@ -244,7 +249,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset
|
244
|
249
|
#define Y2_DIR_READ (stepperY2.getStatus() & STATUS_DIR)
|
245
|
250
|
#else
|
246
|
251
|
#if AXIS_IS_TMC(Y2)
|
247
|
|
- extern TMC_CLASS(Y2) stepperY2;
|
|
252
|
+ extern TMC_CLASS(Y2, Y) stepperY2;
|
248
|
253
|
#endif
|
249
|
254
|
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
250
|
255
|
extern TMC26XStepper stepperY2;
|
|
@@ -283,7 +288,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset
|
283
|
288
|
#define Z2_DIR_READ (stepperZ2.getStatus() & STATUS_DIR)
|
284
|
289
|
#else
|
285
|
290
|
#if AXIS_IS_TMC(Z2)
|
286
|
|
- extern TMC_CLASS(Z2) stepperZ2;
|
|
291
|
+ extern TMC_CLASS(Z2, Z) stepperZ2;
|
287
|
292
|
#endif
|
288
|
293
|
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
289
|
294
|
extern TMC26XStepper stepperZ2;
|
|
@@ -322,7 +327,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset
|
322
|
327
|
#define Z3_DIR_READ (stepperZ3.getStatus() & STATUS_DIR)
|
323
|
328
|
#else
|
324
|
329
|
#if AXIS_IS_TMC(Z3)
|
325
|
|
- extern TMC_CLASS(Z3) stepperZ3;
|
|
330
|
+ extern TMC_CLASS(Z3, Z) stepperZ3;
|
326
|
331
|
#endif
|
327
|
332
|
#if ENABLED(Z3_IS_TMC26X)
|
328
|
333
|
extern TMC26XStepper stepperZ3;
|
|
@@ -360,7 +365,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset
|
360
|
365
|
#define E0_DIR_READ (stepperE0.getStatus() & STATUS_DIR)
|
361
|
366
|
#else
|
362
|
367
|
#if AXIS_IS_TMC(E0)
|
363
|
|
- extern TMC_CLASS(E0) stepperE0;
|
|
368
|
+ extern TMC_CLASS_E(0) stepperE0;
|
364
|
369
|
#endif
|
365
|
370
|
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
366
|
371
|
extern TMC26XStepper stepperE0;
|
|
@@ -395,7 +400,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset
|
395
|
400
|
#define E1_DIR_READ (stepperE1.getStatus() & STATUS_DIR)
|
396
|
401
|
#else
|
397
|
402
|
#if AXIS_IS_TMC(E1)
|
398
|
|
- extern TMC_CLASS(E1) stepperE1;
|
|
403
|
+ extern TMC_CLASS_E(1) stepperE1;
|
399
|
404
|
#endif
|
400
|
405
|
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
401
|
406
|
extern TMC26XStepper stepperE1;
|
|
@@ -430,7 +435,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset
|
430
|
435
|
#define E2_DIR_READ (stepperE2.getStatus() & STATUS_DIR)
|
431
|
436
|
#else
|
432
|
437
|
#if AXIS_IS_TMC(E2)
|
433
|
|
- extern TMC_CLASS(E2) stepperE2;
|
|
438
|
+ extern TMC_CLASS_E(2) stepperE2;
|
434
|
439
|
#endif
|
435
|
440
|
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
436
|
441
|
extern TMC26XStepper stepperE2;
|
|
@@ -465,7 +470,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset
|
465
|
470
|
#define E3_DIR_READ (stepperE3.getStatus() & STATUS_DIR)
|
466
|
471
|
#else
|
467
|
472
|
#if AXIS_IS_TMC(E3)
|
468
|
|
- extern TMC_CLASS(E3) stepperE3;
|
|
473
|
+ extern TMC_CLASS_E(3) stepperE3;
|
469
|
474
|
#endif
|
470
|
475
|
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
471
|
476
|
extern TMC26XStepper stepperE3;
|
|
@@ -500,7 +505,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset
|
500
|
505
|
#define E4_DIR_READ (stepperE4.getStatus() & STATUS_DIR)
|
501
|
506
|
#else
|
502
|
507
|
#if AXIS_IS_TMC(E4)
|
503
|
|
- extern TMC_CLASS(E4) stepperE4;
|
|
508
|
+ extern TMC_CLASS_E(4) stepperE4;
|
504
|
509
|
#endif
|
505
|
510
|
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
506
|
511
|
extern TMC26XStepper stepperE4;
|
|
@@ -535,7 +540,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset
|
535
|
540
|
#define E5_DIR_READ (stepperE5.getStatus() & STATUS_DIR)
|
536
|
541
|
#else
|
537
|
542
|
#if AXIS_IS_TMC(E5)
|
538
|
|
- extern TMC_CLASS(E5) stepperE5;
|
|
543
|
+ extern TMC_CLASS_E(5) stepperE5;
|
539
|
544
|
#endif
|
540
|
545
|
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
541
|
546
|
extern TMC26XStepper stepperE5;
|