Browse Source

Add more options to the Bed Leveling menu

Scott Lahteine 8 years ago
parent
commit
01e7e234c6

+ 3
- 1
Marlin/Marlin.h View File

310
   extern float bilinear_grid_factor[2],
310
   extern float bilinear_grid_factor[2],
311
                z_values[GRID_MAX_POINTS_X][GRID_MAX_POINTS_Y];
311
                z_values[GRID_MAX_POINTS_X][GRID_MAX_POINTS_Y];
312
   float bilinear_z_offset(const float logical[XYZ]);
312
   float bilinear_z_offset(const float logical[XYZ]);
313
-  void set_bed_leveling_enabled(bool enable=true);
314
 #endif
313
 #endif
315
 
314
 
316
 #if ENABLED(AUTO_BED_LEVELING_UBL)
315
 #if ENABLED(AUTO_BED_LEVELING_UBL)
319
 #endif
318
 #endif
320
 
319
 
321
 #if HAS_LEVELING
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
   void reset_bed_level();
324
   void reset_bed_level();
323
 #endif
325
 #endif
324
 
326
 

+ 72
- 68
Marlin/Marlin_main.cpp View File

815
  * Aborts the current queue, if any.
815
  * Aborts the current queue, if any.
816
  * Note: drain_injected_commands_P() must be called repeatedly to drain the commands afterwards
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
   injected_commands_P = pgcode;
819
   injected_commands_P = pgcode;
820
   drain_injected_commands_P(); // first command executed asap (when possible)
820
   drain_injected_commands_P(); // first command executed asap (when possible)
821
 }
821
 }
2300
 #endif // HAS_BED_PROBE
2300
 #endif // HAS_BED_PROBE
2301
 
2301
 
2302
 #if HAS_LEVELING
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
    * Turn bed leveling on or off, fixing the current
2331
    * Turn bed leveling on or off, fixing the current
2305
    * position as-needed.
2332
    * position as-needed.
2307
    * Disable: Current position = physical position
2334
    * Disable: Current position = physical position
2308
    *  Enable: Current position = "unleveled" physical position
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
         if (!enable)
2349
         if (!enable)
2316
           planner.apply_leveling(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS]);
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
           if (!enable)   // leveling from on to off
2360
           if (!enable)   // leveling from on to off
2328
             planner.apply_leveling(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS]);
2361
             planner.apply_leveling(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS]);
2329
           else
2362
           else
2330
             planner.unapply_leveling(current_position);
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
         #if ENABLED(AUTO_BED_LEVELING_BILINEAR)
2371
         #if ENABLED(AUTO_BED_LEVELING_BILINEAR)
2347
           // Force bilinear_z_offset to re-calculate next time
2372
           // Force bilinear_z_offset to re-calculate next time
2360
           );
2385
           );
2361
         else
2386
         else
2362
           planner.unapply_leveling(current_position);
2387
           planner.unapply_leveling(current_position);
2363
-      }
2364
-    #endif
2388
+
2389
+      #endif
2390
+    }
2365
   }
2391
   }
2366
 
2392
 
2367
   #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
2393
   #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
2370
       planner.z_fade_height = zfh;
2396
       planner.z_fade_height = zfh;
2371
       planner.inverse_z_fade_height = RECIPROCAL(zfh);
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
         set_current_from_steppers_for_axis(
2400
         set_current_from_steppers_for_axis(
2381
           #if ABL_PLANAR
2401
           #if ABL_PLANAR
2382
             ALL_AXES
2402
             ALL_AXES
2384
             Z_AXIS
2404
             Z_AXIS
2385
           #endif
2405
           #endif
2386
         );
2406
         );
2387
-      }
2388
     }
2407
     }
2389
 
2408
 
2390
   #endif // LEVELING_FADE_HEIGHT
2409
   #endif // LEVELING_FADE_HEIGHT
