Merge pull request #6876 from thinkyhead/bf_extend_leveling_menu

Extend the ABL/MBL Bed Leveling menu
master
Scott Lahteine 8 years ago committed by GitHub
commit d013bddfa8

@ -310,7 +310,6 @@ extern float soft_endstop_min[XYZ], soft_endstop_max[XYZ];
extern float bilinear_grid_factor[2],
z_values[GRID_MAX_POINTS_X][GRID_MAX_POINTS_Y];
float bilinear_z_offset(const float logical[XYZ]);
void set_bed_leveling_enabled(bool enable=true);
#endif
#if ENABLED(AUTO_BED_LEVELING_UBL)
@ -319,6 +318,9 @@ extern float soft_endstop_min[XYZ], soft_endstop_max[XYZ];
#endif
#if HAS_LEVELING
bool leveling_is_valid();
bool leveling_is_active();
void set_bed_leveling_enabled(const bool enable=true);
void reset_bed_level();
#endif

@ -815,7 +815,7 @@ static bool drain_injected_commands_P() {
* Aborts the current queue, if any.
* Note: drain_injected_commands_P() must be called repeatedly to drain the commands afterwards
*/
void enqueue_and_echo_commands_P(const char* pgcode) {
void enqueue_and_echo_commands_P(const char * const pgcode) {
injected_commands_P = pgcode;
drain_injected_commands_P(); // first command executed asap (when possible)
}
@ -2300,6 +2300,33 @@ static void clean_up_after_endstop_or_probe_move() {
#endif // HAS_BED_PROBE
#if HAS_LEVELING
bool leveling_is_valid() {
return
#if ENABLED(MESH_BED_LEVELING)
mbl.has_mesh()
#elif ENABLED(AUTO_BED_LEVELING_BILINEAR)
!!bilinear_grid_spacing[X_AXIS]
#elif ENABLED(AUTO_BED_LEVELING_UBL)
true
#else // 3POINT, LINEAR
true
#endif
;
}
bool leveling_is_active() {
return
#if ENABLED(MESH_BED_LEVELING)
mbl.active()
#elif ENABLED(AUTO_BED_LEVELING_UBL)
ubl.state.active
#else
planner.abl_enabled
#endif
;
}
/**
* Turn bed leveling on or off, fixing the current
* position as-needed.
@ -2307,41 +2334,39 @@ static void clean_up_after_endstop_or_probe_move() {
* Disable: Current position = physical position
* Enable: Current position = "unleveled" physical position
*/
void set_bed_leveling_enabled(bool enable/*=true*/) {
#if ENABLED(MESH_BED_LEVELING)
void set_bed_leveling_enabled(const bool enable/*=true*/) {
if (enable != mbl.active()) {
#if ENABLED(AUTO_BED_LEVELING_BILINEAR)
const bool can_change = (!enable || leveling_is_valid());
#else
constexpr bool can_change = true;
#endif
if (can_change && enable != leveling_is_active()) {
#if ENABLED(MESH_BED_LEVELING)
if (!enable)
planner.apply_leveling(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS]);
mbl.set_active(enable && mbl.has_mesh());
if (enable && mbl.has_mesh()) planner.unapply_leveling(current_position);
}
const bool enabling = enable && leveling_is_valid();
mbl.set_active(enabling);
if (enabling) planner.unapply_leveling(current_position);
#elif ENABLED(AUTO_BED_LEVELING_UBL)
#if PLANNER_LEVELING
if (ubl.state.active != enable) {
if (!enable) // leveling from on to off
planner.apply_leveling(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS]);
else
planner.unapply_leveling(current_position);
}
#endif
ubl.state.active = enable;
#else
#if ENABLED(AUTO_BED_LEVELING_BILINEAR)
const bool can_change = (!enable || (bilinear_grid_spacing[0] && bilinear_grid_spacing[1]));
#else
constexpr bool can_change = true;
#endif
if (can_change && enable != planner.abl_enabled) {
#else // ABL
#if ENABLED(AUTO_BED_LEVELING_BILINEAR)
// Force bilinear_z_offset to re-calculate next time
@ -2360,9 +2385,10 @@ static void clean_up_after_endstop_or_probe_move() {
);
else
planner.unapply_leveling(current_position);
}
#endif
}
}
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
@ -2370,13 +2396,7 @@ static void clean_up_after_endstop_or_probe_move() {
planner.z_fade_height = zfh;
planner.inverse_z_fade_height = RECIPROCAL(zfh);
if (
#if ENABLED(MESH_BED_LEVELING)
mbl.active()
#else
planner.abl_enabled
#endif
) {
if (leveling_is_active())
set_current_from_steppers_for_axis(
#if ABL_PLANAR
ALL_AXES
@ -2385,7 +2405,6 @@ static void clean_up_after_endstop_or_probe_move() {
#endif
);
}
}
#endif // LEVELING_FADE_HEIGHT
@ -2395,7 +2414,7 @@ static void clean_up_after_endstop_or_probe_move() {
void reset_bed_level() {
set_bed_leveling_enabled(false);
#if ENABLED(MESH_BED_LEVELING)
if (mbl.has_mesh()) {
if (leveling_is_valid()) {
mbl.reset();
mbl.set_has_mesh(false);
}
@ -3435,7 +3454,7 @@ inline void gcode_G4() {
#elif ENABLED(AUTO_BED_LEVELING_UBL)
SERIAL_ECHOPGM("UBL");
#endif
if (planner.abl_enabled) {
if (leveling_is_active()) {
SERIAL_ECHOLNPGM(" (enabled)");
#if ABL_PLANAR
float diff[XYZ] = {
@ -3466,7 +3485,7 @@ inline void gcode_G4() {
#elif ENABLED(MESH_BED_LEVELING)
SERIAL_ECHOPGM("Mesh Bed Leveling");
if (mbl.active()) {
if (leveling_is_active()) {
float lz = current_position[Z_AXIS];
planner.apply_leveling(current_position[X_AXIS], current_position[Y_AXIS], lz);
SERIAL_ECHOLNPGM(" (enabled)");
@ -3622,7 +3641,7 @@ inline void gcode_G28(const bool always_home_all) {
// Disable the leveling matrix before homing
#if HAS_LEVELING
#if ENABLED(AUTO_BED_LEVELING_UBL)
const bool ubl_state_at_entry = ubl.state.active;
const bool ubl_state_at_entry = leveling_is_active();
#endif
set_bed_leveling_enabled(false);
#endif
@ -3898,8 +3917,8 @@ void home_all_axes() { gcode_G28(true); }
switch (state) {
case MeshReport:
if (mbl.has_mesh()) {
SERIAL_PROTOCOLLNPAIR("State: ", mbl.active() ? MSG_ON : MSG_OFF);
if (leveling_is_valid()) {
SERIAL_PROTOCOLLNPAIR("State: ", leveling_is_active() ? MSG_ON : MSG_OFF);
mbl_mesh_report();
}
else
@ -4201,12 +4220,12 @@ void home_all_axes() { gcode_G28(true); }
abl_probe_index = -1;
#endif
abl_should_enable = planner.abl_enabled;
abl_should_enable = leveling_is_active();
#if ENABLED(AUTO_BED_LEVELING_BILINEAR)
if (parser.seen('W')) {
if (!bilinear_grid_spacing[X_AXIS]) {
if (!leveling_is_valid()) {
SERIAL_ERROR_START;
SERIAL_ERRORLNPGM("No bilinear grid");
return;
@ -4518,7 +4537,6 @@ void home_all_axes() { gcode_G28(true); }
// Leveling done! Fall through to G29 finishing code below
SERIAL_PROTOCOLLNPGM("Grid probing done.");
g29_in_progress = false;
// Re-enable software endstops, if needed
#if HAS_SOFTWARE_ENDSTOPS
@ -4542,7 +4560,6 @@ void home_all_axes() { gcode_G28(true); }
else {
SERIAL_PROTOCOLLNPGM("3-point probing done.");
g29_in_progress = false;
// Re-enable software endstops, if needed
#if HAS_SOFTWARE_ENDSTOPS
@ -4693,9 +4710,12 @@ void home_all_axes() { gcode_G28(true); }
if (DEBUGGING(LEVELING)) DEBUG_POS("> probing complete", current_position);
#endif
#if ENABLED(PROBE_MANUALLY) && ENABLED(LCD_BED_LEVELING)
#if ENABLED(PROBE_MANUALLY)
g29_in_progress = false;
#if ENABLED(LCD_BED_LEVELING)
lcd_wait_for_move = false;
#endif
#endif
// Calculate leveling, print reports, correct the position
#if ENABLED(AUTO_BED_LEVELING_BILINEAR)
@ -6590,15 +6610,7 @@ inline void gcode_M42() {
// Disable bed level correction in M48 because we want the raw data when we probe
#if HAS_LEVELING
const bool was_enabled =
#if ENABLED(AUTO_BED_LEVELING_UBL)
ubl.state.active
#elif ENABLED(MESH_BED_LEVELING)
mbl.active()
#else
planner.abl_enabled
#endif
;
const bool was_enabled = leveling_is_active();
set_bed_leveling_enabled(false);
#endif
@ -8726,14 +8738,14 @@ void quickstop_stepper() {
#if ABL_PLANAR
planner.bed_level_matrix.debug(PSTR("Bed Level Correction Matrix:"));
#elif ENABLED(AUTO_BED_LEVELING_BILINEAR)
if (bilinear_grid_spacing[X_AXIS]) {
if (leveling_is_valid()) {
print_bilinear_leveling_grid();
#if ENABLED(ABL_BILINEAR_SUBDIVISION)
bed_level_virt_print();
#endif
}
#elif ENABLED(MESH_BED_LEVELING)
if (mbl.has_mesh()) {
if (leveling_is_valid()) {
SERIAL_ECHOLNPGM("Mesh Bed Level data:");
mbl_mesh_report();
}
@ -8759,15 +8771,7 @@ void quickstop_stepper() {
if (parser.seen('Z')) set_z_fade_height(parser.value_linear_units());
#endif
const bool new_status =
#if ENABLED(MESH_BED_LEVELING)
mbl.active()
#elif ENABLED(AUTO_BED_LEVELING_UBL)
ubl.state.active
#else
planner.abl_enabled
#endif
;
const bool new_status = leveling_is_active();
if (to_enable && !new_status) {
SERIAL_ERROR_START;
@ -8986,7 +8990,7 @@ inline void gcode_M503() {
#endif
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
if (!no_babystep && planner.abl_enabled)
if (!no_babystep && leveling_is_active())
thermalManager.babystep_axis(Z_AXIS, -lround(diff * planner.axis_steps_per_mm[Z_AXIS]));
#else
UNUSED(no_babystep);
@ -9800,7 +9804,7 @@ void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool n
#if ENABLED(MESH_BED_LEVELING)
if (mbl.active()) {
if (leveling_is_active()) {
#if ENABLED(DEBUG_LEVELING_FEATURE)
if (DEBUGGING(LEVELING)) SERIAL_ECHOPAIR("Z before MBL: ", current_position[Z_AXIS]);
#endif
@ -11407,7 +11411,7 @@ void set_current_from_steppers_for_axis(const AxisEnum axis) {
inline bool prepare_move_to_destination_cartesian() {
#if ENABLED(AUTO_BED_LEVELING_UBL)
const float fr_scaled = MMS_SCALED(feedrate_mm_s);
if (ubl.state.active) {
if (ubl.state.active) { // direct use of ubl.state.active for speed
ubl.line_to_destination_cartesian(fr_scaled, active_extruder);
return true;
}
@ -11420,13 +11424,13 @@ void set_current_from_steppers_for_axis(const AxisEnum axis) {
else {
const float fr_scaled = MMS_SCALED(feedrate_mm_s);
#if ENABLED(MESH_BED_LEVELING)
if (mbl.active()) {
if (mbl.active()) { // direct used of mbl.active() for speed
mesh_line_to_destination(fr_scaled);
return true;
}
else
#elif ENABLED(AUTO_BED_LEVELING_BILINEAR)
if (planner.abl_enabled) {
if (planner.abl_enabled) { // direct use of abl_enabled for speed
bilinear_line_to_destination(fr_scaled);
return true;
}

@ -1525,7 +1525,7 @@ void MarlinSettings::reset() {
SERIAL_ECHOLNPGM("Mesh Bed Leveling:");
}
CONFIG_ECHO_START;
SERIAL_ECHOPAIR(" M420 S", mbl.has_mesh() ? 1 : 0);
SERIAL_ECHOPAIR(" M420 S", leveling_is_valid() ? 1 : 0);
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
SERIAL_ECHOPAIR(" Z", LINEAR_UNIT(planner.z_fade_height));
#endif
@ -1549,7 +1549,7 @@ void MarlinSettings::reset() {
SERIAL_ECHOLNPGM(":");
}
CONFIG_ECHO_START;
SERIAL_ECHOPAIR(" M420 S", ubl.state.active ? 1 : 0);
SERIAL_ECHOPAIR(" M420 S", leveling_is_active() ? 1 : 0);
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
SERIAL_ECHOPAIR(" Z", planner.z_fade_height);
#endif
@ -1576,7 +1576,7 @@ void MarlinSettings::reset() {
SERIAL_ECHOLNPGM("Auto Bed Leveling:");
}
CONFIG_ECHO_START;
SERIAL_ECHOPAIR(" M420 S", planner.abl_enabled ? 1 : 0);
SERIAL_ECHOPAIR(" M420 S", leveling_is_active() ? 1 : 0);
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
SERIAL_ECHOPAIR(" Z", LINEAR_UNIT(planner.z_fade_height));
#endif

@ -47,7 +47,6 @@
#define MSG_LEVEL_BED_WAITING _UxGT("Encetar (pretar)")
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Vinient punto")
#define MSG_LEVEL_BED_DONE _UxGT("Nivelacion feita!")
#define MSG_LEVEL_BED_CANCEL _UxGT("Cancelar")
#define MSG_SET_HOME_OFFSETS _UxGT("Achustar desfases")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Desfase aplicau")
#define MSG_SET_ORIGIN _UxGT("Establir orichen")
@ -67,6 +66,7 @@
#define MSG_EXTRUDE _UxGT("Extruir")
#define MSG_RETRACT _UxGT("Retraer")
#define MSG_MOVE_AXIS _UxGT("Mover Eixes")
#define MSG_BED_LEVELING _UxGT("Nivelar base")
#define MSG_LEVEL_BED _UxGT("Nivelar base")
#define MSG_MOVE_X _UxGT("Mover X")
#define MSG_MOVE_Y _UxGT("Mover Y")
@ -94,6 +94,7 @@
#define MSG_PID_C _UxGT("PID-C")
#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")
@ -101,9 +102,11 @@
#define MSG_VMAX _UxGT("Vmax")
#define MSG_VMIN _UxGT("Vmin")
#define MSG_VTRAV_MIN _UxGT("Vel. viache min")
#define MSG_ACCELERATION MSG_ACC
#define MSG_AMAX _UxGT("Acel. max")
#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")

@ -48,7 +48,6 @@
#define MSG_LEVEL_BED_WAITING _UxGT("Click to Begin")
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Next Point")
#define MSG_LEVEL_BED_DONE _UxGT("Leveling Done!")
#define MSG_LEVEL_BED_CANCEL _UxGT("Cancel")
#define MSG_SET_HOME_OFFSETS _UxGT("Задай Начало")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Offsets applied")
#define MSG_SET_ORIGIN _UxGT("Изходна точка")
@ -68,6 +67,7 @@
#define MSG_EXTRUDE _UxGT("Екструзия")
#define MSG_RETRACT _UxGT("Откат")
#define MSG_MOVE_AXIS _UxGT("Движение по ос")
#define MSG_BED_LEVELING _UxGT("Нивелиране")
#define MSG_LEVEL_BED _UxGT("Нивелиране")
#define MSG_MOVE_X _UxGT("Движение по X")
#define MSG_MOVE_Y _UxGT("Движение по Y")
@ -95,6 +95,7 @@
#define MSG_PID_C _UxGT("PID-C")
#define MSG_SELECT _UxGT("Select")
#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")
@ -105,6 +106,7 @@
#define MSG_AMAX _UxGT("Amax ")
#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")

@ -50,7 +50,6 @@
#define MSG_LEVEL_BED_WAITING _UxGT("Premeu per iniciar")
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Següent punt")
#define MSG_LEVEL_BED_DONE _UxGT("Anivellament fet!")
#define MSG_LEVEL_BED_CANCEL _UxGT("Cancel.la")
#define MSG_SET_HOME_OFFSETS _UxGT("Ajusta decalatge")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Decalatge aplicat")
#define MSG_SET_ORIGIN _UxGT("Estableix origen")
@ -70,6 +69,7 @@
#define MSG_EXTRUDE _UxGT("Extrudeix")
#define MSG_RETRACT _UxGT("Retreu")
#define MSG_MOVE_AXIS _UxGT("Mou eixos")
#define MSG_BED_LEVELING _UxGT("Anivella llit")
#define MSG_LEVEL_BED _UxGT("Anivella llit")
#define MSG_MOVING _UxGT("Movent..")
#define MSG_FREE_XY _UxGT("XY lliures")
@ -99,6 +99,7 @@
#define MSG_PID_C _UxGT("PID-C")
#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")
@ -109,6 +110,7 @@
#define MSG_AMAX _UxGT("Accel. max ")
#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")

@ -42,7 +42,6 @@
#define MSG_LEVEL_BED_HOMING "Homing XYZ"
#define MSG_LEVEL_BED_WAITING "Click to Begin"
#define MSG_LEVEL_BED_DONE "Leveling Done!"
#define MSG_LEVEL_BED_CANCEL "Cancel"
#define MSG_SET_HOME_OFFSETS "\xbe\xbf\xbb\xbc\xbd\xc0\xc1"
#define MSG_HOME_OFFSETS_APPLIED "Offsets applied"
#define MSG_SET_ORIGIN "\xbe\xbf\xbc\xbd"
@ -62,6 +61,7 @@
#define MSG_EXTRUDE "\xcc\xad"
#define MSG_RETRACT "\xbb\xcd"
#define MSG_MOVE_AXIS "\xc1\xb2\xce"
#define MSG_BED_LEVELING "\xcf\xe0\xc4\xc7"
#define MSG_LEVEL_BED "\xcf\xe0\xc4\xc7"
#define MSG_MOVE_X "\xc1\xb2 X"
#define MSG_MOVE_Y "\xc1\xb2 Y"
@ -87,6 +87,7 @@
#define MSG_PID_D "PID-D"
#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"
@ -97,6 +98,7 @@
#define MSG_AMAX "Amax "
#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"

@ -54,7 +54,6 @@
#define MSG_LEVEL_BED_WAITING _UxGT("Kliknutim spustte")
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Dalsi bod")
#define MSG_LEVEL_BED_DONE _UxGT("Mereni hotovo!")
#define MSG_LEVEL_BED_CANCEL _UxGT("Storno")
#define MSG_SET_HOME_OFFSETS _UxGT("Nastavit ofsety")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Ofsety nastaveny")
#define MSG_SET_ORIGIN _UxGT("Nastavit pocatek")
@ -76,6 +75,7 @@
#define MSG_EXTRUDE _UxGT("Vytlacit (extr.)")
#define MSG_RETRACT _UxGT("Zatlacit (retr.)")
#define MSG_MOVE_AXIS _UxGT("Posunout osy")
#define MSG_BED_LEVELING _UxGT("Vyrovnat podlozku")
#define MSG_LEVEL_BED _UxGT("Vyrovnat podlozku")
#define MSG_MOVING _UxGT("Posunování...")
#define MSG_FREE_XY _UxGT("Uvolnit XY")
@ -105,6 +105,7 @@
#define MSG_PID_C _UxGT("PID-C")
#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")
@ -115,6 +116,7 @@
#define MSG_AMAX _UxGT("Amax ")
#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")

@ -48,7 +48,6 @@
#define MSG_LEVEL_BED_WAITING _UxGT("Klik når du er klar")
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Næste punkt")
#define MSG_LEVEL_BED_DONE _UxGT("Bed level er færdig!")
#define MSG_LEVEL_BED_CANCEL _UxGT("Annuller bed level")
#define MSG_SET_HOME_OFFSETS _UxGT("Sæt forsk. af home")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Forsk. er nu aktiv")
#define MSG_SET_ORIGIN _UxGT("Sæt origin")
@ -68,6 +67,7 @@
#define MSG_EXTRUDE _UxGT("Extruder")
#define MSG_RETRACT _UxGT("Retract")
#define MSG_MOVE_AXIS _UxGT("Flyt akser")
#define MSG_BED_LEVELING _UxGT("Juster bed")
#define MSG_LEVEL_BED _UxGT("Juster bed")
#define MSG_MOVE_X _UxGT("Flyt X")
#define MSG_MOVE_Y _UxGT("Flyt Y")
@ -96,6 +96,7 @@
#define MSG_PID_C _UxGT("PID-C")
#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")
@ -106,6 +107,7 @@
#define MSG_AMAX _UxGT("Amax ")
#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")

@ -51,7 +51,6 @@
#define MSG_LEVEL_BED_WAITING _UxGT("Klick für Start")
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Nächste Koordinate")
#define MSG_LEVEL_BED_DONE _UxGT("Fertig")
#define MSG_LEVEL_BED_CANCEL _UxGT("Abbruch")
#define MSG_SET_HOME_OFFSETS _UxGT("Setze Homeversatz")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Homeversatz aktiv")
#define MSG_SET_ORIGIN _UxGT("Setze Nullpunkt") //"G92 X0 Y0 Z0" commented out in ultralcd.cpp
@ -73,6 +72,7 @@
#define MSG_EXTRUDE _UxGT("Extrudieren")
#define MSG_RETRACT _UxGT("Retract")
#define MSG_MOVE_AXIS _UxGT("Bewegen")
#define MSG_BED_LEVELING _UxGT("Bett nivellieren")
#define MSG_LEVEL_BED _UxGT("Bett nivellieren")
#define MSG_MOVING _UxGT("In Bewegung...")
#define MSG_FREE_XY _UxGT("Abstand XY")
@ -102,6 +102,7 @@
#define MSG_PID_C _UxGT("PID C")
#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")
@ -112,6 +113,7 @@
#define MSG_AMAX _UxGT("A max ") // space by purpose
#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")

@ -48,7 +48,6 @@
#define MSG_LEVEL_BED_WAITING _UxGT("Κάντε κλικ για να ξεκινήσετε")
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Επόμενο σημείο")
#define MSG_LEVEL_BED_DONE _UxGT("Ολοκλήρωση επιπεδοποίησης!")
#define MSG_LEVEL_BED_CANCEL _UxGT("Ακύρωση")
#define MSG_SET_HOME_OFFSETS _UxGT("Ορισμός βασικών μετατοπίσεων")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Εφαρμόστηκαν οι μετατοπίσεις")
#define MSG_SET_ORIGIN _UxGT("Ορισμός προέλευσης")
@ -68,6 +67,7 @@
#define MSG_EXTRUDE _UxGT("Εξώθηση")
#define MSG_RETRACT _UxGT("Ανάσυρση")
#define MSG_MOVE_AXIS _UxGT("Μετακίνηση άξονα")
#define MSG_BED_LEVELING _UxGT("Επιπεδοποίηση κλίνης")
#define MSG_LEVEL_BED _UxGT("Επιπεδοποίηση κλίνης")
#define MSG_MOVE_X _UxGT("Μετακίνηση X")
#define MSG_MOVE_Y _UxGT("Μετακίνηση Y")
@ -94,6 +94,7 @@
#define MSG_PID_D _UxGT("PID-D")
#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")
@ -101,9 +102,11 @@
#define MSG_VMAX _UxGT("Vμεγ ")
#define MSG_VMIN _UxGT("Vελαχ")
#define MSG_VTRAV_MIN _UxGT("Vελάχ. μετατόπιση")
#define MSG_ACCELERATION MSG_ACC
#define MSG_AMAX _UxGT("Aμεγ ")
#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ήματα Ζ ανά μμ")

@ -48,7 +48,6 @@
#define MSG_LEVEL_BED_WAITING _UxGT("Επιπεδοποίηση επ. Εκτύπωσης περιμενει") //SHORTEN
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Επόμενο σημείο")
#define MSG_LEVEL_BED_DONE _UxGT("Ολοκλήρωση επιπεδοποίησης!") //SHORTEN
#define MSG_LEVEL_BED_CANCEL _UxGT("Ακύρωση")
#define MSG_SET_HOME_OFFSETS _UxGT("Ορισμός βασικών μετατοπίσεων") //SHORTEN
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Εφαρμόστηκαν οι μετατοπίσεις") //SHORTEN
#define MSG_SET_ORIGIN _UxGT("Ορισμός προέλευσης")
@ -68,6 +67,7 @@
#define MSG_EXTRUDE _UxGT("Εξώθηση")
#define MSG_RETRACT _UxGT("Ανάσυρση")
#define MSG_MOVE_AXIS _UxGT("Μετακίνηση άξονα")
#define MSG_BED_LEVELING _UxGT("Επιπεδοποίηση Επ. Εκτύπωσης") //SHORTEN
#define MSG_LEVEL_BED _UxGT("Επιπεδοποίηση Επ. Εκτύπωσης") //SHORTEN
#define MSG_MOVE_X _UxGT("Μετακίνηση X")
#define MSG_MOVE_Y _UxGT("Μετακίνηση Y")
@ -94,6 +94,7 @@
#define MSG_PID_D _UxGT("PID-D")
#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")
@ -101,9 +102,11 @@
#define MSG_VMAX _UxGT("V Μέγιστο")
#define MSG_VMIN _UxGT("V Ελάχιστο")
#define MSG_VTRAV_MIN _UxGT("Vελάχ. μετατόπιση")
#define MSG_ACCELERATION MSG_ACC
#define MSG_AMAX _UxGT("Aμεγ ")
#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ήματα Ζ ανά μμ")

@ -84,8 +84,8 @@
#ifndef MSG_LEVEL_BED_DONE
#define MSG_LEVEL_BED_DONE _UxGT("Leveling Done!")
#endif
#ifndef MSG_LEVEL_BED_CANCEL
#define MSG_LEVEL_BED_CANCEL _UxGT("Cancel")
#ifndef MSG_Z_FADE_HEIGHT
#define MSG_Z_FADE_HEIGHT _UxGT("Fade Height")
#endif
#ifndef MSG_SET_HOME_OFFSETS
#define MSG_SET_HOME_OFFSETS _UxGT("Set home offsets")
@ -150,6 +150,9 @@
#ifndef MSG_MOVE_AXIS
#define MSG_MOVE_AXIS _UxGT("Move axis")
#endif
#ifndef MSG_BED_LEVELING
#define MSG_BED_LEVELING _UxGT("Bed Leveling")
#endif
#ifndef MSG_LEVEL_BED
#define MSG_LEVEL_BED _UxGT("Level bed")
#endif
@ -376,6 +379,9 @@
#ifndef MSG_ACC
#define MSG_ACC _UxGT("Accel")
#endif
#ifndef MSG_JERK
#define MSG_JERK _UxGT("Jerk")
#endif
#ifndef MSG_VX_JERK
#define MSG_VX_JERK _UxGT("Vx-jerk")
#endif
@ -388,6 +394,9 @@
#ifndef MSG_VE_JERK
#define MSG_VE_JERK _UxGT("Ve-jerk")
#endif
#ifndef MSG_FEEDRATE
#define MSG_FEEDRATE _UxGT("Feedrate")
#endif
#ifndef MSG_VMAX
#define MSG_VMAX _UxGT("Vmax ")
#endif
@ -397,6 +406,9 @@
#ifndef MSG_VTRAV_MIN
#define MSG_VTRAV_MIN _UxGT("VTrav min")
#endif
#ifndef MSG_ACCELERATION
#define MSG_ACCELERATION _UxGT("Acceleration")
#endif
#ifndef MSG_AMAX
#define MSG_AMAX _UxGT("Amax ")
#endif
@ -406,6 +418,9 @@
#ifndef MSG_A_TRAVEL
#define MSG_A_TRAVEL _UxGT("A-travel")
#endif
#ifndef MSG_STEPS_PER_MM
#define MSG_STEPS_PER_MM _UxGT("Steps/mm")
#endif
#ifndef MSG_XSTEPS
#define MSG_XSTEPS _UxGT("Xsteps/mm")
#endif

@ -50,7 +50,6 @@
#define MSG_LEVEL_BED_WAITING _UxGT("Iniciar (Presione)")
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Siguiente punto")
#define MSG_LEVEL_BED_DONE _UxGT("Nivelacion lista!")
#define MSG_LEVEL_BED_CANCEL _UxGT("Cancelar")
#define MSG_SET_HOME_OFFSETS _UxGT("Ajustar desfases")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Desfase aplicado")
#define MSG_SET_ORIGIN _UxGT("Establecer origen")
@ -72,6 +71,7 @@
#define MSG_EXTRUDE _UxGT("Extruir")
#define MSG_RETRACT _UxGT("Retraer")
#define MSG_MOVE_AXIS _UxGT("Mover ejes")
#define MSG_BED_LEVELING _UxGT("Nivelar plataforma")
#define MSG_LEVEL_BED _UxGT("Nivelar plataforma")
#define MSG_MOVING _UxGT("Moviendo...")
#define MSG_FREE_XY _UxGT("Libre XY")
@ -101,6 +101,7 @@
#define MSG_PID_C _UxGT("PID-C")
#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")
@ -108,9 +109,11 @@
#define MSG_VMAX _UxGT("Vmax")
#define MSG_VMIN _UxGT("Vmin")
#define MSG_VTRAV_MIN _UxGT("Vel. viaje min")
#define MSG_ACCELERATION MSG_ACC
#define MSG_AMAX _UxGT("Acel. max")
#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")

@ -50,7 +50,6 @@
#define MSG_LEVEL_BED_WAITING _UxGT("Klik egin hasteko")
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Hurrengo Puntua")
#define MSG_LEVEL_BED_DONE _UxGT("Berdintzea eginda")
#define MSG_LEVEL_BED_CANCEL _UxGT("Ezeztatu")
#define MSG_SET_HOME_OFFSETS _UxGT("Etxe. offset eza.")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Offsetak ezarrita")
#define MSG_SET_ORIGIN _UxGT("Hasiera ipini")
@ -72,6 +71,7 @@
#define MSG_EXTRUDE _UxGT("Estruitu")
#define MSG_RETRACT _UxGT("Atzera eragin")
#define MSG_MOVE_AXIS _UxGT("Ardatzak mugitu")
#define MSG_BED_LEVELING _UxGT("Ohea Berdindu")
#define MSG_LEVEL_BED _UxGT("Ohea Berdindu")
#define MSG_MOVING _UxGT("Mugitzen...")
#define MSG_FREE_XY _UxGT("Askatu XY")
@ -101,6 +101,7 @@
#define MSG_PID_C _UxGT("PID-C")
#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")
@ -108,9 +109,11 @@
#define MSG_VMAX _UxGT("Vmax ")
#define MSG_VMIN _UxGT("Vmin")
#define MSG_VTRAV_MIN _UxGT("VBidaia min")
#define MSG_ACCELERATION MSG_ACC
#define MSG_AMAX _UxGT("Amax ")
#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")

@ -43,7 +43,6 @@
#define MSG_LEVEL_BED_HOMING _UxGT("Homing XYZ")
#define MSG_LEVEL_BED_WAITING _UxGT("Click to Begin")
#define MSG_LEVEL_BED_DONE _UxGT("Leveling Done!")
#define MSG_LEVEL_BED_CANCEL _UxGT("Cancel")
#define MSG_SET_HOME_OFFSETS _UxGT("Set home offsets")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Offsets applied")
#define MSG_SET_ORIGIN _UxGT("Aseta origo")
@ -87,6 +86,7 @@
#define MSG_PID_D _UxGT("PID-D")
#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")
@ -94,8 +94,10 @@
#define MSG_VMAX _UxGT("Vmax ")
#define MSG_VMIN _UxGT("Vmin")
#define MSG_VTRAV_MIN _UxGT("VLiike min")
#define MSG_ACCELERATION MSG_ACC
#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")

@ -51,7 +51,6 @@
#define MSG_LEVEL_BED_WAITING _UxGT("Clic pour commencer")
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Point suivant")
#define MSG_LEVEL_BED_DONE _UxGT("Mise à niveau OK!")
#define MSG_LEVEL_BED_CANCEL _UxGT("Annuler")
#define MSG_SET_HOME_OFFSETS _UxGT("Regl. décal. origine")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Décalages appliqués")
#define MSG_SET_ORIGIN _UxGT("Régler origine")
@ -73,6 +72,7 @@
#define MSG_EXTRUDE _UxGT("Éxtrusion")
#define MSG_RETRACT _UxGT("Rétraction")
#define MSG_MOVE_AXIS _UxGT("Déplacer un axe")
#define MSG_BED_LEVELING _UxGT("Règl. Niv. lit")
#define MSG_LEVEL_BED _UxGT("Règl. Niv. lit")
#define MSG_MOVING _UxGT("Déplacement...")
#define MSG_FREE_XY _UxGT("Débloquer XY")
@ -102,6 +102,7 @@
#define MSG_PID_C _UxGT("PID-C")
#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")
@ -112,6 +113,7 @@
#define MSG_AMAX _UxGT("Amax ")
#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")

@ -48,7 +48,6 @@
#define MSG_LEVEL_BED_WAITING _UxGT("Prema pulsador")
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Seguinte punto")
#define MSG_LEVEL_BED_DONE _UxGT("Nivelado feito")
#define MSG_LEVEL_BED_CANCEL _UxGT("Cancelar")
#define MSG_SET_HOME_OFFSETS _UxGT("Offsets na orixe")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Offsets fixados")
#define MSG_SET_ORIGIN _UxGT("Fixar orixe")
@ -68,6 +67,7 @@
#define MSG_EXTRUDE _UxGT("Extrudir")
#define MSG_RETRACT _UxGT("Retraer")
#define MSG_MOVE_AXIS _UxGT("Mover eixe")
#define MSG_BED_LEVELING _UxGT("Nivelar cama")
#define MSG_LEVEL_BED _UxGT("Nivelar cama")
#define MSG_MOVE_X _UxGT("Mover X")
#define MSG_MOVE_Y _UxGT("Mover Y")
@ -95,6 +95,7 @@
#define MSG_PID_C _UxGT("PID-C")
#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")
@ -105,6 +106,7 @@
#define MSG_AMAX _UxGT("Amax ")
#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")

@ -47,7 +47,6 @@
#define MSG_LEVEL_BED_WAITING _UxGT("Klikni za početak")
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Sljedeća točka")
#define MSG_LEVEL_BED_DONE _UxGT("Niveliranje gotovo!")
#define MSG_LEVEL_BED_CANCEL _UxGT("Otkaži")
#define MSG_SET_HOME_OFFSETS _UxGT("Postavi home offsete")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Offsets postavljeni")
#define MSG_SET_ORIGIN _UxGT("Postavi ishodište")
@ -67,6 +66,7 @@
#define MSG_EXTRUDE _UxGT("Extrude")
#define MSG_RETRACT _UxGT("Retract")
#define MSG_MOVE_AXIS _UxGT("Miči os")
#define MSG_BED_LEVELING _UxGT("Niveliraj bed")
#define MSG_LEVEL_BED _UxGT("Niveliraj bed")
#define MSG_MOVE_X _UxGT("Miči X")
#define MSG_MOVE_Y _UxGT("Miči Y")
@ -94,6 +94,7 @@
#define MSG_PID_C _UxGT("PID-C")
#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")
@ -104,6 +105,7 @@
#define MSG_AMAX _UxGT("Amax ")
#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")

@ -50,7 +50,6 @@
#define MSG_LEVEL_BED_WAITING _UxGT("Premi per iniziare")
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Punto successivo")
#define MSG_LEVEL_BED_DONE _UxGT("Livel. terminato!")
#define MSG_LEVEL_BED_CANCEL _UxGT("Annulla")
#define MSG_SET_HOME_OFFSETS _UxGT("Imp. offset home")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Offset applicato")
#define MSG_SET_ORIGIN _UxGT("Imposta Origine")
@ -72,6 +71,7 @@
#define MSG_EXTRUDE _UxGT("Estrudi")
#define MSG_RETRACT _UxGT("Ritrai")
#define MSG_MOVE_AXIS _UxGT("Muovi Asse")
#define MSG_BED_LEVELING _UxGT("Livella piano")
#define MSG_LEVEL_BED _UxGT("Livella piano")
#define MSG_MOVING _UxGT("In movimento...")
#define MSG_FREE_XY _UxGT("XY liberi")
@ -109,6 +109,7 @@
#define MSG_PID_C _UxGT("PID-C")
#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")
@ -119,6 +120,7 @@
#define MSG_AMAX _UxGT("Amax ")
#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")

@ -53,7 +53,6 @@
#define MSG_LEVEL_BED_WAITING "\xda\xcd\xde\xd8\xdd\xb8\xde\xb6\xb2\xbc" // "レベリングカイシ" ("Click to Begin")
#define MSG_LEVEL_BED_NEXT_POINT "\xc2\xb7\xde\xc9\xbf\xb8\xc3\xb2\xc3\xdd\xcd" // "ツギノソクテイテンヘ" ("Next Point")
#define MSG_LEVEL_BED_DONE "\xda\xcd\xde\xd8\xdd\xb8\xde\xb6\xdd\xd8\xae\xb3" // "レベリングカンリョウ" ("Leveling Done!")
#define MSG_LEVEL_BED_CANCEL "\xc4\xd8\xd4\xd2" // "トリヤメ" ("Cancel")
#define MSG_SET_HOME_OFFSETS "\xb7\xbc\xde\xad\xdd\xb5\xcc\xbe\xaf\xc4\xbe\xaf\xc3\xb2" // "キジュンオフセットセッテイ" ("Set home offsets")
#define MSG_HOME_OFFSETS_APPLIED "\xb5\xcc\xbe\xaf\xc4\xb6\xde\xc3\xb7\xd6\xb3\xbb\xda\xcf\xbc\xc0" // "オフセットガテキヨウサレマシタ" ("Offsets applied")
#define MSG_SET_ORIGIN "\xb7\xbc\xde\xad\xdd\xbe\xaf\xc4" // "キジュンセット" ("Set origin")
@ -73,6 +72,7 @@
#define MSG_EXTRUDE "\xb5\xbc\xc0\xde\xbc" // "オシダシ" ("Extrude")
#define MSG_RETRACT "\xcb\xb7\xba\xd0\xbe\xaf\xc3\xb2" // "ヒキコミセッテイ" ("Retract")
#define MSG_MOVE_AXIS "\xbc\xde\xb8\xb2\xc4\xde\xb3" // "ジクイドウ" ("Move axis")
#define MSG_BED_LEVELING "\xcd\xde\xaf\xc4\xde\xda\xcd\xde\xd8\xdd\xb8\xde" // "ベッドレベリング" ("Bed Leveling")
#define MSG_LEVEL_BED "\xcd\xde\xaf\xc4\xde\xda\xcd\xde\xd8\xdd\xb8\xde" // "ベッドレベリング" ("Level bed")
#define MSG_MOVING "\xb2\xc4\xde\xb3\xc1\xad\xb3" // "イドウチュウ" ("Moving...")
#define MSG_FREE_XY "XY\xbc\xde\xb8\x20\xb6\xb2\xce\xb3" // "XYジク カイホウ" ("Free XY")
@ -129,6 +129,7 @@
#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"
@ -139,6 +140,7 @@
#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"

@ -55,7 +55,6 @@
#define MSG_LEVEL_BED_WAITING _UxGT("レベリングカイシ") // "Click to Begin"
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("ツギノソクテイテンヘ") // "Next Point"
#define MSG_LEVEL_BED_DONE _UxGT("レベリングカンリョウ") // "Leveling Done!"
#define MSG_LEVEL_BED_CANCEL _UxGT("トリヤメ") // "Cancel"
#define MSG_SET_HOME_OFFSETS _UxGT("キジュンオフセットセッテイ") // "Set home offsets"
#define MSG_HOME_OFFSETS_APPLIED _UxGT("オフセットガテキヨウサレマシタ") // "Offsets applied"
#define MSG_SET_ORIGIN _UxGT("キジュンセット") // "Set origin"
@ -75,6 +74,7 @@
#define MSG_EXTRUDE _UxGT("オシダシ") // "Extrude"
#define MSG_RETRACT _UxGT("ヒキコミセッテイ") // "Retract"
#define MSG_MOVE_AXIS _UxGT("ジクイドウ") // "Move axis"
#define MSG_BED_LEVELING _UxGT("ベッドレベリング") // "Bed leveling"
#define MSG_LEVEL_BED _UxGT("ベッドレベリング") // "Level bed"
#define MSG_MOVING _UxGT("イドウチュウ") // "Moving..."
#define MSG_FREE_XY _UxGT("XYジク カイホウ") // "Free XY"
@ -104,6 +104,7 @@
#define MSG_PID_C _UxGT("PID-C")
#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"
@ -111,18 +112,10 @@
#define MSG_VMAX _UxGT("サイダイオクリソクド ") // "Vmax "
#define MSG_VMIN _UxGT("サイショウオクリソクド") // "Vmin"
#define MSG_VTRAV_MIN _UxGT("サイショウイドウソクド") // "VTrav min"
#define MSG_ACCELERATION MSG_ACC
#define MSG_AMAX _UxGT("サイダイカソクド ") // "Amax "
#define MSG_A_RETRACT _UxGT("ヒキコミカソクド") // "A-retract"
#define MSG_A_TRAVEL _UxGT("イドウカソクド") // "A-travel"
#define MSG_XSTEPS _UxGT("Xsteps/mm")
#define MSG_YSTEPS _UxGT("Ysteps/mm")
#define MSG_ZSTEPS _UxGT("Zsteps/mm")
#define MSG_ESTEPS _UxGT("Esteps/mm")
#define MSG_E1STEPS _UxGT("E1steps/mm")
#define MSG_E2STEPS _UxGT("E2steps/mm")
#define MSG_E3STEPS _UxGT("E3steps/mm")
#define MSG_E4STEPS _UxGT("E4steps/mm")
#define MSG_E5STEPS _UxGT("E5steps/mm")
#define MSG_TEMPERATURE _UxGT("オンド") // "Temperature"
#define MSG_MOTION _UxGT("ウゴキセッテイ") // "Motion"
#define MSG_FILAMENT _UxGT("フィラメント") // "Filament"

@ -50,7 +50,6 @@
#define MSG_LEVEL_BED_WAITING _UxGT("Klik voor begin")
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Volgende Plaats")
#define MSG_LEVEL_BED_DONE _UxGT("Bed level kompl.")
#define MSG_LEVEL_BED_CANCEL _UxGT("Bed level afbr.")
#define MSG_SET_HOME_OFFSETS _UxGT("Zet home offsets")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("H offset toegep.")
#define MSG_SET_ORIGIN _UxGT("Nulpunt instellen")
@ -72,6 +71,7 @@
#define MSG_EXTRUDE _UxGT("Extrude")
#define MSG_RETRACT _UxGT("Retract")
#define MSG_MOVE_AXIS _UxGT("As verplaatsen")
#define MSG_BED_LEVELING _UxGT("Bed Leveling")
#define MSG_LEVEL_BED _UxGT("Level bed")
#define MSG_MOVING _UxGT("Verplaatsen...")
#define MSG_FREE_XY _UxGT("Vrij XY")
@ -101,6 +101,7 @@
#define MSG_PID_C _UxGT("PID-C")
#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")
@ -111,6 +112,7 @@
#define MSG_AMAX _UxGT("Amax ")
#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")

@ -50,7 +50,6 @@
#define MSG_LEVEL_BED_WAITING _UxGT("Kliknij by rozp.")
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Następny punkt")
#define MSG_LEVEL_BED_DONE _UxGT("Wypoziomowano!")
#define MSG_LEVEL_BED_CANCEL _UxGT("Anuluj")
#define MSG_SET_HOME_OFFSETS _UxGT("Ust. poz. zer.")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Poz. zerowa ust.")
#define MSG_SET_ORIGIN _UxGT("Ustaw punkt zero")
@ -70,6 +69,7 @@
#define MSG_EXTRUDE _UxGT("Ekstruzja")
#define MSG_RETRACT _UxGT("Wycofanie")
#define MSG_MOVE_AXIS _UxGT("Ruch osi")
#define MSG_BED_LEVELING _UxGT("Poziom. stołu")
#define MSG_LEVEL_BED _UxGT("Poziom. stołu")
#define MSG_MOVE_X _UxGT("Przesuń w X")
#define MSG_MOVE_Y _UxGT("Przesuń w Y")
@ -97,6 +97,7 @@
#define MSG_PID_C _UxGT("PID-C")
#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")
@ -104,9 +105,11 @@
#define MSG_VMAX _UxGT("Vmax ")
#define MSG_VMIN _UxGT("Vmin")
#define MSG_VTRAV_MIN _UxGT("Vskok min")
#define MSG_ACCELERATION MSG_ACC
#define MSG_AMAX _UxGT("Amax")
#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")
@ -265,7 +268,6 @@
#define MSG_LEVEL_BED_WAITING _UxGT("Kliknij by rozp.")
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Nastepny punkt")
#define MSG_LEVEL_BED_DONE _UxGT("Wypoziomowano!")
#define MSG_LEVEL_BED_CANCEL _UxGT("Anuluj")
#define MSG_SET_HOME_OFFSETS _UxGT("Ust. poz. zer.")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Poz. zerowa ust.")
#define MSG_SET_ORIGIN _UxGT("Ustaw punkt zero")
@ -285,6 +287,7 @@
#define MSG_EXTRUDE _UxGT("Ekstruzja")
#define MSG_RETRACT _UxGT("Wycofanie")
#define MSG_MOVE_AXIS _UxGT("Ruch osi")
#define MSG_BED_LEVELING _UxGT("Poziom. stolu")
#define MSG_LEVEL_BED _UxGT("Poziom. stolu")
#define MSG_MOVE_X _UxGT("Przesun w X")
#define MSG_MOVE_Y _UxGT("Przesun w Y")
@ -312,6 +315,7 @@
#define MSG_PID_C _UxGT("PID-C")
#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")
@ -319,9 +323,11 @@
#define MSG_VMAX _UxGT("Vmax ")
#define MSG_VMIN _UxGT("Vmin")
#define MSG_VTRAV_MIN _UxGT("Vskok min")
#define MSG_ACCELERATION MSG_ACC
#define MSG_AMAX _UxGT("Amax")
#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")

@ -42,7 +42,6 @@
#define MSG_LEVEL_BED_HOMING "Homing XYZ"
#define MSG_LEVEL_BED_WAITING "Click to Begin"
#define MSG_LEVEL_BED_DONE "Leveling Done!"
#define MSG_LEVEL_BED_CANCEL "Cancel"
#define MSG_SET_HOME_OFFSETS "Ajustar Jogo"
#define MSG_HOME_OFFSETS_APPLIED "Offsets applied"
#define MSG_SET_ORIGIN "Ajustar orig."
@ -87,6 +86,7 @@
#define MSG_PID_D "PID-D"
#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"
@ -97,6 +97,7 @@
#define MSG_AMAX "Amax "
#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"

@ -42,7 +42,6 @@
#define MSG_LEVEL_BED_HOMING _UxGT("Indo para origem")
#define MSG_LEVEL_BED_WAITING _UxGT("Click to Begin")
#define MSG_LEVEL_BED_DONE _UxGT("Leveling Done!")
#define MSG_LEVEL_BED_CANCEL _UxGT("Cancel")
#define MSG_SET_HOME_OFFSETS _UxGT("Ajustar Jogo")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Offsets applied")
#define MSG_SET_ORIGIN _UxGT("Ajustar orig.")
@ -87,6 +86,7 @@
#define MSG_PID_D _UxGT("PID-D")
#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")
@ -97,6 +97,7 @@
#define MSG_AMAX _UxGT("Amax ")
#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")

@ -46,7 +46,6 @@
#define MSG_LEVEL_BED_WAITING "Click para iniciar"
#define MSG_LEVEL_BED_NEXT_POINT "Proximo ponto"
#define MSG_LEVEL_BED_DONE "Pronto !"
#define MSG_LEVEL_BED_CANCEL "Cancelar"
#define MSG_SET_HOME_OFFSETS "Definir desvio"
#define MSG_HOME_OFFSETS_APPLIED "Offsets applied"
#define MSG_SET_ORIGIN "Definir origem"
@ -91,6 +90,7 @@
#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"
@ -101,6 +101,7 @@
#define MSG_AMAX "Amax "
#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"

@ -46,7 +46,6 @@
#define MSG_LEVEL_BED_WAITING _UxGT("Click para iniciar")
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Próximo ponto")
#define MSG_LEVEL_BED_DONE _UxGT("Pronto !")
#define MSG_LEVEL_BED_CANCEL _UxGT("Cancelar")
#define MSG_SET_HOME_OFFSETS _UxGT("Definir desvio")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Offsets aplicados")
#define MSG_SET_ORIGIN _UxGT("Definir origem")
@ -91,6 +90,7 @@
#define MSG_PID_D _UxGT("PID-D")
#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")
@ -101,6 +101,7 @@
#define MSG_AMAX _UxGT("Amax ")
#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")

@ -45,7 +45,6 @@
#define MSG_LEVEL_BED_WAITING _UxGT("Нажмите начать")
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Следующая точка")
#define MSG_LEVEL_BED_DONE _UxGT("Уровень!")
#define MSG_LEVEL_BED_CANCEL _UxGT("Отменить")
#define MSG_SET_HOME_OFFSETS _UxGT("Запомнить парковку")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Коррекции примен")
#define MSG_SET_ORIGIN _UxGT("Запомнить ноль")
@ -65,6 +64,7 @@
#define MSG_EXTRUDE _UxGT("Экструзия")
#define MSG_RETRACT _UxGT("Втягивание")
#define MSG_MOVE_AXIS _UxGT("Движение по осям")
#define MSG_BED_LEVELING _UxGT("Калибровать стол")
#define MSG_LEVEL_BED _UxGT("Калибровать стол")
#define MSG_MOVE_X _UxGT("Движение по X")
#define MSG_MOVE_Y _UxGT("Движение по Y")
@ -91,6 +91,7 @@
#define MSG_PID_D _UxGT("PID-D")
#define MSG_PID_C _UxGT("PID-C")
#define MSG_ACC _UxGT("Acc")
#define MSG_JERK _UxGT("Рывок")
#define MSG_VX_JERK _UxGT("Vx-рывок")
#define MSG_VY_JERK _UxGT("Vy-рывок")
#define MSG_VZ_JERK _UxGT("Vz-рывок")
@ -101,6 +102,7 @@
#define MSG_AMAX _UxGT("Aмакс")
#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 шаг/мм")

@ -55,7 +55,6 @@
#define MSG_LEVEL_BED_WAITING _UxGT("Başlatmak için tıkla") // Başlatmak için tıkla
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Sıradaki Nokta") // Sıradaki Nokta
#define MSG_LEVEL_BED_DONE _UxGT("Seviyeleme Tamam!") // Seviyeleme Tamam!
#define MSG_LEVEL_BED_CANCEL _UxGT("İptal") // İptal
#define MSG_SET_HOME_OFFSETS _UxGT("Offset Ayarla") // Offset Ayarla
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Offset Tamam") // Offset Tamam
#define MSG_SET_ORIGIN _UxGT("Sıfır Belirle") // Sıfır Belirle
@ -77,6 +76,7 @@
#define MSG_EXTRUDE _UxGT("Extrude") // Extrude
#define MSG_RETRACT _UxGT("Geri Çek") // Geri Çek
#define MSG_MOVE_AXIS _UxGT("Eksen Yönet") // Eksenleri Yönet
#define MSG_BED_LEVELING _UxGT("Tabla Seviyele") // Tabla Seviyele
#define MSG_LEVEL_BED _UxGT("Tabla Seviyele") // Tabla Seviyele
#define MSG_MOVING _UxGT("Konumlanıyor...") // Konumlanıyor...
#define MSG_FREE_XY _UxGT("Durdur XY") // Durdur XY
@ -106,6 +106,7 @@
#define MSG_PID_C _UxGT("PID-C") // PID-C
#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
@ -116,6 +117,7 @@
#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

@ -48,7 +48,6 @@
#define MSG_LEVEL_BED_WAITING _UxGT("Почати")
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Слідуюча Точка")
#define MSG_LEVEL_BED_DONE _UxGT("Завершено!")
#define MSG_LEVEL_BED_CANCEL _UxGT("Відміна")
#define MSG_SET_HOME_OFFSETS _UxGT("Зберегти паркув.")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Зміщення застос.")
#define MSG_SET_ORIGIN _UxGT("Встанов. початок")
@ -68,6 +67,7 @@
#define MSG_EXTRUDE _UxGT("Екструзія")
#define MSG_RETRACT _UxGT("Втягування")
#define MSG_MOVE_AXIS _UxGT("Рух по осям")
#define MSG_BED_LEVELING _UxGT("Нівелювання столу")
#define MSG_LEVEL_BED _UxGT("Нівелювання столу")
#define MSG_MOVE_X _UxGT("Рух по X")
#define MSG_MOVE_Y _UxGT("Рух по Y")
@ -95,6 +95,7 @@
#define MSG_PID_C _UxGT("PID-C")
#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-ривок")
@ -105,6 +106,7 @@
#define MSG_AMAX _UxGT("Aмакс ")
#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кроків/мм")

@ -45,7 +45,6 @@
#define MSG_LEVEL_BED_WAITING _UxGT("单击开始热床调平") //"Click to Begin"
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("下个热床调平点") //"Next Point"
#define MSG_LEVEL_BED_DONE _UxGT("完成热床调平") //"Leveling Done!"
#define MSG_LEVEL_BED_CANCEL _UxGT("取消热床调平") //"Cancel"
#define MSG_SET_HOME_OFFSETS _UxGT("设置原点偏移") //"Set home offsets"
#define MSG_HOME_OFFSETS_APPLIED _UxGT("偏移已启用") //"Offsets applied"
#define MSG_SET_ORIGIN _UxGT("设置原点") //"Set origin"
@ -65,6 +64,7 @@
#define MSG_EXTRUDE _UxGT("挤出") //"Extrude"
#define MSG_RETRACT _UxGT("回抽") //"Retract"
#define MSG_MOVE_AXIS _UxGT("移动轴") //"Move axis"
#define MSG_BED_LEVELING _UxGT("调平热床") //"Bed leveling"
#define MSG_LEVEL_BED _UxGT("调平热床") //"Level bed"
#define MSG_MOVE_X _UxGT("移动X") //"Move X"
#define MSG_MOVE_Y _UxGT("移动Y") //"Move Y"
@ -92,6 +92,7 @@
#define MSG_PID_C _UxGT("PID-C") //"PID-C"
#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"
@ -102,6 +103,7 @@
#define MSG_AMAX _UxGT("最大打印加速度") //"Amax " max_acceleration_mm_per_s2, acceleration in units/s^2 for print moves
#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"

@ -45,7 +45,6 @@
#define MSG_LEVEL_BED_WAITING _UxGT("單擊開始熱床調平") //"Click to Begin"
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("下個熱床調平點") //"Next Point"
#define MSG_LEVEL_BED_DONE _UxGT("完成熱床調平") //"Leveling Done!"
#define MSG_LEVEL_BED_CANCEL _UxGT("取消熱床調平") //"Cancel"
#define MSG_SET_HOME_OFFSETS _UxGT("設置原點偏移") //"Set home offsets"
#define MSG_HOME_OFFSETS_APPLIED _UxGT("偏移已啟用") //"Offsets applied"
#define MSG_SET_ORIGIN _UxGT("設置原點") //"Set origin"
@ -65,6 +64,7 @@
#define MSG_EXTRUDE _UxGT("擠出") //"Extrude"
#define MSG_RETRACT _UxGT("回抽") //"Retract"
#define MSG_MOVE_AXIS _UxGT("移動軸") //"Move axis"
#define MSG_BED_LEVELING _UxGT("調平熱床") //"Bed leveling"
#define MSG_LEVEL_BED _UxGT("調平熱床") //"Level bed"
#define MSG_MOVE_X _UxGT("移動X") //"Move X"
#define MSG_MOVE_Y _UxGT("移動Y") //"Move Y"
@ -92,6 +92,7 @@
#define MSG_PID_C _UxGT("PID-C") //"PID-C"
#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"
@ -102,6 +103,7 @@
#define MSG_AMAX _UxGT("最大列印加速度") //"Amax " max_acceleration_mm_per_s2, acceleration in units/s^2 for print moves
#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"

@ -481,9 +481,10 @@ uint16_t max_display_update_time = 0;
/**
* Show "Moving..." till moves are done, then revert to previous display.
*/
inline void lcd_synchronize() {
inline void lcd_synchronize(const char * const msg=NULL) {
static bool no_reentry = false;
lcd_implementation_drawmenu_static(LCD_HEIGHT >= 4 ? 1 : 0, PSTR(MSG_MOVING));
const static char moving[] PROGMEM = MSG_MOVING;
lcd_implementation_drawmenu_static(LCD_HEIGHT >= 4 ? 1 : 0, msg ? msg : moving);
if (no_reentry) return;
// Make this the current handler till all moves are done
@ -1406,6 +1407,11 @@ void kill_screen(const char* lcd_msg) {
#endif
#if ENABLED(EEPROM_SETTINGS)
static void lcd_store_settings() { lcd_completion_feedback(settings.save()); }
static void lcd_load_settings() { lcd_completion_feedback(settings.load()); }
#endif
#if ENABLED(LCD_BED_LEVELING)
/**
@ -1470,7 +1476,7 @@ void kill_screen(const char* lcd_msg) {
// The last G29 will record but not move
if (manual_probe_index == total_probe_points - 1)
enqueue_and_echo_commands_P("G29 V1");
enqueue_and_echo_commands_P(PSTR("G29 V1"));
#endif
@ -1484,13 +1490,15 @@ void kill_screen(const char* lcd_msg) {
#if MANUAL_PROBE_HEIGHT > 0
current_position[Z_AXIS] = LOGICAL_Z_POSITION(Z_MIN_POS) + MANUAL_PROBE_HEIGHT;
line_to_current(Z_AXIS);
lcd_synchronize();
#endif
#if MANUAL_PROBE_HEIGHT > 0 || ENABLED(MESH_BED_LEVELING)
lcd_synchronize(PSTR(MSG_LEVEL_BED_DONE));
#endif
// Enable leveling, if needed
#if ENABLED(MESH_BED_LEVELING)
lcd_synchronize();
mbl.set_has_mesh(true);
mesh_probing_done();
@ -1616,13 +1624,50 @@ void kill_screen(const char* lcd_msg) {
enqueue_and_echo_commands_P(PSTR("G28"));
}
static bool _level_state;
void _lcd_toggle_bed_leveling() { set_bed_leveling_enabled(_level_state); }
void _lcd_set_z_fade_height() { set_z_fade_height(planner.z_fade_height); }
/**
* Step 1: Bed Level entry-point: "Cancel" or "Level Bed"
* Step 1: Bed Level entry-point
* - Cancel
* - Level Bed >
* - Leveling On/Off (if there is leveling data)
* - Fade Height (Req: ENABLE_LEVELING_FADE_HEIGHT)
* - Mesh Z Offset (Req: MESH_BED_LEVELING)
* - Z Probe Offset (Req: HAS_BED_PROBE, Opt: BABYSTEP_ZPROBE_OFFSET)
* - Load Settings (Req: EEPROM_SETTINGS)
* - Save Settings (Req: EEPROM_SETTINGS)
*/
void lcd_level_bed() {
START_MENU();
MENU_BACK(MSG_LEVEL_BED_CANCEL);
MENU_BACK(MSG_PREPARE);
MENU_ITEM(submenu, MSG_LEVEL_BED, _lcd_level_bed_continue);
if (leveling_is_valid()) { // Leveling data exists? Show more options.
_level_state = leveling_is_active();
MENU_ITEM_EDIT_CALLBACK(bool, MSG_BED_LEVELING, &_level_state, _lcd_toggle_bed_leveling);
}
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
set_z_fade_height(planner.z_fade_height);
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_Z_FADE_HEIGHT, &planner.z_fade_height, 0.0, 100.0, _lcd_set_z_fade_height);
#endif
// Manual bed leveling, Bed Z:
#if ENABLED(MESH_BED_LEVELING)
MENU_ITEM_EDIT(float43, MSG_BED_Z, &mbl.z_offset, -1, 1);
#endif
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
MENU_ITEM(submenu, MSG_ZPROBE_ZOFFSET, lcd_babystep_zoffset);
#elif HAS_BED_PROBE
MENU_ITEM_EDIT_CALLBACK(float32, MSG_ZPROBE_ZOFFSET, &zprobe_zoffset, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX, lcd_refresh_zprobe_zoffset);
#endif
#if ENABLED(EEPROM_SETTINGS)
MENU_ITEM(function, MSG_LOAD_EEPROM, lcd_load_settings);
MENU_ITEM(function, MSG_STORE_EEPROM, lcd_store_settings);
#endif
END_MENU();
}
@ -2029,7 +2074,7 @@ void kill_screen(const char* lcd_msg) {
#if ENABLED(PROBE_MANUALLY)
if (!g29_in_progress)
#endif
MENU_ITEM(submenu, MSG_LEVEL_BED, lcd_level_bed);
MENU_ITEM(submenu, MSG_BED_LEVELING, lcd_level_bed);
#endif
#if HAS_M206_COMMAND
@ -2447,11 +2492,6 @@ void kill_screen(const char* lcd_msg) {
#endif // HAS_LCD_CONTRAST
#if ENABLED(EEPROM_SETTINGS)
static void lcd_store_settings() { lcd_completion_feedback(settings.save()); }
static void lcd_load_settings() { lcd_completion_feedback(settings.load()); }
#endif
static void lcd_factory_settings() {
settings.reset();
lcd_completion_feedback();
@ -2749,6 +2789,13 @@ void kill_screen(const char* lcd_msg) {
*/
void lcd_control_temperature_preheat_material2_settings_menu() { _lcd_control_temperature_preheat_settings_menu(1); }
/**
*
* "Control" > "Motion" submenu
*
*/
void _reset_acceleration_rates() { planner.reset_acceleration_rates(); }
#if ENABLED(DISTINCT_E_FACTORS)
void _reset_e_acceleration_rate(const uint8_t e) { if (e == active_extruder) _reset_acceleration_rates(); }
@ -2786,40 +2833,16 @@ void kill_screen(const char* lcd_msg) {
#endif // E_STEPPERS > 2
#endif
/**
*
* "Control" > "Motion" submenu
*
*/
#if HAS_BED_PROBE && DISABLED(BABYSTEP_ZPROBE_OFFSET)
static void lcd_refresh_zprobe_zoffset() { refresh_zprobe_zoffset(); }
#endif
void lcd_control_motion_menu() {
// M203 / M205 Feedrates
void lcd_control_motion_feedrate_menu() {
START_MENU();
MENU_BACK(MSG_CONTROL);
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
MENU_ITEM(submenu, MSG_ZPROBE_ZOFFSET, lcd_babystep_zoffset);
#elif HAS_BED_PROBE
MENU_ITEM_EDIT_CALLBACK(float32, MSG_ZPROBE_ZOFFSET, &zprobe_zoffset, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX, lcd_refresh_zprobe_zoffset);
#endif
// Manual bed leveling, Bed Z:
#if ENABLED(MESH_BED_LEVELING) && ENABLED(LCD_BED_LEVELING)
MENU_ITEM_EDIT(float43, MSG_BED_Z, &mbl.z_offset, -1, 1);
#endif
MENU_ITEM_EDIT(float5, MSG_ACC, &planner.acceleration, 10, 99000);
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);
#if ENABLED(DELTA)
MENU_ITEM_EDIT(float3, MSG_VZ_JERK, &planner.max_jerk[Z_AXIS], 1, 990);
#else
MENU_ITEM_EDIT(float52, MSG_VZ_JERK, &planner.max_jerk[Z_AXIS], 0.1, 990);
#endif
MENU_ITEM_EDIT(float3, MSG_VE_JERK, &planner.max_jerk[E_AXIS], 1, 990);
MENU_BACK(MSG_MOTION);
//
// M203 Settings
//
// 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);
@ -2841,12 +2864,30 @@ void kill_screen(const char* lcd_msg) {
MENU_ITEM_EDIT(float3, MSG_VMAX MSG_E, &planner.max_feedrate_mm_s[E_AXIS], 1, 999);
#endif
// M205 S Min Feedrate
MENU_ITEM_EDIT(float3, MSG_VMIN, &planner.min_feedrate_mm_s, 0, 999);
// M205 T Min Travel Feedrate
MENU_ITEM_EDIT(float3, MSG_VTRAV_MIN, &planner.min_travel_feedrate_mm_s, 0, 999);
//
// M201 Settings
//
END_MENU();
}
// M201 / M204 Accelerations
void lcd_control_motion_acceleration_menu() {
START_MENU();
MENU_BACK(MSG_MOTION);
// M204 P Acceleration
MENU_ITEM_EDIT(float5, MSG_ACC, &planner.acceleration, 10, 99000);
// M204 R Retract Acceleration
MENU_ITEM_EDIT(float5, MSG_A_RETRACT, &planner.retract_acceleration, 100, 99000);
// M204 T Travel Acceleration
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);
@ -2868,12 +2909,31 @@ void kill_screen(const char* lcd_msg) {
MENU_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_E, &planner.max_acceleration_mm_per_s2[E_AXIS], 100, 99000, _reset_acceleration_rates);
#endif
MENU_ITEM_EDIT(float5, MSG_A_RETRACT, &planner.retract_acceleration, 100, 99000);
MENU_ITEM_EDIT(float5, MSG_A_TRAVEL, &planner.travel_acceleration, 100, 99000);
END_MENU();
}
// M205 Jerk
void lcd_control_motion_jerk_menu() {
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);
#if ENABLED(DELTA)
MENU_ITEM_EDIT(float3, MSG_VZ_JERK, &planner.max_jerk[Z_AXIS], 1, 990);
#else
MENU_ITEM_EDIT(float52, MSG_VZ_JERK, &planner.max_jerk[Z_AXIS], 0.1, 990);
#endif
MENU_ITEM_EDIT(float3, MSG_VE_JERK, &planner.max_jerk[E_AXIS], 1, 990);
END_MENU();
}
// M92 Steps-per-mm
void lcd_control_motion_steps_per_mm_menu() {
START_MENU();
MENU_BACK(MSG_MOTION);
//
// M92 Settings
//
MENU_ITEM_EDIT_CALLBACK(float62, MSG_XSTEPS, &planner.axis_steps_per_mm[X_AXIS], 5, 9999, _planner_refresh_positioning);
MENU_ITEM_EDIT_CALLBACK(float62, MSG_YSTEPS, &planner.axis_steps_per_mm[Y_AXIS], 5, 9999, _planner_refresh_positioning);
MENU_ITEM_EDIT_CALLBACK(float62, MSG_ZSTEPS, &planner.axis_steps_per_mm[Z_AXIS], 5, 9999, _planner_refresh_positioning);
@ -2895,9 +2955,35 @@ void kill_screen(const char* lcd_msg) {
MENU_ITEM_EDIT_CALLBACK(float62, MSG_ESTEPS, &planner.axis_steps_per_mm[E_AXIS], 5, 9999, _planner_refresh_positioning);
#endif
END_MENU();
}
void lcd_control_motion_menu() {
START_MENU();
MENU_BACK(MSG_CONTROL);
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
MENU_ITEM(submenu, MSG_ZPROBE_ZOFFSET, lcd_babystep_zoffset);
#elif HAS_BED_PROBE
MENU_ITEM_EDIT_CALLBACK(float32, MSG_ZPROBE_ZOFFSET, &zprobe_zoffset, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX, lcd_refresh_zprobe_zoffset);
#endif
// M203 / M205 Feedrate items
MENU_ITEM(submenu, MSG_FEEDRATE, lcd_control_motion_feedrate_menu);
// M201 Acceleration items
MENU_ITEM(submenu, MSG_ACCELERATION, lcd_control_motion_acceleration_menu);
// M205 Max Jerk
MENU_ITEM(submenu, MSG_JERK, lcd_control_motion_jerk_menu);
// M92 Steps Per mm
MENU_ITEM(submenu, MSG_STEPS_PER_MM, lcd_control_motion_steps_per_mm_menu);
#if ENABLED(ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED)
MENU_ITEM_EDIT(bool, MSG_ENDSTOP_ABORT, &stepper.abort_on_endstop_hit);
#endif
END_MENU();
}

Loading…
Cancel
Save