Merge pull request #9448 from tcm0116/1.1.x-kinematic

[1.1.x] Apply feedrate to nozzle movement for kinematic machines
This commit is contained in:
Scott Lahteine 2018-02-03 23:00:00 -06:00 committed by GitHub
commit 9c3a562208
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
41 changed files with 785 additions and 402 deletions

View File

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

View File

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

View File

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

View File

@ -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")

View File

@ -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")

View File

@ -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")

View File

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

View File

@ -149,15 +149,15 @@
#define MSG_LEDS_ON _UxGT("Svetla Zap")
#define MSG_LEDS_OFF _UxGT("Svetla Vyp")
#define MSG_LED_PRESETS _UxGT("Svetla Predvolby")
#define MSG_SET_LEDS_RED _UxGT("Svetla Cervena")
#define MSG_SET_LEDS_ORANGE _UxGT("Svetla Oranzova")
#define MSG_SET_LEDS_YELLOW _UxGT("Svetla Zluta")
#define MSG_SET_LEDS_GREEN _UxGT("Svetla Zelena")
#define MSG_SET_LEDS_BLUE _UxGT("Svetla Modra")
#define MSG_SET_LEDS_INDIGO _UxGT("Svetla Indigo")
#define MSG_SET_LEDS_VIOLET _UxGT("Svetla Fialova")
#define MSG_SET_LEDS_WHITE _UxGT("Svetla Bila")
#define MSG_SET_LEDS_DEFAULT _UxGT("Svetla Vychozi")
#define MSG_SET_LEDS_RED _UxGT("Cervena")
#define MSG_SET_LEDS_ORANGE _UxGT("Oranzova")
#define MSG_SET_LEDS_YELLOW _UxGT("Zluta")
#define MSG_SET_LEDS_GREEN _UxGT("Zelena")
#define MSG_SET_LEDS_BLUE _UxGT("Modra")
#define MSG_SET_LEDS_INDIGO _UxGT("Indigo")
#define MSG_SET_LEDS_VIOLET _UxGT("Fialova")
#define MSG_SET_LEDS_WHITE _UxGT("Bila")
#define MSG_SET_LEDS_DEFAULT _UxGT("Vychozi")
#define MSG_CUSTOM_LEDS _UxGT("Vlastni svetla")
#define MSG_INTENSITY_R _UxGT("Cervena intenzita")
#define MSG_INTENSITY_G _UxGT("Zelena intezita")
@ -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")

View File

@ -151,15 +151,15 @@
#define MSG_LEDS_ON _UxGT("Světla Zap")
#define MSG_LEDS_OFF _UxGT("Světla Vyp")
#define MSG_LED_PRESETS _UxGT("Světla Předvolby")
#define MSG_SET_LEDS_RED _UxGT("Světla Červená")
#define MSG_SET_LEDS_ORANGE _UxGT("Světla Oranžová")
#define MSG_SET_LEDS_YELLOW _UxGT("Světla Žlutá")
#define MSG_SET_LEDS_GREEN _UxGT("Světla Zelená")
#define MSG_SET_LEDS_BLUE _UxGT("Světla Modrá")
#define MSG_SET_LEDS_INDIGO _UxGT("Světla Indigo")
#define MSG_SET_LEDS_VIOLET _UxGT("Světla Fialová")
#define MSG_SET_LEDS_WHITE _UxGT("Světla Bílá")
#define MSG_SET_LEDS_DEFAULT _UxGT("Světla Výchozí")
#define MSG_SET_LEDS_RED _UxGT("Červená")
#define MSG_SET_LEDS_ORANGE _UxGT("Oranžová")
#define MSG_SET_LEDS_YELLOW _UxGT("Žlutá")
#define MSG_SET_LEDS_GREEN _UxGT("Zelená")
#define MSG_SET_LEDS_BLUE _UxGT("Modrá")
#define MSG_SET_LEDS_INDIGO _UxGT("Indigo")
#define MSG_SET_LEDS_VIOLET _UxGT("Fialová")
#define MSG_SET_LEDS_WHITE _UxGT("Bílá")
#define MSG_SET_LEDS_DEFAULT _UxGT("Výchozí")
#define MSG_CUSTOM_LEDS _UxGT("Vlastní světla")
#define MSG_INTENSITY_R _UxGT("Červená intenzita")
#define MSG_INTENSITY_G _UxGT("Zelená intezita")
@ -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")

