Add more options to the Bed Leveling menu

2.0.x
Scott Lahteine 8 years ago
parent 0cbe448edf
commit 01e7e234c6

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

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

@ -1525,7 +1525,7 @@ void MarlinSettings::reset() {
SERIAL_ECHOLNPGM("Mesh Bed Leveling:"); SERIAL_ECHOLNPGM("Mesh Bed Leveling:");
} }
CONFIG_ECHO_START; 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) #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
SERIAL_ECHOPAIR(" Z", LINEAR_UNIT(planner.z_fade_height)); SERIAL_ECHOPAIR(" Z", LINEAR_UNIT(planner.z_fade_height));
#endif #endif
@ -1549,7 +1549,7 @@ void MarlinSettings::reset() {
SERIAL_ECHOLNPGM(":"); SERIAL_ECHOLNPGM(":");
} }
CONFIG_ECHO_START; 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) #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
SERIAL_ECHOPAIR(" Z", planner.z_fade_height); SERIAL_ECHOPAIR(" Z", planner.z_fade_height);
#endif #endif
@ -1576,7 +1576,7 @@ void MarlinSettings::reset() {
SERIAL_ECHOLNPGM("Auto Bed Leveling:"); SERIAL_ECHOLNPGM("Auto Bed Leveling:");
} }
CONFIG_ECHO_START; 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) #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
SERIAL_ECHOPAIR(" Z", LINEAR_UNIT(planner.z_fade_height)); SERIAL_ECHOPAIR(" Z", LINEAR_UNIT(planner.z_fade_height));
#endif #endif

@ -47,7 +47,6 @@
#define MSG_LEVEL_BED_WAITING _UxGT("Encetar (pretar)") #define MSG_LEVEL_BED_WAITING _UxGT("Encetar (pretar)")
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Vinient punto") #define MSG_LEVEL_BED_NEXT_POINT _UxGT("Vinient punto")
#define MSG_LEVEL_BED_DONE _UxGT("Nivelacion feita!") #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_SET_HOME_OFFSETS _UxGT("Achustar desfases")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Desfase aplicau") #define MSG_HOME_OFFSETS_APPLIED _UxGT("Desfase aplicau")
#define MSG_SET_ORIGIN _UxGT("Establir orichen") #define MSG_SET_ORIGIN _UxGT("Establir orichen")
@ -67,6 +66,7 @@
#define MSG_EXTRUDE _UxGT("Extruir") #define MSG_EXTRUDE _UxGT("Extruir")
#define MSG_RETRACT _UxGT("Retraer") #define MSG_RETRACT _UxGT("Retraer")
#define MSG_MOVE_AXIS _UxGT("Mover Eixes") #define MSG_MOVE_AXIS _UxGT("Mover Eixes")
#define MSG_BED_LEVELING _UxGT("Nivelar base")
#define MSG_LEVEL_BED _UxGT("Nivelar base") #define MSG_LEVEL_BED _UxGT("Nivelar base")
#define MSG_MOVE_X _UxGT("Mover X") #define MSG_MOVE_X _UxGT("Mover X")
#define MSG_MOVE_Y _UxGT("Mover Y") #define MSG_MOVE_Y _UxGT("Mover Y")

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

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

@ -42,7 +42,6 @@
#define MSG_LEVEL_BED_HOMING "Homing XYZ" #define MSG_LEVEL_BED_HOMING "Homing XYZ"
#define MSG_LEVEL_BED_WAITING "Click to Begin" #define MSG_LEVEL_BED_WAITING "Click to Begin"
#define MSG_LEVEL_BED_DONE "Leveling Done!" #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_SET_HOME_OFFSETS "\xbe\xbf\xbb\xbc\xbd\xc0\xc1"
#define MSG_HOME_OFFSETS_APPLIED "Offsets applied" #define MSG_HOME_OFFSETS_APPLIED "Offsets applied"
#define MSG_SET_ORIGIN "\xbe\xbf\xbc\xbd" #define MSG_SET_ORIGIN "\xbe\xbf\xbc\xbd"
@ -62,6 +61,7 @@
#define MSG_EXTRUDE "\xcc\xad" #define MSG_EXTRUDE "\xcc\xad"
#define MSG_RETRACT "\xbb\xcd" #define MSG_RETRACT "\xbb\xcd"
#define MSG_MOVE_AXIS "\xc1\xb2\xce" #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_LEVEL_BED "\xcf\xe0\xc4\xc7"
#define MSG_MOVE_X "\xc1\xb2 X" #define MSG_MOVE_X "\xc1\xb2 X"
#define MSG_MOVE_Y "\xc1\xb2 Y" #define MSG_MOVE_Y "\xc1\xb2 Y"

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

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

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

