Skip to content

Commit ed4e22b

Browse files
committed
πŸ§‘β€πŸ’» print_pos => print_xyz
1 parent 929497d commit ed4e22b

File tree

6 files changed

+56
-27
lines changed

6 files changed

+56
-27
lines changed

β€ŽMarlin/src/core/debug_section.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,6 @@ class SectionLog {
4141
SERIAL_ECHO(fpre);
4242
if (the_msg) SERIAL_ECHO(AS_CHAR(' '), the_msg);
4343
SERIAL_CHAR(' ');
44-
print_pos(current_position);
44+
print_xyz(xyz_pos_t(current_position));
4545
}
4646
};

β€ŽMarlin/src/core/serial.cpp

+13-1
Original file line numberDiff line numberDiff line change
@@ -121,12 +121,24 @@ void print_bin(uint16_t val) {
121121
}
122122
}
123123

124-
void print_pos(NUM_AXIS_ARGS_(const_float_t) FSTR_P const prefix/*=nullptr*/, FSTR_P const suffix/*=nullptr*/) {
124+
void _print_xyz(NUM_AXIS_ARGS_(const_float_t) FSTR_P const prefix) {
125125
if (prefix) SERIAL_ECHO(prefix);
126126
#if NUM_AXES
127127
SERIAL_ECHOPGM_P(
128128
LIST_N(DOUBLE(NUM_AXES), SP_X_STR, x, SP_Y_STR, y, SP_Z_STR, z, SP_I_STR, i, SP_J_STR, j, SP_K_STR, k, SP_U_STR, u, SP_V_STR, v, SP_W_STR, w)
129129
);
130130
#endif
131+
}
132+
133+
void print_xyz(NUM_AXIS_ARGS_(const_float_t) FSTR_P const prefix/*=nullptr*/, FSTR_P const suffix/*=nullptr*/) {
134+
_print_xyz(NUM_AXIS_LIST_(x, y, z, i, j, k, u, v, w) prefix);
135+
if (suffix) SERIAL_ECHO(suffix); else SERIAL_EOL();
136+
}
137+
138+
void print_xyze(LOGICAL_AXIS_ARGS_(const_float_t) FSTR_P const prefix/*=nullptr*/, FSTR_P const suffix/*=nullptr*/) {
139+
_print_xyz(NUM_AXIS_LIST_(x, y, z, i, j, k, u, v, w) prefix);
140+
#if HAS_EXTRUDERS
141+
SERIAL_ECHOPGM_P(SP_E_STR, e);
142+
#endif
131143
if (suffix) SERIAL_ECHO(suffix); else SERIAL_EOL();
132144
}

β€ŽMarlin/src/core/serial.h

+12-10
Original file line numberDiff line numberDiff line change
@@ -243,16 +243,18 @@ void serial_offset(const_float_t v, const uint8_t sp=0); // For v==0 draw space
243243

244244
void print_bin(const uint16_t val);
245245

246-
void print_pos(NUM_AXIS_ARGS_(const_float_t) FSTR_P const prefix=nullptr, FSTR_P const suffix=nullptr);
247-
248-
#if LOGICAL_AXES > 1
249-
inline void print_pos(const xyze_pos_t &xyze, FSTR_P const prefix=nullptr, FSTR_P const suffix=nullptr) {
250-
print_pos(NUM_AXIS_ELEM_(xyze) prefix, suffix);
251-
}
252-
#endif
253-
254-
#define SERIAL_POS(SUFFIX,VAR) do { print_pos(VAR, F(" " STRINGIFY(VAR) "="), F(" : " SUFFIX "\n")); }while(0)
255-
#define SERIAL_XYZ(PREFIX,V...) do { print_pos(V, F(PREFIX)); }while(0)
246+
void print_xyz(NUM_AXIS_ARGS_(const_float_t) FSTR_P const prefix=nullptr, FSTR_P const suffix=nullptr);
247+
inline void print_xyz(const xyz_pos_t &xyz, FSTR_P const prefix=nullptr, FSTR_P const suffix=nullptr) {
248+
print_xyz(NUM_AXIS_ELEM_(xyz) prefix, suffix);
249+
}
250+
251+
void print_xyze(LOGICAL_AXIS_ARGS_(const_float_t) FSTR_P const prefix=nullptr, FSTR_P const suffix=nullptr);
252+
inline void print_xyze(const xyze_pos_t &xyze, FSTR_P const prefix=nullptr, FSTR_P const suffix=nullptr) {
253+
print_xyze(LOGICAL_AXIS_ELEM_(xyze) prefix, suffix);
254+
}
255+
256+
#define SERIAL_POS(SUFFIX,VAR) do { print_xyz(VAR, F(" " STRINGIFY(VAR) "="), F(" : " SUFFIX "\n")); }while(0)
257+
#define SERIAL_XYZ(PREFIX,V...) do { print_xyz(V, F(PREFIX)); }while(0)
256258

257259
/**
258260
* Extended string that can echo itself to serial

β€ŽMarlin/src/core/types.h

+25-12
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,19 @@ template <class L, class R> struct IF<true, L, R> { typedef L type; };
4848
#define MAIN_AXIS_NAMES NUM_AXIS_LIST(X, Y, Z, I, J, K, U, V, W)
4949
#define STR_AXES_MAIN NUM_AXIS_GANG("X", "Y", "Z", STR_I, STR_J, STR_K, STR_U, STR_V, STR_W)
5050

51+
#define LOGICAL_AXIS_GANG(E,V...) NUM_AXIS_GANG(V) GANG_ITEM_E(E)
52+
#define LOGICAL_AXIS_CODE(E,V...) NUM_AXIS_CODE(V) CODE_ITEM_E(E)
53+
#define LOGICAL_AXIS_LIST(E,V...) NUM_AXIS_LIST(V) LIST_ITEM_E(E)
54+
#define LOGICAL_AXIS_LIST_1(V) NUM_AXIS_LIST_1(V) LIST_ITEM_E(V)
55+
#define LOGICAL_AXIS_ARRAY(E,V...) { LOGICAL_AXIS_LIST(E,V) }
56+
#define LOGICAL_AXIS_ARRAY_1(V) { LOGICAL_AXIS_LIST_1(V) }
57+
#define LOGICAL_AXIS_ARGS(T) LOGICAL_AXIS_LIST(T e, T x, T y, T z, T i, T j, T k, T u, T v, T w)
58+
#define LOGICAL_AXIS_ELEM(O) LOGICAL_AXIS_LIST(O.e, O.x, O.y, O.z, O.i, O.j, O.k, O.u, O.v, O.w)
59+
#define LOGICAL_AXIS_DECL(T,V) LOGICAL_AXIS_LIST(T e=V, T x=V, T y=V, T z=V, T i=V, T j=V, T k=V, T u=V, T v=V, T w=V)
60+
#define LOGICAL_AXIS_NAMES LOGICAL_AXIS_LIST(E, X, Y, Z, I, J, K, U, V, W)
61+
#define LOGICAL_AXIS_MAP(F) MAP(F, LOGICAL_AXIS_NAMES)
62+
#define STR_AXES_LOGICAL LOGICAL_AXIS_GANG("E", "X", "Y", "Z", STR_I, STR_J, STR_K, STR_U, STR_V, STR_W)
63+
5164
#if NUM_AXES
5265
#define NUM_AXES_SEP ,
5366
#define MAIN_AXIS_MAP(F) MAP(F, MAIN_AXIS_NAMES)
@@ -67,18 +80,18 @@ template <class L, class R> struct IF<true, L, R> { typedef L type; };
6780
#define NUM_AXIS_ELEM_(T) NUM_AXIS_ELEM(T) NUM_AXES_SEP
6881
#define MAIN_AXIS_NAMES_ MAIN_AXIS_NAMES NUM_AXES_SEP
6982

70-
#define LOGICAL_AXIS_GANG(E,V...) NUM_AXIS_GANG(V) GANG_ITEM_E(E)
71-
#define LOGICAL_AXIS_CODE(E,V...) NUM_AXIS_CODE(V) CODE_ITEM_E(E)
72-
#define LOGICAL_AXIS_LIST(E,V...) NUM_AXIS_LIST(V) LIST_ITEM_E(E)
73-
#define LOGICAL_AXIS_LIST_1(V) NUM_AXIS_LIST_1(V) LIST_ITEM_E(V)
74-
#define LOGICAL_AXIS_ARRAY(E,V...) { LOGICAL_AXIS_LIST(E,V) }
75-
#define LOGICAL_AXIS_ARRAY_1(V) { LOGICAL_AXIS_LIST_1(V) }
76-
#define LOGICAL_AXIS_ARGS(T) LOGICAL_AXIS_LIST(T e, T x, T y, T z, T i, T j, T k, T u, T v, T w)
77-
#define LOGICAL_AXIS_ELEM(O) LOGICAL_AXIS_LIST(O.e, O.x, O.y, O.z, O.i, O.j, O.k, O.u, O.v, O.w)
78-
#define LOGICAL_AXIS_DECL(T,V) LOGICAL_AXIS_LIST(T e=V, T x=V, T y=V, T z=V, T i=V, T j=V, T k=V, T u=V, T v=V, T w=V)
79-
#define LOGICAL_AXIS_NAMES LOGICAL_AXIS_LIST(E, X, Y, Z, I, J, K, U, V, W)
80-
#define LOGICAL_AXIS_MAP(F) MAP(F, LOGICAL_AXIS_NAMES)
81-
#define STR_AXES_LOGICAL LOGICAL_AXIS_GANG("E", "X", "Y", "Z", STR_I, STR_J, STR_K, STR_U, STR_V, STR_W)
83+
#if LOGICAL_AXES
84+
#define LOGICAL_AXES_SEP ,
85+
#else
86+
#define LOGICAL_AXES_SEP
87+
#endif
88+
89+
#define LOGICAL_AXIS_GANG_(V...) LOGICAL_AXIS_GANG(V) LOGICAL_AXES_SEP
90+
#define LOGICAL_AXIS_LIST_(V...) LOGICAL_AXIS_LIST(V) LOGICAL_AXES_SEP
91+
#define LOGICAL_AXIS_LIST_1_(V...) LOGICAL_AXIS_LIST_1(V) LOGICAL_AXES_SEP
92+
#define LOGICAL_AXIS_ARGS_(T) LOGICAL_AXIS_ARGS(T) LOGICAL_AXES_SEP
93+
#define LOGICAL_AXIS_ELEM_(T) LOGICAL_AXIS_ELEM(T) LOGICAL_AXES_SEP
94+
#define LOGICAL_AXIS_NAMES_ LOGICAL_AXIS_NAMES LOGICAL_AXES_SEP
8295

8396
#define SECONDARY_AXIS_GANG(V...) GANG_N(SECONDARY_AXES, V)
8497
#define SECONDARY_AXIS_CODE(V...) CODE_N(SECONDARY_AXES, V)

β€ŽMarlin/src/gcode/control/M211.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ void GcodeSuite::M211_report(const bool forReplay/*=true*/) {
4747
report_echo_start(forReplay);
4848
const xyz_pos_t l_soft_min = soft_endstop.min.asLogical(),
4949
l_soft_max = soft_endstop.max.asLogical();
50-
print_pos(l_soft_min, F(STR_SOFT_MIN), F(" "));
51-
print_pos(l_soft_max, F(STR_SOFT_MAX));
50+
print_xyz(l_soft_min, F(STR_SOFT_MIN), F(" "));
51+
print_xyz(l_soft_max, F(STR_SOFT_MAX));
5252
}
5353

5454
#endif // HAS_SOFTWARE_ENDSTOPS

β€ŽMarlin/src/module/motion.cpp

+3-1
Original file line numberDiff line numberDiff line change
@@ -577,7 +577,9 @@ void _internal_move_to_destination(const_feedRate_t fr_mm_s/*=0.0f*/
577577
*/
578578
void do_blocking_move_to(NUM_AXIS_ARGS_(const_float_t) const_feedRate_t fr_mm_s/*=0.0f*/) {
579579
DEBUG_SECTION(log_move, "do_blocking_move_to", DEBUGGING(LEVELING));
580-
if (DEBUGGING(LEVELING)) DEBUG_XYZ("> ", NUM_AXIS_ARGS());
580+
#if NUM_AXES
581+
if (DEBUGGING(LEVELING)) DEBUG_XYZ("> ", NUM_AXIS_ARGS());
582+
#endif
581583

582584
const feedRate_t xy_feedrate = fr_mm_s ?: feedRate_t(XY_PROBE_FEEDRATE_MM_S);
583585

0 commit comments

Comments
Β (0)