Преглед на файлове

🏗️ More 9-axis updates

Scott Lahteine преди 2 години
родител
ревизия
f5daefb09d

+ 3
- 0
Marlin/Configuration_adv.h Целия файл

2865
     #define U_RSENSE         0.11
2865
     #define U_RSENSE         0.11
2866
     #define U_CHAIN_POS     -1
2866
     #define U_CHAIN_POS     -1
2867
     //#define U_INTERPOLATE  true
2867
     //#define U_INTERPOLATE  true
2868
+    //#define U_HOLD_MULTIPLIER 0.5
2868
   #endif
2869
   #endif
2869
 
2870
 
2870
   #if AXIS_IS_TMC(V)
2871
   #if AXIS_IS_TMC(V)
2874
     #define V_RSENSE         0.11
2875
     #define V_RSENSE         0.11
2875
     #define V_CHAIN_POS     -1
2876
     #define V_CHAIN_POS     -1
2876
     //#define V_INTERPOLATE  true
2877
     //#define V_INTERPOLATE  true
2878
+    //#define V_HOLD_MULTIPLIER 0.5
2877
   #endif
2879
   #endif
2878
 
2880
 
2879
   #if AXIS_IS_TMC(W)
2881
   #if AXIS_IS_TMC(W)
2883
     #define W_RSENSE         0.11
2885
     #define W_RSENSE         0.11
2884
     #define W_CHAIN_POS     -1
2886
     #define W_CHAIN_POS     -1
2885
     //#define W_INTERPOLATE  true
2887
     //#define W_INTERPOLATE  true
2888
+    //#define W_HOLD_MULTIPLIER 0.5
2886
   #endif
2889
   #endif
2887
 
2890
 
2888
   #if AXIS_IS_TMC(E0)
2891
   #if AXIS_IS_TMC(E0)

+ 1
- 1
Marlin/src/gcode/calibrate/M425.cpp Целия файл

66
   LOOP_NUM_AXES(a) {
66
   LOOP_NUM_AXES(a) {
67
     if (axis_can_calibrate(a) && parser.seen(AXIS_CHAR(a))) {
67
     if (axis_can_calibrate(a) && parser.seen(AXIS_CHAR(a))) {
68
       planner.synchronize();
68
       planner.synchronize();
69
-      backlash.set_distance_mm(AxisEnum(a), parser.has_value() ? parser.value_axis_units(AxisEnum(a)) : backlash.get_measurement(AxisEnum(a)));
69
+      backlash.set_distance_mm((AxisEnum)a, parser.has_value() ? parser.value_axis_units((AxisEnum)a) : backlash.get_measurement((AxisEnum)a));
70
       noArgs = false;
70
       noArgs = false;
71
     }
71
     }
72
   }
72
   }

+ 1
- 1
Marlin/src/gcode/config/M200-M205.cpp Целия файл

144
       SP_K_STR, K_AXIS_UNIT(planner.settings.max_acceleration_mm_per_s2[K_AXIS]),
144
       SP_K_STR, K_AXIS_UNIT(planner.settings.max_acceleration_mm_per_s2[K_AXIS]),
145
       SP_U_STR, U_AXIS_UNIT(planner.settings.max_acceleration_mm_per_s2[U_AXIS]),
145
       SP_U_STR, U_AXIS_UNIT(planner.settings.max_acceleration_mm_per_s2[U_AXIS]),
146
       SP_V_STR, V_AXIS_UNIT(planner.settings.max_acceleration_mm_per_s2[V_AXIS]),
146
       SP_V_STR, V_AXIS_UNIT(planner.settings.max_acceleration_mm_per_s2[V_AXIS]),
147
-      SP_W_STR, W_AXIS_UNIT(planner.settings.max_acceleration_mm_per_s2[W_AXIS]),
147
+      SP_W_STR, W_AXIS_UNIT(planner.settings.max_acceleration_mm_per_s2[W_AXIS])
148
     )
148
     )
149
     #if HAS_EXTRUDERS && DISABLED(DISTINCT_E_FACTORS)
149
     #if HAS_EXTRUDERS && DISABLED(DISTINCT_E_FACTORS)
150
       , SP_E_STR, VOLUMETRIC_UNIT(planner.settings.max_acceleration_mm_per_s2[E_AXIS])
150
       , SP_E_STR, VOLUMETRIC_UNIT(planner.settings.max_acceleration_mm_per_s2[E_AXIS])