@ -48,7 +48,6 @@
#define MSG_LEVEL_BED_WAITING _UxGT("Κάντε κλικ για να ξεκινήσετε") #define MSG_LEVEL_BED_WAITING _UxGT("Κάντε κλικ για να ξεκινήσετε")
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Επόμενο σημείο") #define MSG_LEVEL_BED_NEXT_POINT _UxGT("Επόμενο σημείο")
#define MSG_LEVEL_BED_DONE _UxGT("Ολοκλήρωση επιπεδοποίησης!") #define MSG_LEVEL_BED_DONE _UxGT("Ολοκλήρωση επιπεδοποίησης!")
#define MSG_LEVEL_BED_CANCEL _UxGT("Ακύρωση")
#define MSG_SET_HOME_OFFSETS _UxGT("Ορισμός βασικών μετατοπίσεων") #define MSG_SET_HOME_OFFSETS _UxGT("Ορισμός βασικών μετατοπίσεων")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Εφαρμόστηκαν οι μετατοπίσεις") #define MSG_HOME_OFFSETS_APPLIED _UxGT("Εφαρμόστηκαν οι μετατοπίσεις")
#define MSG_SET_ORIGIN _UxGT("Ορισμός προέλευσης") #define MSG_SET_ORIGIN _UxGT("Ορισμός προέλευσης")
@ -68,6 +67,7 @@
#define MSG_EXTRUDE _UxGT("Εξώθηση") #define MSG_EXTRUDE _UxGT("Εξώθηση")
#define MSG_RETRACT _UxGT("Ανάσυρση") #define MSG_RETRACT _UxGT("Ανάσυρση")
#define MSG_MOVE_AXIS _UxGT("Μετακίνηση άξονα") #define MSG_MOVE_AXIS _UxGT("Μετακίνηση άξονα")
#define MSG_BED_LEVELING _UxGT("Επιπεδοποίηση κλίνης")
#define MSG_LEVEL_BED _UxGT("Επιπεδοποίηση κλίνης") #define MSG_LEVEL_BED _UxGT("Επιπεδοποίηση κλίνης")
#define MSG_MOVE_X _UxGT("Μετακίνηση X") #define MSG_MOVE_X _UxGT("Μετακίνηση X")
#define MSG_MOVE_Y _UxGT("Μετακίνηση Y") #define MSG_MOVE_Y _UxGT("Μετακίνηση Y")

@ -48,7 +48,6 @@
#define MSG_LEVEL_BED_WAITING _UxGT("Επιπεδοποίηση επ. Εκτύπωσης περιμενει") //SHORTEN #define MSG_LEVEL_BED_WAITING _UxGT("Επιπεδοποίηση επ. Εκτύπωσης περιμενει") //SHORTEN
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Επόμενο σημείο") #define MSG_LEVEL_BED_NEXT_POINT _UxGT("Επόμενο σημείο")
#define MSG_LEVEL_BED_DONE _UxGT("Ολοκλήρωση επιπεδοποίησης!") //SHORTEN #define MSG_LEVEL_BED_DONE _UxGT("Ολοκλήρωση επιπεδοποίησης!") //SHORTEN
#define MSG_LEVEL_BED_CANCEL _UxGT("Ακύρωση")
#define MSG_SET_HOME_OFFSETS _UxGT("Ορισμός βασικών μετατοπίσεων") //SHORTEN #define MSG_SET_HOME_OFFSETS _UxGT("Ορισμός βασικών μετατοπίσεων") //SHORTEN
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Εφαρμόστηκαν οι μετατοπίσεις") //SHORTEN #define MSG_HOME_OFFSETS_APPLIED _UxGT("Εφαρμόστηκαν οι μετατοπίσεις") //SHORTEN
#define MSG_SET_ORIGIN _UxGT("Ορισμός προέλευσης") #define MSG_SET_ORIGIN _UxGT("Ορισμός προέλευσης")
@ -68,6 +67,7 @@
#define MSG_EXTRUDE _UxGT("Εξώθηση") #define MSG_EXTRUDE _UxGT("Εξώθηση")
#define MSG_RETRACT _UxGT("Ανάσυρση") #define MSG_RETRACT _UxGT("Ανάσυρση")
#define MSG_MOVE_AXIS _UxGT("Μετακίνηση άξονα") #define MSG_MOVE_AXIS _UxGT("Μετακίνηση άξονα")
#define MSG_BED_LEVELING _UxGT("Επιπεδοποίηση Επ. Εκτύπωσης") //SHORTEN
#define MSG_LEVEL_BED _UxGT("Επιπεδοποίηση Επ. Εκτύπωσης") //SHORTEN #define MSG_LEVEL_BED _UxGT("Επιπεδοποίηση Επ. Εκτύπωσης") //SHORTEN
#define MSG_MOVE_X _UxGT("Μετακίνηση X") #define MSG_MOVE_X _UxGT("Μετακίνηση X")
#define MSG_MOVE_Y _UxGT("Μετακίνηση Y") #define MSG_MOVE_Y _UxGT("Μετακίνηση Y")

