teemuatlut 6 anni fa
parent
commit
bf4a0db97f
2 ha cambiato i file con 29 aggiunte e 32 eliminazioni
  1. 10
    18
      Marlin/src/feature/tmc_util.cpp
  2. 19
    14
      Marlin/src/module/stepper_indirection.h

+ 10
- 18
Marlin/src/feature/tmc_util.cpp Vedi File

@@ -565,24 +565,16 @@
565 565
       case TMC_VSENSE: print_vsense(st); break;
566 566
       case TMC_MICROSTEPS: SERIAL_ECHO(st.microsteps()); break;
567 567
       case TMC_TSTEP: {
568
-          uint32_t tstep_value = st.TSTEP();
569
-          if (tstep_value == 0xFFFFF) SERIAL_ECHOPGM("max");
570
-          else SERIAL_ECHO(tstep_value);
571
-        }
572
-        break;
573
-      case TMC_TPWMTHRS: {
574
-          uint32_t tpwmthrs_val = st.TPWMTHRS();
575
-          SERIAL_ECHO(tpwmthrs_val);
576
-        }
577
-        break;
578
-      case TMC_TPWMTHRS_MMS: {
579
-          uint32_t tpwmthrs_val = st.get_pwm_thrs();
580
-          if (tpwmthrs_val)
581
-            SERIAL_ECHO(tpwmthrs_val);
582
-          else
583
-            SERIAL_CHAR('-');
584
-        }
585
-        break;
568
+        const uint32_t tstep_value = st.TSTEP();
569
+        if (tstep_value != 0xFFFFF) SERIAL_ECHO(tstep_value); else SERIAL_ECHOPGM("max");
570
+      } break;
571
+      #if ENABLED(HYBRID_THRESHOLD)
572
+        case TMC_TPWMTHRS: SERIAL_ECHO(uint32_t(st.TPWMTHRS())); break;
573
+        case TMC_TPWMTHRS_MMS: {
574
+          const uint32_t tpwmthrs_val = st.get_pwm_thrs();
575
+          if (tpwmthrs_val) SERIAL_ECHO(tpwmthrs_val); else SERIAL_CHAR('-');
576
+        } break;
577
+      #endif
586 578
       case TMC_OTPW: serialprint_truefalse(st.otpw()); break;
587 579
       #if ENABLED(MONITOR_DRIVER_STATUS)
588 580
         case TMC_OTPW_TRIGGERED: serialprint_truefalse(st.getOTPW()); break;

+ 19
- 14
Marlin/src/module/stepper_indirection.h Vedi File

@@ -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;

Loading…
Annulla
Salva