@@ -331,36 +331,6 @@ void menu_move() {
331
331
ui.go_back ();
332
332
}
333
333
334
- TString ftmode (5 ), dmode(10 );
335
-
336
- void ftm_menu_get_msg_strings () {
337
- ft_config_t &c = ftMotion.cfg ;
338
-
339
- switch (c.mode ) {
340
- default :
341
- case ftMotionMode_DISABLED: ftmode = GET_TEXT_F (MSG_LCD_OFF); break ;
342
- case ftMotionMode_ENABLED: ftmode = GET_TEXT_F (MSG_LCD_ON); break ;
343
- case ftMotionMode_ZV: ftmode = GET_TEXT_F (MSG_FTM_ZV); break ;
344
- case ftMotionMode_ZVD: ftmode = GET_TEXT_F (MSG_FTM_ZVD); break ;
345
- case ftMotionMode_ZVDD: ftmode = GET_TEXT_F (MSG_FTM_ZVDD); break ;
346
- case ftMotionMode_ZVDDD: ftmode = GET_TEXT_F (MSG_FTM_ZVDDD);break ;
347
- case ftMotionMode_EI: ftmode = GET_TEXT_F (MSG_FTM_EI); break ;
348
- case ftMotionMode_2HEI: ftmode = GET_TEXT_F (MSG_FTM_2HEI); break ;
349
- case ftMotionMode_3HEI: ftmode = GET_TEXT_F (MSG_FTM_3HEI); break ;
350
- case ftMotionMode_MZV: ftmode = GET_TEXT_F (MSG_FTM_MZV); break ;
351
- }
352
-
353
- #if HAS_DYNAMIC_FREQ
354
- switch (c.dynFreqMode ) {
355
- default :
356
- case dynFreqMode_DISABLED: dmode = GET_TEXT_F (MSG_LCD_OFF); break ;
357
- case dynFreqMode_Z_BASED: dmode = GET_TEXT_F (MSG_FTM_Z_BASED); break ;
358
- case dynFreqMode_MASS_BASED: dmode = GET_TEXT_F (MSG_FTM_MASS_BASED); break ;
359
- }
360
- #endif
361
-
362
- }
363
-
364
334
inline void menu_ftm_cmpn_x () {
365
335
const ftMotionShaper_t shaper = ftMotion.cfg .shaper [X_AXIS];
366
336
START_MENU ();
@@ -421,7 +391,33 @@ void menu_move() {
421
391
void menu_ft_motion () {
422
392
ft_config_t &c = ftMotion.cfg ;
423
393
424
- ftm_menu_get_msg_strings ();
394
+ FSTR_P ftshaper[1 + ENABLED (HAS_Y_AXIS)] {};
395
+
396
+ #if HAS_X_AXIS
397
+ for (uint_fast8_t a = X_AXIS; a <= TERN (HAS_Y_AXIS, Y_AXIS, X_AXIS); ++a) {
398
+ switch (c.shaper [a]) {
399
+ case ftMotionShaper_NONE: ftshaper[a] = GET_TEXT_F (MSG_LCD_OFF); break ;
400
+ case ftMotionShaper_ZV: ftshaper[a] = GET_TEXT_F (MSG_FTM_ZV); break ;
401
+ case ftMotionShaper_ZVD: ftshaper[a] = GET_TEXT_F (MSG_FTM_ZVD); break ;
402
+ case ftMotionShaper_ZVDD: ftshaper[a] = GET_TEXT_F (MSG_FTM_ZVDD); break ;
403
+ case ftMotionShaper_ZVDDD: ftshaper[a] = GET_TEXT_F (MSG_FTM_ZVDDD);break ;
404
+ case ftMotionShaper_EI: ftshaper[a] = GET_TEXT_F (MSG_FTM_EI); break ;
405
+ case ftMotionShaper_2HEI: ftshaper[a] = GET_TEXT_F (MSG_FTM_2HEI); break ;
406
+ case ftMotionShaper_3HEI: ftshaper[a] = GET_TEXT_F (MSG_FTM_3HEI); break ;
407
+ case ftMotionShaper_MZV: ftshaper[a] = GET_TEXT_F (MSG_FTM_MZV); break ;
408
+ }
409
+ }
410
+ #endif
411
+
412
+ #if HAS_DYNAMIC_FREQ
413
+ FSTR_P dmode;
414
+ switch (c.dynFreqMode ) {
415
+ default :
416
+ case dynFreqMode_DISABLED: dmode = GET_TEXT_F (MSG_LCD_OFF); break ;
417
+ case dynFreqMode_Z_BASED: dmode = GET_TEXT_F (MSG_FTM_Z_BASED); break ;
418
+ case dynFreqMode_MASS_BASED: dmode = GET_TEXT_F (MSG_FTM_MASS_BASED); break ;
419
+ }
420
+ #endif
425
421
426
422
START_MENU ();
427
423
BACK_ITEM (MSG_MOTION);
@@ -458,7 +454,7 @@ void menu_move() {
458
454
459
455
#if HAS_DYNAMIC_FREQ
460
456
SUBMENU (MSG_FTM_DYN_MODE, menu_ftm_dyn_mode);
461
- MENU_ITEM_ADDON_START_RJ (dmode. length () ); lcd_put_u8str (dmode); MENU_ITEM_ADDON_END ();
457
+ MENU_ITEM_ADDON_START_RJ (11 ); lcd_put_u8str (dmode); MENU_ITEM_ADDON_END ();
462
458
if (c.dynFreqMode != dynFreqMode_DISABLED) {
463
459
#if HAS_X_AXIS
464
460
EDIT_ITEM_FAST_N (float42_52, X_AXIS, MSG_FTM_DFREQ_K_N, &c.dynFreqK [X_AXIS], 0 .0f , 20 .0f );
@@ -477,32 +473,14 @@ void menu_move() {
477
473
END_MENU ();
478
474
}
479
475
480
- void menu_tune_ft_motion () {
481
-
482
- ftm_menu_get_msg_strings ();
483
-
484
- ft_config_t &c = ftMotion.cfg ;
485
-
486
- START_MENU ();
487
- SUBMENU (MSG_FTM_MODE, menu_ftm_mode);
488
- MENU_ITEM_ADDON_START_RJ (ftmode.length ()); lcd_put_u8str (ftmode); MENU_ITEM_ADDON_END ();
489
- #if HAS_DYNAMIC_FREQ
490
- SUBMENU (MSG_FTM_DYN_MODE, menu_ftm_dyn_mode);
491
- MENU_ITEM_ADDON_START_RJ (dmode.length ()); lcd_put_u8str (dmode); MENU_ITEM_ADDON_END ();
492
- #endif
493
- #if HAS_EXTRUDERS
494
- EDIT_ITEM (bool , MSG_LINEAR_ADVANCE, &c.linearAdvEna );
495
- if (c.linearAdvEna ) EDIT_ITEM (float62, MSG_ADVANCE_K, &c.linearAdvK , 0 .0f , 1000 .0f );
496
- #endif
497
-
498
- END_MENU ();
499
-
500
- }
501
-
502
476
#endif // FT_MOTION_MENU
503
477
504
478
void menu_motion () {
505
479
480
+ #if ENABLED(FT_MOTION_MENU)
481
+ const bool is_busy = printer_busy ();
482
+ #endif
483
+
506
484
START_MENU ();
507
485
508
486
//
@@ -532,7 +510,7 @@ void menu_motion() {
532
510
// M493 - Fixed-Time Motion
533
511
//
534
512
#if ENABLED(FT_MOTION_MENU)
535
- SUBMENU (MSG_FIXED_TIME_MOTION, menu_ft_motion);
513
+ if (!is_busy) SUBMENU (MSG_FIXED_TIME_MOTION, menu_ft_motion);
536
514
#endif
537
515
538
516
//
0 commit comments