Browse Source

Add more options to the Bed Leveling menu

Scott Lahteine 7 years ago
parent
commit
01e7e234c6

+ 3
- 1
Marlin/Marlin.h View File

@@ -310,7 +310,6 @@ extern float soft_endstop_min[XYZ], soft_endstop_max[XYZ];
310 310
   extern float bilinear_grid_factor[2],
311 311
                z_values[GRID_MAX_POINTS_X][GRID_MAX_POINTS_Y];
312 312
   float bilinear_z_offset(const float logical[XYZ]);
313
-  void set_bed_leveling_enabled(bool enable=true);
314 313
 #endif
315 314
 
316 315
 #if ENABLED(AUTO_BED_LEVELING_UBL)
@@ -319,6 +318,9 @@ extern float soft_endstop_min[XYZ], soft_endstop_max[XYZ];
319 318
 #endif
320 319
 
321 320
 #if HAS_LEVELING
321
+  bool leveling_is_valid();
322
+  bool leveling_is_active();
323
+  void set_bed_leveling_enabled(const bool enable=true);
322 324
   void reset_bed_level();
323 325
 #endif
324 326
 

+ 72
- 68
Marlin/Marlin_main.cpp View File

@@ -815,7 +815,7 @@ static bool drain_injected_commands_P() {
815 815
  * Aborts the current queue, if any.
816 816
  * Note: drain_injected_commands_P() must be called repeatedly to drain the commands afterwards
817 817
  */
818
-void enqueue_and_echo_commands_P(const char* pgcode) {
818
+void enqueue_and_echo_commands_P(const char * const pgcode) {
819 819
   injected_commands_P = pgcode;
820 820
   drain_injected_commands_P(); // first command executed asap (when possible)
821 821
 }
@@ -2300,6 +2300,33 @@ static void clean_up_after_endstop_or_probe_move() {
2300 2300
 #endif // HAS_BED_PROBE
2301 2301
 
2302 2302
 #if HAS_LEVELING
2303
+
2304
+  bool leveling_is_valid() {
2305
+    return
2306
+      #if ENABLED(MESH_BED_LEVELING)
2307
+        mbl.has_mesh()
2308
+      #elif ENABLED(AUTO_BED_LEVELING_BILINEAR)
2309
+        !!bilinear_grid_spacing[X_AXIS]
2310
+      #elif ENABLED(AUTO_BED_LEVELING_UBL)
2311
+        true
2312
+      #else // 3POINT, LINEAR
2313
+        true
2314
+      #endif
2315
+    ;
2316
+  }
2317
+
2318
+  bool leveling_is_active() {
2319
+    return
2320
+      #if ENABLED(MESH_BED_LEVELING)
2321
+        mbl.active()
2322
+      #elif ENABLED(AUTO_BED_LEVELING_UBL)
2323
+        ubl.state.active
2324
+      #else
2325
+        planner.abl_enabled
2326
+      #endif
2327
+    ;
2328
+  }
2329
+
2303 2330
   /**
2304 2331
    * Turn bed leveling on or off, fixing the current
2305 2332
    * position as-needed.
@@ -2307,41 +2334,39 @@ static void clean_up_after_endstop_or_probe_move() {
2307 2334
    * Disable: Current position = physical position
2308 2335
    *  Enable: Current position = "unleveled" physical position
2309 2336
    */
2310
-  void set_bed_leveling_enabled(bool enable/*=true*/) {
2311
-    #if ENABLED(MESH_BED_LEVELING)
2337
+  void set_bed_leveling_enabled(const bool enable/*=true*/) {
2338
+
2339
+    #if ENABLED(AUTO_BED_LEVELING_BILINEAR)
2340
+      const bool can_change = (!enable || leveling_is_valid());
2341
+    #else
2342
+      constexpr bool can_change = true;
2343
+    #endif
2312 2344
 
2313
-      if (enable != mbl.active()) {
2345
+    if (can_change && enable != leveling_is_active()) {
2346
+
2347
+      #if ENABLED(MESH_BED_LEVELING)
2314 2348
 
2315 2349
         if (!enable)
2316 2350
           planner.apply_leveling(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS]);
2317 2351
 
2318
-        mbl.set_active(enable && mbl.has_mesh());
2352
+        const bool enabling = enable && leveling_is_valid();
2353
+        mbl.set_active(enabling);
2354
+        if (enabling) planner.unapply_leveling(current_position);
2319 2355
 
2320
-        if (enable && mbl.has_mesh()) planner.unapply_leveling(current_position);
2321
-      }
2356
+      #elif ENABLED(AUTO_BED_LEVELING_UBL)
2322 2357
 
2323
-    #elif ENABLED(AUTO_BED_LEVELING_UBL)
2358
+        #if PLANNER_LEVELING
2324 2359
 
2325
-      #if PLANNER_LEVELING
2326
-        if (ubl.state.active != enable) {
2327 2360
           if (!enable)   // leveling from on to off
2328 2361
             planner.apply_leveling(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS]);
2329 2362
           else
2330 2363
             planner.unapply_leveling(current_position);
2331
-        }
2332
-      #endif
2333
-
2334
-      ubl.state.active = enable;
2335 2364
 
2336
-    #else
2365
+        #endif
2337 2366
 
2338
-      #if ENABLED(AUTO_BED_LEVELING_BILINEAR)
2339
-        const bool can_change = (!enable || (bilinear_grid_spacing[0] && bilinear_grid_spacing[1]));
2340
-      #else
2341
-        constexpr bool can_change = true;
2342
-      #endif
2367
+        ubl.state.active = enable;
2343 2368
 
2344
-      if (can_change && enable != planner.abl_enabled) {
2369
+      #else // ABL
2345 2370
 
2346 2371
         #if ENABLED(AUTO_BED_LEVELING_BILINEAR)
2347 2372
           // Force bilinear_z_offset to re-calculate next time
@@ -2360,8 +2385,9 @@ static void clean_up_after_endstop_or_probe_move() {
2360 2385
           );
2361 2386
         else
2362 2387
           planner.unapply_leveling(current_position);
2363
-      }
2364
-    #endif
2388
+
2389
+      #endif
2390
+    }
2365 2391
   }
2366 2392
 
2367 2393
   #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
@@ -2370,13 +2396,7 @@ static void clean_up_after_endstop_or_probe_move() {
2370 2396
       planner.z_fade_height = zfh;
2371 2397
       planner.inverse_z_fade_height = RECIPROCAL(zfh);
2372 2398
 
2373
-      if (
2374
-        #if ENABLED(MESH_BED_LEVELING)
2375
-          mbl.active()
2376
-        #else
2377
-          planner.abl_enabled
2378
-        #endif
2379
-      ) {
2399
+      if (leveling_is_active())
2380 2400
         set_current_from_steppers_for_axis(
2381 2401
           #if ABL_PLANAR
2382 2402
             ALL_AXES
@@ -2384,7 +2404,6 @@ static void clean_up_after_endstop_or_probe_move() {
2384 2404
             Z_AXIS
2385 2405
           #endif
2386 2406
         );
2387
-      }
2388 2407
     }
2389 2408
 
2390 2409
   #endif // LEVELING_FADE_HEIGHT
@@ -2395,7 +2414,7 @@ static void clean_up_after_endstop_or_probe_move() {
2395 2414
   void reset_bed_level() {
2396 2415
     set_bed_leveling_enabled(false);
2397 2416
     #if ENABLED(MESH_BED_LEVELING)
2398
-      if (mbl.has_mesh()) {
2417
+      if (leveling_is_valid()) {
2399 2418
         mbl.reset();
2400 2419
         mbl.set_has_mesh(false);
2401 2420
       }
@@ -3435,7 +3454,7 @@ inline void gcode_G4() {
3435 3454
       #elif ENABLED(AUTO_BED_LEVELING_UBL)
3436 3455
         SERIAL_ECHOPGM("UBL");
3437 3456
       #endif
3438
-      if (planner.abl_enabled) {
3457
+      if (leveling_is_active()) {
3439 3458
         SERIAL_ECHOLNPGM(" (enabled)");
3440 3459
         #if ABL_PLANAR
3441 3460
           float diff[XYZ] = {
@@ -3466,7 +3485,7 @@ inline void gcode_G4() {
3466 3485
     #elif ENABLED(MESH_BED_LEVELING)
3467 3486
 
3468 3487
       SERIAL_ECHOPGM("Mesh Bed Leveling");
3469
-      if (mbl.active()) {
3488
+      if (leveling_is_active()) {
3470 3489
         float lz = current_position[Z_AXIS];
3471 3490
         planner.apply_leveling(current_position[X_AXIS], current_position[Y_AXIS], lz);
3472 3491
         SERIAL_ECHOLNPGM(" (enabled)");
@@ -3622,7 +3641,7 @@ inline void gcode_G28(const bool always_home_all) {
3622 3641
   // Disable the leveling matrix before homing
3623 3642
   #if HAS_LEVELING
3624 3643
     #if ENABLED(AUTO_BED_LEVELING_UBL)
3625
-      const bool ubl_state_at_entry = ubl.state.active;
3644
+      const bool ubl_state_at_entry = leveling_is_active();
3626 3645
     #endif
3627 3646
     set_bed_leveling_enabled(false);
3628 3647
   #endif
@@ -3898,8 +3917,8 @@ void home_all_axes() { gcode_G28(true); }
3898 3917
 
3899 3918
     switch (state) {
3900 3919
       case MeshReport:
3901
-        if (mbl.has_mesh()) {
3902
-          SERIAL_PROTOCOLLNPAIR("State: ", mbl.active() ? MSG_ON : MSG_OFF);
3920
+        if (leveling_is_valid()) {
3921
+          SERIAL_PROTOCOLLNPAIR("State: ", leveling_is_active() ? MSG_ON : MSG_OFF);
3903 3922
           mbl_mesh_report();
3904 3923
         }
3905 3924
         else
@@ -4201,12 +4220,12 @@ void home_all_axes() { gcode_G28(true); }
4201 4220
         abl_probe_index = -1;
4202 4221
       #endif
4203 4222
 
4204
-      abl_should_enable = planner.abl_enabled;
4223
+      abl_should_enable = leveling_is_active();
4205 4224
 
4206 4225
       #if ENABLED(AUTO_BED_LEVELING_BILINEAR)
4207 4226
 
4208 4227
         if (parser.seen('W')) {
4209
-          if (!bilinear_grid_spacing[X_AXIS]) {
4228
+          if (!leveling_is_valid()) {
4210 4229
             SERIAL_ERROR_START;
4211 4230
             SERIAL_ERRORLNPGM("No bilinear grid");
4212 4231
             return;
@@ -4518,7 +4537,6 @@ void home_all_axes() { gcode_G28(true); }
4518 4537
           // Leveling done! Fall through to G29 finishing code below
4519 4538
 
4520 4539
           SERIAL_PROTOCOLLNPGM("Grid probing done.");
4521
-          g29_in_progress = false;
4522 4540
 
4523 4541
           // Re-enable software endstops, if needed
4524 4542
           #if HAS_SOFTWARE_ENDSTOPS
@@ -4542,7 +4560,6 @@ void home_all_axes() { gcode_G28(true); }
4542 4560
         else {
4543 4561
 
4544 4562
           SERIAL_PROTOCOLLNPGM("3-point probing done.");
4545
-          g29_in_progress = false;
4546 4563
 
4547 4564
           // Re-enable software endstops, if needed
4548 4565
           #if HAS_SOFTWARE_ENDSTOPS
@@ -4693,8 +4710,11 @@ void home_all_axes() { gcode_G28(true); }
4693 4710
       if (DEBUGGING(LEVELING)) DEBUG_POS("> probing complete", current_position);
4694 4711
     #endif
4695 4712
 
4696
-    #if ENABLED(PROBE_MANUALLY) && ENABLED(LCD_BED_LEVELING)
4697
-      lcd_wait_for_move = false;
4713
+    #if ENABLED(PROBE_MANUALLY)
4714
+      g29_in_progress = false;
4715
+      #if ENABLED(LCD_BED_LEVELING)
4716
+        lcd_wait_for_move = false;
4717
+      #endif
4698 4718
     #endif
4699 4719
 
4700 4720
     // Calculate leveling, print reports, correct the position
@@ -6591,15 +6611,7 @@ inline void gcode_M42() {
6591 6611
     // Disable bed level correction in M48 because we want the raw data when we probe
6592 6612
 
6593 6613
     #if HAS_LEVELING
6594
-      const bool was_enabled =
6595
-        #if ENABLED(AUTO_BED_LEVELING_UBL)
6596
-          ubl.state.active
6597
-        #elif ENABLED(MESH_BED_LEVELING)
6598
-          mbl.active()
6599
-        #else
6600
-          planner.abl_enabled
6601
-        #endif
6602
-      ;
6614
+      const bool was_enabled = leveling_is_active();
6603 6615
       set_bed_leveling_enabled(false);
6604 6616
     #endif
6605 6617
 
@@ -8727,14 +8739,14 @@ void quickstop_stepper() {
8727 8739
       #if ABL_PLANAR
8728 8740
         planner.bed_level_matrix.debug(PSTR("Bed Level Correction Matrix:"));
8729 8741
       #elif ENABLED(AUTO_BED_LEVELING_BILINEAR)
8730
-        if (bilinear_grid_spacing[X_AXIS]) {
8742
+        if (leveling_is_valid()) {
8731 8743
           print_bilinear_leveling_grid();
8732 8744
           #if ENABLED(ABL_BILINEAR_SUBDIVISION)
8733 8745
             bed_level_virt_print();
8734 8746
           #endif
8735 8747
         }
8736 8748
       #elif ENABLED(MESH_BED_LEVELING)
8737
-        if (mbl.has_mesh()) {
8749
+        if (leveling_is_valid()) {
8738 8750
           SERIAL_ECHOLNPGM("Mesh Bed Level data:");
8739 8751
           mbl_mesh_report();
8740 8752
         }
@@ -8760,15 +8772,7 @@ void quickstop_stepper() {
8760 8772
       if (parser.seen('Z')) set_z_fade_height(parser.value_linear_units());
8761 8773
     #endif
8762 8774
 
8763
-    const bool new_status =
8764
-      #if ENABLED(MESH_BED_LEVELING)
8765
-        mbl.active()
8766
-      #elif ENABLED(AUTO_BED_LEVELING_UBL)
8767
-        ubl.state.active
8768
-      #else
8769
-        planner.abl_enabled
8770
-      #endif
8771
-    ;
8775
+    const bool new_status = leveling_is_active();
8772 8776
 
8773 8777
     if (to_enable && !new_status) {
8774 8778
       SERIAL_ERROR_START;
@@ -8987,7 +8991,7 @@ inline void gcode_M503() {
8987 8991
       #endif
8988 8992
 
8989 8993
       #if ENABLED(BABYSTEP_ZPROBE_OFFSET)
8990
-        if (!no_babystep && planner.abl_enabled)
8994
+        if (!no_babystep && leveling_is_active())
8991 8995
           thermalManager.babystep_axis(Z_AXIS, -lround(diff * planner.axis_steps_per_mm[Z_AXIS]));
8992 8996
       #else
8993 8997
         UNUSED(no_babystep);
@@ -9801,7 +9805,7 @@ void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool n
9801 9805
 
9802 9806
             #if ENABLED(MESH_BED_LEVELING)
9803 9807
 
9804
-              if (mbl.active()) {
9808
+              if (leveling_is_active()) {
9805 9809
                 #if ENABLED(DEBUG_LEVELING_FEATURE)
9806 9810
                   if (DEBUGGING(LEVELING)) SERIAL_ECHOPAIR("Z before MBL: ", current_position[Z_AXIS]);
9807 9811
                 #endif
@@ -11408,7 +11412,7 @@ void set_current_from_steppers_for_axis(const AxisEnum axis) {
11408 11412
   inline bool prepare_move_to_destination_cartesian() {
11409 11413
     #if ENABLED(AUTO_BED_LEVELING_UBL)
11410 11414
       const float fr_scaled = MMS_SCALED(feedrate_mm_s);
11411
-      if (ubl.state.active) {
11415
+      if (ubl.state.active) { // direct use of ubl.state.active for speed
11412 11416
         ubl.line_to_destination_cartesian(fr_scaled, active_extruder);
11413 11417
         return true;
11414 11418
       }
@@ -11421,13 +11425,13 @@ void set_current_from_steppers_for_axis(const AxisEnum axis) {
11421 11425
       else {
11422 11426
         const float fr_scaled = MMS_SCALED(feedrate_mm_s);
11423 11427
         #if ENABLED(MESH_BED_LEVELING)
11424
-          if (mbl.active()) {
11428
+          if (mbl.active()) { // direct used of mbl.active() for speed
11425 11429
             mesh_line_to_destination(fr_scaled);
11426 11430
             return true;
11427 11431
           }
11428 11432
           else
11429 11433
         #elif ENABLED(AUTO_BED_LEVELING_BILINEAR)
11430
-          if (planner.abl_enabled) {
11434
+          if (planner.abl_enabled) { // direct use of abl_enabled for speed
11431 11435
             bilinear_line_to_destination(fr_scaled);
11432 11436
             return true;
11433 11437
           }

+ 3
- 3
Marlin/configuration_store.cpp View File

@@ -1525,7 +1525,7 @@ void MarlinSettings::reset() {
1525 1525
         SERIAL_ECHOLNPGM("Mesh Bed Leveling:");
1526 1526
       }
1527 1527
       CONFIG_ECHO_START;
1528
-      SERIAL_ECHOPAIR("  M420 S", mbl.has_mesh() ? 1 : 0);
1528
+      SERIAL_ECHOPAIR("  M420 S", leveling_is_valid() ? 1 : 0);
1529 1529
       #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
1530 1530
         SERIAL_ECHOPAIR(" Z", LINEAR_UNIT(planner.z_fade_height));
1531 1531
       #endif
@@ -1549,7 +1549,7 @@ void MarlinSettings::reset() {
1549 1549
         SERIAL_ECHOLNPGM(":");
1550 1550
       }
1551 1551
       CONFIG_ECHO_START;
1552
-      SERIAL_ECHOPAIR("  M420 S", ubl.state.active ? 1 : 0);
1552
+      SERIAL_ECHOPAIR("  M420 S", leveling_is_active() ? 1 : 0);
1553 1553
       #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
1554 1554
         SERIAL_ECHOPAIR(" Z", planner.z_fade_height);
1555 1555
       #endif
@@ -1576,7 +1576,7 @@ void MarlinSettings::reset() {
1576 1576
         SERIAL_ECHOLNPGM("Auto Bed Leveling:");
1577 1577
       }
1578 1578
       CONFIG_ECHO_START;
1579
-      SERIAL_ECHOPAIR("  M420 S", planner.abl_enabled ? 1 : 0);
1579
+      SERIAL_ECHOPAIR("  M420 S", leveling_is_active() ? 1 : 0);
1580 1580
       #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
1581 1581
         SERIAL_ECHOPAIR(" Z", LINEAR_UNIT(planner.z_fade_height));
1582 1582
       #endif

+ 1
- 1
Marlin/language_an.h View File

@@ -47,7 +47,6 @@
47 47
 #define MSG_LEVEL_BED_WAITING               _UxGT("Encetar (pretar)")
48 48
 #define MSG_LEVEL_BED_NEXT_POINT            _UxGT("Vinient punto")
49 49
 #define MSG_LEVEL_BED_DONE                  _UxGT("Nivelacion feita!")
50
-#define MSG_LEVEL_BED_CANCEL                _UxGT("Cancelar")
51 50
 #define MSG_SET_HOME_OFFSETS                _UxGT("Achustar desfases")
52 51
 #define MSG_HOME_OFFSETS_APPLIED            _UxGT("Desfase aplicau")
53 52
 #define MSG_SET_ORIGIN                      _UxGT("Establir orichen")
@@ -67,6 +66,7 @@
67 66
 #define MSG_EXTRUDE                         _UxGT("Extruir")
68 67
 #define MSG_RETRACT                         _UxGT("Retraer")
69 68
 #define MSG_MOVE_AXIS                       _UxGT("Mover Eixes")
69
+#define MSG_BED_LEVELING                    _UxGT("Nivelar base")
70 70
 #define MSG_LEVEL_BED                       _UxGT("Nivelar base")
71 71
 #define MSG_MOVE_X                          _UxGT("Mover X")
72 72
 #define MSG_MOVE_Y                          _UxGT("Mover Y")

+ 1
- 1
Marlin/language_bg.h View File

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

+ 1
- 1
Marlin/language_ca.h View File

@@ -50,7 +50,6 @@
50 50
 #define MSG_LEVEL_BED_WAITING               _UxGT("Premeu per iniciar")
51 51
 #define MSG_LEVEL_BED_NEXT_POINT            _UxGT("Següent punt")
52 52
 #define MSG_LEVEL_BED_DONE                  _UxGT("Anivellament fet!")
53
-#define MSG_LEVEL_BED_CANCEL                _UxGT("Cancel.la")
54 53
 #define MSG_SET_HOME_OFFSETS                _UxGT("Ajusta decalatge")
55 54
 #define MSG_HOME_OFFSETS_APPLIED            _UxGT("Decalatge aplicat")
56 55
 #define MSG_SET_ORIGIN                      _UxGT("Estableix origen")
@@ -70,6 +69,7 @@
70 69
 #define MSG_EXTRUDE                         _UxGT("Extrudeix")
71 70
 #define MSG_RETRACT                         _UxGT("Retreu")
72 71
 #define MSG_MOVE_AXIS                       _UxGT("Mou eixos")
72
+#define MSG_BED_LEVELING                    _UxGT("Anivella llit")
73 73
 #define MSG_LEVEL_BED                       _UxGT("Anivella llit")
74 74
 #define MSG_MOVING                          _UxGT("Movent..")
75 75
 #define MSG_FREE_XY                         _UxGT("XY lliures")

+ 1
- 1
Marlin/language_cn.h View File

@@ -42,7 +42,6 @@
42 42
 #define MSG_LEVEL_BED_HOMING                "Homing XYZ"
43 43
 #define MSG_LEVEL_BED_WAITING               "Click to Begin"
44 44
 #define MSG_LEVEL_BED_DONE                  "Leveling Done!"
45
-#define MSG_LEVEL_BED_CANCEL                "Cancel"
46 45
 #define MSG_SET_HOME_OFFSETS                "\xbe\xbf\xbb\xbc\xbd\xc0\xc1"
47 46
 #define MSG_HOME_OFFSETS_APPLIED            "Offsets applied"
48 47
 #define MSG_SET_ORIGIN                      "\xbe\xbf\xbc\xbd"
@@ -62,6 +61,7 @@
62 61
 #define MSG_EXTRUDE                         "\xcc\xad"
63 62
 #define MSG_RETRACT                         "\xbb\xcd"
64 63
 #define MSG_MOVE_AXIS                       "\xc1\xb2\xce"
64
+#define MSG_BED_LEVELING                    "\xcf\xe0\xc4\xc7"
65 65
 #define MSG_LEVEL_BED                       "\xcf\xe0\xc4\xc7"
66 66
 #define MSG_MOVE_X                          "\xc1\xb2 X"
67 67
 #define MSG_MOVE_Y                          "\xc1\xb2 Y"

+ 1
- 1
Marlin/language_cz.h View File

@@ -54,7 +54,6 @@
54 54
 #define MSG_LEVEL_BED_WAITING               _UxGT("Kliknutim spustte")
55 55
 #define MSG_LEVEL_BED_NEXT_POINT            _UxGT("Dalsi bod")
56 56
 #define MSG_LEVEL_BED_DONE                  _UxGT("Mereni hotovo!")
57
-#define MSG_LEVEL_BED_CANCEL                _UxGT("Storno")
58 57
 #define MSG_SET_HOME_OFFSETS                _UxGT("Nastavit ofsety")
59 58
 #define MSG_HOME_OFFSETS_APPLIED            _UxGT("Ofsety nastaveny")
60 59
 #define MSG_SET_ORIGIN                      _UxGT("Nastavit pocatek")
@@ -76,6 +75,7 @@
76 75
 #define MSG_EXTRUDE                         _UxGT("Vytlacit (extr.)")
77 76
 #define MSG_RETRACT                         _UxGT("Zatlacit (retr.)")
78 77
 #define MSG_MOVE_AXIS                       _UxGT("Posunout osy")
78
+#define MSG_BED_LEVELING                    _UxGT("Vyrovnat podlozku")
79 79
 #define MSG_LEVEL_BED                       _UxGT("Vyrovnat podlozku")
80 80
 #define MSG_MOVING                          _UxGT("Posunování...")
81 81
 #define MSG_FREE_XY                         _UxGT("Uvolnit XY")

+ 1
- 1
Marlin/language_da.h View File

@@ -48,7 +48,6 @@
48 48
 #define MSG_LEVEL_BED_WAITING               _UxGT("Klik når du er klar")
49 49
 #define MSG_LEVEL_BED_NEXT_POINT            _UxGT("Næste punkt")
50 50
 #define MSG_LEVEL_BED_DONE                  _UxGT("Bed level er færdig!")
51
-#define MSG_LEVEL_BED_CANCEL                _UxGT("Annuller bed level")
52 51
 #define MSG_SET_HOME_OFFSETS                _UxGT("Sæt forsk. af home")
53 52
 #define MSG_HOME_OFFSETS_APPLIED            _UxGT("Forsk. er nu aktiv")
54 53
 #define MSG_SET_ORIGIN                      _UxGT("Sæt origin")
@@ -68,6 +67,7 @@
68 67
 #define MSG_EXTRUDE                         _UxGT("Extruder")
69 68
 #define MSG_RETRACT                         _UxGT("Retract")
70 69
 #define MSG_MOVE_AXIS                       _UxGT("Flyt akser")
70
+#define MSG_BED_LEVELING                    _UxGT("Juster bed")
71 71
 #define MSG_LEVEL_BED                       _UxGT("Juster bed")
72 72
 #define MSG_MOVE_X                          _UxGT("Flyt X")
73 73
 #define MSG_MOVE_Y                          _UxGT("Flyt Y")

+ 1
- 1
Marlin/language_de.h View File

@@ -51,7 +51,6 @@
51 51
 #define MSG_LEVEL_BED_WAITING               _UxGT("Klick für Start")
52 52
 #define MSG_LEVEL_BED_NEXT_POINT            _UxGT("Nächste Koordinate")
53 53
 #define MSG_LEVEL_BED_DONE                  _UxGT("Fertig")
54
-#define MSG_LEVEL_BED_CANCEL                _UxGT("Abbruch")
55 54
 #define MSG_SET_HOME_OFFSETS                _UxGT("Setze Homeversatz")
56 55
 #define MSG_HOME_OFFSETS_APPLIED            _UxGT("Homeversatz aktiv")
57 56
 #define MSG_SET_ORIGIN                      _UxGT("Setze Nullpunkt") //"G92 X0 Y0 Z0" commented out in ultralcd.cpp
@@ -73,6 +72,7 @@
73 72
 #define MSG_EXTRUDE                         _UxGT("Extrudieren")
74 73
 #define MSG_RETRACT                         _UxGT("Retract")
75 74
 #define MSG_MOVE_AXIS                       _UxGT("Bewegen")
75
+#define MSG_BED_LEVELING                    _UxGT("Bett nivellieren")
76 76
 #define MSG_LEVEL_BED                       _UxGT("Bett nivellieren")
77 77
 #define MSG_MOVING                          _UxGT("In Bewegung...")
78 78
 #define MSG_FREE_XY                         _UxGT("Abstand XY")

+ 1
- 1
Marlin/language_el-gr.h View File

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

+ 1
- 1
Marlin/language_el.h View File

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

+ 5
- 2
Marlin/language_en.h View File

@@ -84,8 +84,8 @@
84 84
 #ifndef MSG_LEVEL_BED_DONE
85 85
   #define MSG_LEVEL_BED_DONE                  _UxGT("Leveling Done!")
86 86
 #endif
87
-#ifndef MSG_LEVEL_BED_CANCEL
88
-  #define MSG_LEVEL_BED_CANCEL                _UxGT("Cancel")
87
+#ifndef MSG_Z_FADE_HEIGHT
88
+  #define MSG_Z_FADE_HEIGHT                   _UxGT("Fade Height")
89 89
 #endif
90 90
 #ifndef MSG_SET_HOME_OFFSETS
91 91
   #define MSG_SET_HOME_OFFSETS                _UxGT("Set home offsets")
@@ -150,6 +150,9 @@
150 150
 #ifndef MSG_MOVE_AXIS
151 151
   #define MSG_MOVE_AXIS                       _UxGT("Move axis")
152 152
 #endif
153
+#ifndef MSG_BED_LEVELING
154
+  #define MSG_BED_LEVELING                    _UxGT("Bed Leveling")
155
+#endif
153 156
 #ifndef MSG_LEVEL_BED
154 157
   #define MSG_LEVEL_BED                       _UxGT("Level bed")
155 158
 #endif

+ 1
- 1
Marlin/language_es.h View File

@@ -50,7 +50,6 @@
50 50
 #define MSG_LEVEL_BED_WAITING               _UxGT("Iniciar (Presione)")
51 51
 #define MSG_LEVEL_BED_NEXT_POINT            _UxGT("Siguiente punto")
52 52
 #define MSG_LEVEL_BED_DONE                  _UxGT("Nivelacion lista!")
53
-#define MSG_LEVEL_BED_CANCEL                _UxGT("Cancelar")
54 53
 #define MSG_SET_HOME_OFFSETS                _UxGT("Ajustar desfases")
55 54
 #define MSG_HOME_OFFSETS_APPLIED            _UxGT("Desfase aplicado")
56 55
 #define MSG_SET_ORIGIN                      _UxGT("Establecer origen")
@@ -72,6 +71,7 @@
72 71
 #define MSG_EXTRUDE                         _UxGT("Extruir")
73 72
 #define MSG_RETRACT                         _UxGT("Retraer")
74 73
 #define MSG_MOVE_AXIS                       _UxGT("Mover ejes")
74
+#define MSG_BED_LEVELING                    _UxGT("Nivelar plataforma")
75 75
 #define MSG_LEVEL_BED                       _UxGT("Nivelar plataforma")
76 76
 #define MSG_MOVING                          _UxGT("Moviendo...")
77 77
 #define MSG_FREE_XY                         _UxGT("Libre XY")

+ 1
- 1
Marlin/language_eu.h View File

@@ -50,7 +50,6 @@
50 50
 #define MSG_LEVEL_BED_WAITING               _UxGT("Klik egin hasteko")
51 51
 #define MSG_LEVEL_BED_NEXT_POINT            _UxGT("Hurrengo Puntua")
52 52
 #define MSG_LEVEL_BED_DONE                  _UxGT("Berdintzea eginda")
53
-#define MSG_LEVEL_BED_CANCEL                _UxGT("Ezeztatu")
54 53
 #define MSG_SET_HOME_OFFSETS                _UxGT("Etxe. offset eza.")
55 54
 #define MSG_HOME_OFFSETS_APPLIED            _UxGT("Offsetak ezarrita")
56 55
 #define MSG_SET_ORIGIN                      _UxGT("Hasiera ipini")
@@ -72,6 +71,7 @@
72 71
 #define MSG_EXTRUDE                         _UxGT("Estruitu")
73 72
 #define MSG_RETRACT                         _UxGT("Atzera eragin")
74 73
 #define MSG_MOVE_AXIS                       _UxGT("Ardatzak mugitu")
74
+#define MSG_BED_LEVELING                    _UxGT("Ohea Berdindu")
75 75
 #define MSG_LEVEL_BED                       _UxGT("Ohea Berdindu")
76 76
 #define MSG_MOVING                          _UxGT("Mugitzen...")
77 77
 #define MSG_FREE_XY                         _UxGT("Askatu XY")

+ 0
- 1
Marlin/language_fi.h View File

@@ -43,7 +43,6 @@
43 43
 #define MSG_LEVEL_BED_HOMING                _UxGT("Homing XYZ")
44 44
 #define MSG_LEVEL_BED_WAITING               _UxGT("Click to Begin")
45 45
 #define MSG_LEVEL_BED_DONE                  _UxGT("Leveling Done!")
46
-#define MSG_LEVEL_BED_CANCEL                _UxGT("Cancel")
47 46
 #define MSG_SET_HOME_OFFSETS                _UxGT("Set home offsets")
48 47
 #define MSG_HOME_OFFSETS_APPLIED            _UxGT("Offsets applied")
49 48
 #define MSG_SET_ORIGIN                      _UxGT("Aseta origo")

+ 1
- 1
Marlin/language_fr.h View File

@@ -51,7 +51,6 @@
51 51
 #define MSG_LEVEL_BED_WAITING               _UxGT("Clic pour commencer")
52 52
 #define MSG_LEVEL_BED_NEXT_POINT            _UxGT("Point suivant")
53 53
 #define MSG_LEVEL_BED_DONE                  _UxGT("Mise à niveau OK!")
54
-#define MSG_LEVEL_BED_CANCEL                _UxGT("Annuler")
55 54
 #define MSG_SET_HOME_OFFSETS                _UxGT("Regl. décal. origine")
56 55
 #define MSG_HOME_OFFSETS_APPLIED            _UxGT("Décalages appliqués")
57 56
 #define MSG_SET_ORIGIN                      _UxGT("Régler origine")
@@ -73,6 +72,7 @@
73 72
 #define MSG_EXTRUDE                         _UxGT("Éxtrusion")
74 73
 #define MSG_RETRACT                         _UxGT("Rétraction")
75 74
 #define MSG_MOVE_AXIS                       _UxGT("Déplacer un axe")
75
+#define MSG_BED_LEVELING                    _UxGT("Règl. Niv. lit")
76 76
 #define MSG_LEVEL_BED                       _UxGT("Règl. Niv. lit")
77 77
 #define MSG_MOVING                          _UxGT("Déplacement...")
78 78
 #define MSG_FREE_XY                         _UxGT("Débloquer XY")

+ 1
- 1
Marlin/language_gl.h View File

@@ -48,7 +48,6 @@
48 48
 #define MSG_LEVEL_BED_WAITING               _UxGT("Prema pulsador")
49 49
 #define MSG_LEVEL_BED_NEXT_POINT            _UxGT("Seguinte punto")
50 50
 #define MSG_LEVEL_BED_DONE                  _UxGT("Nivelado feito")
51
-#define MSG_LEVEL_BED_CANCEL                _UxGT("Cancelar")
52 51
 #define MSG_SET_HOME_OFFSETS                _UxGT("Offsets na orixe")
53 52
 #define MSG_HOME_OFFSETS_APPLIED            _UxGT("Offsets fixados")
54 53
 #define MSG_SET_ORIGIN                      _UxGT("Fixar orixe")
@@ -68,6 +67,7 @@
68 67
 #define MSG_EXTRUDE                         _UxGT("Extrudir")
69 68
 #define MSG_RETRACT                         _UxGT("Retraer")
70 69
 #define MSG_MOVE_AXIS                       _UxGT("Mover eixe")
70
+#define MSG_BED_LEVELING                    _UxGT("Nivelar cama")
71 71
 #define MSG_LEVEL_BED                       _UxGT("Nivelar cama")
72 72
 #define MSG_MOVE_X                          _UxGT("Mover X")
73 73
 #define MSG_MOVE_Y                          _UxGT("Mover Y")

+ 1
- 1
Marlin/language_hr.h View File

@@ -47,7 +47,6 @@
47 47
 #define MSG_LEVEL_BED_WAITING               _UxGT("Klikni za početak")
48 48
 #define MSG_LEVEL_BED_NEXT_POINT            _UxGT("Sljedeća točka")
49 49
 #define MSG_LEVEL_BED_DONE                  _UxGT("Niveliranje gotovo!")
50
-#define MSG_LEVEL_BED_CANCEL                _UxGT("Otkaži")
51 50
 #define MSG_SET_HOME_OFFSETS                _UxGT("Postavi home offsete")
52 51
 #define MSG_HOME_OFFSETS_APPLIED            _UxGT("Offsets postavljeni")
53 52
 #define MSG_SET_ORIGIN                      _UxGT("Postavi ishodište")
@@ -67,6 +66,7 @@
67 66
 #define MSG_EXTRUDE                         _UxGT("Extrude")
68 67
 #define MSG_RETRACT                         _UxGT("Retract")
69 68
 #define MSG_MOVE_AXIS                       _UxGT("Miči os")
69
+#define MSG_BED_LEVELING                    _UxGT("Niveliraj bed")
70 70
 #define MSG_LEVEL_BED                       _UxGT("Niveliraj bed")
71 71
 #define MSG_MOVE_X                          _UxGT("Miči X")
72 72
 #define MSG_MOVE_Y                          _UxGT("Miči Y")

+ 1
- 1
Marlin/language_it.h View File

@@ -50,7 +50,6 @@
50 50
 #define MSG_LEVEL_BED_WAITING               _UxGT("Premi per iniziare")
51 51
 #define MSG_LEVEL_BED_NEXT_POINT            _UxGT("Punto successivo")
52 52
 #define MSG_LEVEL_BED_DONE                  _UxGT("Livel. terminato!")
53
-#define MSG_LEVEL_BED_CANCEL                _UxGT("Annulla")
54 53
 #define MSG_SET_HOME_OFFSETS                _UxGT("Imp. offset home")
55 54
 #define MSG_HOME_OFFSETS_APPLIED            _UxGT("Offset applicato")
56 55
 #define MSG_SET_ORIGIN                      _UxGT("Imposta Origine")
@@ -72,6 +71,7 @@
72 71
 #define MSG_EXTRUDE                         _UxGT("Estrudi")
73 72
 #define MSG_RETRACT                         _UxGT("Ritrai")
74 73
 #define MSG_MOVE_AXIS                       _UxGT("Muovi Asse")
74
+#define MSG_BED_LEVELING                    _UxGT("Livella piano")
75 75
 #define MSG_LEVEL_BED                       _UxGT("Livella piano")
76 76
 #define MSG_MOVING                          _UxGT("In movimento...")
77 77
 #define MSG_FREE_XY                         _UxGT("XY liberi")

+ 1
- 1
Marlin/language_kana.h View File

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

+ 1
- 1
Marlin/language_kana_utf8.h View File

@@ -55,7 +55,6 @@
55 55
 #define MSG_LEVEL_BED_WAITING               _UxGT("レベリングカイシ")                // "Click to Begin"
56 56
 #define MSG_LEVEL_BED_NEXT_POINT            _UxGT("ツギノソクテイテンヘ")             // "Next Point"
57 57
 #define MSG_LEVEL_BED_DONE                  _UxGT("レベリングカンリョウ")              // "Leveling Done!"
58
-#define MSG_LEVEL_BED_CANCEL                _UxGT("トリヤメ")                      // "Cancel"
59 58
 #define MSG_SET_HOME_OFFSETS                _UxGT("キジュンオフセットセッテイ")         // "Set home offsets"
60 59
 #define MSG_HOME_OFFSETS_APPLIED            _UxGT("オフセットガテキヨウサレマシタ")       // "Offsets applied"
61 60
 #define MSG_SET_ORIGIN                      _UxGT("キジュンセット")                 // "Set origin"
@@ -75,6 +74,7 @@
75 74
 #define MSG_EXTRUDE                         _UxGT("オシダシ")                     // "Extrude"
76 75
 #define MSG_RETRACT                         _UxGT("ヒキコミセッテイ")                // "Retract"
77 76
 #define MSG_MOVE_AXIS                       _UxGT("ジクイドウ")                    // "Move axis"
77
+#define MSG_BED_LEVELING                    _UxGT("ベッドレベリング")                // "Bed leveling"
78 78
 #define MSG_LEVEL_BED                       _UxGT("ベッドレベリング")                // "Level bed"
79 79
 #define MSG_MOVING                          _UxGT("イドウチュウ")                   // "Moving..."
80 80
 #define MSG_FREE_XY                         _UxGT("XYジク カイホウ")                // "Free XY"

+ 1
- 1
Marlin/language_nl.h View File

@@ -50,7 +50,6 @@
50 50
 #define MSG_LEVEL_BED_WAITING               _UxGT("Klik voor begin")
51 51
 #define MSG_LEVEL_BED_NEXT_POINT            _UxGT("Volgende Plaats")
52 52
 #define MSG_LEVEL_BED_DONE                  _UxGT("Bed level kompl.")
53
-#define MSG_LEVEL_BED_CANCEL                _UxGT("Bed level afbr.")
54 53
 #define MSG_SET_HOME_OFFSETS                _UxGT("Zet home offsets")
55 54
 #define MSG_HOME_OFFSETS_APPLIED            _UxGT("H offset toegep.")
56 55
 #define MSG_SET_ORIGIN                      _UxGT("Nulpunt instellen")
@@ -72,6 +71,7 @@
72 71
 #define MSG_EXTRUDE                         _UxGT("Extrude")
73 72
 #define MSG_RETRACT                         _UxGT("Retract")
74 73
 #define MSG_MOVE_AXIS                       _UxGT("As verplaatsen")
74
+#define MSG_BED_LEVELING                    _UxGT("Bed Leveling")
75 75
 #define MSG_LEVEL_BED                       _UxGT("Level bed")
76 76
 #define MSG_MOVING                          _UxGT("Verplaatsen...")
77 77
 #define MSG_FREE_XY                         _UxGT("Vrij XY")

+ 2
- 2
Marlin/language_pl.h View File

@@ -50,7 +50,6 @@
50 50
 #define MSG_LEVEL_BED_WAITING               _UxGT("Kliknij by rozp.")
51 51
 #define MSG_LEVEL_BED_NEXT_POINT            _UxGT("Następny punkt")
52 52
 #define MSG_LEVEL_BED_DONE                  _UxGT("Wypoziomowano!")
53
-#define MSG_LEVEL_BED_CANCEL                _UxGT("Anuluj")
54 53
 #define MSG_SET_HOME_OFFSETS                _UxGT("Ust. poz. zer.")
55 54
 #define MSG_HOME_OFFSETS_APPLIED            _UxGT("Poz. zerowa ust.")
56 55
 #define MSG_SET_ORIGIN                      _UxGT("Ustaw punkt zero")
@@ -70,6 +69,7 @@
70 69
 #define MSG_EXTRUDE                         _UxGT("Ekstruzja")
71 70
 #define MSG_RETRACT                         _UxGT("Wycofanie")
72 71
 #define MSG_MOVE_AXIS                       _UxGT("Ruch osi")
72
+#define MSG_BED_LEVELING                    _UxGT("Poziom. stołu")
73 73
 #define MSG_LEVEL_BED                       _UxGT("Poziom. stołu")
74 74
 #define MSG_MOVE_X                          _UxGT("Przesuń w X")
75 75
 #define MSG_MOVE_Y                          _UxGT("Przesuń w Y")
@@ -268,7 +268,6 @@
268 268
 #define MSG_LEVEL_BED_WAITING               _UxGT("Kliknij by rozp.")
269 269
 #define MSG_LEVEL_BED_NEXT_POINT            _UxGT("Nastepny punkt")
270 270
 #define MSG_LEVEL_BED_DONE                  _UxGT("Wypoziomowano!")
271
-#define MSG_LEVEL_BED_CANCEL                _UxGT("Anuluj")
272 271
 #define MSG_SET_HOME_OFFSETS                _UxGT("Ust. poz. zer.")
273 272
 #define MSG_HOME_OFFSETS_APPLIED            _UxGT("Poz. zerowa ust.")
274 273
 #define MSG_SET_ORIGIN                      _UxGT("Ustaw punkt zero")
@@ -288,6 +287,7 @@
288 287
 #define MSG_EXTRUDE                         _UxGT("Ekstruzja")
289 288
 #define MSG_RETRACT                         _UxGT("Wycofanie")
290 289
 #define MSG_MOVE_AXIS                       _UxGT("Ruch osi")
290
+#define MSG_BED_LEVELING                    _UxGT("Poziom. stolu")
291 291
 #define MSG_LEVEL_BED                       _UxGT("Poziom. stolu")
292 292
 #define MSG_MOVE_X                          _UxGT("Przesun w X")
293 293
 #define MSG_MOVE_Y                          _UxGT("Przesun w Y")

+ 0
- 1
Marlin/language_pt-br.h View File

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

+ 0
- 1
Marlin/language_pt-br_utf8.h View File

@@ -42,7 +42,6 @@
42 42
 #define MSG_LEVEL_BED_HOMING                _UxGT("Indo para origem")
43 43
 #define MSG_LEVEL_BED_WAITING               _UxGT("Click to Begin")
44 44
 #define MSG_LEVEL_BED_DONE                  _UxGT("Leveling Done!")
45
-#define MSG_LEVEL_BED_CANCEL                _UxGT("Cancel")
46 45
 #define MSG_SET_HOME_OFFSETS                _UxGT("Ajustar Jogo")
47 46
 #define MSG_HOME_OFFSETS_APPLIED            _UxGT("Offsets applied")
48 47
 #define MSG_SET_ORIGIN                      _UxGT("Ajustar orig.")

+ 0
- 1
Marlin/language_pt.h View File

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

+ 0
- 1
Marlin/language_pt_utf8.h View File

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

+ 1
- 1
Marlin/language_ru.h View File

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

+ 1
- 1
Marlin/language_tr.h View File

@@ -55,7 +55,6 @@
55 55
 #define MSG_LEVEL_BED_WAITING               _UxGT("Başlatmak için tıkla")                               // Başlatmak için tıkla
56 56
 #define MSG_LEVEL_BED_NEXT_POINT            _UxGT("Sıradaki Nokta")                                     // Sıradaki Nokta
57 57
 #define MSG_LEVEL_BED_DONE                  _UxGT("Seviyeleme Tamam!")                                  // Seviyeleme Tamam!
58
-#define MSG_LEVEL_BED_CANCEL                _UxGT("İptal")                                              // İptal
59 58
 #define MSG_SET_HOME_OFFSETS                _UxGT("Offset Ayarla")                                      // Offset Ayarla
60 59
 #define MSG_HOME_OFFSETS_APPLIED            _UxGT("Offset Tamam")                                       // Offset Tamam
61 60
 #define MSG_SET_ORIGIN                      _UxGT("Sıfır Belirle")                                      // Sıfır Belirle
@@ -77,6 +76,7 @@
77 76
 #define MSG_EXTRUDE                         _UxGT("Extrude")                                            // Extrude
78 77
 #define MSG_RETRACT                         _UxGT("Geri Çek")                                           // Geri Çek
79 78
 #define MSG_MOVE_AXIS                       _UxGT("Eksen Yönet")                                        // Eksenleri Yönet
79
+#define MSG_BED_LEVELING                    _UxGT("Tabla Seviyele")                                     // Tabla Seviyele
80 80
 #define MSG_LEVEL_BED                       _UxGT("Tabla Seviyele")                                     // Tabla Seviyele
81 81
 #define MSG_MOVING                          _UxGT("Konumlanıyor...")                                    // Konumlanıyor...
82 82
 #define MSG_FREE_XY                         _UxGT("Durdur XY")                                          // Durdur XY

+ 1
- 1
Marlin/language_uk.h View File

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

+ 1
- 1
Marlin/language_zh_CN.h View File

@@ -45,7 +45,6 @@
45 45
 #define MSG_LEVEL_BED_WAITING               _UxGT("单击开始热床调平")  //"Click to Begin"
46 46
 #define MSG_LEVEL_BED_NEXT_POINT            _UxGT("下个热床调平点")  //"Next Point"
47 47
 #define MSG_LEVEL_BED_DONE                  _UxGT("完成热床调平")  //"Leveling Done!"
48
-#define MSG_LEVEL_BED_CANCEL                _UxGT("取消热床调平")  //"Cancel"
49 48
 #define MSG_SET_HOME_OFFSETS                _UxGT("设置原点偏移")  //"Set home offsets"
50 49
 #define MSG_HOME_OFFSETS_APPLIED            _UxGT("偏移已启用")  //"Offsets applied"
51 50
 #define MSG_SET_ORIGIN                      _UxGT("设置原点")  //"Set origin"
@@ -65,6 +64,7 @@
65 64
 #define MSG_EXTRUDE                         _UxGT("挤出")  //"Extrude"
66 65
 #define MSG_RETRACT                         _UxGT("回抽")  //"Retract"
67 66
 #define MSG_MOVE_AXIS                       _UxGT("移动轴")  //"Move axis"
67
+#define MSG_BED_LEVELING                    _UxGT("调平热床")  //"Bed leveling"
68 68
 #define MSG_LEVEL_BED                       _UxGT("调平热床")  //"Level bed"
69 69
 #define MSG_MOVE_X                          _UxGT("移动X")  //"Move X"
70 70
 #define MSG_MOVE_Y                          _UxGT("移动Y")  //"Move Y"

+ 1
- 1
Marlin/language_zh_TW.h View File

@@ -45,7 +45,6 @@
45 45
 #define MSG_LEVEL_BED_WAITING               _UxGT("單擊開始熱床調平")  //"Click to Begin"
46 46
 #define MSG_LEVEL_BED_NEXT_POINT            _UxGT("下個熱床調平點")  //"Next Point"
47 47
 #define MSG_LEVEL_BED_DONE                  _UxGT("完成熱床調平")  //"Leveling Done!"
48
-#define MSG_LEVEL_BED_CANCEL                _UxGT("取消熱床調平")  //"Cancel"
49 48
 #define MSG_SET_HOME_OFFSETS                _UxGT("設置原點偏移")  //"Set home offsets"
50 49
 #define MSG_HOME_OFFSETS_APPLIED            _UxGT("偏移已啟用")  //"Offsets applied"
51 50
 #define MSG_SET_ORIGIN                      _UxGT("設置原點")  //"Set origin"
@@ -65,6 +64,7 @@
65 64
 #define MSG_EXTRUDE                         _UxGT("擠出")  //"Extrude"
66 65
 #define MSG_RETRACT                         _UxGT("回抽")  //"Retract"
67 66
 #define MSG_MOVE_AXIS                       _UxGT("移動軸")  //"Move axis"
67
+#define MSG_BED_LEVELING                    _UxGT("調平熱床")  //"Bed leveling"
68 68
 #define MSG_LEVEL_BED                       _UxGT("調平熱床")  //"Level bed"
69 69
 #define MSG_MOVE_X                          _UxGT("移動X")  //"Move X"
70 70
 #define MSG_MOVE_Y                          _UxGT("移動Y")  //"Move Y"

+ 57
- 22
Marlin/ultralcd.cpp View File

@@ -478,9 +478,10 @@ uint16_t max_display_update_time = 0;
478 478
   /**
479 479
    * Show "Moving..." till moves are done, then revert to previous display.
480 480
    */
481
-  inline void lcd_synchronize() {
481
+  inline void lcd_synchronize(const char * const msg=NULL) {
482 482
     static bool no_reentry = false;
483
-    lcd_implementation_drawmenu_static(LCD_HEIGHT >= 4 ? 1 : 0, PSTR(MSG_MOVING));
483
+    const static char moving[] PROGMEM = MSG_MOVING;
484
+    lcd_implementation_drawmenu_static(LCD_HEIGHT >= 4 ? 1 : 0, msg ? msg : moving);
484 485
     if (no_reentry) return;
485 486
 
486 487
     // Make this the current handler till all moves are done
@@ -1403,6 +1404,11 @@ void kill_screen(const char* lcd_msg) {
1403 1404
 
1404 1405
   #endif
1405 1406
 
1407
+  #if ENABLED(EEPROM_SETTINGS)
1408
+    static void lcd_store_settings()   { lcd_completion_feedback(settings.save()); }
1409
+    static void lcd_load_settings()    { lcd_completion_feedback(settings.load()); }
1410
+  #endif
1411
+
1406 1412
   #if ENABLED(LCD_BED_LEVELING)
1407 1413
 
1408 1414
     /**
@@ -1467,7 +1473,7 @@ void kill_screen(const char* lcd_msg) {
1467 1473
 
1468 1474
           // The last G29 will record but not move
1469 1475
           if (manual_probe_index == total_probe_points - 1)
1470
-            enqueue_and_echo_commands_P("G29 V1");
1476
+            enqueue_and_echo_commands_P(PSTR("G29 V1"));
1471 1477
 
1472 1478
         #endif
1473 1479
 
@@ -1481,13 +1487,15 @@ void kill_screen(const char* lcd_msg) {
1481 1487
           #if MANUAL_PROBE_HEIGHT > 0
1482 1488
             current_position[Z_AXIS] = LOGICAL_Z_POSITION(Z_MIN_POS) + MANUAL_PROBE_HEIGHT;
1483 1489
             line_to_current(Z_AXIS);
1484
-            lcd_synchronize();
1490
+          #endif
1491
+
1492
+          #if MANUAL_PROBE_HEIGHT > 0 || ENABLED(MESH_BED_LEVELING)
1493
+            lcd_synchronize(PSTR(MSG_LEVEL_BED_DONE));
1485 1494
           #endif
1486 1495
 
1487 1496
           // Enable leveling, if needed
1488 1497
           #if ENABLED(MESH_BED_LEVELING)
1489 1498
 
1490
-            lcd_synchronize();
1491 1499
             mbl.set_has_mesh(true);
1492 1500
             mesh_probing_done();
1493 1501
 
@@ -1607,19 +1615,56 @@ void kill_screen(const char* lcd_msg) {
1607 1615
      * Step 2: Continue Bed Leveling...
1608 1616
      */
1609 1617
     void _lcd_level_bed_continue() {
1610
-        defer_return_to_status = true;
1611
-        axis_homed[X_AXIS] = axis_homed[Y_AXIS] = axis_homed[Z_AXIS] = false;
1612
-        lcd_goto_screen(_lcd_level_bed_homing);
1613
-        enqueue_and_echo_commands_P(PSTR("G28"));
1618
+      defer_return_to_status = true;
1619
+      axis_homed[X_AXIS] = axis_homed[Y_AXIS] = axis_homed[Z_AXIS] = false;
1620
+      lcd_goto_screen(_lcd_level_bed_homing);
1621
+      enqueue_and_echo_commands_P(PSTR("G28"));
1614 1622
     }
1615 1623
 
1624
+    static bool _level_state;
1625
+    void _lcd_toggle_bed_leveling() { set_bed_leveling_enabled(_level_state); }
1626
+    void _lcd_set_z_fade_height() { set_z_fade_height(planner.z_fade_height); }
1627
+
1616 1628
     /**
1617
-     * Step 1: Bed Level entry-point: "Cancel" or "Level Bed"
1629
+     * Step 1: Bed Level entry-point
1630
+     *  - Cancel
1631
+     *  - Level Bed >
1632
+     *  - Leveling On/Off (if there is leveling data)
1633
+     *  - Fade Height (Req: ENABLE_LEVELING_FADE_HEIGHT)
1634
+     *  - Mesh Z Offset (Req: MESH_BED_LEVELING)
1635
+     *  - Z Probe Offset (Req: HAS_BED_PROBE, Opt: BABYSTEP_ZPROBE_OFFSET)
1636
+     *  - Load Settings (Req: EEPROM_SETTINGS)
1637
+     *  - Save Settings (Req: EEPROM_SETTINGS)
1618 1638
      */
1619 1639
     void lcd_level_bed() {
1620 1640
       START_MENU();
1621
-      MENU_BACK(MSG_LEVEL_BED_CANCEL);
1641
+      MENU_BACK(MSG_PREPARE);
1622 1642
       MENU_ITEM(submenu, MSG_LEVEL_BED, _lcd_level_bed_continue);
1643
+      if (leveling_is_valid()) {      // Leveling data exists? Show more options.
1644
+        _level_state = leveling_is_active();
1645
+        MENU_ITEM_EDIT_CALLBACK(bool, MSG_BED_LEVELING, &_level_state, _lcd_toggle_bed_leveling);
1646
+      }
1647
+
1648
+      #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
1649
+        set_z_fade_height(planner.z_fade_height);
1650
+        MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_Z_FADE_HEIGHT, &planner.z_fade_height, 0.0, 100.0, _lcd_set_z_fade_height);
1651
+      #endif
1652
+
1653
+      // Manual bed leveling, Bed Z:
1654
+      #if ENABLED(MESH_BED_LEVELING)
1655
+        MENU_ITEM_EDIT(float43, MSG_BED_Z, &mbl.z_offset, -1, 1);
1656
+      #endif
1657
+
1658
+      #if ENABLED(BABYSTEP_ZPROBE_OFFSET)
1659
+        MENU_ITEM(submenu, MSG_ZPROBE_ZOFFSET, lcd_babystep_zoffset);
1660
+      #elif HAS_BED_PROBE
1661
+        MENU_ITEM_EDIT_CALLBACK(float32, MSG_ZPROBE_ZOFFSET, &zprobe_zoffset, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX, lcd_refresh_zprobe_zoffset);
1662
+      #endif
1663
+
1664
+      #if ENABLED(EEPROM_SETTINGS)
1665
+        MENU_ITEM(function, MSG_LOAD_EEPROM, lcd_load_settings);
1666
+        MENU_ITEM(function, MSG_STORE_EEPROM, lcd_store_settings);
1667
+      #endif
1623 1668
       END_MENU();
1624 1669
     }
1625 1670
 
@@ -2026,7 +2071,7 @@ void kill_screen(const char* lcd_msg) {
2026 2071
       #if ENABLED(PROBE_MANUALLY)
2027 2072
         if (!g29_in_progress)
2028 2073
       #endif
2029
-      MENU_ITEM(submenu, MSG_LEVEL_BED, lcd_level_bed);
2074
+      MENU_ITEM(submenu, MSG_BED_LEVELING, lcd_level_bed);
2030 2075
     #endif
2031 2076
 
2032 2077
     #if HAS_M206_COMMAND
@@ -2444,11 +2489,6 @@ void kill_screen(const char* lcd_msg) {
2444 2489
 
2445 2490
   #endif // HAS_LCD_CONTRAST
2446 2491
 
2447
-  #if ENABLED(EEPROM_SETTINGS)
2448
-    static void lcd_store_settings()   { lcd_completion_feedback(settings.save()); }
2449
-    static void lcd_load_settings()    { lcd_completion_feedback(settings.load()); }
2450
-  #endif
2451
-
2452 2492
   static void lcd_factory_settings() {
2453 2493
     settings.reset();
2454 2494
     lcd_completion_feedback();
@@ -2925,11 +2965,6 @@ void kill_screen(const char* lcd_msg) {
2925 2965
       MENU_ITEM_EDIT_CALLBACK(float32, MSG_ZPROBE_ZOFFSET, &zprobe_zoffset, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX, lcd_refresh_zprobe_zoffset);
2926 2966
     #endif
2927 2967
 
2928
-    // Manual bed leveling, Bed Z:
2929
-    #if ENABLED(MESH_BED_LEVELING) && ENABLED(LCD_BED_LEVELING)
2930
-      MENU_ITEM_EDIT(float43, MSG_BED_Z, &mbl.z_offset, -1, 1);
2931
-    #endif
2932
-
2933 2968
     // M203 / M205 Feedrate items
2934 2969
     MENU_ITEM(submenu, MSG_FEEDRATE, lcd_control_motion_feedrate_menu);
2935 2970
 

Loading…
Cancel
Save