View File

@ -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")

View File

@ -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")

View File

@ -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 ανά μμ")

View File

@ -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 ανά μμ")
@ -168,7 +180,6 @@
#define MSG_ERR_MAXTEMP_BED _UxGT("ΜΕΓΙΣΤΗ ΘΕΡΜΟΚΡΑΣΙΑΣ ΕΠ. ΕΚΤΥΠΩΣΗΣ") //SHORTEN
#define MSG_ERR_MINTEMP_BED _UxGT("ΕΛΑΧΙΣΤΗ ΘΕΡΜΟΚΡΑΣΙΑΣ ΕΠ. ΕΚΤΥΠΩΣΗΣ") //SHORTEN
#define MSG_HALTED _UxGT("H εκτύπωση διακόπηκε")
#define MSG_PLEASE_RESET _UxGT("PLEASE RESET") //TRANSLATE
#define MSG_HEATING _UxGT("Θερμαίνεται…")
#define MSG_HEATING_COMPLETE _UxGT("Η θέρμανση ολοκληρώθηκε.") //SHORTEN
#define MSG_BED_HEATING _UxGT("Θέρμανση ΕΠ. Εκτύπωσης") //SHORTEN
@ -179,53 +190,4 @@
#define MSG_DELTA_CALIBRATE_Z _UxGT("Βαθμονόμηση Z")
#define MSG_DELTA_CALIBRATE_CENTER _UxGT("Βαθμονόμηση κέντρου")
#define MSG_INFO_MENU _UxGT("About Printer")
#define MSG_INFO_PRINTER_MENU _UxGT("Printer Info")
#define MSG_INFO_STATS_MENU _UxGT("Printer Stats")
#define MSG_INFO_BOARD_MENU _UxGT("Board Info")
#define MSG_INFO_THERMISTOR_MENU _UxGT("Thermistors")
#define MSG_INFO_EXTRUDERS _UxGT("Extruders")
#define MSG_INFO_BAUDRATE _UxGT("Baud")
#define MSG_INFO_PROTOCOL _UxGT("Protocol")
#if LCD_WIDTH >= 20
#define MSG_INFO_PRINT_COUNT _UxGT("Print Count")
#define MSG_INFO_COMPLETED_PRINTS _UxGT("Completed ")
#define MSG_INFO_PRINT_TIME _UxGT("Total Time ")
#else
#define MSG_INFO_PRINT_COUNT _UxGT("Prints ")
#define MSG_INFO_COMPLETED_PRINTS _UxGT("Completed")
#define MSG_INFO_PRINT_TIME _UxGT("Duration ")
#endif
#define MSG_INFO_MIN_TEMP _UxGT("Min Temp")
#define MSG_INFO_MAX_TEMP _UxGT("Max Temp")
#define MSG_INFO_PSU _UxGT("PSU")
#define MSG_FILAMENT_CHANGE_HEADER_PAUSE _UxGT("CHANGE FILAMENT")
#define MSG_FILAMENT_CHANGE_OPTION_PURGE _UxGT("Purge more")
#define MSG_FILAMENT_CHANGE_OPTION_RESUME _UxGT("Resume print")
#if LCD_HEIGHT >= 4
// Up to 3 lines allowed
#define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Wait for start")
#define MSG_FILAMENT_CHANGE_INIT_2 _UxGT("of the filament")
#define MSG_FILAMENT_CHANGE_INIT_3 _UxGT("change")
#define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Wait for")
#define MSG_FILAMENT_CHANGE_UNLOAD_2 _UxGT("filament unload")
#define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Insert filament")
#define MSG_FILAMENT_CHANGE_INSERT_2 _UxGT("and press button")
#define MSG_FILAMENT_CHANGE_INSERT_3 _UxGT("to continue...")
#define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Wait for")
#define MSG_FILAMENT_CHANGE_LOAD_2 _UxGT("filament load")
#define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Wait for print")
#define MSG_FILAMENT_CHANGE_RESUME_2 _UxGT("to resume")
#else // LCD_HEIGHT < 4
// Up to 2 lines allowed
#define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Please wait...")
#define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Ejecting...")
#define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Insert and Click")
#define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Loading...")
#define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Resuming...")
#endif
#endif // LANGUAGE_EL_H