@ -84,8 +84,8 @@
#ifndef MSG_LEVEL_BED_DONE #ifndef MSG_LEVEL_BED_DONE
#define MSG_LEVEL_BED_DONE _UxGT("Leveling Done!") #define MSG_LEVEL_BED_DONE _UxGT("Leveling Done!")
#endif #endif
#ifndef MSG_LEVEL_BED_CANCEL #ifndef MSG_Z_FADE_HEIGHT
#define MSG_LEVEL_BED_CANCEL _UxGT("Cancel") #define MSG_Z_FADE_HEIGHT _UxGT("Fade Height")
#endif #endif
#ifndef MSG_SET_HOME_OFFSETS #ifndef MSG_SET_HOME_OFFSETS
#define MSG_SET_HOME_OFFSETS _UxGT("Set home offsets") #define MSG_SET_HOME_OFFSETS _UxGT("Set home offsets")
@ -150,6 +150,9 @@
#ifndef MSG_MOVE_AXIS #ifndef MSG_MOVE_AXIS
#define MSG_MOVE_AXIS _UxGT("Move axis") #define MSG_MOVE_AXIS _UxGT("Move axis")
#endif #endif
#ifndef MSG_BED_LEVELING
#define MSG_BED_LEVELING _UxGT("Bed Leveling")
#endif
#ifndef MSG_LEVEL_BED #ifndef MSG_LEVEL_BED
#define MSG_LEVEL_BED _UxGT("Level bed") #define MSG_LEVEL_BED _UxGT("Level bed")
#endif #endif

@ -50,7 +50,6 @@
#define MSG_LEVEL_BED_WAITING _UxGT("Iniciar (Presione)") #define MSG_LEVEL_BED_WAITING _UxGT("Iniciar (Presione)")
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Siguiente punto") #define MSG_LEVEL_BED_NEXT_POINT _UxGT("Siguiente punto")
#define MSG_LEVEL_BED_DONE _UxGT("Nivelacion lista!") #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_SET_HOME_OFFSETS _UxGT("Ajustar desfases")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Desfase aplicado") #define MSG_HOME_OFFSETS_APPLIED _UxGT("Desfase aplicado")
#define MSG_SET_ORIGIN _UxGT("Establecer origen") #define MSG_SET_ORIGIN _UxGT("Establecer origen")
@ -72,6 +71,7 @@
#define MSG_EXTRUDE _UxGT("Extruir") #define MSG_EXTRUDE _UxGT("Extruir")
#define MSG_RETRACT _UxGT("Retraer") #define MSG_RETRACT _UxGT("Retraer")
#define MSG_MOVE_AXIS _UxGT("Mover ejes") #define MSG_MOVE_AXIS _UxGT("Mover ejes")
#define MSG_BED_LEVELING _UxGT("Nivelar plataforma")
#define MSG_LEVEL_BED _UxGT("Nivelar plataforma") #define MSG_LEVEL_BED _UxGT("Nivelar plataforma")
#define MSG_MOVING _UxGT("Moviendo...") #define MSG_MOVING _UxGT("Moviendo...")
#define MSG_FREE_XY _UxGT("Libre XY") #define MSG_FREE_XY _UxGT("Libre XY")