2395
   void reset_bed_level() {
2414
   void reset_bed_level() {
2396
     set_bed_leveling_enabled(false);
2415
     set_bed_leveling_enabled(false);
2397
     #if ENABLED(MESH_BED_LEVELING)
2416
     #if ENABLED(MESH_BED_LEVELING)
2398
-      if (mbl.has_mesh()) {
2417
+      if (leveling_is_valid()) {
2399
         mbl.reset();
2418
         mbl.reset();
2400
         mbl.set_has_mesh(false);
2419
         mbl.set_has_mesh(false);
2401
       }
2420
       }
3435
       #elif ENABLED(AUTO_BED_LEVELING_UBL)
3454
       #elif ENABLED(AUTO_BED_LEVELING_UBL)
3436
         SERIAL_ECHOPGM("UBL");
3455
         SERIAL_ECHOPGM("UBL");
3437
       #endif
3456
       #endif
3438
-      if (planner.abl_enabled) {
3457
+      if (leveling_is_active()) {
3439
         SERIAL_ECHOLNPGM(" (enabled)");
3458
         SERIAL_ECHOLNPGM(" (enabled)");
3440
         #if ABL_PLANAR
3459
         #if ABL_PLANAR
3441
           float diff[XYZ] = {
3460
           float diff[XYZ] = {
3466
     #elif ENABLED(MESH_BED_LEVELING)
3485
     #elif ENABLED(MESH_BED_LEVELING)
3467
 
3486
 
3468
       SERIAL_ECHOPGM("Mesh Bed Leveling");
3487
       SERIAL_ECHOPGM("Mesh Bed Leveling");
3469
-      if (mbl.active()) {
3488
+      if (leveling_is_active()) {
3470
         float lz = current_position[Z_AXIS];
3489
         float lz = current_position[Z_AXIS];
3471
         planner.apply_leveling(current_position[X_AXIS], current_position[Y_AXIS], lz);
3490
         planner.apply_leveling(current_position[X_AXIS], current_position[Y_AXIS], lz);
3472
         SERIAL_ECHOLNPGM(" (enabled)");
3491
         SERIAL_ECHOLNPGM(" (enabled)");
3622
   // Disable the leveling matrix before homing
3641
   // Disable the leveling matrix before homing
3623
   #if HAS_LEVELING
3642
   #if HAS_LEVELING
3624
     #if ENABLED(AUTO_BED_LEVELING_UBL)
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
     #endif
3645
     #endif
3627
     set_bed_leveling_enabled(false);
3646
     set_bed_leveling_enabled(false);
3628
   #endif
3647
   #endif
3898
 
3917
 
3899
     switch (state) {
3918
     switch (state) {
3900
       case MeshReport:
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
           mbl_mesh_report();
3922
           mbl_mesh_report();
3904
         }
3923
         }
3905
         else
3924
         else
4201
         abl_probe_index = -1;
4220
         abl_probe_index = -1;
4202
       #endif
4221
       #endif
4203
 
4222
 
4204
-      abl_should_enable = planner.abl_enabled;
4223
+      abl_should_enable = leveling_is_active();
4205
 
4224
 
4206
       #if ENABLED(AUTO_BED_LEVELING_BILINEAR)
4225
       #if ENABLED(AUTO_BED_LEVELING_BILINEAR)
4207
 
4226
 
4208
         if (parser.seen('W')) {
4227
         if (parser.seen('W')) {
4209
-          if (!bilinear_grid_spacing[X_AXIS]) {
4228
+          if (!leveling_is_valid()) {
4210
             SERIAL_ERROR_START;
4229
             SERIAL_ERROR_START;
4211
             SERIAL_ERRORLNPGM("No bilinear grid");
4230
             SERIAL_ERRORLNPGM("No bilinear grid");
4212
             return;
4231
             return;
4518
           // Leveling done! Fall through to G29 finishing code below
4537
           // Leveling done! Fall through to G29 finishing code below
4519
 
4538
 
4520
           SERIAL_PROTOCOLLNPGM("Grid probing done.");
4539
           SERIAL_PROTOCOLLNPGM("Grid probing done.");
4521
-          g29_in_progress = false;
4522
 
4540
 
4523
           // Re-enable software endstops, if needed
4541
           // Re-enable software endstops, if needed
4524
           #if HAS_SOFTWARE_ENDSTOPS
4542
           #if HAS_SOFTWARE_ENDSTOPS
4542
         else {
4560
         else {
4543
 
4561
 
4544
           SERIAL_PROTOCOLLNPGM("3-point probing done.");
4562
           SERIAL_PROTOCOLLNPGM("3-point probing done.");
4545
-          g29_in_progress = false;
4546
 
4563
 
4547
           // Re-enable software endstops, if needed
4564
           // Re-enable software endstops, if needed
4548
           #if HAS_SOFTWARE_ENDSTOPS
4565
           #if HAS_SOFTWARE_ENDSTOPS
4693
       if (DEBUGGING(LEVELING)) DEBUG_POS("> probing complete", current_position);
4710
       if (DEBUGGING(LEVELING)) DEBUG_POS("> probing complete", current_position);
4694
     #endif
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
     #endif
4718
     #endif
4699
 
4719
 
4700
     // Calculate leveling, print reports, correct the position
4720
     // Calculate leveling, print reports, correct the position
6591
     // Disable bed level correction in M48 because we want the raw data when we probe
6611
     // Disable bed level correction in M48 because we want the raw data when we probe
6592
 
6612
 
6593
     #if HAS_LEVELING
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
       set_bed_leveling_enabled(false);
6615
       set_bed_leveling_enabled(false);
6604
     #endif
6616
     #endif
6605
 
6617
 
8727
       #if ABL_PLANAR
8739
       #if ABL_PLANAR
8728
         planner.bed_level_matrix.debug(PSTR("Bed Level Correction Matrix:"));
8740
         planner.bed_level_matrix.debug(PSTR("Bed Level Correction Matrix:"));
8729
       #elif ENABLED(AUTO_BED_LEVELING_BILINEAR)
8741
       #elif ENABLED(AUTO_BED_LEVELING_BILINEAR)
8730
-        if (bilinear_grid_spacing[X_AXIS]) {
8742
+        if (leveling_is_valid()) {
8731
           print_bilinear_leveling_grid();
8743
           print_bilinear_leveling_grid();
8732
           #if ENABLED(ABL_BILINEAR_SUBDIVISION)
8744
           #if ENABLED(ABL_BILINEAR_SUBDIVISION)
8733
             bed_level_virt_print();
8745
             bed_level_virt_print();
8734
           #endif
8746
           #endif
8735
         }
8747
         }
8736
       #elif ENABLED(MESH_BED_LEVELING)
8748
       #elif ENABLED(MESH_BED_LEVELING)
8737
-        if (mbl.has_mesh()) {
8749
+        if (leveling_is_valid()) {
8738
           SERIAL_ECHOLNPGM("Mesh Bed Level data:");
8750
           SERIAL_ECHOLNPGM("Mesh Bed Level data:");
8739
           mbl_mesh_report();
8751
           mbl_mesh_report();
8740
         }
8752
         }
8760
       if (parser.seen('Z')) set_z_fade_height(parser.value_linear_units());
8772
       if (parser.seen('Z')) set_z_fade_height(parser.value_linear_units());
8761
     #endif
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
     if (to_enable && !new_status) {
8777
     if (to_enable && !new_status) {
8774
       SERIAL_ERROR_START;
8778
       SERIAL_ERROR_START;
8987
       #endif
8991
       #endif
8988
 
8992
 
8989
       #if ENABLED(BABYSTEP_ZPROBE_OFFSET)
8993
       #if ENABLED(BABYSTEP_ZPROBE_OFFSET)
8990
-        if (!no_babystep && planner.abl_enabled)
8994
+        if (!no_babystep && leveling_is_active())
8991
           thermalManager.babystep_axis(Z_AXIS, -lround(diff * planner.axis_steps_per_mm[Z_AXIS]));
8995
           thermalManager.babystep_axis(Z_AXIS, -lround(diff * planner.axis_steps_per_mm[Z_AXIS]));
8992
       #else
8996
       #else
8993
         UNUSED(no_babystep);
8997
         UNUSED(no_babystep);
9801
 
9805
 
9802
             #if ENABLED(MESH_BED_LEVELING)
9806
             #if ENABLED(MESH_BED_LEVELING)
9803
 
9807
 
9804
-              if (mbl.active()) {
9808
+              if (leveling_is_active()) {
9805
                 #if ENABLED(DEBUG_LEVELING_FEATURE)
9809
                 #if ENABLED(DEBUG_LEVELING_FEATURE)
9806
                   if (DEBUGGING(LEVELING)) SERIAL_ECHOPAIR("Z before MBL: ", current_position[Z_AXIS]);
9810
                   if (DEBUGGING(LEVELING)) SERIAL_ECHOPAIR("Z before MBL: ", current_position[Z_AXIS]);
9807
                 #endif
9811
                 #endif
11408
   inline bool prepare_move_to_destination_cartesian() {
11412
   inline bool prepare_move_to_destination_cartesian() {
11409
     #if ENABLED(AUTO_BED_LEVELING_UBL)
11413
     #if ENABLED(AUTO_BED_LEVELING_UBL)
11410
       const float fr_scaled = MMS_SCALED(feedrate_mm_s);
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
         ubl.line_to_destination_cartesian(fr_scaled, active_extruder);
11416
         ubl.line_to_destination_cartesian(fr_scaled, active_extruder);
11413
         return true;
11417
         return true;
11414
       }
11418
       }
11421
       else {
11425
       else {
11422
         const float fr_scaled = MMS_SCALED(feedrate_mm_s);
11426
         const float fr_scaled = MMS_SCALED(feedrate_mm_s);
11423
         #if ENABLED(MESH_BED_LEVELING)
11427
         #if ENABLED(MESH_BED_LEVELING)
11424
-          if (mbl.active()) {
11428
+          if (mbl.active()) { // direct used of mbl.active() for speed
11425
             mesh_line_to_destination(fr_scaled);
11429
             mesh_line_to_destination(fr_scaled);
11426
             return true;
11430
             return true;
11427
           }
11431
           }
11428
           else
11432
           else
11429
         #elif ENABLED(AUTO_BED_LEVELING_BILINEAR)
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
             bilinear_line_to_destination(fr_scaled);
11435
             bilinear_line_to_destination(fr_scaled);
11432
             return true;
11436
             return true;
11433
           }
11437
           }

+ 3
- 3
Marlin/configuration_store.cpp View File

1525
         SERIAL_ECHOLNPGM("Mesh Bed Leveling:");
1525
         SERIAL_ECHOLNPGM("Mesh Bed Leveling:");
1526
       }
1526
       }
1527
       CONFIG_ECHO_START;
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
       #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
1529
       #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
1530
         SERIAL_ECHOPAIR(" Z", LINEAR_UNIT(planner.z_fade_height));
1530
         SERIAL_ECHOPAIR(" Z", LINEAR_UNIT(planner.z_fade_height));
1531
       #endif
1531
       #endif
1549
         SERIAL_ECHOLNPGM(":");
1549
         SERIAL_ECHOLNPGM(":");
1550
       }
1550
       }
1551
       CONFIG_ECHO_START;
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
       #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
1553
       #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
1554
         SERIAL_ECHOPAIR(" Z", planner.z_fade_height);
1554
         SERIAL_ECHOPAIR(" Z", planner.z_fade_height);
1555
       #endif
1555
       #endif
1576
         SERIAL_ECHOLNPGM("Auto Bed Leveling:");
1576
         SERIAL_ECHOLNPGM("Auto Bed Leveling:");
1577
       }
1577
       }
1578
       CONFIG_ECHO_START;
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
       #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
1580
       #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
1581
         SERIAL_ECHOPAIR(" Z", LINEAR_UNIT(planner.z_fade_height));
1581
         SERIAL_ECHOPAIR(" Z", LINEAR_UNIT(planner.z_fade_height));
1582
       #endif
1582
       #endif

+ 1
- 1
Marlin/language_an.h View File

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

+ 1
- 1
Marlin/language_bg.h View File

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

+ 1
- 1
Marlin/language_ca.h View File

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

+ 1
- 1
Marlin/language_cn.h View File

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

+ 1
- 1
Marlin/language_cz.h View File

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

+ 1
- 1
Marlin/language_da.h View File

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

+ 1
- 1
Marlin/language_de.h View File

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

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

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

+ 1
- 1
Marlin/language_el.h View File

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

+ 5
- 2
Marlin/language_en.h View File

84
 #ifndef MSG_LEVEL_BED_DONE
84
 #ifndef MSG_LEVEL_BED_DONE
85
   #define MSG_LEVEL_BED_DONE                  _UxGT("Leveling Done!")
85
   #define MSG_LEVEL_BED_DONE                  _UxGT("Leveling Done!")
86
 #endif
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
 #endif
89
 #endif
90
 #ifndef MSG_SET_HOME_OFFSETS
90
 #ifndef MSG_SET_HOME_OFFSETS
91
   #define MSG_SET_HOME_OFFSETS                _UxGT("Set home offsets")
91
   #define MSG_SET_HOME_OFFSETS                _UxGT("Set home offsets")
150
 #ifndef MSG_MOVE_AXIS
150
 #ifndef MSG_MOVE_AXIS
151
   #define MSG_MOVE_AXIS                       _UxGT("Move axis")
151
   #define MSG_MOVE_AXIS                       _UxGT("Move axis")
152
 #endif
152
 #endif
153
+#ifndef MSG_BED_LEVELING
154
+  #define MSG_BED_LEVELING                    _UxGT("Bed Leveling")
155
+#endif
153
 #ifndef MSG_LEVEL_BED
156
 #ifndef MSG_LEVEL_BED
154
   #define MSG_LEVEL_BED                       _UxGT("Level bed")
157
   #define MSG_LEVEL_BED                       _UxGT("Level bed")
155
 #endif
158
 #endif

+ 1
- 1
Marlin/language_es.h View File

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

+ 1
- 1
Marlin/language_eu.h View File

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

+ 0
- 1
Marlin/language_fi.h View File

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

+ 1
- 1
Marlin/language_fr.h View File

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

+ 1
- 1
Marlin/language_gl.h View File

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

+ 1
- 1
Marlin/language_hr.h View File

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

+ 1
- 1
Marlin/language_it.h View File

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

+ 1
- 1
Marlin/language_kana.h View File

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

+ 1
- 1
Marlin/language_nl.h View File

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

+ 2
- 2
Marlin/language_pl.h View File

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

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

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

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

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

+ 0
- 1
Marlin/language_pt.h View File

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

+ 0
- 1
Marlin/language_pt_utf8.h View File

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

+ 1
- 1
Marlin/language_ru.h View File

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

+ 1
- 1
Marlin/language_tr.h View File

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

+ 1
- 1
Marlin/language_uk.h View File

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

+ 1
- 1
Marlin/language_zh_CN.h View File

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

+ 1
- 1
Marlin/language_zh_TW.h View File

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

+ 57
- 22
Marlin/ultralcd.cpp View File

478
   /**
478
   /**
479
    * Show "Moving..." till moves are done, then revert to previous display.
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
     static bool no_reentry = false;
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
     if (no_reentry) return;
485
     if (no_reentry) return;
485
 
486
 
486
     // Make this the current handler till all moves are done
487
     // Make this the current handler till all moves are done
1403
 
1404
 
1404
   #endif
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
   #if ENABLED(LCD_BED_LEVELING)
1412
   #if ENABLED(LCD_BED_LEVELING)
1407
 
1413
 
1408
     /**
1414
     /**
1467
 
1473
 
1468
           // The last G29 will record but not move
1474
           // The last G29 will record but not move
1469
           if (manual_probe_index == total_probe_points - 1)
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
         #endif
1478
         #endif
1473
 
1479
 
1481
           #if MANUAL_PROBE_HEIGHT > 0
1487
           #if MANUAL_PROBE_HEIGHT > 0
1482
             current_position[Z_AXIS] = LOGICAL_Z_POSITION(Z_MIN_POS) + MANUAL_PROBE_HEIGHT;
1488
             current_position[Z_AXIS] = LOGICAL_Z_POSITION(Z_MIN_POS) + MANUAL_PROBE_HEIGHT;
1483
             line_to_current(Z_AXIS);
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
           #endif
1494
           #endif
1486
 
1495
 
1487
           // Enable leveling, if needed
1496
           // Enable leveling, if needed
1488
           #if ENABLED(MESH_BED_LEVELING)
1497
           #if ENABLED(MESH_BED_LEVELING)
1489
 
1498
 
1490
-            lcd_synchronize();
1491
             mbl.set_has_mesh(true);
1499
             mbl.set_has_mesh(true);
1492
             mesh_probing_done();
1500
             mesh_probing_done();
1493
 
1501
 
1607
      * Step 2: Continue Bed Leveling...
1615
      * Step 2: Continue Bed Leveling...
1608
      */
1616
      */
1609
     void _lcd_level_bed_continue() {
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
     void lcd_level_bed() {
1639
     void lcd_level_bed() {
1620
       START_MENU();
1640
       START_MENU();
1621
-      MENU_BACK(MSG_LEVEL_BED_CANCEL);
1641
+      MENU_BACK(MSG_PREPARE);
1622
       MENU_ITEM(submenu, MSG_LEVEL_BED, _lcd_level_bed_continue);
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
       END_MENU();
1668
       END_MENU();
1624
     }
1669
     }
1625
 
1670
 
2026
       #if ENABLED(PROBE_MANUALLY)
2071
       #if ENABLED(PROBE_MANUALLY)
2027
         if (!g29_in_progress)
2072
         if (!g29_in_progress)
2028
       #endif
2073
       #endif
2029
-      MENU_ITEM(submenu, MSG_LEVEL_BED, lcd_level_bed);
2074
+      MENU_ITEM(submenu, MSG_BED_LEVELING, lcd_level_bed);
2030
     #endif
2075
     #endif
2031
 
2076
 
2032
     #if HAS_M206_COMMAND
2077
     #if HAS_M206_COMMAND
2444
 
2489
 
2445
   #endif // HAS_LCD_CONTRAST
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
   static void lcd_factory_settings() {
2492
   static void lcd_factory_settings() {
2453
     settings.reset();
2493
     settings.reset();
2454
     lcd_completion_feedback();
2494
     lcd_completion_feedback();
2925
       MENU_ITEM_EDIT_CALLBACK(float32, MSG_ZPROBE_ZOFFSET, &zprobe_zoffset, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX, lcd_refresh_zprobe_zoffset);
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
     #endif
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
     // M203 / M205 Feedrate items
2968
     // M203 / M205 Feedrate items
2934
     MENU_ITEM(submenu, MSG_FEEDRATE, lcd_control_motion_feedrate_menu);
2969
     MENU_ITEM(submenu, MSG_FEEDRATE, lcd_control_motion_feedrate_menu);
2935
 
2970
 

Loading…
Cancel
Save