+ 1
- 1
Marlin/src/gcode/control/M17_M18_M84.cpp Целия файл

92
 
92
 
93
   if ((also_enabled &= ~(shall_enable | was_enabled))) {
93
   if ((also_enabled &= ~(shall_enable | was_enabled))) {
94
     SERIAL_CHAR('(');
94
     SERIAL_CHAR('(');
95
-    LOOP_NUM_AXES(a) if (TEST(also_enabled, a)) SERIAL_CHAR(axis_codes[a], ' ');
95
+    LOOP_NUM_AXES(a) if (TEST(also_enabled, a)) SERIAL_CHAR(AXIS_CHAR(a), ' ');
96
     #if HAS_EXTRUDERS
96
     #if HAS_EXTRUDERS
97
       #define _EN_ALSO(N) if (TEST(also_enabled, INDEX_OF_AXIS(E_AXIS, N))) SERIAL_CHAR('E', '0' + N, ' ');
97
       #define _EN_ALSO(N) if (TEST(also_enabled, INDEX_OF_AXIS(E_AXIS, N))) SERIAL_CHAR('E', '0' + N, ' ');
98
       REPEAT(EXTRUDERS, _EN_ALSO)
98
       REPEAT(EXTRUDERS, _EN_ALSO)

+ 37
- 0
Marlin/src/gcode/feature/L6470/M906.cpp Целия файл

285
           break;
285
           break;
286
       #endif
286
       #endif
287
 
287
 
288
+      #if AXIS_IS_L64XX(I)
289
+        case I_AXIS: L6470_SET_KVAL_HOLD(I); break;
290
+      #endif
291
+      #if AXIS_IS_L64XX(J)
292
+        case J_AXIS: L6470_SET_KVAL_HOLD(J); break;
293
+      #endif
294
+      #if AXIS_IS_L64XX(K)
295
+        case K_AXIS: L6470_SET_KVAL_HOLD(K); break;
296
+      #endif
297
+      #if AXIS_IS_L64XX(U)
298
+        case U_AXIS: L6470_SET_KVAL_HOLD(U); break;
299
+      #endif
300
+      #if AXIS_IS_L64XX(V)
301
+        case V_AXIS: L6470_SET_KVAL_HOLD(V); break;
302
+      #endif
303
+      #if AXIS_IS_L64XX(W)
304
+        case W_AXIS: L6470_SET_KVAL_HOLD(W); break;
305
+      #endif
306
+
288
       #if AXIS_IS_L64XX(E0) || AXIS_IS_L64XX(E1) || AXIS_IS_L64XX(E2) || AXIS_IS_L64XX(E3) || AXIS_IS_L64XX(E4) || AXIS_IS_L64XX(E5) || AXIS_IS_L64XX(E6) || AXIS_IS_L64XX(E7)
307
       #if AXIS_IS_L64XX(E0) || AXIS_IS_L64XX(E1) || AXIS_IS_L64XX(E2) || AXIS_IS_L64XX(E3) || AXIS_IS_L64XX(E4) || AXIS_IS_L64XX(E5) || AXIS_IS_L64XX(E6) || AXIS_IS_L64XX(E7)
289
         case E_AXIS: {
308
         case E_AXIS: {
290
           const int8_t eindex = get_target_e_stepper_from_command(-2);
309
           const int8_t eindex = get_target_e_stepper_from_command(-2);
346
     #if AXIS_IS_L64XX(Z4)
365
     #if AXIS_IS_L64XX(Z4)
347
       L64XX_REPORT_CURRENT(Z4);
366
       L64XX_REPORT_CURRENT(Z4);
348
     #endif
367
     #endif
368
+    #if AXIS_IS_L64XX(I)
369
+      L64XX_REPORT_CURRENT(I);
370
+    #endif
371
+    #if AXIS_IS_L64XX(J)
372
+      L64XX_REPORT_CURRENT(J);
373
+    #endif
374
+    #if AXIS_IS_L64XX(K)
375
+      L64XX_REPORT_CURRENT(K);
376
+    #endif
377
+    #if AXIS_IS_L64XX(U)
378
+      L64XX_REPORT_CURRENT(U);
379
+    #endif
380
+    #if AXIS_IS_L64XX(V)
381
+      L64XX_REPORT_CURRENT(V);
382
+    #endif
383
+    #if AXIS_IS_L64XX(W)
384
+      L64XX_REPORT_CURRENT(W);
385
+    #endif
349
     #if AXIS_IS_L64XX(E0)
386
     #if AXIS_IS_L64XX(E0)
350
       L64XX_REPORT_CURRENT(E0);
387
       L64XX_REPORT_CURRENT(E0);
351
     #endif
388
     #endif

+ 1
- 1
Marlin/src/gcode/host/M114.cpp Целия файл

34
     #include "../../core/debug_out.h"
34
     #include "../../core/debug_out.h"
35
   #endif
35
   #endif
36
 
36
 
37
-  void report_all_axis_pos(const xyze_pos_t &pos, const uint8_t n=XYZE, const uint8_t precision=3) {
37
+  void report_all_axis_pos(const xyze_pos_t &pos, const uint8_t n=LOGICAL_AXES, const uint8_t precision=3) {
38
     char str[12];
38
     char str[12];
39
     LOOP_L_N(a, n) {
39
     LOOP_L_N(a, n) {
40
       SERIAL_CHAR(' ', axis_codes[a], ':');
40
       SERIAL_CHAR(' ', axis_codes[a], ':');

+ 2
- 2
Marlin/src/libs/L64XX/L64XX_Marlin.cpp Целия файл

415
   LOOP_LOGICAL_AXES(i) if (uint16_t _displacement = parser.intval(axis_codes[i])) {
415
   LOOP_LOGICAL_AXES(i) if (uint16_t _displacement = parser.intval(axis_codes[i])) {
416
     found_displacement = true;
416
     found_displacement = true;
417
     displacement = _displacement;
417
     displacement = _displacement;
418
-    uint8_t axis_offset = parser.byteval('J');
419
-    axis_mon[0][0] = axis_codes[i];         // Axis first character, one of XYZE
418
+    const uint8_t axis_offset = parser.byteval('J');
419
+    axis_mon[0][0] = axis_codes[i];         // Axis first character, one of XYZ...E
420
     const bool single_or_e = axis_offset >= 2 || axis_mon[0][0] == 'E',
420
     const bool single_or_e = axis_offset >= 2 || axis_mon[0][0] == 'E',
421
                one_or_more = !single_or_e && axis_offset == 0;
421
                one_or_more = !single_or_e && axis_offset == 0;
422
     uint8_t driver_count_local = 0;         // Can't use "driver_count" directly as a subscript because it's passed by reference
422
     uint8_t driver_count_local = 0;         // Can't use "driver_count" directly as a subscript because it's passed by reference

+ 1
- 1
Marlin/src/libs/L64XX/L64XX_Marlin.h Целия файл

36
 #define HAS_L64XX_EXTRUDER (AXIS_IS_L64XX(E0) || AXIS_IS_L64XX(E1) || AXIS_IS_L64XX(E2) || AXIS_IS_L64XX(E3) || AXIS_IS_L64XX(E4) || AXIS_IS_L64XX(E5) || AXIS_IS_L64XX(E6) || AXIS_IS_L64XX(E7))
36
 #define HAS_L64XX_EXTRUDER (AXIS_IS_L64XX(E0) || AXIS_IS_L64XX(E1) || AXIS_IS_L64XX(E2) || AXIS_IS_L64XX(E3) || AXIS_IS_L64XX(E4) || AXIS_IS_L64XX(E5) || AXIS_IS_L64XX(E6) || AXIS_IS_L64XX(E7))
37
 
37
 
38
 #define _EN_ITEM(N) , E##N
38
 #define _EN_ITEM(N) , E##N
39
-enum L64XX_axis_t : uint8_t { NUM_AXIS_LIST(X, Y, Z, I, J, K), X2, Y2, Z2, Z3, Z4 REPEAT(E_STEPPERS, _EN_ITEM), MAX_L64XX };
39
+enum L64XX_axis_t : uint8_t { NUM_AXIS_LIST(X, Y, Z, I, J, K, U, V, W), X2, Y2, Z2, Z3, Z4 REPEAT(E_STEPPERS, _EN_ITEM), MAX_L64XX };
40
 #undef _EN_ITEM
40
 #undef _EN_ITEM
41
 
41
 
42
 class L64XX_Marlin : public L64XXHelper {
42
 class L64XX_Marlin : public L64XXHelper {

Loading…
Отказ
Запис