@ -50,7 +50,6 @@
#define MSG_LEVEL_BED_WAITING _UxGT("Klik egin hasteko") #define MSG_LEVEL_BED_WAITING _UxGT("Klik egin hasteko")
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Hurrengo Puntua") #define MSG_LEVEL_BED_NEXT_POINT _UxGT("Hurrengo Puntua")
#define MSG_LEVEL_BED_DONE _UxGT("Berdintzea eginda") #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_SET_HOME_OFFSETS _UxGT("Etxe. offset eza.")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Offsetak ezarrita") #define MSG_HOME_OFFSETS_APPLIED _UxGT("Offsetak ezarrita")
#define MSG_SET_ORIGIN _UxGT("Hasiera ipini") #define MSG_SET_ORIGIN _UxGT("Hasiera ipini")
@ -72,6 +71,7 @@
#define MSG_EXTRUDE _UxGT("Estruitu") #define MSG_EXTRUDE _UxGT("Estruitu")
#define MSG_RETRACT _UxGT("Atzera eragin") #define MSG_RETRACT _UxGT("Atzera eragin")
#define MSG_MOVE_AXIS _UxGT("Ardatzak mugitu") #define MSG_MOVE_AXIS _UxGT("Ardatzak mugitu")
#define MSG_BED_LEVELING _UxGT("Ohea Berdindu")
#define MSG_LEVEL_BED _UxGT("Ohea Berdindu") #define MSG_LEVEL_BED _UxGT("Ohea Berdindu")
#define MSG_MOVING _UxGT("Mugitzen...") #define MSG_MOVING _UxGT("Mugitzen...")
#define MSG_FREE_XY _UxGT("Askatu XY") #define MSG_FREE_XY _UxGT("Askatu XY")

@ -43,7 +43,6 @@
#define MSG_LEVEL_BED_HOMING _UxGT("Homing XYZ") #define MSG_LEVEL_BED_HOMING _UxGT("Homing XYZ")
#define MSG_LEVEL_BED_WAITING _UxGT("Click to Begin") #define MSG_LEVEL_BED_WAITING _UxGT("Click to Begin")
#define MSG_LEVEL_BED_DONE _UxGT("Leveling Done!") #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_SET_HOME_OFFSETS _UxGT("Set home offsets")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Offsets applied") #define MSG_HOME_OFFSETS_APPLIED _UxGT("Offsets applied")
#define MSG_SET_ORIGIN _UxGT("Aseta origo") #define MSG_SET_ORIGIN _UxGT("Aseta origo")

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

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

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

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

@ -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_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_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_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_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_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") #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_EXTRUDE "\xb5\xbc\xc0\xde\xbc" // "オシダシ" ("Extrude")
#define MSG_RETRACT "\xcb\xb7\xba\xd0\xbe\xaf\xc3\xb2" // "ヒキコミセッテイ" ("Retract") #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_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_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_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") #define MSG_FREE_XY "XY\xbc\xde\xb8\x20\xb6\xb2\xce\xb3" // "XYジク カイホウ" ("Free XY")

@ -55,7 +55,6 @@
#define MSG_LEVEL_BED_WAITING _UxGT("レベリングカイシ") // "Click to Begin" #define MSG_LEVEL_BED_WAITING _UxGT("レベリングカイシ") // "Click to Begin"
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("ツギノソクテイテンヘ") // "Next Point" #define MSG_LEVEL_BED_NEXT_POINT _UxGT("ツギノソクテイテンヘ") // "Next Point"
#define MSG_LEVEL_BED_DONE _UxGT("レベリングカンリョウ") // "Leveling Done!" #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_SET_HOME_OFFSETS _UxGT("キジュンオフセットセッテイ") // "Set home offsets"
#define MSG_HOME_OFFSETS_APPLIED _UxGT("オフセットガテキヨウサレマシタ") // "Offsets applied" #define MSG_HOME_OFFSETS_APPLIED _UxGT("オフセットガテキヨウサレマシタ") // "Offsets applied"
#define MSG_SET_ORIGIN _UxGT("キジュンセット") // "Set origin" #define MSG_SET_ORIGIN _UxGT("キジュンセット") // "Set origin"
@ -75,6 +74,7 @@
#define MSG_EXTRUDE _UxGT("オシダシ") // "Extrude" #define MSG_EXTRUDE _UxGT("オシダシ") // "Extrude"
#define MSG_RETRACT _UxGT("ヒキコミセッテイ") // "Retract" #define MSG_RETRACT _UxGT("ヒキコミセッテイ") // "Retract"
#define MSG_MOVE_AXIS _UxGT("ジクイドウ") // "Move axis" #define MSG_MOVE_AXIS _UxGT("ジクイドウ") // "Move axis"
#define MSG_BED_LEVELING _UxGT("ベッドレベリング") // "Bed leveling"
#define MSG_LEVEL_BED _UxGT("ベッドレベリング") // "Level bed" #define MSG_LEVEL_BED _UxGT("ベッドレベリング") // "Level bed"
#define MSG_MOVING _UxGT("イドウチュウ") // "Moving..." #define MSG_MOVING _UxGT("イドウチュウ") // "Moving..."
#define MSG_FREE_XY _UxGT("XYジク カイホウ") // "Free XY" #define MSG_FREE_XY _UxGT("XYジク カイホウ") // "Free XY"

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

