Skip to content

Commit f5daefb

Browse files
committed
🏗️ More 9-axis updates
1 parent 1fdad42 commit f5daefb

File tree

8 files changed

+47
-7
lines changed

8 files changed

+47
-7
lines changed

Marlin/Configuration_adv.h

+3
Original file line numberDiff line numberDiff line change
@@ -2865,6 +2865,7 @@
28652865
#define U_RSENSE 0.11
28662866
#define U_CHAIN_POS -1
28672867
//#define U_INTERPOLATE true
2868+
//#define U_HOLD_MULTIPLIER 0.5
28682869
#endif
28692870

28702871
#if AXIS_IS_TMC(V)
@@ -2874,6 +2875,7 @@
28742875
#define V_RSENSE 0.11
28752876
#define V_CHAIN_POS -1
28762877
//#define V_INTERPOLATE true
2878+
//#define V_HOLD_MULTIPLIER 0.5
28772879
#endif
28782880

28792881
#if AXIS_IS_TMC(W)
@@ -2883,6 +2885,7 @@
28832885
#define W_RSENSE 0.11
28842886
#define W_CHAIN_POS -1
28852887
//#define W_INTERPOLATE true
2888+
//#define W_HOLD_MULTIPLIER 0.5
28862889
#endif
28872890

28882891
#if AXIS_IS_TMC(E0)

Marlin/src/gcode/calibrate/M425.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ void GcodeSuite::M425() {
6666
LOOP_NUM_AXES(a) {
6767
if (axis_can_calibrate(a) && parser.seen(AXIS_CHAR(a))) {
6868
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));
7070
noArgs = false;
7171
}
7272
}

Marlin/src/gcode/config/M200-M205.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ void GcodeSuite::M201_report(const bool forReplay/*=true*/) {
144144
SP_K_STR, K_AXIS_UNIT(planner.settings.max_acceleration_mm_per_s2[K_AXIS]),
145145
SP_U_STR, U_AXIS_UNIT(planner.settings.max_acceleration_mm_per_s2[U_AXIS]),
146146
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])
148148
)
149149
#if HAS_EXTRUDERS && DISABLED(DISTINCT_E_FACTORS)
150150
, SP_E_STR, VOLUMETRIC_UNIT(planner.settings.max_acceleration_mm_per_s2[E_AXIS])

Marlin/src/gcode/control/M17_M18_M84.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ void do_enable(const stepper_flags_t to_enable) {
9292

9393
if ((also_enabled &= ~(shall_enable | was_enabled))) {
9494
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), ' ');
9696
#if HAS_EXTRUDERS
9797
#define _EN_ALSO(N) if (TEST(also_enabled, INDEX_OF_AXIS(E_AXIS, N))) SERIAL_CHAR('E', '0' + N, ' ');
9898
REPEAT(EXTRUDERS, _EN_ALSO)

Marlin/src/gcode/feature/L6470/M906.cpp

+37
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,25 @@ void GcodeSuite::M906() {
285285
break;
286286
#endif
287287

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+
288307
#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)
289308
case E_AXIS: {
290309
const int8_t eindex = get_target_e_stepper_from_command(-2);
@@ -346,6 +365,24 @@ void GcodeSuite::M906() {
346365
#if AXIS_IS_L64XX(Z4)
347366
L64XX_REPORT_CURRENT(Z4);
348367
#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
349386
#if AXIS_IS_L64XX(E0)
350387
L64XX_REPORT_CURRENT(E0);
351388
#endif

Marlin/src/gcode/host/M114.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
#include "../../core/debug_out.h"
3535
#endif
3636

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) {
3838
char str[12];
3939
LOOP_L_N(a, n) {
4040
SERIAL_CHAR(' ', axis_codes[a], ':');

Marlin/src/libs/L64XX/L64XX_Marlin.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -415,8 +415,8 @@ uint8_t L64XX_Marlin::get_user_input(uint8_t &driver_count, L64XX_axis_t axis_in
415415
LOOP_LOGICAL_AXES(i) if (uint16_t _displacement = parser.intval(axis_codes[i])) {
416416
found_displacement = true;
417417
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
420420
const bool single_or_e = axis_offset >= 2 || axis_mon[0][0] == 'E',
421421
one_or_more = !single_or_e && axis_offset == 0;
422422
uint8_t driver_count_local = 0; // Can't use "driver_count" directly as a subscript because it's passed by reference

Marlin/src/libs/L64XX/L64XX_Marlin.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
#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))
3737

3838
#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 };
4040
#undef _EN_ITEM
4141

4242
class L64XX_Marlin : public L64XXHelper {

0 commit comments

Comments
 (0)