diff --git a/Marlin/Marlin.h b/Marlin/Marlin.h index dcc9d04435..c18f5db53e 100644 --- a/Marlin/Marlin.h +++ b/Marlin/Marlin.h @@ -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 diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index 75edc0e6fe..d14dc93ffb 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -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()); + const bool enabling = enable && leveling_is_valid(); + mbl.set_active(enabling); + if (enabling) planner.unapply_leveling(current_position); - if (enable && mbl.has_mesh()) planner.unapply_leveling(current_position); - } + #elif ENABLED(AUTO_BED_LEVELING_UBL) - #elif ENABLED(AUTO_BED_LEVELING_UBL) + #if PLANNER_LEVELING - #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; + #endif - #else + ubl.state.active = enable; - #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,8 +2385,9 @@ static void clean_up_after_endstop_or_probe_move() { ); else planner.unapply_leveling(current_position); - } - #endif + + #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 @@ -2384,7 +2404,6 @@ static void clean_up_after_endstop_or_probe_move() { Z_AXIS #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,8 +4710,11 @@ 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) - lcd_wait_for_move = false; + #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 @@ -6591,15 +6611,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 @@ -8727,14 +8739,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(); } @@ -8760,15 +8772,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; @@ -8987,7 +8991,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); @@ -9801,7 +9805,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 @@ -11408,7 +11412,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; } @@ -11421,13 +11425,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; } diff --git a/Marlin/configuration_store.cpp b/Marlin/configuration_store.cpp index c39508f50d..0cef5c52a4 100644 --- a/Marlin/configuration_store.cpp +++ b/Marlin/configuration_store.cpp @@ -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 diff --git a/Marlin/language_an.h b/Marlin/language_an.h index af0981c448..2aa0a39291 100644 --- a/Marlin/language_an.h +++ b/Marlin/language_an.h @@ -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") diff --git a/Marlin/language_bg.h b/Marlin/language_bg.h index 34d812eda1..2370ca5f5f 100644 --- a/Marlin/language_bg.h +++ b/Marlin/language_bg.h @@ -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") diff --git a/Marlin/language_ca.h b/Marlin/language_ca.h index 4a713c63e3..01a48d2b9d 100644 --- a/Marlin/language_ca.h +++ b/Marlin/language_ca.h @@ -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") diff --git a/Marlin/language_cn.h b/Marlin/language_cn.h index 5b471a6724..41efcf0987 100644 --- a/Marlin/language_cn.h +++ b/Marlin/language_cn.h @@ -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" diff --git a/Marlin/language_cz.h b/Marlin/language_cz.h index 25cad14b19..2ee3310bcd 100644 --- a/Marlin/language_cz.h +++ b/Marlin/language_cz.h @@ -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") diff --git a/Marlin/language_da.h b/Marlin/language_da.h index 93fdfbd27a..52391feefa 100644 --- a/Marlin/language_da.h +++ b/Marlin/language_da.h @@ -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") diff --git a/Marlin/language_de.h b/Marlin/language_de.h index 01d8fdea40..e5216d0051 100644 --- a/Marlin/language_de.h +++ b/Marlin/language_de.h @@ -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") diff --git a/Marlin/language_el-gr.h b/Marlin/language_el-gr.h index 3e55dd6665..4104a1daf6 100644 --- a/Marlin/language_el-gr.h +++ b/Marlin/language_el-gr.h @@ -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") diff --git a/Marlin/language_el.h b/Marlin/language_el.h index 4203630171..af23ede574 100644 --- a/Marlin/language_el.h +++ b/Marlin/language_el.h @@ -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") diff --git a/Marlin/language_en.h b/Marlin/language_en.h index 9099b04970..9d0958d3a2 100644 --- a/Marlin/language_en.h +++ b/Marlin/language_en.h @@ -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 diff --git a/Marlin/language_es.h b/Marlin/language_es.h index 97decb406d..30ebb1e211 100644 --- a/Marlin/language_es.h +++ b/Marlin/language_es.h @@ -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") diff --git a/Marlin/language_eu.h b/Marlin/language_eu.h index fbf6464d2e..64dbd5caec 100644 --- a/Marlin/language_eu.h +++ b/Marlin/language_eu.h @@ -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") diff --git a/Marlin/language_fi.h b/Marlin/language_fi.h index cd78d80e73..4bb7236177 100644 --- a/Marlin/language_fi.h +++ b/Marlin/language_fi.h @@ -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") diff --git a/Marlin/language_fr.h b/Marlin/language_fr.h index 84b0dd7142..116f5d8b17 100644 --- a/Marlin/language_fr.h +++ b/Marlin/language_fr.h @@ -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") diff --git a/Marlin/language_gl.h b/Marlin/language_gl.h index d82da020a5..d6234e5d3b 100644 --- a/Marlin/language_gl.h +++ b/Marlin/language_gl.h @@ -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") diff --git a/Marlin/language_hr.h b/Marlin/language_hr.h index 61308142dd..72a4fd0c37 100644 --- a/Marlin/language_hr.h +++ b/Marlin/language_hr.h @@ -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") diff --git a/Marlin/language_it.h b/Marlin/language_it.h index 415ae507ec..6ff2337fdf 100644 --- a/Marlin/language_it.h +++ b/Marlin/language_it.h @@ -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") diff --git a/Marlin/language_kana.h b/Marlin/language_kana.h index 077a277a76..c8169a265b 100644 --- a/Marlin/language_kana.h +++ b/Marlin/language_kana.h @@ -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") diff --git a/Marlin/language_kana_utf8.h b/Marlin/language_kana_utf8.h index 6ca860586e..874647ad54 100644 --- a/Marlin/language_kana_utf8.h +++ b/Marlin/language_kana_utf8.h @@ -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" diff --git a/Marlin/language_nl.h b/Marlin/language_nl.h index b041a35355..ffb71f69d9 100644 --- a/Marlin/language_nl.h +++ b/Marlin/language_nl.h @@ -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") diff --git a/Marlin/language_pl.h b/Marlin/language_pl.h index 204d3123b4..2794a17239 100644 --- a/Marlin/language_pl.h +++ b/Marlin/language_pl.h @@ -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") @@ -268,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") @@ -288,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") diff --git a/Marlin/language_pt-br.h b/Marlin/language_pt-br.h index 05c91e0b98..03e683c5e8 100644 --- a/Marlin/language_pt-br.h +++ b/Marlin/language_pt-br.h @@ -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." diff --git a/Marlin/language_pt-br_utf8.h b/Marlin/language_pt-br_utf8.h index c9040fcddc..e2d9ced5ee 100644 --- a/Marlin/language_pt-br_utf8.h +++ b/Marlin/language_pt-br_utf8.h @@ -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.") diff --git a/Marlin/language_pt.h b/Marlin/language_pt.h index 4b82124325..17d7c21f53 100644 --- a/Marlin/language_pt.h +++ b/Marlin/language_pt.h @@ -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" diff --git a/Marlin/language_pt_utf8.h b/Marlin/language_pt_utf8.h index d9345a579e..e939c4d0c1 100644 --- a/Marlin/language_pt_utf8.h +++ b/Marlin/language_pt_utf8.h @@ -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") diff --git a/Marlin/language_ru.h b/Marlin/language_ru.h index 3b2936128b..1c82986cbf 100644 --- a/Marlin/language_ru.h +++ b/Marlin/language_ru.h @@ -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") diff --git a/Marlin/language_tr.h b/Marlin/language_tr.h index d15fbfb6df..edbea97d7b 100644 --- a/Marlin/language_tr.h +++ b/Marlin/language_tr.h @@ -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 diff --git a/Marlin/language_uk.h b/Marlin/language_uk.h index 2773b24c3e..638961e935 100644 --- a/Marlin/language_uk.h +++ b/Marlin/language_uk.h @@ -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") diff --git a/Marlin/language_zh_CN.h b/Marlin/language_zh_CN.h index c42ab6a4fd..deefcf6c54 100644 --- a/Marlin/language_zh_CN.h +++ b/Marlin/language_zh_CN.h @@ -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" diff --git a/Marlin/language_zh_TW.h b/Marlin/language_zh_TW.h index 421f4e717b..c7563e7867 100644 --- a/Marlin/language_zh_TW.h +++ b/Marlin/language_zh_TW.h @@ -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" diff --git a/Marlin/ultralcd.cpp b/Marlin/ultralcd.cpp index e4b1a7463a..686ce255eb 100755 --- a/Marlin/ultralcd.cpp +++ b/Marlin/ultralcd.cpp @@ -478,9 +478,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 @@ -1403,6 +1404,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) /** @@ -1467,7 +1473,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 @@ -1481,13 +1487,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(); @@ -1607,19 +1615,56 @@ void kill_screen(const char* lcd_msg) { * Step 2: Continue Bed Leveling... */ void _lcd_level_bed_continue() { - defer_return_to_status = true; - axis_homed[X_AXIS] = axis_homed[Y_AXIS] = axis_homed[Z_AXIS] = false; - lcd_goto_screen(_lcd_level_bed_homing); - enqueue_and_echo_commands_P(PSTR("G28")); + defer_return_to_status = true; + axis_homed[X_AXIS] = axis_homed[Y_AXIS] = axis_homed[Z_AXIS] = false; + lcd_goto_screen(_lcd_level_bed_homing); + 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(); } @@ -2026,7 +2071,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 @@ -2444,11 +2489,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(); @@ -2925,11 +2965,6 @@ void kill_screen(const char* lcd_msg) { 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 - // M203 / M205 Feedrate items MENU_ITEM(submenu, MSG_FEEDRATE, lcd_control_motion_feedrate_menu);