@ -50,7 +50,6 @@
#define MSG_LEVEL_BED_WAITING _UxGT("Kliknij by rozp.") #define MSG_LEVEL_BED_WAITING _UxGT("Kliknij by rozp.")
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Następny punkt") #define MSG_LEVEL_BED_NEXT_POINT _UxGT("Następny punkt")
#define MSG_LEVEL_BED_DONE _UxGT("Wypoziomowano!") #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_SET_HOME_OFFSETS _UxGT("Ust. poz. zer.")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Poz. zerowa ust.") #define MSG_HOME_OFFSETS_APPLIED _UxGT("Poz. zerowa ust.")
#define MSG_SET_ORIGIN _UxGT("Ustaw punkt zero") #define MSG_SET_ORIGIN _UxGT("Ustaw punkt zero")
@ -70,6 +69,7 @@
#define MSG_EXTRUDE _UxGT("Ekstruzja") #define MSG_EXTRUDE _UxGT("Ekstruzja")
#define MSG_RETRACT _UxGT("Wycofanie") #define MSG_RETRACT _UxGT("Wycofanie")
#define MSG_MOVE_AXIS _UxGT("Ruch osi") #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_LEVEL_BED _UxGT("Poziom. stołu")
#define MSG_MOVE_X _UxGT("Przesuń w X") #define MSG_MOVE_X _UxGT("Przesuń w X")
#define MSG_MOVE_Y _UxGT("Przesuń w Y") #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_WAITING _UxGT("Kliknij by rozp.")
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Nastepny punkt") #define MSG_LEVEL_BED_NEXT_POINT _UxGT("Nastepny punkt")
#define MSG_LEVEL_BED_DONE _UxGT("Wypoziomowano!") #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_SET_HOME_OFFSETS _UxGT("Ust. poz. zer.")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Poz. zerowa ust.") #define MSG_HOME_OFFSETS_APPLIED _UxGT("Poz. zerowa ust.")
#define MSG_SET_ORIGIN _UxGT("Ustaw punkt zero") #define MSG_SET_ORIGIN _UxGT("Ustaw punkt zero")
@ -288,6 +287,7 @@
#define MSG_EXTRUDE _UxGT("Ekstruzja") #define MSG_EXTRUDE _UxGT("Ekstruzja")
#define MSG_RETRACT _UxGT("Wycofanie") #define MSG_RETRACT _UxGT("Wycofanie")
#define MSG_MOVE_AXIS _UxGT("Ruch osi") #define MSG_MOVE_AXIS _UxGT("Ruch osi")
#define MSG_BED_LEVELING _UxGT("Poziom. stolu")
#define MSG_LEVEL_BED _UxGT("Poziom. stolu") #define MSG_LEVEL_BED _UxGT("Poziom. stolu")
#define MSG_MOVE_X _UxGT("Przesun w X") #define MSG_MOVE_X _UxGT("Przesun w X")
#define MSG_MOVE_Y _UxGT("Przesun w Y") #define MSG_MOVE_Y _UxGT("Przesun w Y")

@ -42,7 +42,6 @@
#define MSG_LEVEL_BED_HOMING "Homing XYZ" #define MSG_LEVEL_BED_HOMING "Homing XYZ"
#define MSG_LEVEL_BED_WAITING "Click to Begin" #define MSG_LEVEL_BED_WAITING "Click to Begin"
#define MSG_LEVEL_BED_DONE "Leveling Done!" #define MSG_LEVEL_BED_DONE "Leveling Done!"
#define MSG_LEVEL_BED_CANCEL "Cancel"
#define MSG_SET_HOME_OFFSETS "Ajustar Jogo" #define MSG_SET_HOME_OFFSETS "Ajustar Jogo"
#define MSG_HOME_OFFSETS_APPLIED "Offsets applied" #define MSG_HOME_OFFSETS_APPLIED "Offsets applied"
#define MSG_SET_ORIGIN "Ajustar orig." #define MSG_SET_ORIGIN "Ajustar orig."

