@@ -452,49 +452,36 @@ void menu_backlash();
452
452
453
453
#endif // SHOW_MENU_ADVANCED_TEMPERATURE
454
454
455
- #if DISABLED(SLIM_LCD_MENUS)
456
-
457
- // M203 / M205 Velocity options
458
- void menu_advanced_velocity () {
459
- // M203 Max Feedrate
460
- constexpr xyze_feedrate_t max_fr_edit =
461
- #ifdef MAX_FEEDRATE_EDIT_VALUES
462
- MAX_FEEDRATE_EDIT_VALUES
463
- #elif ENABLED(LIMITED_MAX_FR_EDITING)
464
- DEFAULT_MAX_FEEDRATE
465
- #else
466
- LOGICAL_AXIS_ARRAY_1 (9999 )
467
- #endif
468
- ;
469
- #if ENABLED(LIMITED_MAX_FR_EDITING) && !defined(MAX_FEEDRATE_EDIT_VALUES)
470
- const xyze_feedrate_t max_fr_edit_scaled = max_fr_edit * 2 ;
471
- #else
472
- const xyze_feedrate_t &max_fr_edit_scaled = max_fr_edit;
473
- #endif
455
+ #if ENABLED(EDITABLE_STEPS_PER_UNIT)
474
456
457
+ // M92 Steps-per-mm
458
+ void menu_advanced_steps_per_mm () {
475
459
START_MENU ();
476
460
BACK_ITEM (MSG_ADVANCED_SETTINGS);
477
461
478
462
LOOP_NUM_AXES (a)
479
- EDIT_ITEM_FAST_N (float5 , a, MSG_VMAX_N , &planner.settings .max_feedrate_mm_s [a], 1 , max_fr_edit_scaled[a] );
463
+ EDIT_ITEM_FAST_N (float72 , a, MSG_N_STEPS , &planner.settings .axis_steps_per_mm [a], 5 , 9999 , []{ planner. refresh_positioning (); } );
480
464
481
- #if E_STEPPERS
482
- EDIT_ITEM_FAST_N (float5, E_AXIS, MSG_VMAX_N, &planner.settings .max_feedrate_mm_s [E_AXIS_N (active_extruder)], 1 , max_fr_edit_scaled.e );
483
- #endif
484
465
#if ENABLED(DISTINCT_E_FACTORS)
485
466
for (uint8_t n = 0 ; n < E_STEPPERS; ++n)
486
- EDIT_ITEM_FAST_N (float5, n, MSG_VMAX_EN, &planner.settings .max_feedrate_mm_s [E_AXIS_N (n)], 1 , max_fr_edit_scaled.e );
467
+ EDIT_ITEM_FAST_N (float72, n, MSG_EN_STEPS, &planner.settings .axis_steps_per_mm [E_AXIS_N (n)], 5 , 9999 , []{
468
+ const uint8_t e = MenuItemBase::itemIndex;
469
+ if (e == active_extruder)
470
+ planner.refresh_positioning ();
471
+ else
472
+ planner.mm_per_step [E_AXIS_N (e)] = 1 .0f / planner.settings .axis_steps_per_mm [E_AXIS_N (e)];
473
+ });
474
+ #elif E_STEPPERS
475
+ EDIT_ITEM_FAST_N (float72, E_AXIS, MSG_N_STEPS, &planner.settings .axis_steps_per_mm [E_AXIS], 5 , 9999 , []{ planner.refresh_positioning (); });
487
476
#endif
488
477
489
- // M205 S Min Feedrate
490
- EDIT_ITEM_FAST (float5, MSG_VMIN, &planner.settings .min_feedrate_mm_s , 0 , 9999 );
491
-
492
- // M205 T Min Travel Feedrate
493
- EDIT_ITEM_FAST (float5, MSG_VTRAV_MIN, &planner.settings .min_travel_feedrate_mm_s , 0 , 9999 );
494
-
495
478
END_MENU ();
496
479
}
497
480
481
+ #endif // EDITABLE_STEPS_PER_UNIT
482
+
483
+ #if DISABLED(SLIM_LCD_MENUS)
484
+
498
485
// M201 / M204 Accelerations
499
486
void menu_advanced_acceleration () {
500
487
float max_accel = (
@@ -579,6 +566,47 @@ void menu_backlash();
579
566
END_MENU ();
580
567
}
581
568
569
+ // M203 / M205 Velocity options
570
+ void menu_advanced_velocity () {
571
+ // M203 Max Feedrate
572
+ constexpr xyze_feedrate_t max_fr_edit =
573
+ #ifdef MAX_FEEDRATE_EDIT_VALUES
574
+ MAX_FEEDRATE_EDIT_VALUES
575
+ #elif ENABLED(LIMITED_MAX_FR_EDITING)
576
+ DEFAULT_MAX_FEEDRATE
577
+ #else
578
+ LOGICAL_AXIS_ARRAY_1 (9999 )
579
+ #endif
580
+ ;
581
+ #if ENABLED(LIMITED_MAX_FR_EDITING) && !defined(MAX_FEEDRATE_EDIT_VALUES)
582
+ const xyze_feedrate_t max_fr_edit_scaled = max_fr_edit * 2 ;
583
+ #else
584
+ const xyze_feedrate_t &max_fr_edit_scaled = max_fr_edit;
585
+ #endif
586
+
587
+ START_MENU ();
588
+ BACK_ITEM (MSG_ADVANCED_SETTINGS);
589
+
590
+ LOOP_NUM_AXES (a)
591
+ EDIT_ITEM_FAST_N (float5, a, MSG_VMAX_N, &planner.settings .max_feedrate_mm_s [a], 1 , max_fr_edit_scaled[a]);
592
+
593
+ #if E_STEPPERS
594
+ EDIT_ITEM_FAST_N (float5, E_AXIS, MSG_VMAX_N, &planner.settings .max_feedrate_mm_s [E_AXIS_N (active_extruder)], 1 , max_fr_edit_scaled.e );
595
+ #endif
596
+ #if ENABLED(DISTINCT_E_FACTORS)
597
+ for (uint8_t n = 0 ; n < E_STEPPERS; ++n)
598
+ EDIT_ITEM_FAST_N (float5, n, MSG_VMAX_EN, &planner.settings .max_feedrate_mm_s [E_AXIS_N (n)], 1 , max_fr_edit_scaled.e );
599
+ #endif
600
+
601
+ // M205 S Min Feedrate
602
+ EDIT_ITEM_FAST (float5, MSG_VMIN, &planner.settings .min_feedrate_mm_s , 0 , 9999 );
603
+
604
+ // M205 T Min Travel Feedrate
605
+ EDIT_ITEM_FAST (float5, MSG_VTRAV_MIN, &planner.settings .min_travel_feedrate_mm_s , 0 , 9999 );
606
+
607
+ END_MENU ();
608
+ }
609
+
582
610
#if ENABLED(SHAPING_MENU)
583
611
584
612
void menu_advanced_input_shaping () {
@@ -639,34 +667,6 @@ void menu_backlash();
639
667
640
668
#endif // !SLIM_LCD_MENUS
641
669
642
- #if ENABLED(EDITABLE_STEPS_PER_UNIT)
643
-
644
- // M92 Steps-per-mm
645
- void menu_advanced_steps_per_mm () {
646
- START_MENU ();
647
- BACK_ITEM (MSG_ADVANCED_SETTINGS);
648
-
649
- LOOP_NUM_AXES (a)
650
- EDIT_ITEM_FAST_N (float72, a, MSG_N_STEPS, &planner.settings .axis_steps_per_mm [a], 5 , 9999 , []{ planner.refresh_positioning (); });
651
-
652
- #if ENABLED(DISTINCT_E_FACTORS)
653
- for (uint8_t n = 0 ; n < E_STEPPERS; ++n)
654
- EDIT_ITEM_FAST_N (float72, n, MSG_EN_STEPS, &planner.settings .axis_steps_per_mm [E_AXIS_N (n)], 5 , 9999 , []{
655
- const uint8_t e = MenuItemBase::itemIndex;
656
- if (e == active_extruder)
657
- planner.refresh_positioning ();
658
- else
659
- planner.mm_per_step [E_AXIS_N (e)] = 1 .0f / planner.settings .axis_steps_per_mm [E_AXIS_N (e)];
660
- });
661
- #elif E_STEPPERS
662
- EDIT_ITEM_FAST_N (float72, E_AXIS, MSG_N_STEPS, &planner.settings .axis_steps_per_mm [E_AXIS], 5 , 9999 , []{ planner.refresh_positioning (); });
663
- #endif
664
-
665
- END_MENU ();
666
- }
667
-
668
- #endif // EDITABLE_STEPS_PER_UNIT
669
-
670
670
void menu_advanced_settings () {
671
671
#if ANY(POLARGRAPH, SHAPING_MENU, HAS_BED_PROBE, EDITABLE_STEPS_PER_UNIT)
672
672
const bool is_busy = printer_busy ();
@@ -679,7 +679,26 @@ void menu_advanced_settings() {
679
679
START_MENU ();
680
680
BACK_ITEM (MSG_CONFIGURATION);
681
681
682
+ // M92 - Steps Per mm
683
+ #if ENABLED(EDITABLE_STEPS_PER_UNIT)
684
+ if (!is_busy) SUBMENU (MSG_STEPS_PER_MM, menu_advanced_steps_per_mm);
685
+ #endif
686
+
682
687
#if DISABLED(SLIM_LCD_MENUS)
688
+ // M201 - Acceleration items
689
+ SUBMENU (MSG_ACCELERATION, menu_advanced_acceleration);
690
+
691
+ // M203 / M205 - Feedrate items
692
+ SUBMENU (MSG_MAX_SPEED, menu_advanced_velocity);
693
+
694
+ #if ENABLED(CLASSIC_JERK)
695
+ // M205 - Max Jerk
696
+ SUBMENU (MSG_JERK, menu_advanced_jerk);
697
+ #elif HAS_JUNCTION_DEVIATION
698
+ EDIT_ITEM (float43, MSG_JUNCTION_DEVIATION, &planner.junction_deviation_mm , 0 .001f , 0 .3f
699
+ OPTARG (HAS_LINEAR_E_JERK, planner.recalculate_max_e_jerk )
700
+ );
701
+ #endif
683
702
684
703
#if ENABLED(POLARGRAPH)
685
704
// M665 - Polargraph Settings
@@ -698,33 +717,13 @@ void menu_advanced_settings() {
698
717
ACTION_ITEM (MSG_SET_HOME_OFFSETS, []{ queue.inject (F (" M428" )); ui.return_to_status (); });
699
718
#endif
700
719
701
- // M203 / M205 - Feedrate items
702
- SUBMENU (MSG_MAX_SPEED, menu_advanced_velocity);
703
-
704
- // M201 - Acceleration items
705
- SUBMENU (MSG_ACCELERATION, menu_advanced_acceleration);
706
-
707
720
// M593 - Acceleration items
708
721
#if ENABLED(SHAPING_MENU)
709
722
SUBMENU (MSG_INPUT_SHAPING, menu_advanced_input_shaping);
710
723
#endif
711
724
712
- #if ENABLED(CLASSIC_JERK)
713
- // M205 - Max Jerk
714
- SUBMENU (MSG_JERK, menu_advanced_jerk);
715
- #elif HAS_JUNCTION_DEVIATION
716
- EDIT_ITEM (float43, MSG_JUNCTION_DEVIATION, &planner.junction_deviation_mm , 0 .001f , 0 .3f
717
- OPTARG (HAS_LINEAR_E_JERK, planner.recalculate_max_e_jerk )
718
- );
719
- #endif
720
-
721
725
#endif // !SLIM_LCD_MENUS
722
726
723
- // M92 - Steps Per mm
724
- #if ENABLED(EDITABLE_STEPS_PER_UNIT)
725
- if (!is_busy) SUBMENU (MSG_STEPS_PER_MM, menu_advanced_steps_per_mm);
726
- #endif
727
-
728
727
#if ENABLED(BACKLASH_GCODE)
729
728
SUBMENU (MSG_BACKLASH, menu_backlash);
730
729
#endif
0 commit comments