diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index 1cd0555cdb..ec8be17091 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -12370,6 +12370,7 @@ void set_current_from_steppers_for_axis(const AxisEnum axis) { // The approximate length of each segment const float inv_segments = 1.0 / float(segments), + cartesian_segment_mm = cartesian_mm * inv_segments, segment_distance[XYZE] = { xdiff * inv_segments, ydiff * inv_segments, @@ -12379,6 +12380,7 @@ void set_current_from_steppers_for_axis(const AxisEnum axis) { // SERIAL_ECHOPAIR("mm=", cartesian_mm); // SERIAL_ECHOLNPAIR(" segments=", segments); + // SERIAL_ECHOLNPAIR(" segment_mm=", cartesian_segment_mm); // Get the raw current position as starting point float raw[XYZE]; @@ -12393,12 +12395,12 @@ void set_current_from_steppers_for_axis(const AxisEnum axis) { idle(); } LOOP_XYZE(i) raw[i] += segment_distance[i]; - planner.buffer_line_kinematic(raw, fr_mm_s, active_extruder); + planner.buffer_line_kinematic(raw, fr_mm_s, active_extruder, cartesian_segment_mm); } // Since segment_distance is only approximate, // the final move must be to the exact destination. - planner.buffer_line_kinematic(destination, fr_mm_s, active_extruder); + planner.buffer_line_kinematic(destination, fr_mm_s, active_extruder, cartesian_segment_mm); } #elif ENABLED(MESH_BED_LEVELING) @@ -12595,6 +12597,7 @@ void set_current_from_steppers_for_axis(const AxisEnum axis) { // The approximate length of each segment const float inv_segments = 1.0 / float(segments), + cartesian_segment_mm = cartesian_mm * inv_segments, segment_distance[XYZE] = { xdiff * inv_segments, ydiff * inv_segments, @@ -12605,6 +12608,7 @@ void set_current_from_steppers_for_axis(const AxisEnum axis) { // SERIAL_ECHOPAIR("mm=", cartesian_mm); // SERIAL_ECHOPAIR(" seconds=", seconds); // SERIAL_ECHOLNPAIR(" segments=", segments); + // SERIAL_ECHOLNPAIR(" segment_mm=", cartesian_segment_mm); #if ENABLED(SCARA_FEEDRATE_SCALING) // SCARA needs to scale the feed rate from mm/s to degrees/s @@ -12642,10 +12646,10 @@ void set_current_from_steppers_for_axis(const AxisEnum axis) { #if ENABLED(SCARA_FEEDRATE_SCALING) // For SCARA scale the feed rate from mm/s to degrees/s // i.e., Complete the angular vector in the given time. - planner.buffer_segment(delta[A_AXIS], delta[B_AXIS], raw[Z_AXIS], raw[E_AXIS], HYPOT(delta[A_AXIS] - oldA, delta[B_AXIS] - oldB) * inverse_secs, active_extruder); + planner.buffer_segment(delta[A_AXIS], delta[B_AXIS], raw[Z_AXIS], raw[E_AXIS], HYPOT(delta[A_AXIS] - oldA, delta[B_AXIS] - oldB) * inverse_secs, active_extruder, cartesian_segment_mm); oldA = delta[A_AXIS]; oldB = delta[B_AXIS]; #else - planner.buffer_line(delta[A_AXIS], delta[B_AXIS], delta[C_AXIS], raw[E_AXIS], _feedrate_mm_s, active_extruder); + planner.buffer_line(delta[A_AXIS], delta[B_AXIS], delta[C_AXIS], raw[E_AXIS], _feedrate_mm_s, active_extruder, cartesian_segment_mm); #endif } @@ -12653,9 +12657,9 @@ void set_current_from_steppers_for_axis(const AxisEnum axis) { #if ENABLED(SCARA_FEEDRATE_SCALING) inverse_kinematics(rtarget); ADJUST_DELTA(rtarget); - planner.buffer_segment(delta[A_AXIS], delta[B_AXIS], rtarget[Z_AXIS], rtarget[E_AXIS], HYPOT(delta[A_AXIS] - oldA, delta[B_AXIS] - oldB) * inverse_secs, active_extruder); + planner.buffer_segment(delta[A_AXIS], delta[B_AXIS], rtarget[Z_AXIS], rtarget[E_AXIS], HYPOT(delta[A_AXIS] - oldA, delta[B_AXIS] - oldB) * inverse_secs, active_extruder, cartesian_segment_mm); #else - planner.buffer_line_kinematic(rtarget, _feedrate_mm_s, active_extruder); + planner.buffer_line_kinematic(rtarget, _feedrate_mm_s, active_extruder, cartesian_segment_mm); #endif return false; // caller will update current_position diff --git a/Marlin/enum.h b/Marlin/enum.h index 0aa92c276a..13858971e2 100644 --- a/Marlin/enum.h +++ b/Marlin/enum.h @@ -57,6 +57,9 @@ enum AxisEnum { #define LOOP_XYZ(VAR) LOOP_S_LE_N(VAR, X_AXIS, Z_AXIS) #define LOOP_XYZE(VAR) LOOP_S_LE_N(VAR, X_AXIS, E_AXIS) #define LOOP_XYZE_N(VAR) LOOP_S_L_N(VAR, X_AXIS, XYZE_N) +#define LOOP_ABC(VAR) LOOP_S_LE_N(VAR, A_AXIS, C_AXIS) +#define LOOP_ABCE(VAR) LOOP_S_LE_N(VAR, A_AXIS, E_AXIS) +#define LOOP_ABCE_N(VAR) LOOP_S_L_N(VAR, A_AXIS, XYZE_N) typedef enum { LINEARUNIT_MM, diff --git a/Marlin/language.h b/Marlin/language.h index 8f9aaff70f..f6da46f3b2 100644 --- a/Marlin/language.h +++ b/Marlin/language.h @@ -240,8 +240,6 @@ #define MSG_KP " Kp: " #define MSG_KI " Ki: " #define MSG_KD " Kd: " -#define MSG_B "B:" -#define MSG_T "T:" #define MSG_AT " @:" #define MSG_PID_AUTOTUNE_FINISHED MSG_PID_AUTOTUNE " finished! Put the last Kp, Ki and Kd constants from below into Configuration.h" #define MSG_PID_DEBUG " PID_DEBUG " @@ -282,6 +280,15 @@ #define MSG_Y "Y" #define MSG_Z "Z" #define MSG_E "E" +#if IS_KINEMATIC + #define MSG_A "A" + #define MSG_B "B" + #define MSG_C "C" +#else + #define MSG_A "X" + #define MSG_B "Y" + #define MSG_C "Z" +#endif #define MSG_H1 "1" #define MSG_H2 "2" #define MSG_H3 "3" diff --git a/Marlin/language_an.h b/Marlin/language_an.h index f5245d314c..121efdfc49 100644 --- a/Marlin/language_an.h +++ b/Marlin/language_an.h @@ -96,9 +96,15 @@ #define MSG_SELECT _UxGT("Trigar") #define MSG_ACC _UxGT("Aceleracion") #define MSG_JERK _UxGT("Jerk") -#define MSG_VX_JERK _UxGT("Vx-jerk") -#define MSG_VY_JERK _UxGT("Vy-jerk") -#define MSG_VZ_JERK _UxGT("Vz-jerk") +#if IS_KINEMATIC + #define MSG_VA_JERK _UxGT("Va-jerk") + #define MSG_VB_JERK _UxGT("Vb-jerk") + #define MSG_VC_JERK _UxGT("Vc-jerk") +#else + #define MSG_VA_JERK _UxGT("Vx-jerk") + #define MSG_VB_JERK _UxGT("Vy-jerk") + #define MSG_VC_JERK _UxGT("Vz-jerk") +#endif #define MSG_VE_JERK _UxGT("Ve-jerk") #define MSG_VMAX _UxGT("Vmax") #define MSG_VMIN _UxGT("Vmin") @@ -108,9 +114,15 @@ #define MSG_A_RETRACT _UxGT("Acel. retrac.") #define MSG_A_TRAVEL _UxGT("Acel. Viaje") #define MSG_STEPS_PER_MM _UxGT("Trangos/mm") -#define MSG_XSTEPS _UxGT("X trangos/mm") -#define MSG_YSTEPS _UxGT("Y trangos/mm") -#define MSG_ZSTEPS _UxGT("Z trangos/mm") +#if IS_KINEMATIC + #define MSG_ASTEPS _UxGT("A trangos/mm") + #define MSG_BSTEPS _UxGT("B trangos/mm") + #define MSG_CSTEPS _UxGT("C trangos/mm") +#else + #define MSG_ASTEPS _UxGT("X trangos/mm") + #define MSG_BSTEPS _UxGT("Y trangos/mm") + #define MSG_CSTEPS _UxGT("Z trangos/mm") +#endif #define MSG_ESTEPS _UxGT("E trangos/mm") #define MSG_E1STEPS _UxGT("E1 trangos/mm") #define MSG_E2STEPS _UxGT("E2 trangos/mm") diff --git a/Marlin/language_bg.h b/Marlin/language_bg.h index d256af8f48..bf80f49ef8 100644 --- a/Marlin/language_bg.h +++ b/Marlin/language_bg.h @@ -83,9 +83,15 @@ #define MSG_A_RETRACT _UxGT("A-откат") #define MSG_A_TRAVEL _UxGT("A-travel") #define MSG_STEPS_PER_MM _UxGT("Стъпки/mm") -#define MSG_XSTEPS _UxGT("X стъпки/mm") -#define MSG_YSTEPS _UxGT("Y стъпки/mm") -#define MSG_ZSTEPS _UxGT("Z стъпки/mm") +#if IS_KINEMATIC + #define MSG_ASTEPS _UxGT("Aстъпки/mm") + #define MSG_BSTEPS _UxGT("Bстъпки/mm") + #define MSG_CSTEPS _UxGT("Cстъпки/mm") +#else + #define MSG_ASTEPS _UxGT("Xстъпки/mm") + #define MSG_BSTEPS _UxGT("Yстъпки/mm") + #define MSG_CSTEPS _UxGT("Zстъпки/mm") +#endif #define MSG_ESTEPS _UxGT("E стъпки/mm") #define MSG_E1STEPS _UxGT("E1 стъпки/mm") #define MSG_E2STEPS _UxGT("E2 стъпки/mm") diff --git a/Marlin/language_ca.h b/Marlin/language_ca.h index 9af28baf2a..3103b7cd3a 100644 --- a/Marlin/language_ca.h +++ b/Marlin/language_ca.h @@ -100,9 +100,15 @@ #define MSG_SELECT _UxGT("Select") #define MSG_ACC _UxGT("Accel") #define MSG_JERK _UxGT("Jerk") -#define MSG_VX_JERK _UxGT("Vx-jerk") -#define MSG_VY_JERK _UxGT("Vy-jerk") -#define MSG_VZ_JERK _UxGT("Vz-jerk") +#if IS_KINEMATIC + #define MSG_VA_JERK _UxGT("Va-jerk") + #define MSG_VB_JERK _UxGT("Vb-jerk") + #define MSG_VC_JERK _UxGT("Vc-jerk") +#else + #define MSG_VA_JERK _UxGT("Vx-jerk") + #define MSG_VB_JERK _UxGT("Vy-jerk") + #define MSG_VC_JERK _UxGT("Vz-jerk") +#endif #define MSG_VE_JERK _UxGT("Ve-jerk") #define MSG_VMAX _UxGT("Vmax ") #define MSG_VMIN _UxGT("Vmin") @@ -111,9 +117,15 @@ #define MSG_A_RETRACT _UxGT("Accel. retracc") #define MSG_A_TRAVEL _UxGT("Accel. Viatge") #define MSG_STEPS_PER_MM _UxGT("Passos/mm") -#define MSG_XSTEPS _UxGT("Xpassos/mm") -#define MSG_YSTEPS _UxGT("Ypassos/mm") -#define MSG_ZSTEPS _UxGT("Zpassos/mm") +#if IS_KINEMATIC + #define MSG_ASTEPS _UxGT("Apassos/mm") + #define MSG_BSTEPS _UxGT("Bpassos/mm") + #define MSG_CSTEPS _UxGT("Cpassos/mm") +#else + #define MSG_ASTEPS _UxGT("Xpassos/mm") + #define MSG_BSTEPS _UxGT("Ypassos/mm") + #define MSG_CSTEPS _UxGT("Zpassos/mm") +#endif #define MSG_ESTEPS _UxGT("Epassos/mm") #define MSG_E1STEPS _UxGT("E1passos/mm") #define MSG_E2STEPS _UxGT("E2passos/mm") diff --git a/Marlin/language_cn.h b/Marlin/language_cn.h index f6230a0139..584dcc4d04 100644 --- a/Marlin/language_cn.h +++ b/Marlin/language_cn.h @@ -88,9 +88,15 @@ #define MSG_PID_C "PID-C" #define MSG_ACC "Accel" #define MSG_JERK "Jerk" -#define MSG_VX_JERK "Vx-jerk" -#define MSG_VY_JERK "Vy-jerk" -#define MSG_VZ_JERK "Vz-jerk" +#if IS_KINEMATIC + #define MSG_VA_JERK "Va-jerk" + #define MSG_VB_JERK "Vb-jerk" + #define MSG_VC_JERK "Vc-jerk" +#else + #define MSG_VA_JERK "Vx-jerk" + #define MSG_VB_JERK "Vy-jerk" + #define MSG_VC_JERK "Vz-jerk" +#endif #define MSG_VE_JERK "Ve-jerk" #define MSG_VMAX "Vmax " #define MSG_VMIN "Vmin" @@ -99,9 +105,6 @@ #define MSG_A_RETRACT "A-retract" #define MSG_A_TRAVEL "A-travel" #define MSG_STEPS_PER_MM "Steps/mm" -#define MSG_XSTEPS "Xsteps/mm" -#define MSG_YSTEPS "Ysteps/mm" -#define MSG_ZSTEPS "Zsteps/mm" #define MSG_ESTEPS "Esteps/mm" #define MSG_E1STEPS "E1steps/mm" #define MSG_E2STEPS "E2steps/mm" diff --git a/Marlin/language_cz.h b/Marlin/language_cz.h index ddeae5abe1..9d1123e4f8 100644 --- a/Marlin/language_cz.h +++ b/Marlin/language_cz.h @@ -196,9 +196,15 @@ #define MSG_SELECT _UxGT("Vybrat") #define MSG_ACC _UxGT("Zrychl") #define MSG_JERK _UxGT("Jerk") -#define MSG_VX_JERK _UxGT("Vx-jerk") -#define MSG_VY_JERK _UxGT("Vy-jerk") -#define MSG_VZ_JERK _UxGT("Vz-jerk") +#if IS_KINEMATIC + #define MSG_VA_JERK _UxGT("Va-jerk") + #define MSG_VB_JERK _UxGT("Vb-jerk") + #define MSG_VC_JERK _UxGT("Vc-jerk") +#else + #define MSG_VA_JERK _UxGT("Vx-jerk") + #define MSG_VB_JERK _UxGT("Vy-jerk") + #define MSG_VC_JERK _UxGT("Vz-jerk") +#endif #define MSG_VE_JERK _UxGT("Ve-jerk") #define MSG_VELOCITY _UxGT("Rychlost") #define MSG_VMAX _UxGT("Vmax ") @@ -209,9 +215,15 @@ #define MSG_A_RETRACT _UxGT("A-retrakt") #define MSG_A_TRAVEL _UxGT("A-prejezd") #define MSG_STEPS_PER_MM _UxGT("Kroku/mm") -#define MSG_XSTEPS _UxGT("Xkroku/mm") -#define MSG_YSTEPS _UxGT("Ykroku/mm") -#define MSG_ZSTEPS _UxGT("Zkroku/mm") +#if IS_KINEMATIC + #define MSG_ASTEPS _UxGT("Akroku/mm") + #define MSG_BSTEPS _UxGT("Bkroku/mm") + #define MSG_CSTEPS _UxGT("Ckroku/mm") +#else + #define MSG_ASTEPS _UxGT("Xkroku/mm") + #define MSG_BSTEPS _UxGT("Ykroku/mm") + #define MSG_CSTEPS _UxGT("Zkroku/mm") +#endif #define MSG_ESTEPS _UxGT("Ekroku/mm") #define MSG_E1STEPS _UxGT("E1kroku/mm") #define MSG_E2STEPS _UxGT("E2kroku/mm") diff --git a/Marlin/language_cz_utf8.h b/Marlin/language_cz_utf8.h index 5a6936ae75..73901c425b 100644 --- a/Marlin/language_cz_utf8.h +++ b/Marlin/language_cz_utf8.h @@ -198,9 +198,15 @@ #define MSG_SELECT _UxGT("Vybrat") #define MSG_ACC _UxGT("Zrychl") #define MSG_JERK _UxGT("Jerk") -#define MSG_VX_JERK _UxGT("Vx-jerk") -#define MSG_VY_JERK _UxGT("Vy-jerk") -#define MSG_VZ_JERK _UxGT("Vz-jerk") +#if IS_KINEMATIC + #define MSG_VA_JERK _UxGT("Va-jerk") + #define MSG_VB_JERK _UxGT("Vb-jerk") + #define MSG_VC_JERK _UxGT("Vc-jerk") +#else + #define MSG_VA_JERK _UxGT("Vx-jerk") + #define MSG_VB_JERK _UxGT("Vy-jerk") + #define MSG_VC_JERK _UxGT("Vz-jerk") +#endif #define MSG_VE_JERK _UxGT("Ve-jerk") #define MSG_VELOCITY _UxGT("Rychlost") #define MSG_VMAX _UxGT("Vmax ") @@ -211,9 +217,15 @@ #define MSG_A_RETRACT _UxGT("A-retrakt") #define MSG_A_TRAVEL _UxGT("A-přejezd") #define MSG_STEPS_PER_MM _UxGT("Kroků/mm") -#define MSG_XSTEPS _UxGT("Xkroků/mm") -#define MSG_YSTEPS _UxGT("Ykroků/mm") -#define MSG_ZSTEPS _UxGT("Zkroků/mm") +#if IS_KINEMATIC + #define MSG_ASTEPS _UxGT("Akroků/mm") + #define MSG_BSTEPS _UxGT("Bkroků/mm") + #define MSG_CSTEPS _UxGT("Ckroků/mm") +#else + #define MSG_ASTEPS _UxGT("Xkroků/mm") + #define MSG_BSTEPS _UxGT("Ykroků/mm") + #define MSG_CSTEPS _UxGT("Zkroků/mm") +#endif #define MSG_ESTEPS _UxGT("Ekroků/mm") #define MSG_E1STEPS _UxGT("E1kroků/mm") #define MSG_E2STEPS _UxGT("E2kroků/mm") diff --git a/Marlin/language_da.h b/Marlin/language_da.h index 9755c66aed..390726f75a 100644 --- a/Marlin/language_da.h +++ b/Marlin/language_da.h @@ -97,9 +97,15 @@ #define MSG_SELECT _UxGT("Vælg") #define MSG_ACC _UxGT("Accel") #define MSG_JERK _UxGT("Jerk") -#define MSG_VX_JERK _UxGT("Vx-jerk") -#define MSG_VY_JERK _UxGT("Vy-jerk") -#define MSG_VZ_JERK _UxGT("Vz-jerk") +#if IS_KINEMATIC + #define MSG_VA_JERK _UxGT("Va-jerk") + #define MSG_VB_JERK _UxGT("Vb-jerk") + #define MSG_VC_JERK _UxGT("Vc-jerk") +#else + #define MSG_VA_JERK _UxGT("Vx-jerk") + #define MSG_VB_JERK _UxGT("Vy-jerk") + #define MSG_VC_JERK _UxGT("Vz-jerk") +#endif #define MSG_VE_JERK _UxGT("Ve-jerk") #define MSG_VMAX _UxGT("Vmax ") #define MSG_VMIN _UxGT("Vmin") @@ -108,9 +114,15 @@ #define MSG_A_RETRACT _UxGT("A-retract") #define MSG_A_TRAVEL _UxGT("A-rejse") #define MSG_STEPS_PER_MM _UxGT("Steps/mm") -#define MSG_XSTEPS _UxGT("Xsteps/mm") -#define MSG_YSTEPS _UxGT("Ysteps/mm") -#define MSG_ZSTEPS _UxGT("Zsteps/mm") +#if IS_KINEMATIC + #define MSG_ASTEPS _UxGT("Asteps/mm") + #define MSG_BSTEPS _UxGT("Bsteps/mm") + #define MSG_CSTEPS _UxGT("Csteps/mm") +#else + #define MSG_ASTEPS _UxGT("Xsteps/mm") + #define MSG_BSTEPS _UxGT("Ysteps/mm") + #define MSG_CSTEPS _UxGT("Zsteps/mm") +#endif #define MSG_ESTEPS _UxGT("Esteps/mm") #define MSG_E1STEPS _UxGT("E1steps/mm") #define MSG_E2STEPS _UxGT("E2steps/mm") diff --git a/Marlin/language_de.h b/Marlin/language_de.h index da6c04c928..6584484354 100644 --- a/Marlin/language_de.h +++ b/Marlin/language_de.h @@ -110,9 +110,15 @@ #define MSG_SELECT _UxGT("Auswählen") #define MSG_ACC _UxGT("A") #define MSG_JERK _UxGT("Jerk") -#define MSG_VX_JERK _UxGT("V X Jerk") -#define MSG_VY_JERK _UxGT("V Y Jerk") -#define MSG_VZ_JERK _UxGT("V Z Jerk") +#if IS_KINEMATIC + #define MSG_VA_JERK _UxGT("V A Jerk") + #define MSG_VB_JERK _UxGT("V B Jerk") + #define MSG_VC_JERK _UxGT("V C Jerk") +#else + #define MSG_VA_JERK _UxGT("V X Jerk") + #define MSG_VB_JERK _UxGT("V Y Jerk") + #define MSG_VC_JERK _UxGT("V Z Jerk") +#endif #define MSG_VE_JERK _UxGT("V E Jerk") #define MSG_VELOCITY _UxGT("Geschwindigkeit") #define MSG_VMAX _UxGT("V max ") // space by purpose @@ -123,9 +129,15 @@ #define MSG_A_RETRACT _UxGT("A Retract") #define MSG_A_TRAVEL _UxGT("A Leerfahrt") #define MSG_STEPS_PER_MM _UxGT("Steps/mm") -#define MSG_XSTEPS _UxGT("X Steps/mm") -#define MSG_YSTEPS _UxGT("Y Steps/mm") -#define MSG_ZSTEPS _UxGT("Z Steps/mm") +#if IS_KINEMATIC + #define MSG_ASTEPS _UxGT("A Steps/mm") + #define MSG_BSTEPS _UxGT("B Steps/mm") + #define MSG_CSTEPS _UxGT("C Steps/mm") +#else + #define MSG_ASTEPS _UxGT("X Steps/mm") + #define MSG_BSTEPS _UxGT("Y Steps/mm") + #define MSG_CSTEPS _UxGT("Z Steps/mm") +#endif #define MSG_ESTEPS _UxGT("E Steps/mm") #define MSG_E1STEPS _UxGT("E1 Steps/mm") #define MSG_E2STEPS _UxGT("E2 Steps/mm") diff --git a/Marlin/language_el-gr.h b/Marlin/language_el-gr.h index 2ad323dee5..ee1e42e90f 100644 --- a/Marlin/language_el-gr.h +++ b/Marlin/language_el-gr.h @@ -95,10 +95,16 @@ #define MSG_PID_C _UxGT("PID-C") #define MSG_ACC _UxGT("Επιτάχυνση") #define MSG_JERK _UxGT("Vαντίδραση") -#define MSG_VX_JERK _UxGT("Vαντίδραση x") -#define MSG_VY_JERK _UxGT("Vαντίδραση y") -#define MSG_VZ_JERK _UxGT("Vαντίδραση z") -#define MSG_VE_JERK _UxGT("Vαντίδραση e") +#if IS_KINEMATIC + #define MSG_VA_JERK _UxGT("Vαντίδραση A") + #define MSG_VB_JERK _UxGT("Vαντίδραση B") + #define MSG_VC_JERK _UxGT("Vαντίδραση C") +#else + #define MSG_VA_JERK _UxGT("Vαντίδραση X") + #define MSG_VB_JERK _UxGT("Vαντίδραση Y") + #define MSG_VC_JERK _UxGT("Vαντίδραση Z") +#endif +#define MSG_VE_JERK _UxGT("Vαντίδραση E") #define MSG_VMAX _UxGT("Vμεγ ") #define MSG_VMIN _UxGT("Vελαχ") #define MSG_VTRAV_MIN _UxGT("Vελάχ. μετατόπιση") @@ -107,9 +113,15 @@ #define MSG_A_RETRACT _UxGT("Α-ανάσυρση") #define MSG_A_TRAVEL _UxGT("Α-μετατόπιση") #define MSG_STEPS_PER_MM _UxGT("Bήματα ανά μμ") -#define MSG_XSTEPS _UxGT("Bήματα X ανά μμ") -#define MSG_YSTEPS _UxGT("Bήματα Υ ανά μμ") -#define MSG_ZSTEPS _UxGT("Bήματα Ζ ανά μμ") +#if IS_KINEMATIC + #define MSG_ASTEPS _UxGT("Bήματα A ανά μμ") + #define MSG_BSTEPS _UxGT("Bήματα B ανά μμ") + #define MSG_CSTEPS _UxGT("Bήματα C ανά μμ") +#else + #define MSG_ASTEPS _UxGT("Bήματα X ανά μμ") + #define MSG_BSTEPS _UxGT("Bήματα Y ανά μμ") + #define MSG_CSTEPS _UxGT("Bήματα Z ανά μμ") +#endif #define MSG_ESTEPS _UxGT("Bήματα Ε ανά μμ") #define MSG_E1STEPS _UxGT("Bήματα Ε1 ανά μμ") #define MSG_E2STEPS _UxGT("Bήματα Ε2 ανά μμ") diff --git a/Marlin/language_el.h b/Marlin/language_el.h index 0fc9fc8e13..3062c6d4f0 100644 --- a/Marlin/language_el.h +++ b/Marlin/language_el.h @@ -95,10 +95,16 @@ #define MSG_PID_C _UxGT("PID-C") #define MSG_ACC _UxGT("Επιτάχυνση") #define MSG_JERK _UxGT("Jerk") -#define MSG_VX_JERK _UxGT("Vαντίδραση x") -#define MSG_VY_JERK _UxGT("Vαντίδραση y") -#define MSG_VZ_JERK _UxGT("Vαντίδραση z") -#define MSG_VE_JERK _UxGT("Vαντίδραση e") +#if IS_KINEMATIC + #define MSG_VA_JERK _UxGT("Vαντίδραση A") + #define MSG_VB_JERK _UxGT("Vαντίδραση B") + #define MSG_VC_JERK _UxGT("Vαντίδραση C") +#else + #define MSG_VA_JERK _UxGT("Vαντίδραση X") + #define MSG_VB_JERK _UxGT("Vαντίδραση Y") + #define MSG_VC_JERK _UxGT("Vαντίδραση Z") +#endif +#define MSG_VE_JERK _UxGT("Vαντίδραση E") #define MSG_VMAX _UxGT("V Μέγιστο") #define MSG_VMIN _UxGT("V Ελάχιστο") #define MSG_VTRAV_MIN _UxGT("Vελάχ. μετατόπιση") @@ -107,9 +113,15 @@ #define MSG_A_RETRACT _UxGT("Α-ανάσυρση") #define MSG_A_TRAVEL _UxGT("Α-μετατόπιση") #define MSG_STEPS_PER_MM _UxGT("Bήματα ανά μμ") -#define MSG_XSTEPS _UxGT("Bήματα X ανά μμ") -#define MSG_YSTEPS _UxGT("Bήματα Υ ανά μμ") -#define MSG_ZSTEPS _UxGT("Bήματα Ζ ανά μμ") +#if IS_KINEMATIC + #define MSG_ASTEPS _UxGT("Bήματα A ανά μμ") + #define MSG_BSTEPS _UxGT("Bήματα B ανά μμ") + #define MSG_CSTEPS _UxGT("Bήματα C ανά μμ") +#else + #define MSG_ASTEPS _UxGT("Bήματα X ανά μμ") + #define MSG_BSTEPS _UxGT("Bήματα Y ανά μμ") + #define MSG_CSTEPS _UxGT("Bήματα Z ανά μμ") +#endif #define MSG_ESTEPS _UxGT("Bήματα Ε ανά μμ") #define MSG_E1STEPS _UxGT("Bήματα Ε1 ανά μμ") #define MSG_E2STEPS _UxGT("Bήματα Ε2 ανά μμ") diff --git a/Marlin/language_en.h b/Marlin/language_en.h index 9d44e6b774..550698579c 100644 --- a/Marlin/language_en.h +++ b/Marlin/language_en.h @@ -510,14 +510,26 @@ #ifndef MSG_JERK #define MSG_JERK _UxGT("Jerk") #endif -#ifndef MSG_VX_JERK - #define MSG_VX_JERK _UxGT("Vx-jerk") -#endif -#ifndef MSG_VY_JERK - #define MSG_VY_JERK _UxGT("Vy-jerk") -#endif -#ifndef MSG_VZ_JERK - #define MSG_VZ_JERK _UxGT("Vz-jerk") +#if IS_KINEMATIC + #ifndef MSG_VA_JERK + #define MSG_VA_JERK _UxGT("Va-jerk") + #endif + #ifndef MSG_VB_JERK + #define MSG_VB_JERK _UxGT("Vb-jerk") + #endif + #ifndef MSG_VC_JERK + #define MSG_VC_JERK _UxGT("Vc-jerk") + #endif +#else + #ifndef MSG_VA_JERK + #define MSG_VA_JERK _UxGT("Vx-jerk") + #endif + #ifndef MSG_VB_JERK + #define MSG_VB_JERK _UxGT("Vy-jerk") + #endif + #ifndef MSG_VC_JERK + #define MSG_VC_JERK _UxGT("Vz-jerk") + #endif #endif #ifndef MSG_VE_JERK #define MSG_VE_JERK _UxGT("Ve-jerk") @@ -549,14 +561,26 @@ #ifndef MSG_STEPS_PER_MM #define MSG_STEPS_PER_MM _UxGT("Steps/mm") #endif -#ifndef MSG_XSTEPS - #define MSG_XSTEPS _UxGT("Xsteps/mm") -#endif -#ifndef MSG_YSTEPS - #define MSG_YSTEPS _UxGT("Ysteps/mm") -#endif -#ifndef MSG_ZSTEPS - #define MSG_ZSTEPS _UxGT("Zsteps/mm") +#if IS_KINEMATIC + #ifndef MSG_ASTEPS + #define MSG_ASTEPS _UxGT("Asteps/mm") + #endif + #ifndef MSG_BSTEPS + #define MSG_BSTEPS _UxGT("Bsteps/mm") + #endif + #ifndef MSG_CSTEPS + #define MSG_CSTEPS _UxGT("Csteps/mm") + #endif +#else + #ifndef MSG_ASTEPS + #define MSG_ASTEPS _UxGT("Xsteps/mm") + #endif + #ifndef MSG_BSTEPS + #define MSG_BSTEPS _UxGT("Ysteps/mm") + #endif + #ifndef MSG_CSTEPS + #define MSG_CSTEPS _UxGT("Zsteps/mm") + #endif #endif #ifndef MSG_ESTEPS #define MSG_ESTEPS _UxGT("Esteps/mm") diff --git a/Marlin/language_es.h b/Marlin/language_es.h index 6831038b28..9cdd209d5f 100644 --- a/Marlin/language_es.h +++ b/Marlin/language_es.h @@ -103,9 +103,15 @@ #define MSG_SELECT _UxGT("Seleccionar") #define MSG_ACC _UxGT("Aceleracion") #define MSG_JERK _UxGT("Jerk") -#define MSG_VX_JERK _UxGT("Vx-jerk") -#define MSG_VY_JERK _UxGT("Vy-jerk") -#define MSG_VZ_JERK _UxGT("Vz-jerk") +#if IS_KINEMATIC + #define MSG_VA_JERK _UxGT("Va-jerk") + #define MSG_VB_JERK _UxGT("Vb-jerk") + #define MSG_VC_JERK _UxGT("Vc-jerk") +#else + #define MSG_VA_JERK _UxGT("Vx-jerk") + #define MSG_VB_JERK _UxGT("Vy-jerk") + #define MSG_VC_JERK _UxGT("Vz-jerk") +#endif #define MSG_VE_JERK _UxGT("Ve-jerk") #define MSG_VMAX _UxGT("Vmax") #define MSG_VMIN _UxGT("Vmin") @@ -115,9 +121,15 @@ #define MSG_A_RETRACT _UxGT("Acel. retrac.") #define MSG_A_TRAVEL _UxGT("Acel. Viaje") #define MSG_STEPS_PER_MM _UxGT("Pasos/mm") -#define MSG_XSTEPS _UxGT("X pasos/mm") -#define MSG_YSTEPS _UxGT("Y pasos/mm") -#define MSG_ZSTEPS _UxGT("Z pasos/mm") +#if IS_KINEMATIC + #define MSG_ASTEPS _UxGT("A pasos/mm") + #define MSG_BSTEPS _UxGT("B pasos/mm") + #define MSG_CSTEPS _UxGT("C pasos/mm") +#else + #define MSG_ASTEPS _UxGT("X pasos/mm") + #define MSG_BSTEPS _UxGT("Y pasos/mm") + #define MSG_CSTEPS _UxGT("Z pasos/mm") +#endif #define MSG_ESTEPS _UxGT("E pasos/mm") #define MSG_E1STEPS _UxGT("E1 pasos/mm") #define MSG_E2STEPS _UxGT("E2 pasos/mm") diff --git a/Marlin/language_eu.h b/Marlin/language_eu.h index 33452312ea..fd611445e8 100644 --- a/Marlin/language_eu.h +++ b/Marlin/language_eu.h @@ -103,9 +103,15 @@ #define MSG_SELECT _UxGT("Aukeratu") #define MSG_ACC _UxGT("Azelerazioa") #define MSG_JERK _UxGT("Astindua") -#define MSG_VX_JERK _UxGT("Vx-astindua") -#define MSG_VY_JERK _UxGT("Vy-astindua") -#define MSG_VZ_JERK _UxGT("Vz-astindua") +#if IS_KINEMATIC + #define MSG_VA_JERK _UxGT("Va-astindua") + #define MSG_VB_JERK _UxGT("Vb-astindua") + #define MSG_VC_JERK _UxGT("Vc-astindua") +#else + #define MSG_VA_JERK _UxGT("Vx-astindua") + #define MSG_VB_JERK _UxGT("Vy-astindua") + #define MSG_VC_JERK _UxGT("Vz-astindua") +#endif #define MSG_VE_JERK _UxGT("Ve-astindua") #define MSG_VMAX _UxGT("Vmax ") #define MSG_VMIN _UxGT("Vmin") @@ -115,9 +121,15 @@ #define MSG_A_RETRACT _UxGT("A-retrakt") #define MSG_A_TRAVEL _UxGT("A-bidaia") #define MSG_STEPS_PER_MM _UxGT("Pausoak/mm") -#define MSG_XSTEPS _UxGT("X pausoak/mm") -#define MSG_YSTEPS _UxGT("Y pausoak/mm") -#define MSG_ZSTEPS _UxGT("Z pausoak/mm") +#if IS_KINEMATIC + #define MSG_ASTEPS _UxGT("A pausoak/mm") + #define MSG_BSTEPS _UxGT("B pausoak/mm") + #define MSG_CSTEPS _UxGT("C pausoak/mm") +#else + #define MSG_ASTEPS _UxGT("X pausoak/mm") + #define MSG_BSTEPS _UxGT("Y pausoak/mm") + #define MSG_CSTEPS _UxGT("Z pausoak/mm") +#endif #define MSG_ESTEPS _UxGT("E pausoak/mm") #define MSG_E1STEPS _UxGT("E1 pausoak/mm") #define MSG_E2STEPS _UxGT("E2 pausoak/mm") diff --git a/Marlin/language_fi.h b/Marlin/language_fi.h index f04b0501ac..174d5c4202 100644 --- a/Marlin/language_fi.h +++ b/Marlin/language_fi.h @@ -87,9 +87,15 @@ #define MSG_PID_C _UxGT("PID-C") #define MSG_ACC _UxGT("Kiihtyv") #define MSG_JERK _UxGT("Jerk") -#define MSG_VX_JERK _UxGT("Vx-jerk") -#define MSG_VY_JERK _UxGT("Vy-jerk") -#define MSG_VZ_JERK _UxGT("Vz-jerk") +#if IS_KINEMATIC + #define MSG_VA_JERK _UxGT("Va-jerk") + #define MSG_VB_JERK _UxGT("Vb-jerk") + #define MSG_VC_JERK _UxGT("Vc-jerk") +#else + #define MSG_VA_JERK _UxGT("Vx-jerk") + #define MSG_VB_JERK _UxGT("Vy-jerk") + #define MSG_VC_JERK _UxGT("Vz-jerk") +#endif #define MSG_VE_JERK _UxGT("Ve-jerk") #define MSG_VMAX _UxGT("Vmax ") #define MSG_VMIN _UxGT("Vmin") @@ -98,9 +104,15 @@ #define MSG_AMAX _UxGT("Amax ") #define MSG_A_RETRACT _UxGT("A-peruuta") #define MSG_STEPS_PER_MM _UxGT("Steps/mm") -#define MSG_XSTEPS _UxGT("Xsteps/mm") -#define MSG_YSTEPS _UxGT("Ysteps/mm") -#define MSG_ZSTEPS _UxGT("Zsteps/mm") +#if IS_KINEMATIC + #define MSG_ASTEPS _UxGT("Asteps/mm") + #define MSG_BSTEPS _UxGT("Bsteps/mm") + #define MSG_CSTEPS _UxGT("Csteps/mm") +#else + #define MSG_ASTEPS _UxGT("Xsteps/mm") + #define MSG_BSTEPS _UxGT("Ysteps/mm") + #define MSG_CSTEPS _UxGT("Zsteps/mm") +#endif #define MSG_ESTEPS _UxGT("Esteps/mm") #define MSG_E1STEPS _UxGT("E1steps/mm") #define MSG_E2STEPS _UxGT("E2steps/mm") diff --git a/Marlin/language_fr.h b/Marlin/language_fr.h index 42fb7f4d5b..c2f2be9a46 100644 --- a/Marlin/language_fr.h +++ b/Marlin/language_fr.h @@ -166,9 +166,15 @@ #define MSG_SELECT _UxGT("Selectionner") #define MSG_ACC _UxGT("Acceleration") #define MSG_JERK _UxGT("Jerk") -#define MSG_VX_JERK _UxGT("Vx-jerk") -#define MSG_VY_JERK _UxGT("Vy-jerk") -#define MSG_VZ_JERK _UxGT("Vz-jerk") +#if IS_KINEMATIC + #define MSG_VA_JERK _UxGT("Va-jerk") + #define MSG_VB_JERK _UxGT("Vb-jerk") + #define MSG_VC_JERK _UxGT("Vc-jerk") +#else + #define MSG_VA_JERK _UxGT("Vx-jerk") + #define MSG_VB_JERK _UxGT("Vy-jerk") + #define MSG_VC_JERK _UxGT("Vz-jerk") +#endif #define MSG_VE_JERK _UxGT("Ve-jerk") #define MSG_VELOCITY _UxGT("Velocite") #define MSG_VMAX _UxGT("Vmax") @@ -179,15 +185,21 @@ #define MSG_A_RETRACT _UxGT("A-retract") #define MSG_A_TRAVEL _UxGT("A-Depl.") #define MSG_STEPS_PER_MM _UxGT("Pas/mm") -#define MSG_XSTEPS _UxGT("Xpas/mm") -#define MSG_YSTEPS _UxGT("Ypas/mm") -#define MSG_ZSTEPS _UxGT("Zpas/mm") -#define MSG_ESTEPS _UxGT("Epas/mm") -#define MSG_E1STEPS _UxGT("E1pas/mm") -#define MSG_E2STEPS _UxGT("E2pas/mm") -#define MSG_E3STEPS _UxGT("E3pas/mm") -#define MSG_E4STEPS _UxGT("E4pas/mm") -#define MSG_E5STEPS _UxGT("E5pas/mm") +#if IS_KINEMATIC + #define MSG_ASTEPS _UxGT("A pas/mm") + #define MSG_BSTEPS _UxGT("B pas/mm") + #define MSG_CSTEPS _UxGT("C pas/mm") +#else + #define MSG_ASTEPS _UxGT("X pas/mm") + #define MSG_BSTEPS _UxGT("Y pas/mm") + #define MSG_CSTEPS _UxGT("Z pas/mm") +#endif +#define MSG_ESTEPS _UxGT("E pas/mm") +#define MSG_E1STEPS _UxGT("E1 pas/mm") +#define MSG_E2STEPS _UxGT("E2 pas/mm") +#define MSG_E3STEPS _UxGT("E3 pas/mm") +#define MSG_E4STEPS _UxGT("E4 pas/mm") +#define MSG_E5STEPS _UxGT("E5 pas/mm") #define MSG_TEMPERATURE _UxGT("Temperature") #define MSG_MOTION _UxGT("Mouvement") #define MSG_FILAMENT _UxGT("Filament") diff --git a/Marlin/language_fr_utf8.h b/Marlin/language_fr_utf8.h index 9630f6be09..0a50055c60 100644 --- a/Marlin/language_fr_utf8.h +++ b/Marlin/language_fr_utf8.h @@ -166,9 +166,15 @@ #define MSG_SELECT _UxGT("Sélectionner") #define MSG_ACC _UxGT("Accélération") #define MSG_JERK _UxGT("Jerk") -#define MSG_VX_JERK _UxGT("Vx-jerk") -#define MSG_VY_JERK _UxGT("Vy-jerk") -#define MSG_VZ_JERK _UxGT("Vz-jerk") +#if IS_KINEMATIC + #define MSG_VA_JERK _UxGT("Va-jerk") + #define MSG_VB_JERK _UxGT("Vb-jerk") + #define MSG_VC_JERK _UxGT("Vc-jerk") +#else + #define MSG_VA_JERK _UxGT("Vx-jerk") + #define MSG_VB_JERK _UxGT("Vy-jerk") + #define MSG_VC_JERK _UxGT("Vz-jerk") +#endif #define MSG_VE_JERK _UxGT("Ve-jerk") #define MSG_VELOCITY _UxGT("Vélocité") #define MSG_VMAX _UxGT("Vmax") @@ -179,15 +185,21 @@ #define MSG_A_RETRACT _UxGT("A-retract") #define MSG_A_TRAVEL _UxGT("A-Dépl.") #define MSG_STEPS_PER_MM _UxGT("Pas/mm") -#define MSG_XSTEPS _UxGT("Xpas/mm") -#define MSG_YSTEPS _UxGT("Ypas/mm") -#define MSG_ZSTEPS _UxGT("Zpas/mm") -#define MSG_ESTEPS _UxGT("Epas/mm") -#define MSG_E1STEPS _UxGT("E1pas/mm") -#define MSG_E2STEPS _UxGT("E2pas/mm") -#define MSG_E3STEPS _UxGT("E3pas/mm") -#define MSG_E4STEPS _UxGT("E4pas/mm") -#define MSG_E5STEPS _UxGT("E5pas/mm") +#if IS_KINEMATIC + #define MSG_ASTEPS _UxGT("A pas/mm") + #define MSG_BSTEPS _UxGT("B pas/mm") + #define MSG_CSTEPS _UxGT("C pas/mm") +#else + #define MSG_ASTEPS _UxGT("X pas/mm") + #define MSG_BSTEPS _UxGT("Y pas/mm") + #define MSG_CSTEPS _UxGT("Z pas/mm") +#endif +#define MSG_ESTEPS _UxGT("E pas/mm") +#define MSG_E1STEPS _UxGT("E1 pas/mm") +#define MSG_E2STEPS _UxGT("E2 pas/mm") +#define MSG_E3STEPS _UxGT("E3 pas/mm") +#define MSG_E4STEPS _UxGT("E4 pas/mm") +#define MSG_E5STEPS _UxGT("E5 pas/mm") #define MSG_TEMPERATURE _UxGT("Température") #define MSG_MOTION _UxGT("Mouvement") #define MSG_FILAMENT _UxGT("Filament") diff --git a/Marlin/language_gl.h b/Marlin/language_gl.h index 8ee3acbdd9..754e95bf13 100644 --- a/Marlin/language_gl.h +++ b/Marlin/language_gl.h @@ -97,9 +97,15 @@ #define MSG_SELECT _UxGT("Escolla") #define MSG_ACC _UxGT("Acel") #define MSG_JERK _UxGT("Jerk") -#define MSG_VX_JERK _UxGT("Vx-jerk") -#define MSG_VY_JERK _UxGT("Vy-jerk") -#define MSG_VZ_JERK _UxGT("Vz-jerk") +#if IS_KINEMATIC + #define MSG_VA_JERK _UxGT("Va-jerk") + #define MSG_VB_JERK _UxGT("Vb-jerk") + #define MSG_VC_JERK _UxGT("Vc-jerk") +#else + #define MSG_VA_JERK _UxGT("Vx-jerk") + #define MSG_VB_JERK _UxGT("Vy-jerk") + #define MSG_VC_JERK _UxGT("Vz-jerk") +#endif #define MSG_VE_JERK _UxGT("Ve-jerk") #define MSG_VMAX _UxGT("Vmax ") #define MSG_VMIN _UxGT("Vmin") @@ -108,15 +114,21 @@ #define MSG_A_RETRACT _UxGT("A-retract") #define MSG_A_TRAVEL _UxGT("A-travel") #define MSG_STEPS_PER_MM _UxGT("Pasos/mm") -#define MSG_XSTEPS _UxGT("Xpasos/mm") -#define MSG_YSTEPS _UxGT("Ypasos/mm") -#define MSG_ZSTEPS _UxGT("Zpasos/mm") -#define MSG_ESTEPS _UxGT("Epasos/mm") -#define MSG_E1STEPS _UxGT("E1pasos/mm") -#define MSG_E2STEPS _UxGT("E2pasos/mm") -#define MSG_E3STEPS _UxGT("E3pasos/mm") -#define MSG_E4STEPS _UxGT("E4pasos/mm") -#define MSG_E5STEPS _UxGT("E5pasos/mm") +#if IS_KINEMATIC + #define MSG_ASTEPS _UxGT("A pasos/mm") + #define MSG_BSTEPS _UxGT("B pasos/mm") + #define MSG_CSTEPS _UxGT("C pasos/mm") +#else + #define MSG_ASTEPS _UxGT("X pasos/mm") + #define MSG_BSTEPS _UxGT("Y pasos/mm") + #define MSG_CSTEPS _UxGT("Z pasos/mm") +#endif +#define MSG_ESTEPS _UxGT("E pasos/mm") +#define MSG_E1STEPS _UxGT("E1 pasos/mm") +#define MSG_E2STEPS _UxGT("E2 pasos/mm") +#define MSG_E3STEPS _UxGT("E3 pasos/mm") +#define MSG_E4STEPS _UxGT("E4 pasos/mm") +#define MSG_E5STEPS _UxGT("E5 pasos/mm") #define MSG_TEMPERATURE _UxGT("Temperatura") #define MSG_MOTION _UxGT("Movemento") #define MSG_FILAMENT _UxGT("Filamento") diff --git a/Marlin/language_hr.h b/Marlin/language_hr.h index 0d435c9f09..f9e45737b9 100644 --- a/Marlin/language_hr.h +++ b/Marlin/language_hr.h @@ -95,9 +95,15 @@ #define MSG_SELECT _UxGT("Odaberi") #define MSG_ACC _UxGT("Accel") #define MSG_JERK _UxGT("Jerk") -#define MSG_VX_JERK _UxGT("Vx-jerk") -#define MSG_VY_JERK _UxGT("Vy-jerk") -#define MSG_VZ_JERK _UxGT("Vz-jerk") +#if IS_KINEMATIC + #define MSG_VA_JERK _UxGT("Va-jerk") + #define MSG_VB_JERK _UxGT("Vb-jerk") + #define MSG_VC_JERK _UxGT("Vc-jerk") +#else + #define MSG_VA_JERK _UxGT("Vx-jerk") + #define MSG_VB_JERK _UxGT("Vy-jerk") + #define MSG_VC_JERK _UxGT("Vz-jerk") +#endif #define MSG_VE_JERK _UxGT("Ve-jerk") #define MSG_VMAX _UxGT("Vmax ") #define MSG_VMIN _UxGT("Vmin") @@ -106,9 +112,15 @@ #define MSG_A_RETRACT _UxGT("A-retract") #define MSG_A_TRAVEL _UxGT("A-travel") #define MSG_STEPS_PER_MM _UxGT("Steps/mm") -#define MSG_XSTEPS _UxGT("Xsteps/mm") -#define MSG_YSTEPS _UxGT("Ysteps/mm") -#define MSG_ZSTEPS _UxGT("Zsteps/mm") +#if IS_KINEMATIC + #define MSG_ASTEPS _UxGT("Asteps/mm") + #define MSG_BSTEPS _UxGT("Bsteps/mm") + #define MSG_CSTEPS _UxGT("Csteps/mm") +#else + #define MSG_ASTEPS _UxGT("Xsteps/mm") + #define MSG_BSTEPS _UxGT("Ysteps/mm") + #define MSG_CSTEPS _UxGT("Zsteps/mm") +#endif #define MSG_ESTEPS _UxGT("Esteps/mm") #define MSG_E1STEPS _UxGT("E1steps/mm") #define MSG_E2STEPS _UxGT("E2steps/mm") diff --git a/Marlin/language_it.h b/Marlin/language_it.h index f2986a4ff9..d529e58718 100644 --- a/Marlin/language_it.h +++ b/Marlin/language_it.h @@ -166,9 +166,15 @@ #define MSG_SELECT _UxGT("Seleziona") #define MSG_ACC _UxGT("Accel") #define MSG_JERK _UxGT("Jerk") -#define MSG_VX_JERK _UxGT("Vx-jerk") -#define MSG_VY_JERK _UxGT("Vy-jerk") -#define MSG_VZ_JERK _UxGT("Vz-jerk") +#if IS_KINEMATIC + #define MSG_VA_JERK _UxGT("Va-jerk") + #define MSG_VB_JERK _UxGT("Vb-jerk") + #define MSG_VC_JERK _UxGT("Vc-jerk") +#else + #define MSG_VA_JERK _UxGT("Vx-jerk") + #define MSG_VB_JERK _UxGT("Vy-jerk") + #define MSG_VC_JERK _UxGT("Vz-jerk") +#endif #define MSG_VE_JERK _UxGT("Ve-jerk") #define MSG_VELOCITY _UxGT("Velocità") #define MSG_VMAX _UxGT("Vmax ") @@ -179,9 +185,15 @@ #define MSG_A_RETRACT _UxGT("A-retract") #define MSG_A_TRAVEL _UxGT("A-Spostamento") #define MSG_STEPS_PER_MM _UxGT("Passi/mm") -#define MSG_XSTEPS _UxGT("Xpassi/mm") -#define MSG_YSTEPS _UxGT("Ypassi/mm") -#define MSG_ZSTEPS _UxGT("Zpassi/mm") +#if IS_KINEMATIC + #define MSG_ASTEPS _UxGT("Apassi/mm") + #define MSG_BSTEPS _UxGT("Bpassi/mm") + #define MSG_CSTEPS _UxGT("Cpassi/mm") +#else + #define MSG_ASTEPS _UxGT("Xpassi/mm") + #define MSG_BSTEPS _UxGT("Ypassi/mm") + #define MSG_CSTEPS _UxGT("Zpassi/mm") +#endif #define MSG_ESTEPS _UxGT("Epassi/mm") #define MSG_E1STEPS _UxGT("E1passi/mm") #define MSG_E2STEPS _UxGT("E2passi/mm") diff --git a/Marlin/language_kana.h b/Marlin/language_kana.h index b596078360..9ee69f2afc 100644 --- a/Marlin/language_kana.h +++ b/Marlin/language_kana.h @@ -105,11 +105,18 @@ #define MSG_PID_D "PID-D" #define MSG_PID_C "PID-C" #define MSG_SELECT "\xbe\xdd\xc0\xb8" // "センタク" ("Select") +#define MSG_JERK "\xbc\xde\xb8\x20\xd4\xb8\xc4\xde mm/s" // ヤクド mm/s ("Jerk") #if LCD_WIDTH >= 20 #define MSG_ACC "\xb6\xbf\xb8\xc4\xde mm/s2" // "カソクド mm/s2" ("Accel") - #define MSG_VX_JERK "X\xbc\xde\xb8\x20\xd4\xb8\xc4\xde mm/s" // "Xジク ヤクド mm/s" ("Vx-jerk") - #define MSG_VY_JERK "Y\xbc\xde\xb8\x20\xd4\xb8\xc4\xde mm/s" // "Yジク ヤクド mm/s" ("Vy-jerk") - #define MSG_VZ_JERK "Z\xbc\xde\xb8\x20\xd4\xb8\xc4\xde mm/s" // "Zジク ヤクド mm/s" ("Vz-jerk") + #if IS_KINEMATIC + #define MSG_VA_JERK "A\xbc\xde\xb8\x20\xd4\xb8\xc4\xde mm/s" // "Aジク ヤクド mm/s" ("Va-jerk") + #define MSG_VB_JERK "B\xbc\xde\xb8\x20\xd4\xb8\xc4\xde mm/s" // "Bジク ヤクド mm/s" ("Vb-jerk") + #define MSG_VC_JERK "C\xbc\xde\xb8\x20\xd4\xb8\xc4\xde mm/s" // "Cジク ヤクド mm/s" ("Vc-jerk") + #else + #define MSG_VA_JERK "X\xbc\xde\xb8\x20\xd4\xb8\xc4\xde mm/s" // "Xジク ヤクド mm/s" ("Vx-jerk") + #define MSG_VB_JERK "Y\xbc\xde\xb8\x20\xd4\xb8\xc4\xde mm/s" // "Yジク ヤクド mm/s" ("Vy-jerk") + #define MSG_VC_JERK "Z\xbc\xde\xb8\x20\xd4\xb8\xc4\xde mm/s" // "Zジク ヤクド mm/s" ("Vz-jerk") + #endif #define MSG_VE_JERK "\xb4\xb8\xbd\xc4\xd9\xb0\xc0\xde\xb0\x20\xd4\xb8\xc4\xde" // "エクストルーダー ヤクド" ("Ve-jerk") #define MSG_VMAX "\xbb\xb2\xc0\xde\xb2\xb5\xb8\xd8\xbf\xb8\xc4\xde " // "サイダイオクリソクド " ("Vmax ") #define MSG_VMIN "\xbb\xb2\xbc\xae\xb3\xb5\xb8\xd8\xbf\xb8\xc4\xde" // "サイショウオクリソクド" ("Vmin") @@ -117,9 +124,15 @@ #define MSG_AMAX "\xbb\xb2\xc0\xde\xb2\xb6\xbf\xb8\xc4\xde " // "サイダイカソクド " ("Amax ") #else #define MSG_ACC "\xb6\xbf\xb8\xc4\xde" // "カソクド" ("Accel") - #define MSG_VX_JERK "X\xbc\xde\xb8\x20\xd4\xb8\xc4\xde" // "XYジク ヤクド" ("Vx-jerk") - #define MSG_VY_JERK "Y\xbc\xde\xb8\x20\xd4\xb8\xc4\xde" // "XYジク ヤクド" ("Vy-jerk") - #define MSG_VZ_JERK "Z\xbc\xde\xb8\x20\xd4\xb8\xc4\xde" // "Zジク ヤクド" ("Vz-jerk") + #if IS_KINEMATIC + #define MSG_VA_JERK "A\x20\xd4\xb8\xc4\xde" // "Aジク ヤクド" ("Va-jerk") + #define MSG_VB_JERK "B\x20\xd4\xb8\xc4\xde" // "Bジク ヤクド" ("Vb-jerk") + #define MSG_VC_JERK "C\x20\xd4\xb8\xc4\xde" // "Cジク ヤクド" ("Vc-jerk") + #else + #define MSG_VA_JERK "X\x20\xd4\xb8\xc4\xde" // "Xジク ヤクド" ("Vx-jerk") + #define MSG_VB_JERK "Y\x20\xd4\xb8\xc4\xde" // "Yジク ヤクド" ("Vy-jerk") + #define MSG_VC_JERK "Z\x20\xd4\xb8\xc4\xde" // "Zジク ヤクド" ("Vz-jerk") + #endif #define MSG_VE_JERK "E\x20\xd4\xb8\xc4\xde" // "E ヤクド" ("Ve-jerk") #define MSG_VMAX "max\xb5\xb8\xd8\xbf\xb8\xc4\xde " // "maxオクリソクド" ("Vmax ") #define MSG_VMIN "min\xb5\xb8\xd8\xbf\xb8\xc4\xde" // "minオクリソクド" ("Vmin") @@ -129,27 +142,39 @@ #define MSG_A_RETRACT "\xcb\xb7\xba\xd0\xb6\xbf\xb8\xc4\xde" // "ヒキコミカソクド" ("A-retract") #define MSG_A_TRAVEL "\xb2\xc4\xde\xb3\xb6\xbf\xb8\xc4\xde" // "イドウカソクド" ("A-travel") #if LCD_WIDTH >= 20 - #define MSG_STEPS_PER_MM "Steps/mm" - #define MSG_XSTEPS "Xsteps/mm" - #define MSG_YSTEPS "Ysteps/mm" - #define MSG_ZSTEPS "Zsteps/mm" - #define MSG_ESTEPS "Esteps/mm" - #define MSG_E1STEPS "E1steps/mm" - #define MSG_E2STEPS "E2steps/mm" - #define MSG_E3STEPS "E3steps/mm" - #define MSG_E4STEPS "E4steps/mm" - #define MSG_E5STEPS "E5steps/mm" + #define MSG_STEPS_PER_MM "Steps/mm" + #if IS_KINEMATIC + #define MSG_ASTEPS "Asteps/mm" + #define MSG_BSTEPS "Bsteps/mm" + #define MSG_CSTEPS "Csteps/mm" + #else + #define MSG_ASTEPS "Xsteps/mm" + #define MSG_BSTEPS "Ysteps/mm" + #define MSG_CSTEPS "Zsteps/mm" + #endif + #define MSG_ESTEPS "Esteps/mm" + #define MSG_E1STEPS "E1steps/mm" + #define MSG_E2STEPS "E2steps/mm" + #define MSG_E3STEPS "E3steps/mm" + #define MSG_E4STEPS "E4steps/mm" + #define MSG_E5STEPS "E5steps/mm" #else - #define MSG_STEPS_PER_MM "Steps" - #define MSG_XSTEPS "Xsteps" - #define MSG_YSTEPS "Ysteps" - #define MSG_ZSTEPS "Zsteps" - #define MSG_ESTEPS "Esteps" - #define MSG_E1STEPS "E1steps" - #define MSG_E2STEPS "E2steps" - #define MSG_E3STEPS "E3steps" - #define MSG_E4STEPS "E4steps" - #define MSG_E5STEPS "E5steps" + #define MSG_STEPS_PER_MM "Steps" + #if IS_KINEMATIC + #define MSG_ASTEPS "Asteps" + #define MSG_BSTEPS "Bsteps" + #define MSG_CSTEPS "Csteps" + #else + #define MSG_ASTEPS "Xsteps" + #define MSG_BSTEPS "Ysteps" + #define MSG_CSTEPS "Zsteps" + #endif + #define MSG_ESTEPS "Esteps" + #define MSG_E1STEPS "E1steps" + #define MSG_E2STEPS "E2steps" + #define MSG_E3STEPS "E3steps" + #define MSG_E4STEPS "E4steps" + #define MSG_E5STEPS "E5steps" #endif #define MSG_TEMPERATURE "\xb5\xdd\xc4\xde" // "オンド" ("Temperature") #define MSG_MOTION "\xb3\xba\xde\xb7\xbe\xaf\xc3\xb2" // "ウゴキセッテイ" ("Motion") diff --git a/Marlin/language_kana_utf8.h b/Marlin/language_kana_utf8.h index 248bf46eb7..7c7a6eb92a 100644 --- a/Marlin/language_kana_utf8.h +++ b/Marlin/language_kana_utf8.h @@ -106,9 +106,15 @@ #define MSG_SELECT _UxGT("センタク") // "Select" #define MSG_ACC _UxGT("カソクド mm/s2") // "Accel" #define MSG_JERK _UxGT("ヤクド mm/s") // "Jerk" -#define MSG_VX_JERK _UxGT("Xジク ヤクド mm/s") // "Vx-jerk" -#define MSG_VY_JERK _UxGT("Yジク ヤクド mm/s") // "Vy-jerk" -#define MSG_VZ_JERK _UxGT("Zジク ヤクド mm/s") // "Vz-jerk" +#if IS_KINEMATIC + #define MSG_VA_JERK _UxGT("Aジク ヤクド mm/s") // "Va-jerk" + #define MSG_VB_JERK _UxGT("Bジク ヤクド mm/s") // "Vb-jerk" + #define MSG_VC_JERK _UxGT("Cジク ヤクド mm/s") // "Vc-jerk" +#else + #define MSG_VA_JERK _UxGT("Xジク ヤクド mm/s") // "Vx-jerk" + #define MSG_VB_JERK _UxGT("Yジク ヤクド mm/s") // "Vy-jerk" + #define MSG_VC_JERK _UxGT("Zジク ヤクド mm/s") // "Vz-jerk" +#endif #define MSG_VE_JERK _UxGT("エクストルーダー ヤクド") // "Ve-jerk" #define MSG_VMAX _UxGT("サイダイオクリソクド ") // "Vmax " #define MSG_VMIN _UxGT("サイショウオクリソクド") // "Vmin" diff --git a/Marlin/language_nl.h b/Marlin/language_nl.h index 8967fd09db..4221156905 100644 --- a/Marlin/language_nl.h +++ b/Marlin/language_nl.h @@ -103,9 +103,15 @@ #define MSG_SELECT _UxGT("Selecteer") #define MSG_ACC _UxGT("Versn") #define MSG_JERK _UxGT("Jerk") -#define MSG_VX_JERK _UxGT("Vx-jerk") -#define MSG_VY_JERK _UxGT("Vy-jerk") -#define MSG_VZ_JERK _UxGT("Vz-jerk") +#if IS_KINEMATIC + #define MSG_VA_JERK _UxGT("Va-jerk") + #define MSG_VB_JERK _UxGT("Vb-jerk") + #define MSG_VC_JERK _UxGT("Vc-jerk") +#else + #define MSG_VA_JERK _UxGT("Vx-jerk") + #define MSG_VB_JERK _UxGT("Vy-jerk") + #define MSG_VC_JERK _UxGT("Vz-jerk") +#endif #define MSG_VE_JERK _UxGT("Ve-jerk") #define MSG_VMAX _UxGT("Vmax ") #define MSG_VMIN _UxGT("Vmin") @@ -114,9 +120,15 @@ #define MSG_A_RETRACT _UxGT("A-retract") #define MSG_A_TRAVEL _UxGT("A-travel") #define MSG_STEPS_PER_MM _UxGT("Steps/mm") -#define MSG_XSTEPS _UxGT("Xsteps/mm") -#define MSG_YSTEPS _UxGT("Ysteps/mm") -#define MSG_ZSTEPS _UxGT("Zsteps/mm") +#if IS_KINEMATIC + #define MSG_ASTEPS _UxGT("Asteps/mm") + #define MSG_BSTEPS _UxGT("Bsteps/mm") + #define MSG_CSTEPS _UxGT("Csteps/mm") +#else + #define MSG_ASTEPS _UxGT("Xsteps/mm") + #define MSG_BSTEPS _UxGT("Ysteps/mm") + #define MSG_CSTEPS _UxGT("Zsteps/mm") +#endif #define MSG_ESTEPS _UxGT("Esteps/mm") #define MSG_E1STEPS _UxGT("E1steps/mm") #define MSG_E2STEPS _UxGT("E2steps/mm") diff --git a/Marlin/language_pl-DOGM.h b/Marlin/language_pl-DOGM.h index b5584a6838..d1e9b070da 100644 --- a/Marlin/language_pl-DOGM.h +++ b/Marlin/language_pl-DOGM.h @@ -91,9 +91,15 @@ #define MSG_SELECT _UxGT("Select") #define MSG_ACC _UxGT("Przyśpieszenie") #define MSG_JERK _UxGT("Zryw") -#define MSG_VX_JERK _UxGT("Zryw Vx") -#define MSG_VY_JERK _UxGT("Zryw Vy") -#define MSG_VZ_JERK _UxGT("Zryw Vz") +#if IS_KINEMATIC + #define MSG_VA_JERK _UxGT("Zryw Va") + #define MSG_VB_JERK _UxGT("Zryw Vb") + #define MSG_VC_JERK _UxGT("Zryw Vc") +#else + #define MSG_VA_JERK _UxGT("Zryw Vx") + #define MSG_VB_JERK _UxGT("Zryw Vy") + #define MSG_VC_JERK _UxGT("Zryw Vz") +#endif #define MSG_VE_JERK _UxGT("Zryw Ve") #define MSG_VMAX _UxGT("Vmax ") #define MSG_VMIN _UxGT("Vmin") @@ -103,9 +109,15 @@ #define MSG_A_RETRACT _UxGT("A-wycofanie") #define MSG_A_TRAVEL _UxGT("A-przesuń.") #define MSG_STEPS_PER_MM _UxGT("kroki/mm") -#define MSG_XSTEPS _UxGT("krokiX/mm") -#define MSG_YSTEPS _UxGT("krokiY/mm") -#define MSG_ZSTEPS _UxGT("krokiZ/mm") +#if IS_KINEMATIC + #define MSG_ASTEPS _UxGT("krokiA/mm") + #define MSG_BSTEPS _UxGT("krokiB/mm") + #define MSG_CSTEPS _UxGT("krokiC/mm") +#else + #define MSG_ASTEPS _UxGT("krokiX/mm") + #define MSG_BSTEPS _UxGT("krokiY/mm") + #define MSG_CSTEPS _UxGT("krokiZ/mm") +#endif #define MSG_ESTEPS _UxGT("krokiE/mm") #define MSG_E1STEPS _UxGT("krokiE1/mm") #define MSG_E2STEPS _UxGT("krokiE2/mm") diff --git a/Marlin/language_pl-HD44780.h b/Marlin/language_pl-HD44780.h index 3b25a5dd9a..f884789a5d 100644 --- a/Marlin/language_pl-HD44780.h +++ b/Marlin/language_pl-HD44780.h @@ -93,9 +93,15 @@ #define MSG_SELECT _UxGT("Select") #define MSG_ACC _UxGT("Przyspieszenie") #define MSG_JERK _UxGT("Zryw") -#define MSG_VX_JERK _UxGT("Zryw Vx") -#define MSG_VY_JERK _UxGT("Zryw Vy") -#define MSG_VZ_JERK _UxGT("Zryw Vz") +#if IS_KINEMATIC + #define MSG_VA_JERK _UxGT("Zryw Va") + #define MSG_VB_JERK _UxGT("Zryw Vb") + #define MSG_VC_JERK _UxGT("Zryw Vc") +#else + #define MSG_VA_JERK _UxGT("Zryw Vx") + #define MSG_VB_JERK _UxGT("Zryw Vy") + #define MSG_VC_JERK _UxGT("Zryw Vz") +#endif #define MSG_VE_JERK _UxGT("Zryw Ve") #define MSG_VMAX _UxGT("Vmax ") #define MSG_VMIN _UxGT("Vmin") @@ -105,9 +111,15 @@ #define MSG_A_RETRACT _UxGT("A-wycofanie") #define MSG_A_TRAVEL _UxGT("A-przesun.") #define MSG_STEPS_PER_MM _UxGT("kroki/mm") -#define MSG_XSTEPS _UxGT("krokiX/mm") -#define MSG_YSTEPS _UxGT("krokiY/mm") -#define MSG_ZSTEPS _UxGT("krokiZ/mm") +#if IS_KINEMATIC + #define MSG_ASTEPS _UxGT("krokiA/mm") + #define MSG_BSTEPS _UxGT("krokiB/mm") + #define MSG_CSTEPS _UxGT("krokiC/mm") +#else + #define MSG_ASTEPS _UxGT("krokiX/mm") + #define MSG_BSTEPS _UxGT("krokiY/mm") + #define MSG_CSTEPS _UxGT("krokiZ/mm") +#endif #define MSG_ESTEPS _UxGT("krokiE/mm") #define MSG_E1STEPS _UxGT("krokiE1/mm") #define MSG_E2STEPS _UxGT("krokiE2/mm") diff --git a/Marlin/language_pt-br.h b/Marlin/language_pt-br.h index 5ba2956023..86ea01e4d9 100644 --- a/Marlin/language_pt-br.h +++ b/Marlin/language_pt-br.h @@ -88,9 +88,15 @@ #define MSG_PID_C "PID-C" #define MSG_ACC "Acc" #define MSG_JERK "Jogo" -#define MSG_VX_JERK "jogo VX" -#define MSG_VY_JERK "jogo VY" -#define MSG_VZ_JERK "jogo VZ" +#if IS_KINEMATIC + #define MSG_VA_JERK "jogo VA" + #define MSG_VB_JERK "jogo VB" + #define MSG_VC_JERK "jogo VC" +#else + #define MSG_VA_JERK "jogo VX" + #define MSG_VB_JERK "jogo VY" + #define MSG_VC_JERK "jogo VZ" +#endif #define MSG_VE_JERK "jogo VE" #define MSG_VMAX " Vmax " #define MSG_VMIN "Vmin" @@ -99,9 +105,15 @@ #define MSG_A_RETRACT "Retrair A" #define MSG_A_TRAVEL "A-movimento" #define MSG_STEPS_PER_MM "Passo/mm" -#define MSG_XSTEPS "Passo X/mm" -#define MSG_YSTEPS "Passo Y/mm" -#define MSG_ZSTEPS "Passo Z/mm" +#if IS_KINEMATIC + #define MSG_ASTEPS "A/mm" + #define MSG_BSTEPS "B/mm" + #define MSG_CSTEPS "C/mm" +#else + #define MSG_ASTEPS "X/mm" + #define MSG_BSTEPS "Y/mm" + #define MSG_CSTEPS "Z/mm" +#endif #define MSG_ESTEPS "E/mm" #define MSG_E1STEPS "E1/mm" #define MSG_E2STEPS "E2/mm" diff --git a/Marlin/language_pt-br_utf8.h b/Marlin/language_pt-br_utf8.h index 9c4c9d7996..d304b5d8f9 100644 --- a/Marlin/language_pt-br_utf8.h +++ b/Marlin/language_pt-br_utf8.h @@ -88,9 +88,15 @@ #define MSG_PID_C _UxGT("PID-C") #define MSG_ACC _UxGT("Acc") #define MSG_JERK _UxGT("Jogo") -#define MSG_VX_JERK _UxGT("jogo VX") -#define MSG_VY_JERK _UxGT("jogo VY") -#define MSG_VZ_JERK _UxGT("jogo VZ") +#if IS_KINEMATIC + #define MSG_VA_JERK _UxGT("jogo VA") + #define MSG_VB_JERK _UxGT("jogo VB") + #define MSG_VC_JERK _UxGT("jogo VC") +#else + #define MSG_VA_JERK _UxGT("jogo VX") + #define MSG_VB_JERK _UxGT("jogo VY") + #define MSG_VC_JERK _UxGT("jogo VZ") +#endif #define MSG_VE_JERK _UxGT("jogo VE") #define MSG_VMAX _UxGT(" Vmax ") #define MSG_VMIN _UxGT("Vmin") @@ -99,9 +105,15 @@ #define MSG_A_RETRACT _UxGT("Retrair A") #define MSG_A_TRAVEL _UxGT("A-movimento") #define MSG_STEPS_PER_MM _UxGT("Passo/mm") -#define MSG_XSTEPS _UxGT("Passo X/mm") -#define MSG_YSTEPS _UxGT("Passo Y/mm") -#define MSG_ZSTEPS _UxGT("Passo Z/mm") +#if IS_KINEMATIC + #define MSG_ASTEPS _UxGT("A/mm") + #define MSG_BSTEPS _UxGT("B/mm") + #define MSG_CSTEPS _UxGT("C/mm") +#else + #define MSG_ASTEPS _UxGT("X/mm") + #define MSG_BSTEPS _UxGT("Y/mm") + #define MSG_CSTEPS _UxGT("Z/mm") +#endif #define MSG_ESTEPS _UxGT("E/mm") #define MSG_E1STEPS _UxGT("E1/mm") #define MSG_E2STEPS _UxGT("E2/mm") diff --git a/Marlin/language_pt.h b/Marlin/language_pt.h index a07c208c5a..b14a290d14 100644 --- a/Marlin/language_pt.h +++ b/Marlin/language_pt.h @@ -91,10 +91,16 @@ #define MSG_PID_D "PID-D" #define MSG_PID_C "PID-C" #define MSG_ACC "Acc" -#define MSG_JERK _UxGT("Jerk") -#define MSG_VX_JERK "Vx-jerk" -#define MSG_VY_JERK "Vy-jerk" -#define MSG_VZ_JERK "Vz-jerk" +#define MSG_JERK "Jerk" +#if IS_KINEMATIC + #define MSG_VA_JERK "Va-jerk" + #define MSG_VB_JERK "Vb-jerk" + #define MSG_VC_JERK "Vc-jerk" +#else + #define MSG_VA_JERK "Vx-jerk" + #define MSG_VB_JERK "Vy-jerk" + #define MSG_VC_JERK "Vz-jerk" +#endif #define MSG_VE_JERK "Ve-jerk" #define MSG_VMAX " Vmax " #define MSG_VMIN "Vmin" @@ -103,9 +109,15 @@ #define MSG_A_RETRACT "A-retraccao" #define MSG_A_TRAVEL "A-movimento" #define MSG_STEPS_PER_MM "Passo/mm" -#define MSG_XSTEPS "X passo/mm" -#define MSG_YSTEPS "Y passo/mm" -#define MSG_ZSTEPS "Z passo/mm" +#if IS_KINEMATIC + #define MSG_ASTEPS "A passo/mm" + #define MSG_BSTEPS "B passo/mm" + #define MSG_CSTEPS "C passo/mm" +#else + #define MSG_ASTEPS "X passo/mm" + #define MSG_BSTEPS "Y passo/mm" + #define MSG_CSTEPS "Z passo/mm" +#endif #define MSG_ESTEPS "E passo/mm" #define MSG_E1STEPS "E1 passo/mm" #define MSG_E2STEPS "E2 passo/mm" diff --git a/Marlin/language_pt_utf8.h b/Marlin/language_pt_utf8.h index 1b01294100..56618f7b19 100644 --- a/Marlin/language_pt_utf8.h +++ b/Marlin/language_pt_utf8.h @@ -92,9 +92,15 @@ #define MSG_PID_C _UxGT("PID-C") #define MSG_ACC _UxGT("Acc") #define MSG_JERK _UxGT("Jerk") -#define MSG_VX_JERK _UxGT("Vx-jerk") -#define MSG_VY_JERK _UxGT("Vy-jerk") -#define MSG_VZ_JERK _UxGT("Vz-jerk") +#if IS_KINEMATIC + #define MSG_VA_JERK _UxGT("Va-jerk") + #define MSG_VB_JERK _UxGT("Vb-jerk") + #define MSG_VC_JERK _UxGT("Vc-jerk") +#else + #define MSG_VA_JERK _UxGT("Vx-jerk") + #define MSG_VB_JERK _UxGT("Vy-jerk") + #define MSG_VC_JERK _UxGT("Vz-jerk") +#endif #define MSG_VE_JERK _UxGT("Ve-jerk") #define MSG_VMAX _UxGT(" Vmax ") #define MSG_VMIN _UxGT("Vmin") @@ -103,9 +109,15 @@ #define MSG_A_RETRACT _UxGT("A-retracção") #define MSG_A_TRAVEL _UxGT("A-movimento") #define MSG_STEPS_PER_MM _UxGT("Passo/mm") -#define MSG_XSTEPS _UxGT("X passo/mm") -#define MSG_YSTEPS _UxGT("Y passo/mm") -#define MSG_ZSTEPS _UxGT("Z passo/mm") +#if IS_KINEMATIC + #define MSG_ASTEPS _UxGT("A passo/mm") + #define MSG_BSTEPS _UxGT("B passo/mm") + #define MSG_CSTEPS _UxGT("C passo/mm") +#else + #define MSG_ASTEPS _UxGT("X passo/mm") + #define MSG_BSTEPS _UxGT("Y passo/mm") + #define MSG_CSTEPS _UxGT("Z passo/mm") +#endif #define MSG_ESTEPS _UxGT("E passo/mm") #define MSG_E1STEPS _UxGT("E1 passo/mm") #define MSG_E2STEPS _UxGT("E2 passo/mm") diff --git a/Marlin/language_ru.h b/Marlin/language_ru.h index 27135a38db..c139d82e1d 100644 --- a/Marlin/language_ru.h +++ b/Marlin/language_ru.h @@ -165,9 +165,15 @@ #define MSG_SELECT _UxGT("Выбор") #define MSG_ACC _UxGT("Ускорение") #define MSG_JERK _UxGT("Рывок") -#define MSG_VX_JERK _UxGT("Vx-рывок") -#define MSG_VY_JERK _UxGT("Vy-рывок") -#define MSG_VZ_JERK _UxGT("Vz-рывок") +#if IS_KINEMATIC + #define MSG_VA_JERK _UxGT("Va-рывок") + #define MSG_VB_JERK _UxGT("Vb-рывок") + #define MSG_VC_JERK _UxGT("Vc-рывок") +#else + #define MSG_VA_JERK _UxGT("Vx-рывок") + #define MSG_VB_JERK _UxGT("Vy-рывок") + #define MSG_VC_JERK _UxGT("Vz-рывок") +#endif #define MSG_VE_JERK _UxGT("Ve-рывок") #define MSG_VELOCITY _UxGT("Скорость") #define MSG_VMAX _UxGT("Vмакс ") @@ -178,9 +184,15 @@ #define MSG_A_RETRACT _UxGT("A-втягивание") #define MSG_A_TRAVEL _UxGT("A-путеш.") #define MSG_STEPS_PER_MM _UxGT("Шаг/мм") -#define MSG_XSTEPS _UxGT("X шаг/мм") -#define MSG_YSTEPS _UxGT("Y шаг/мм") -#define MSG_ZSTEPS _UxGT("Z шаг/мм") +#if IS_KINEMATIC + #define MSG_ASTEPS _UxGT("A шаг/мм") + #define MSG_BSTEPS _UxGT("B шаг/мм") + #define MSG_CSTEPS _UxGT("C шаг/мм") +#else + #define MSG_ASTEPS _UxGT("X шаг/мм") + #define MSG_BSTEPS _UxGT("Y шаг/мм") + #define MSG_CSTEPS _UxGT("Z шаг/мм") +#endif #define MSG_ESTEPS _UxGT("E шаг/мм") #define MSG_E1STEPS _UxGT("E1 шаг/мм") #define MSG_E2STEPS _UxGT("E2 шаг/мм") diff --git a/Marlin/language_sk_utf8.h b/Marlin/language_sk_utf8.h index 28a4660b65..f0284c367f 100644 --- a/Marlin/language_sk_utf8.h +++ b/Marlin/language_sk_utf8.h @@ -170,9 +170,15 @@ #define MSG_SELECT _UxGT("Vybrať") #define MSG_ACC _UxGT("Zrýchl") #define MSG_JERK _UxGT("Skok") -#define MSG_VX_JERK _UxGT("Vx-skok") -#define MSG_VY_JERK _UxGT("Vy-skok") -#define MSG_VZ_JERK _UxGT("Vz-skok") +#if IS_KINEMATIC + #define MSG_VA_JERK _UxGT("Va-skok") + #define MSG_VB_JERK _UxGT("Vb-skok") + #define MSG_VC_JERK _UxGT("Vc-skok") +#else + #define MSG_VA_JERK _UxGT("Vx-skok") + #define MSG_VB_JERK _UxGT("Vy-skok") + #define MSG_VC_JERK _UxGT("Vz-skok") +#endif #define MSG_VE_JERK _UxGT("Ve-skok") #define MSG_VELOCITY _UxGT("Rýchlosť") #define MSG_VMAX _UxGT("Vmax ") @@ -183,9 +189,15 @@ #define MSG_A_RETRACT _UxGT("A-retrakt") #define MSG_A_TRAVEL _UxGT("A-prejazd") #define MSG_STEPS_PER_MM _UxGT("Krokov/mm") -#define MSG_XSTEPS _UxGT("Xkrokov/mm") -#define MSG_YSTEPS _UxGT("Ykrokov/mm") -#define MSG_ZSTEPS _UxGT("Zkrokov/mm") +#if IS_KINEMATIC + #define MSG_ASTEPS _UxGT("Akrokov/mm") + #define MSG_BSTEPS _UxGT("Bkrokov/mm") + #define MSG_CSTEPS _UxGT("Ckrokov/mm") +#else + #define MSG_ASTEPS _UxGT("Xkrokov/mm") + #define MSG_BSTEPS _UxGT("Ykrokov/mm") + #define MSG_CSTEPS _UxGT("Zkrokov/mm") +#endif #define MSG_ESTEPS _UxGT("Ekrokov/mm") #define MSG_E1STEPS _UxGT("E1krokov/mm") #define MSG_E2STEPS _UxGT("E2krokov/mm") diff --git a/Marlin/language_tr.h b/Marlin/language_tr.h index b4b0cc37e8..5b4e740918 100644 --- a/Marlin/language_tr.h +++ b/Marlin/language_tr.h @@ -107,9 +107,15 @@ #define MSG_SELECT _UxGT("Seç") // Seç #define MSG_ACC _UxGT("İvme") // İvme #define MSG_JERK _UxGT("Jerk") -#define MSG_VX_JERK _UxGT("Vx-Jerk") // Vx-Jerk -#define MSG_VY_JERK _UxGT("Vy-Jerk") // Vy-Jerk -#define MSG_VZ_JERK _UxGT("Vz-jerk") // Vz-Jerk +#if IS_KINEMATIC + #define MSG_VA_JERK _UxGT("Va-jerk") + #define MSG_VB_JERK _UxGT("Vb-jerk") + #define MSG_VC_JERK _UxGT("Vc-jerk") +#else + #define MSG_VA_JERK _UxGT("Vx-jerk") + #define MSG_VB_JERK _UxGT("Vy-jerk") + #define MSG_VC_JERK _UxGT("Vz-jerk") +#endif #define MSG_VE_JERK _UxGT("Ve-jerk") // Ve-Jerk #define MSG_VMAX _UxGT("Vmax ") // Vmax #define MSG_VMIN _UxGT("Vmin") // Vmin @@ -117,10 +123,16 @@ #define MSG_AMAX _UxGT("Amax ") // Amax #define MSG_A_RETRACT _UxGT("A-retract") // A-retract #define MSG_A_TRAVEL _UxGT("A-travel") // A-travel -#define MSG_STEPS_PER_MM _UxGT("Steps/mm") // Xsteps/mm -#define MSG_XSTEPS _UxGT("Xsteps/mm") // Xsteps/mm -#define MSG_YSTEPS _UxGT("Ysteps/mm") // Ysteps/mm -#define MSG_ZSTEPS _UxGT("Zsteps/mm") // Zsteps/mm +#define MSG_STEPS_PER_MM _UxGT("Steps/mm") // Steps/mm +#if IS_KINEMATIC + #define MSG_ASTEPS _UxGT("Asteps/mm") + #define MSG_BSTEPS _UxGT("Bsteps/mm") + #define MSG_CSTEPS _UxGT("Csteps/mm") +#else + #define MSG_ASTEPS _UxGT("Xsteps/mm") + #define MSG_BSTEPS _UxGT("Ysteps/mm") + #define MSG_CSTEPS _UxGT("Zsteps/mm") +#endif #define MSG_ESTEPS _UxGT("Esteps/mm") // Esteps/mm #define MSG_E1STEPS _UxGT("E1steps/mm") // E1steps/mm #define MSG_E2STEPS _UxGT("E2steps/mm") // E2steps/mm diff --git a/Marlin/language_uk.h b/Marlin/language_uk.h index 8b92709af8..4dac5d0e84 100644 --- a/Marlin/language_uk.h +++ b/Marlin/language_uk.h @@ -96,9 +96,15 @@ #define MSG_SELECT _UxGT("Вибрати") #define MSG_ACC _UxGT("Приск.") #define MSG_JERK _UxGT("Ривок") -#define MSG_VX_JERK _UxGT("Vx-ривок") -#define MSG_VY_JERK _UxGT("Vy-ривок") -#define MSG_VZ_JERK _UxGT("Vz-ривок") +#if IS_KINEMATIC + #define MSG_VA_JERK _UxGT("Va-ривок") + #define MSG_VB_JERK _UxGT("Vb-ривок") + #define MSG_VC_JERK _UxGT("Vc-ривок") +#else + #define MSG_VA_JERK _UxGT("Vx-ривок") + #define MSG_VB_JERK _UxGT("Vy-ривок") + #define MSG_VC_JERK _UxGT("Vz-ривок") +#endif #define MSG_VE_JERK _UxGT("Ve-ривок") #define MSG_VMAX _UxGT("Vмакс") #define MSG_VMIN _UxGT("Vмін") @@ -107,9 +113,15 @@ #define MSG_A_RETRACT _UxGT("A-втягув.") #define MSG_A_TRAVEL _UxGT("A-руху") #define MSG_STEPS_PER_MM _UxGT("Кроків/мм") -#define MSG_XSTEPS _UxGT("Xкроків/мм") -#define MSG_YSTEPS _UxGT("Yкроків/мм") -#define MSG_ZSTEPS _UxGT("Zкроків/мм") +#if IS_KINEMATIC + #define MSG_ASTEPS _UxGT("Aкроків/мм") + #define MSG_BSTEPS _UxGT("Bкроків/мм") + #define MSG_CSTEPS _UxGT("Cкроків/мм") +#else + #define MSG_ASTEPS _UxGT("Xкроків/мм") + #define MSG_BSTEPS _UxGT("Yкроків/мм") + #define MSG_CSTEPS _UxGT("Zкроків/мм") +#endif #define MSG_ESTEPS _UxGT("Eкроків/мм") #define MSG_E1STEPS _UxGT("E1кроків/мм") #define MSG_E2STEPS _UxGT("E2кроків/мм") diff --git a/Marlin/language_zh_CN.h b/Marlin/language_zh_CN.h index 30f4a75cdb..f35ae3faa2 100644 --- a/Marlin/language_zh_CN.h +++ b/Marlin/language_zh_CN.h @@ -93,9 +93,15 @@ #define MSG_SELECT _UxGT("选择") //"Select" #define MSG_ACC _UxGT("加速度") //"Accel" acceleration #define MSG_JERK _UxGT("抖动速率") // "Jerk" -#define MSG_VX_JERK _UxGT("X轴抖动速率") //"Vx-jerk" -#define MSG_VY_JERK _UxGT("Y轴抖动速率") //"Vy-jerk" -#define MSG_VZ_JERK _UxGT("Z轴抖动速率") //"Vz-jerk" +#if IS_KINEMATIC + #define MSG_VA_JERK _UxGT("A轴抖动速率") //"Va-jerk" + #define MSG_VB_JERK _UxGT("B轴抖动速率") //"Vb-jerk" + #define MSG_VC_JERK _UxGT("C轴抖动速率") //"Vc-jerk" +#else + #define MSG_VA_JERK _UxGT("X轴抖动速率") //"Vx-jerk" + #define MSG_VB_JERK _UxGT("Y轴抖动速率") //"Vy-jerk" + #define MSG_VC_JERK _UxGT("Z轴抖动速率") //"Vz-jerk" +#endif #define MSG_VE_JERK _UxGT("挤出机抖动速率") //"Ve-jerk" #define MSG_VMAX _UxGT("最大进料速率") //"Vmax " max_feedrate_mm_s #define MSG_VMIN _UxGT("最小进料速率") //"Vmin" min_feedrate_mm_s @@ -104,9 +110,15 @@ #define MSG_A_RETRACT _UxGT("收进加速度") //"A-retract" retract_acceleration, E acceleration in mm/s^2 for retracts #define MSG_A_TRAVEL _UxGT("非打印移动加速度") //"A-travel" travel_acceleration, X, Y, Z acceleration in mm/s^2 for travel (non printing) moves #define MSG_STEPS_PER_MM _UxGT("轴步数/mm") //"Steps/mm" axis_steps_per_mm, axis steps-per-unit G92 -#define MSG_XSTEPS _UxGT("X轴步数/mm") //"Xsteps/mm" axis_steps_per_mm, axis steps-per-unit G92 -#define MSG_YSTEPS _UxGT("Y轴步数/mm") //"Ysteps/mm" -#define MSG_ZSTEPS _UxGT("Z轴步数/mm") //"Zsteps/mm" +#if IS_KINEMATIC + #define MSG_ASTEPS _UxGT("A轴步数/mm") //"Asteps/mm" + #define MSG_BSTEPS _UxGT("B轴步数/mm") //"Bsteps/mm" + #define MSG_CSTEPS _UxGT("C轴步数/mm") //"Csteps/mm" +#else + #define MSG_ASTEPS _UxGT("X轴步数/mm") //"Xsteps/mm" + #define MSG_BSTEPS _UxGT("Y轴步数/mm") //"Ysteps/mm" + #define MSG_CSTEPS _UxGT("Z轴步数/mm") //"Zsteps/mm" +#endif #define MSG_ESTEPS _UxGT("挤出机步数/mm") //"Esteps/mm" #define MSG_TEMPERATURE _UxGT("温度") //"Temperature" #define MSG_MOTION _UxGT("运动") //"Motion" diff --git a/Marlin/language_zh_TW.h b/Marlin/language_zh_TW.h index 39b0e99444..12682c7b13 100644 --- a/Marlin/language_zh_TW.h +++ b/Marlin/language_zh_TW.h @@ -93,9 +93,15 @@ #define MSG_SELECT _UxGT("選擇") //"Select" #define MSG_ACC _UxGT("加速度") //"Accel" acceleration #define MSG_JERK _UxGT("抖動速率") //"Jerk" -#define MSG_VX_JERK _UxGT("X軸抖動速率") //"Vx-jerk" -#define MSG_VY_JERK _UxGT("Y軸抖動速率") //"Vy-jerk" -#define MSG_VZ_JERK _UxGT("Z軸抖動速率") //"Vz-jerk" +#if IS_KINEMATIC + #define MSG_VA_JERK _UxGT("A軸抖動速率") //"Va-jerk" + #define MSG_VB_JERK _UxGT("B軸抖動速率") //"Vb-jerk" + #define MSG_VC_JERK _UxGT("C軸抖動速率") //"Vc-jerk" +#else + #define MSG_VA_JERK _UxGT("X軸抖動速率") //"Vx-jerk" + #define MSG_VB_JERK _UxGT("Y軸抖動速率") //"Vy-jerk" + #define MSG_VC_JERK _UxGT("Z軸抖動速率") //"Vz-jerk" +#endif #define MSG_VE_JERK _UxGT("擠出機抖動速率") //"Ve-jerk" #define MSG_VMAX _UxGT("最大進料速率") //"Vmax " max_feedrate_mm_s #define MSG_VMIN _UxGT("最小進料速率") //"Vmin" min_feedrate_mm_s @@ -104,9 +110,15 @@ #define MSG_A_RETRACT _UxGT("回縮加速度") //"A-retract" retract_acceleration, E acceleration in mm/s^2 for retracts #define MSG_A_TRAVEL _UxGT("非列印移動加速度") //"A-travel" travel_acceleration, X, Y, Z acceleration in mm/s^2 for travel (non printing) moves #define MSG_STEPS_PER_MM _UxGT("軸步數/mm") //"Steps/mm" axis_steps_per_mm, axis steps-per-unit G92 -#define MSG_XSTEPS _UxGT("X軸步數/mm") //"Xsteps/mm" axis_steps_per_mm, axis steps-per-unit G92 -#define MSG_YSTEPS _UxGT("Y軸步數/mm") //"Ysteps/mm" -#define MSG_ZSTEPS _UxGT("Z軸步數/mm") //"Zsteps/mm" +#if IS_KINEMATIC + #define MSG_ASTEPS _UxGT("A軸步數/mm") //"Asteps/mm" axis_steps_per_mm, axis steps-per-unit G92 + #define MSG_BSTEPS _UxGT("B軸步數/mm") //"Bsteps/mm" + #define MSG_CSTEPS _UxGT("C軸步數/mm") //"Csteps/mm" +#else + #define MSG_ASTEPS _UxGT("X軸步數/mm") //"Xsteps/mm" axis_steps_per_mm, axis steps-per-unit G92 + #define MSG_BSTEPS _UxGT("Y軸步數/mm") //"Ysteps/mm" + #define MSG_CSTEPS _UxGT("Z軸步數/mm") //"Zsteps/mm" +#endif #define MSG_ESTEPS _UxGT("擠出機步數/mm") //"Esteps/mm" #define MSG_TEMPERATURE _UxGT("溫度") //"Temperature" #define MSG_MOTION _UxGT("運作") //"Motion" diff --git a/Marlin/macros.h b/Marlin/macros.h index 10da274db5..450236c69b 100644 --- a/Marlin/macros.h +++ b/Marlin/macros.h @@ -24,6 +24,7 @@ #define MACROS_H #define NUM_AXIS 4 +#define ABCE 4 #define XYZE 4 #define ABC 3 #define XYZ 3 diff --git a/Marlin/planner.cpp b/Marlin/planner.cpp index 7486e3bd56..8b9459903e 100644 --- a/Marlin/planner.cpp +++ b/Marlin/planner.cpp @@ -715,11 +715,11 @@ void Planner::check_axes_activity() { * fr_mm_s - (target) speed of the move * extruder - target extruder */ -void Planner::_buffer_steps(const int32_t (&target)[XYZE], float fr_mm_s, const uint8_t extruder) { +void Planner::_buffer_steps(const int32_t (&target)[ABCE], float fr_mm_s, const uint8_t extruder, const float &millimeters/*=0.0*/) { - const int32_t da = target[X_AXIS] - position[X_AXIS], - db = target[Y_AXIS] - position[Y_AXIS], - dc = target[Z_AXIS] - position[Z_AXIS]; + const int32_t da = target[A_AXIS] - position[A_AXIS], + db = target[B_AXIS] - position[B_AXIS], + dc = target[C_AXIS] - position[C_AXIS]; int32_t de = target[E_AXIS] - position[E_AXIS]; @@ -821,13 +821,13 @@ void Planner::_buffer_steps(const int32_t (&target)[XYZE], float fr_mm_s, const block->steps[C_AXIS] = labs(db - dc); #else // default non-h-bot planning - block->steps[X_AXIS] = labs(da); - block->steps[Y_AXIS] = labs(db); - block->steps[Z_AXIS] = labs(dc); + block->steps[A_AXIS] = labs(da); + block->steps[B_AXIS] = labs(db); + block->steps[C_AXIS] = labs(dc); #endif block->steps[E_AXIS] = esteps; - block->step_event_count = MAX4(block->steps[X_AXIS], block->steps[Y_AXIS], block->steps[Z_AXIS], esteps); + block->step_event_count = MAX4(block->steps[A_AXIS], block->steps[B_AXIS], block->steps[C_AXIS], esteps); // Bail if this is a zero-length block if (block->step_event_count < MIN_STEPS_PER_SEGMENT) return; @@ -1008,17 +1008,17 @@ void Planner::_buffer_steps(const int32_t (&target)[XYZE], float fr_mm_s, const delta_mm[C_AXIS] = CORESIGN(db - dc) * steps_to_mm[C_AXIS]; #endif #else - float delta_mm[XYZE]; - delta_mm[X_AXIS] = da * steps_to_mm[X_AXIS]; - delta_mm[Y_AXIS] = db * steps_to_mm[Y_AXIS]; - delta_mm[Z_AXIS] = dc * steps_to_mm[Z_AXIS]; + float delta_mm[ABCE]; + delta_mm[A_AXIS] = da * steps_to_mm[A_AXIS]; + delta_mm[B_AXIS] = db * steps_to_mm[B_AXIS]; + delta_mm[C_AXIS] = dc * steps_to_mm[C_AXIS]; #endif delta_mm[E_AXIS] = esteps_float * steps_to_mm[E_AXIS_N]; - if (block->steps[X_AXIS] < MIN_STEPS_PER_SEGMENT && block->steps[Y_AXIS] < MIN_STEPS_PER_SEGMENT && block->steps[Z_AXIS] < MIN_STEPS_PER_SEGMENT) { + if (block->steps[A_AXIS] < MIN_STEPS_PER_SEGMENT && block->steps[B_AXIS] < MIN_STEPS_PER_SEGMENT && block->steps[C_AXIS] < MIN_STEPS_PER_SEGMENT) { block->millimeters = FABS(delta_mm[E_AXIS]); } - else { + else if (!millimeters) { block->millimeters = SQRT( #if CORE_IS_XY sq(delta_mm[X_HEAD]) + sq(delta_mm[Y_HEAD]) + sq(delta_mm[Z_AXIS]) @@ -1031,6 +1031,9 @@ void Planner::_buffer_steps(const int32_t (&target)[XYZE], float fr_mm_s, const #endif ); } + else + block->millimeters = millimeters; + const float inverse_millimeters = 1.0 / block->millimeters; // Inverse millimeters to remove multiple divides // Calculate inverse time for this move. No divide by zero due to previous checks. @@ -1159,7 +1162,7 @@ void Planner::_buffer_steps(const int32_t (&target)[XYZE], float fr_mm_s, const // Compute and limit the acceleration rate for the trapezoid generator. const float steps_per_mm = block->step_event_count * inverse_millimeters; uint32_t accel; - if (!block->steps[X_AXIS] && !block->steps[Y_AXIS] && !block->steps[Z_AXIS]) { + if (!block->steps[A_AXIS] && !block->steps[B_AXIS] && !block->steps[C_AXIS]) { // convert to: acceleration steps/sec^2 accel = CEIL(retract_acceleration * steps_per_mm); } @@ -1189,15 +1192,15 @@ void Planner::_buffer_steps(const int32_t (&target)[XYZE], float fr_mm_s, const // Limit acceleration per axis if (block->step_event_count <= cutoff_long) { - LIMIT_ACCEL_LONG(X_AXIS, 0); - LIMIT_ACCEL_LONG(Y_AXIS, 0); - LIMIT_ACCEL_LONG(Z_AXIS, 0); + LIMIT_ACCEL_LONG(A_AXIS, 0); + LIMIT_ACCEL_LONG(B_AXIS, 0); + LIMIT_ACCEL_LONG(C_AXIS, 0); LIMIT_ACCEL_LONG(E_AXIS, ACCEL_IDX); } else { - LIMIT_ACCEL_FLOAT(X_AXIS, 0); - LIMIT_ACCEL_FLOAT(Y_AXIS, 0); - LIMIT_ACCEL_FLOAT(Z_AXIS, 0); + LIMIT_ACCEL_FLOAT(A_AXIS, 0); + LIMIT_ACCEL_FLOAT(B_AXIS, 0); + LIMIT_ACCEL_FLOAT(C_AXIS, 0); LIMIT_ACCEL_FLOAT(E_AXIS, ACCEL_IDX); } } @@ -1214,9 +1217,9 @@ void Planner::_buffer_steps(const int32_t (&target)[XYZE], float fr_mm_s, const // Compute path unit vector double unit_vec[XYZ] = { - delta_mm[X_AXIS] * inverse_millimeters, - delta_mm[Y_AXIS] * inverse_millimeters, - delta_mm[Z_AXIS] * inverse_millimeters + delta_mm[A_AXIS] * inverse_millimeters, + delta_mm[B_AXIS] * inverse_millimeters, + delta_mm[C_AXIS] * inverse_millimeters }; /* @@ -1406,11 +1409,12 @@ void Planner::_buffer_steps(const int32_t (&target)[XYZE], float fr_mm_s, const * * Leveling and kinematics should be applied ahead of calling this. * - * a,b,c,e - target positions in mm and/or degrees - * fr_mm_s - (target) speed of the move - * extruder - target extruder + * a,b,c,e - target positions in mm and/or degrees + * fr_mm_s - (target) speed of the move + * extruder - target extruder + * millimeters - the length of the movement, if known */ -void Planner::buffer_segment(const float &a, const float &b, const float &c, const float &e, const float &fr_mm_s, const uint8_t extruder) { +void Planner::buffer_segment(const float &a, const float &b, const float &c, const float &e, const float &fr_mm_s, const uint8_t extruder, const float &millimeters/*=0.0*/) { // When changing extruders recalculate steps corresponding to the E position #if ENABLED(DISTINCT_E_FACTORS) if (last_extruder != extruder && axis_steps_per_mm[E_AXIS_N] != axis_steps_per_mm[E_AXIS + last_extruder]) { @@ -1421,10 +1425,10 @@ void Planner::buffer_segment(const float &a, const float &b, const float &c, con // The target position of the tool in absolute steps // Calculate target position in absolute steps - const int32_t target[XYZE] = { - LROUND(a * axis_steps_per_mm[X_AXIS]), - LROUND(b * axis_steps_per_mm[Y_AXIS]), - LROUND(c * axis_steps_per_mm[Z_AXIS]), + const int32_t target[ABCE] = { + LROUND(a * axis_steps_per_mm[A_AXIS]), + LROUND(b * axis_steps_per_mm[B_AXIS]), + LROUND(c * axis_steps_per_mm[C_AXIS]), LROUND(e * axis_steps_per_mm[E_AXIS_N]) }; @@ -1502,7 +1506,7 @@ void Planner::buffer_segment(const float &a, const float &b, const float &c, con if (!blocks_queued()) { #define _BETWEEN(A) (position[A##_AXIS] + target[A##_AXIS]) >> 1 - const int32_t between[XYZE] = { _BETWEEN(X), _BETWEEN(Y), _BETWEEN(Z), _BETWEEN(E) }; + const int32_t between[ABCE] = { _BETWEEN(A), _BETWEEN(B), _BETWEEN(C), _BETWEEN(E) }; DISABLE_STEPPER_DRIVER_INTERRUPT(); #if ENABLED(LIN_ADVANCE) @@ -1510,7 +1514,7 @@ void Planner::buffer_segment(const float &a, const float &b, const float &c, con lin_dist_e *= 0.5; #endif - _buffer_steps(between, fr_mm_s, extruder); + _buffer_steps(between, fr_mm_s, extruder, millimeters * 0.5); #if ENABLED(LIN_ADVANCE) position_float[X_AXIS] = (position_float[X_AXIS] + a) * 0.5; @@ -1520,12 +1524,12 @@ void Planner::buffer_segment(const float &a, const float &b, const float &c, con #endif const uint8_t next = block_buffer_head; - _buffer_steps(target, fr_mm_s, extruder); + _buffer_steps(target, fr_mm_s, extruder, millimeters * 0.5); SBI(block_buffer[next].flag, BLOCK_BIT_CONTINUED); ENABLE_STEPPER_DRIVER_INTERRUPT(); } else - _buffer_steps(target, fr_mm_s, extruder); + _buffer_steps(target, fr_mm_s, extruder, millimeters); stepper.wake_up(); @@ -1551,9 +1555,9 @@ void Planner::_set_position_mm(const float &a, const float &b, const float &c, c #else #define _EINDEX E_AXIS #endif - const int32_t na = position[X_AXIS] = LROUND(a * axis_steps_per_mm[X_AXIS]), - nb = position[Y_AXIS] = LROUND(b * axis_steps_per_mm[Y_AXIS]), - nc = position[Z_AXIS] = LROUND(c * axis_steps_per_mm[Z_AXIS]), + const int32_t na = position[A_AXIS] = LROUND(a * axis_steps_per_mm[A_AXIS]), + nb = position[B_AXIS] = LROUND(b * axis_steps_per_mm[B_AXIS]), + nc = position[C_AXIS] = LROUND(c * axis_steps_per_mm[C_AXIS]), ne = position[E_AXIS] = LROUND(e * axis_steps_per_mm[_EINDEX]); #if ENABLED(LIN_ADVANCE) position_float[X_AXIS] = a; diff --git a/Marlin/planner.h b/Marlin/planner.h index 9a16cb0f8a..678a5325c2 100644 --- a/Marlin/planner.h +++ b/Marlin/planner.h @@ -412,8 +412,9 @@ class Planner { * target - target position in steps units * fr_mm_s - (target) speed of the move * extruder - target extruder + * millimeters - the length of the movement, if known */ - static void _buffer_steps(const int32_t (&target)[XYZE], float fr_mm_s, const uint8_t extruder); + static void _buffer_steps(const int32_t (&target)[XYZE], float fr_mm_s, const uint8_t extruder, const float &millimeters=0.0); /** * Planner::buffer_segment @@ -422,11 +423,12 @@ class Planner { * * Leveling and kinematics should be applied ahead of calling this. * - * a,b,c,e - target positions in mm and/or degrees - * fr_mm_s - (target) speed of the move - * extruder - target extruder + * a,b,c,e - target positions in mm and/or degrees + * fr_mm_s - (target) speed of the move + * extruder - target extruder + * millimeters - the length of the movement, if known */ - static void buffer_segment(const float &a, const float &b, const float &c, const float &e, const float &fr_mm_s, const uint8_t extruder); + static void buffer_segment(const float &a, const float &b, const float &c, const float &e, const float &fr_mm_s, const uint8_t extruder, const float &millimeters=0.0); static void _set_position_mm(const float &a, const float &b, const float &c, const float &e); @@ -441,12 +443,13 @@ class Planner { * rx,ry,rz,e - target position in mm or degrees * fr_mm_s - (target) speed of the move (mm/s) * extruder - target extruder + * millimeters - the length of the movement, if known */ - FORCE_INLINE static void buffer_line(ARG_X, ARG_Y, ARG_Z, const float &e, const float &fr_mm_s, const uint8_t extruder) { + FORCE_INLINE static void buffer_line(ARG_X, ARG_Y, ARG_Z, const float &e, const float &fr_mm_s, const uint8_t extruder, const float millimeters = 0.0) { #if PLANNER_LEVELING && IS_CARTESIAN apply_leveling(rx, ry, rz); #endif - buffer_segment(rx, ry, rz, e, fr_mm_s, extruder); + buffer_segment(rx, ry, rz, e, fr_mm_s, extruder, millimeters); } /** @@ -454,11 +457,12 @@ class Planner { * The target is cartesian, it's translated to delta/scara if * needed. * - * cart - x,y,z,e CARTESIAN target in mm - * fr_mm_s - (target) speed of the move (mm/s) - * extruder - target extruder + * cart - x,y,z,e CARTESIAN target in mm + * fr_mm_s - (target) speed of the move (mm/s) + * extruder - target extruder + * millimeters - the length of the movement, if known */ - FORCE_INLINE static void buffer_line_kinematic(const float (&cart)[XYZE], const float &fr_mm_s, const uint8_t extruder) { + FORCE_INLINE static void buffer_line_kinematic(const float (&cart)[XYZE], const float &fr_mm_s, const uint8_t extruder, const float millimeters = 0.0) { #if PLANNER_LEVELING float raw[XYZ] = { cart[X_AXIS], cart[Y_AXIS], cart[Z_AXIS] }; apply_leveling(raw); @@ -467,9 +471,9 @@ class Planner { #endif #if IS_KINEMATIC inverse_kinematics(raw); - buffer_segment(delta[A_AXIS], delta[B_AXIS], delta[C_AXIS], cart[E_AXIS], fr_mm_s, extruder); + buffer_segment(delta[A_AXIS], delta[B_AXIS], delta[C_AXIS], cart[E_AXIS], fr_mm_s, extruder, millimeters); #else - buffer_segment(raw[X_AXIS], raw[Y_AXIS], raw[Z_AXIS], cart[E_AXIS], fr_mm_s, extruder); + buffer_segment(raw[X_AXIS], raw[Y_AXIS], raw[Z_AXIS], cart[E_AXIS], fr_mm_s, extruder, millimeters); #endif } diff --git a/Marlin/ultralcd.cpp b/Marlin/ultralcd.cpp index 9d8ae529f0..b737f1b9de 100644 --- a/Marlin/ultralcd.cpp +++ b/Marlin/ultralcd.cpp @@ -3501,9 +3501,9 @@ void kill_screen(const char* lcd_msg) { MENU_BACK(MSG_MOTION); // M203 Max Feedrate - MENU_ITEM_EDIT(float3, MSG_VMAX MSG_X, &planner.max_feedrate_mm_s[X_AXIS], 1, 999); - MENU_ITEM_EDIT(float3, MSG_VMAX MSG_Y, &planner.max_feedrate_mm_s[Y_AXIS], 1, 999); - MENU_ITEM_EDIT(float3, MSG_VMAX MSG_Z, &planner.max_feedrate_mm_s[Z_AXIS], 1, 999); + MENU_ITEM_EDIT(float3, MSG_VMAX MSG_A, &planner.max_feedrate_mm_s[A_AXIS], 1, 999); + MENU_ITEM_EDIT(float3, MSG_VMAX MSG_B, &planner.max_feedrate_mm_s[B_AXIS], 1, 999); + MENU_ITEM_EDIT(float3, MSG_VMAX MSG_C, &planner.max_feedrate_mm_s[C_AXIS], 1, 999); #if ENABLED(DISTINCT_E_FACTORS) MENU_ITEM_EDIT(float3, MSG_VMAX MSG_E, &planner.max_feedrate_mm_s[E_AXIS + active_extruder], 1, 999); @@ -3546,9 +3546,9 @@ void kill_screen(const char* lcd_msg) { MENU_ITEM_EDIT(float5, MSG_A_TRAVEL, &planner.travel_acceleration, 100, 99000); // M201 settings - MENU_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_X, &planner.max_acceleration_mm_per_s2[X_AXIS], 100, 99000, _reset_acceleration_rates); - MENU_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_Y, &planner.max_acceleration_mm_per_s2[Y_AXIS], 100, 99000, _reset_acceleration_rates); - MENU_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_Z, &planner.max_acceleration_mm_per_s2[Z_AXIS], 10, 99000, _reset_acceleration_rates); + MENU_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_A, &planner.max_acceleration_mm_per_s2[A_AXIS], 100, 99000, _reset_acceleration_rates); + MENU_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_B, &planner.max_acceleration_mm_per_s2[B_AXIS], 100, 99000, _reset_acceleration_rates); + MENU_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_C, &planner.max_acceleration_mm_per_s2[C_AXIS], 10, 99000, _reset_acceleration_rates); #if ENABLED(DISTINCT_E_FACTORS) MENU_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_E, &planner.max_acceleration_mm_per_s2[E_AXIS + active_extruder], 100, 99000, _reset_acceleration_rates); @@ -3575,12 +3575,12 @@ void kill_screen(const char* lcd_msg) { START_MENU(); MENU_BACK(MSG_MOTION); - MENU_ITEM_EDIT(float3, MSG_VX_JERK, &planner.max_jerk[X_AXIS], 1, 990); - MENU_ITEM_EDIT(float3, MSG_VY_JERK, &planner.max_jerk[Y_AXIS], 1, 990); + MENU_ITEM_EDIT(float3, MSG_VA_JERK, &planner.max_jerk[A_AXIS], 1, 990); + MENU_ITEM_EDIT(float3, MSG_VB_JERK, &planner.max_jerk[B_AXIS], 1, 990); #if ENABLED(DELTA) - MENU_ITEM_EDIT(float3, MSG_VZ_JERK, &planner.max_jerk[Z_AXIS], 1, 990); + MENU_ITEM_EDIT(float3, MSG_VC_JERK, &planner.max_jerk[C_AXIS], 1, 990); #else - MENU_ITEM_EDIT(float52, MSG_VZ_JERK, &planner.max_jerk[Z_AXIS], 0.1, 990); + MENU_ITEM_EDIT(float52, MSG_VC_JERK, &planner.max_jerk[C_AXIS], 0.1, 990); #endif MENU_ITEM_EDIT(float3, MSG_VE_JERK, &planner.max_jerk[E_AXIS], 1, 990); @@ -3592,9 +3592,9 @@ void kill_screen(const char* lcd_msg) { START_MENU(); MENU_BACK(MSG_MOTION); - MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_XSTEPS, &planner.axis_steps_per_mm[X_AXIS], 5, 9999, _planner_refresh_positioning); - MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_YSTEPS, &planner.axis_steps_per_mm[Y_AXIS], 5, 9999, _planner_refresh_positioning); - MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_ZSTEPS, &planner.axis_steps_per_mm[Z_AXIS], 5, 9999, _planner_refresh_positioning); + MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_ASTEPS, &planner.axis_steps_per_mm[A_AXIS], 5, 9999, _planner_refresh_positioning); + MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_BSTEPS, &planner.axis_steps_per_mm[B_AXIS], 5, 9999, _planner_refresh_positioning); + MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_CSTEPS, &planner.axis_steps_per_mm[C_AXIS], 5, 9999, _planner_refresh_positioning); #if ENABLED(DISTINCT_E_FACTORS) MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_ESTEPS, &planner.axis_steps_per_mm[E_AXIS + active_extruder], 5, 9999, _planner_refresh_positioning);