@ -42,7 +42,6 @@
#define MSG_LEVEL_BED_HOMING _UxGT("Indo para origem") #define MSG_LEVEL_BED_HOMING _UxGT("Indo para origem")
#define MSG_LEVEL_BED_WAITING _UxGT("Click to Begin") #define MSG_LEVEL_BED_WAITING _UxGT("Click to Begin")
#define MSG_LEVEL_BED_DONE _UxGT("Leveling Done!") #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_SET_HOME_OFFSETS _UxGT("Ajustar Jogo")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Offsets applied") #define MSG_HOME_OFFSETS_APPLIED _UxGT("Offsets applied")
#define MSG_SET_ORIGIN _UxGT("Ajustar orig.") #define MSG_SET_ORIGIN _UxGT("Ajustar orig.")

@ -46,7 +46,6 @@
#define MSG_LEVEL_BED_WAITING "Click para iniciar" #define MSG_LEVEL_BED_WAITING "Click para iniciar"
#define MSG_LEVEL_BED_NEXT_POINT "Proximo ponto" #define MSG_LEVEL_BED_NEXT_POINT "Proximo ponto"
#define MSG_LEVEL_BED_DONE "Pronto !" #define MSG_LEVEL_BED_DONE "Pronto !"
#define MSG_LEVEL_BED_CANCEL "Cancelar"
#define MSG_SET_HOME_OFFSETS "Definir desvio" #define MSG_SET_HOME_OFFSETS "Definir desvio"
#define MSG_HOME_OFFSETS_APPLIED "Offsets applied" #define MSG_HOME_OFFSETS_APPLIED "Offsets applied"
#define MSG_SET_ORIGIN "Definir origem" #define MSG_SET_ORIGIN "Definir origem"

@ -46,7 +46,6 @@
#define MSG_LEVEL_BED_WAITING _UxGT("Click para iniciar") #define MSG_LEVEL_BED_WAITING _UxGT("Click para iniciar")
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Próximo ponto") #define MSG_LEVEL_BED_NEXT_POINT _UxGT("Próximo ponto")
#define MSG_LEVEL_BED_DONE _UxGT("Pronto !") #define MSG_LEVEL_BED_DONE _UxGT("Pronto !")
#define MSG_LEVEL_BED_CANCEL _UxGT("Cancelar")
#define MSG_SET_HOME_OFFSETS _UxGT("Definir desvio") #define MSG_SET_HOME_OFFSETS _UxGT("Definir desvio")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Offsets aplicados") #define MSG_HOME_OFFSETS_APPLIED _UxGT("Offsets aplicados")
#define MSG_SET_ORIGIN _UxGT("Definir origem") #define MSG_SET_ORIGIN _UxGT("Definir origem")

@ -45,7 +45,6 @@
#define MSG_LEVEL_BED_WAITING _UxGT("Нажмите начать") #define MSG_LEVEL_BED_WAITING _UxGT("Нажмите начать")
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Следующая точка") #define MSG_LEVEL_BED_NEXT_POINT _UxGT("Следующая точка")
#define MSG_LEVEL_BED_DONE _UxGT("Уровень!") #define MSG_LEVEL_BED_DONE _UxGT("Уровень!")
#define MSG_LEVEL_BED_CANCEL _UxGT("Отменить")
#define MSG_SET_HOME_OFFSETS _UxGT("Запомнить парковку") #define MSG_SET_HOME_OFFSETS _UxGT("Запомнить парковку")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Коррекции примен") #define MSG_HOME_OFFSETS_APPLIED _UxGT("Коррекции примен")
#define MSG_SET_ORIGIN _UxGT("Запомнить ноль") #define MSG_SET_ORIGIN _UxGT("Запомнить ноль")
@ -65,6 +64,7 @@
#define MSG_EXTRUDE _UxGT("Экструзия") #define MSG_EXTRUDE _UxGT("Экструзия")
#define MSG_RETRACT _UxGT("Втягивание") #define MSG_RETRACT _UxGT("Втягивание")
#define MSG_MOVE_AXIS _UxGT("Движение по осям") #define MSG_MOVE_AXIS _UxGT("Движение по осям")
#define MSG_BED_LEVELING _UxGT("Калибровать стол")
#define MSG_LEVEL_BED _UxGT("Калибровать стол") #define MSG_LEVEL_BED _UxGT("Калибровать стол")
#define MSG_MOVE_X _UxGT("Движение по X") #define MSG_MOVE_X _UxGT("Движение по X")
#define MSG_MOVE_Y _UxGT("Движение по Y") #define MSG_MOVE_Y _UxGT("Движение по Y")