View File

@ -174,7 +174,6 @@
#ifndef MSG_USER_MENU
#define MSG_USER_MENU _UxGT("Custom Commands")
#endif
#ifndef MSG_UBL_DOING_G29
#define MSG_UBL_DOING_G29 _UxGT("Doing G29")
#endif
@ -375,31 +374,31 @@
#define MSG_LED_PRESETS _UxGT("Light Presets")
#endif
#ifndef MSG_SET_LEDS_RED
#define MSG_SET_LEDS_RED _UxGT("Lights Red")
#define MSG_SET_LEDS_RED _UxGT("Red")
#endif
#ifndef MSG_SET_LEDS_ORANGE
#define MSG_SET_LEDS_ORANGE _UxGT("Lights Orange")
#define MSG_SET_LEDS_ORANGE _UxGT("Orange")
#endif
#ifndef MSG_SET_LEDS_YELLOW
#define MSG_SET_LEDS_YELLOW _UxGT("Lights Yellow")
#define MSG_SET_LEDS_YELLOW _UxGT("Yellow")
#endif
#ifndef MSG_SET_LEDS_GREEN
#define MSG_SET_LEDS_GREEN _UxGT("Lights Green")
#define MSG_SET_LEDS_GREEN _UxGT("Green")
#endif
#ifndef MSG_SET_LEDS_BLUE
#define MSG_SET_LEDS_BLUE _UxGT("Lights Blue")
#define MSG_SET_LEDS_BLUE _UxGT("Blue")
#endif
#ifndef MSG_SET_LEDS_INDIGO
#define MSG_SET_LEDS_INDIGO _UxGT("Lights Indigo")
#define MSG_SET_LEDS_INDIGO _UxGT("Indigo")
#endif
#ifndef MSG_SET_LEDS_VIOLET
#define MSG_SET_LEDS_VIOLET _UxGT("Lights Violet")
#define MSG_SET_LEDS_VIOLET _UxGT("Violet")
#endif
#ifndef MSG_SET_LEDS_WHITE
#define MSG_SET_LEDS_WHITE _UxGT("Lights White")
#define MSG_SET_LEDS_WHITE _UxGT("White")
#endif
#ifndef MSG_SET_LEDS_DEFAULT
#define MSG_SET_LEDS_DEFAULT _UxGT("Lights Default")
#define MSG_SET_LEDS_DEFAULT _UxGT("Default")
#endif
#ifndef MSG_CUSTOM_LEDS
#define MSG_CUSTOM_LEDS _UxGT("Custom Lights")
@ -510,14 +509,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 +560,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")
@ -915,7 +938,6 @@
#define MSG_INFO_PRINT_FILAMENT _UxGT("Extruded")
#endif
#endif
#ifndef MSG_INFO_MIN_TEMP
#define MSG_INFO_MIN_TEMP _UxGT("Min Temp")
#endif

View File

@ -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")

View File

@ -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")

View File

@ -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")

View File

@ -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")

View File

@ -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")

View File

@ -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")

View File

@ -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")

View File

@ -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")

View File

@ -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")

View File

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

View File

@ -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")

View File

@ -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")

View File

@ -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")

View File

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

View File

@ -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")

View File

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

View File

@ -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")

View File

@ -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 шаг/мм")

View File

@ -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")

View File

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

View File

@ -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кроків/мм")

View File

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

View File

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

View File

@ -24,6 +24,7 @@
#define MACROS_H
#define NUM_AXIS 4
#define ABCE 4
#define XYZE 4
#define ABC 3
#define XYZ 3

View File

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

View File

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

View File

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