@ -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_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_NEXT_POINT _UxGT("Sıradaki Nokta") // Sıradaki Nokta
#define MSG_LEVEL_BED_DONE _UxGT("Seviyeleme Tamam!") // Seviyeleme Tamam! #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_SET_HOME_OFFSETS _UxGT("Offset Ayarla") // Offset Ayarla
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Offset Tamam") // Offset Tamam #define MSG_HOME_OFFSETS_APPLIED _UxGT("Offset Tamam") // Offset Tamam
#define MSG_SET_ORIGIN _UxGT("Sıfır Belirle") // Sıfır Belirle #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_EXTRUDE _UxGT("Extrude") // Extrude
#define MSG_RETRACT _UxGT("Geri Çek") // Geri Çek #define MSG_RETRACT _UxGT("Geri Çek") // Geri Çek
#define MSG_MOVE_AXIS _UxGT("Eksen Yönet") // Eksenleri Yönet #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_LEVEL_BED _UxGT("Tabla Seviyele") // Tabla Seviyele
#define MSG_MOVING _UxGT("Konumlanıyor...") // Konumlanıyor... #define MSG_MOVING _UxGT("Konumlanıyor...") // Konumlanıyor...
#define MSG_FREE_XY _UxGT("Durdur XY") // Durdur XY #define MSG_FREE_XY _UxGT("Durdur XY") // Durdur XY

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

@ -45,7 +45,6 @@
#define MSG_LEVEL_BED_WAITING _UxGT("单击开始热床调平") //"Click to Begin" #define MSG_LEVEL_BED_WAITING _UxGT("单击开始热床调平") //"Click to Begin"
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("下个热床调平点") //"Next Point" #define MSG_LEVEL_BED_NEXT_POINT _UxGT("下个热床调平点") //"Next Point"
#define MSG_LEVEL_BED_DONE _UxGT("完成热床调平") //"Leveling Done!" #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_SET_HOME_OFFSETS _UxGT("设置原点偏移") //"Set home offsets"
#define MSG_HOME_OFFSETS_APPLIED _UxGT("偏移已启用") //"Offsets applied" #define MSG_HOME_OFFSETS_APPLIED _UxGT("偏移已启用") //"Offsets applied"
#define MSG_SET_ORIGIN _UxGT("设置原点") //"Set origin" #define MSG_SET_ORIGIN _UxGT("设置原点") //"Set origin"
@ -65,6 +64,7 @@
#define MSG_EXTRUDE _UxGT("挤出") //"Extrude" #define MSG_EXTRUDE _UxGT("挤出") //"Extrude"
#define MSG_RETRACT _UxGT("回抽") //"Retract" #define MSG_RETRACT _UxGT("回抽") //"Retract"
#define MSG_MOVE_AXIS _UxGT("移动轴") //"Move axis" #define MSG_MOVE_AXIS _UxGT("移动轴") //"Move axis"
#define MSG_BED_LEVELING _UxGT("调平热床") //"Bed leveling"
#define MSG_LEVEL_BED _UxGT("调平热床") //"Level bed" #define MSG_LEVEL_BED _UxGT("调平热床") //"Level bed"
#define MSG_MOVE_X _UxGT("移动X") //"Move X" #define MSG_MOVE_X _UxGT("移动X") //"Move X"
#define MSG_MOVE_Y _UxGT("移动Y") //"Move Y" #define MSG_MOVE_Y _UxGT("移动Y") //"Move Y"

@ -45,7 +45,6 @@
#define MSG_LEVEL_BED_WAITING _UxGT("單擊開始熱床調平") //"Click to Begin" #define MSG_LEVEL_BED_WAITING _UxGT("單擊開始熱床調平") //"Click to Begin"
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("下個熱床調平點") //"Next Point" #define MSG_LEVEL_BED_NEXT_POINT _UxGT("下個熱床調平點") //"Next Point"
#define MSG_LEVEL_BED_DONE _UxGT("完成熱床調平") //"Leveling Done!" #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_SET_HOME_OFFSETS _UxGT("設置原點偏移") //"Set home offsets"
#define MSG_HOME_OFFSETS_APPLIED _UxGT("偏移已啟用") //"Offsets applied" #define MSG_HOME_OFFSETS_APPLIED _UxGT("偏移已啟用") //"Offsets applied"
#define MSG_SET_ORIGIN _UxGT("設置原點") //"Set origin" #define MSG_SET_ORIGIN _UxGT("設置原點") //"Set origin"
@ -65,6 +64,7 @@
#define MSG_EXTRUDE _UxGT("擠出") //"Extrude" #define MSG_EXTRUDE _UxGT("擠出") //"Extrude"
#define MSG_RETRACT _UxGT("回抽") //"Retract" #define MSG_RETRACT _UxGT("回抽") //"Retract"
#define MSG_MOVE_AXIS _UxGT("移動軸") //"Move axis" #define MSG_MOVE_AXIS _UxGT("移動軸") //"Move axis"
#define MSG_BED_LEVELING _UxGT("調平熱床") //"Bed leveling"
#define MSG_LEVEL_BED _UxGT("調平熱床") //"Level bed" #define MSG_LEVEL_BED _UxGT("調平熱床") //"Level bed"
#define MSG_MOVE_X _UxGT("移動X") //"Move X" #define MSG_MOVE_X _UxGT("移動X") //"Move X"
#define MSG_MOVE_Y _UxGT("移動Y") //"Move Y" #define MSG_MOVE_Y _UxGT("移動Y") //"Move Y"

@ -478,9 +478,10 @@ uint16_t max_display_update_time = 0;
/** /**
* Show "Moving..." till moves are done, then revert to previous display. * 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; 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; if (no_reentry) return;
// Make this the current handler till all moves are done // Make this the current handler till all moves are done
@ -1403,6 +1404,11 @@ void kill_screen(const char* lcd_msg) {
#endif #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) #if ENABLED(LCD_BED_LEVELING)
/** /**
@ -1467,7 +1473,7 @@ void kill_screen(const char* lcd_msg) {
// The last G29 will record but not move // The last G29 will record but not move
if (manual_probe_index == total_probe_points - 1) if (manual_probe_index == total_probe_points - 1)
enqueue_and_echo_commands_P("G29 V1"); enqueue_and_echo_commands_P(PSTR("G29 V1"));
#endif #endif
@ -1481,13 +1487,15 @@ void kill_screen(const char* lcd_msg) {
#if MANUAL_PROBE_HEIGHT > 0 #if MANUAL_PROBE_HEIGHT > 0
current_position[Z_AXIS] = LOGICAL_Z_POSITION(Z_MIN_POS) + MANUAL_PROBE_HEIGHT; current_position[Z_AXIS] = LOGICAL_Z_POSITION(Z_MIN_POS) + MANUAL_PROBE_HEIGHT;
line_to_current(Z_AXIS); 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 #endif
// Enable leveling, if needed // Enable leveling, if needed
#if ENABLED(MESH_BED_LEVELING) #if ENABLED(MESH_BED_LEVELING)
lcd_synchronize();
mbl.set_has_mesh(true); mbl.set_has_mesh(true);
mesh_probing_done(); mesh_probing_done();
@ -1607,19 +1615,56 @@ void kill_screen(const char* lcd_msg) {
* Step 2: Continue Bed Leveling... * Step 2: Continue Bed Leveling...
*/ */
void _lcd_level_bed_continue() { void _lcd_level_bed_continue() {
defer_return_to_status = true; defer_return_to_status = true;
axis_homed[X_AXIS] = axis_homed[Y_AXIS] = axis_homed[Z_AXIS] = false; axis_homed[X_AXIS] = axis_homed[Y_AXIS] = axis_homed[Z_AXIS] = false;
lcd_goto_screen(_lcd_level_bed_homing); lcd_goto_screen(_lcd_level_bed_homing);
enqueue_and_echo_commands_P(PSTR("G28")); 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() { void lcd_level_bed() {
START_MENU(); START_MENU();
MENU_BACK(MSG_LEVEL_BED_CANCEL); MENU_BACK(MSG_PREPARE);
MENU_ITEM(submenu, MSG_LEVEL_BED, _lcd_level_bed_continue); 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(); END_MENU();
} }
@ -2026,7 +2071,7 @@ void kill_screen(const char* lcd_msg) {
#if ENABLED(PROBE_MANUALLY) #if ENABLED(PROBE_MANUALLY)
if (!g29_in_progress) if (!g29_in_progress)
#endif #endif
MENU_ITEM(submenu, MSG_LEVEL_BED, lcd_level_bed); MENU_ITEM(submenu, MSG_BED_LEVELING, lcd_level_bed);
#endif #endif
#if HAS_M206_COMMAND #if HAS_M206_COMMAND
@ -2444,11 +2489,6 @@ void kill_screen(const char* lcd_msg) {
#endif // HAS_LCD_CONTRAST #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() { static void lcd_factory_settings() {
settings.reset(); settings.reset();
lcd_completion_feedback(); 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); 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 #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 // M203 / M205 Feedrate items
MENU_ITEM(submenu, MSG_FEEDRATE, lcd_control_motion_feedrate_menu); MENU_ITEM(submenu, MSG_FEEDRATE, lcd_control_motion_feedrate_menu);

Loading…
Cancel
Save