From a55355d088c94b8c12bbccaf708fe986d0448c14 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 13 Apr 2025 00:55:58 -0500 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=B8=20FT=20Motion=20menu=20fix,=20neat?= =?UTF-8?q?en?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Marlin/src/lcd/language/language_en.h | 4 ++-- Marlin/src/lcd/language/language_it.h | 4 ++-- Marlin/src/lcd/language/language_ru.h | 4 ++-- Marlin/src/lcd/language/language_tr.h | 4 ++-- Marlin/src/lcd/menu/menu_motion.cpp | 18 ++++++------------ Marlin/src/libs/numtostr.cpp | 2 +- 6 files changed, 15 insertions(+), 21 deletions(-) diff --git a/Marlin/src/lcd/language/language_en.h b/Marlin/src/lcd/language/language_en.h index 54740c923e..686a0b759c 100644 --- a/Marlin/src/lcd/language/language_en.h +++ b/Marlin/src/lcd/language/language_en.h @@ -894,7 +894,7 @@ namespace LanguageNarrow_en { LSTR MSG_BACKLASH_SMOOTHING = _UxGT("Smoothing"); LSTR MSG_FIXED_TIME_MOTION = _UxGT("Fixed-Time Motion"); - LSTR MSG_FTM_CMPN_MODE = _UxGT("@ Comp. Mode:"); + LSTR MSG_FTM_CMPN_MODE = _UxGT("@ Comp. Mode: $"); LSTR MSG_FTM_ZV = _UxGT("ZV"); LSTR MSG_FTM_ZVD = _UxGT("ZVD"); LSTR MSG_FTM_ZVDD = _UxGT("ZVDD"); @@ -905,7 +905,7 @@ namespace LanguageNarrow_en { LSTR MSG_FTM_MZV = _UxGT("MZV"); //LSTR MSG_FTM_ULENDO_FBS = _UxGT("Ulendo FBS"); //LSTR MSG_FTM_DISCTF = _UxGT("DISCTF"); - LSTR MSG_FTM_DYN_MODE = _UxGT("DF Mode:"); + LSTR MSG_FTM_DYN_MODE = _UxGT("DF Mode: $"); LSTR MSG_FTM_Z_BASED = _UxGT("Z-based"); LSTR MSG_FTM_MASS_BASED = _UxGT("Mass-based"); LSTR MSG_FTM_BASE_FREQ_N = _UxGT("@ Base Freq."); diff --git a/Marlin/src/lcd/language/language_it.h b/Marlin/src/lcd/language/language_it.h index 1e81514440..c1b5366332 100644 --- a/Marlin/src/lcd/language/language_it.h +++ b/Marlin/src/lcd/language/language_it.h @@ -861,8 +861,8 @@ namespace LanguageNarrow_it { LSTR MSG_BACKLASH_SMOOTHING = _UxGT("Appianamento"); LSTR MSG_FIXED_TIME_MOTION = _UxGT("Movimento a Tempo-Fisso"); - LSTR MSG_FTM_CMPN_MODE = _UxGT("@ Modo Comp:"); - LSTR MSG_FTM_DYN_MODE = _UxGT("Modo DF:"); + LSTR MSG_FTM_CMPN_MODE = _UxGT("@ Modo Comp: $"); + LSTR MSG_FTM_DYN_MODE = _UxGT("Modo DF: $"); LSTR MSG_FTM_Z_BASED = _UxGT("Base-Z"); LSTR MSG_FTM_MASS_BASED = _UxGT("Base-Massa"); LSTR MSG_FTM_BASE_FREQ_N = _UxGT("@ Freq. base"); diff --git a/Marlin/src/lcd/language/language_ru.h b/Marlin/src/lcd/language/language_ru.h index 92011f66a6..991fd638ef 100644 --- a/Marlin/src/lcd/language/language_ru.h +++ b/Marlin/src/lcd/language/language_ru.h @@ -811,7 +811,7 @@ namespace LanguageNarrow_ru { // did not translate as there is no local terms/slang yet LSTR MSG_FIXED_TIME_MOTION = _UxGT("FT Motion"); - LSTR MSG_FTM_CMPN_MODE = _UxGT("@ Режим комп.:"); + LSTR MSG_FTM_CMPN_MODE = _UxGT("@ Режим комп.: $"); LSTR MSG_FTM_ZV = _UxGT("ZV"); LSTR MSG_FTM_ZVD = _UxGT("ZVD"); LSTR MSG_FTM_EI = _UxGT("EI"); @@ -820,7 +820,7 @@ namespace LanguageNarrow_ru { LSTR MSG_FTM_MZV = _UxGT("MZV"); //LSTR MSG_FTM_ULENDO_FBS = _UxGT("Ulendo ФBС"); //LSTR MSG_FTM_DISCTF = _UxGT("DISCTF"); - LSTR MSG_FTM_DYN_MODE = _UxGT("DF Mode:"); + LSTR MSG_FTM_DYN_MODE = _UxGT("DF Mode: $"); LSTR MSG_FTM_Z_BASED = _UxGT("Z-based"); LSTR MSG_FTM_MASS_BASED = _UxGT("Mass-based"); LSTR MSG_FTM_BASE_FREQ_N = _UxGT("@ Base Freq."); diff --git a/Marlin/src/lcd/language/language_tr.h b/Marlin/src/lcd/language/language_tr.h index b52ded8db8..947f094fa6 100644 --- a/Marlin/src/lcd/language/language_tr.h +++ b/Marlin/src/lcd/language/language_tr.h @@ -796,7 +796,7 @@ namespace LanguageNarrow_tr { LSTR MSG_BACKLASH_SMOOTHING = _UxGT("Yumuşatma"); LSTR MSG_FIXED_TIME_MOTION = _UxGT("Sabit Zamanlı Hareket"); - LSTR MSG_FTM_CMPN_MODE = _UxGT("@ Telafi Modu:"); + LSTR MSG_FTM_CMPN_MODE = _UxGT("@ Telafi Modu: $"); LSTR MSG_FTM_ZV = _UxGT("ZV"); LSTR MSG_FTM_ZVD = _UxGT("ZVD"); LSTR MSG_FTM_ZVDD = _UxGT("ZVDD"); @@ -807,7 +807,7 @@ namespace LanguageNarrow_tr { LSTR MSG_FTM_MZV = _UxGT("MZV"); //LSTR MSG_FTM_ULENDO_FBS = _UxGT("Ulendo FBS"); //LSTR MSG_FTM_DISCTF = _UxGT("DISCTF"); - LSTR MSG_FTM_DYN_MODE = _UxGT("DF Modu:"); + LSTR MSG_FTM_DYN_MODE = _UxGT("DF Modu: $"); LSTR MSG_FTM_Z_BASED = _UxGT("Z-based"); LSTR MSG_FTM_MASS_BASED = _UxGT("Mass-based"); LSTR MSG_FTM_BASE_FREQ_N = _UxGT("@ Base Freq."); diff --git a/Marlin/src/lcd/menu/menu_motion.cpp b/Marlin/src/lcd/menu/menu_motion.cpp index f6f13e2a4e..e2adbfded2 100644 --- a/Marlin/src/lcd/menu/menu_motion.cpp +++ b/Marlin/src/lcd/menu/menu_motion.cpp @@ -426,8 +426,7 @@ void menu_move() { // Show only when FT Motion is active (or optionally always show) if (c.active || ENABLED(FT_MOTION_NO_MENU_TOGGLE)) { #if HAS_X_AXIS - SUBMENU_N(X_AXIS, MSG_FTM_CMPN_MODE, menu_ftm_shaper_x); - MENU_ITEM_ADDON_START_RJ(5); lcd_put_u8str(shaper_name[X_AXIS]); MENU_ITEM_ADDON_END(); + SUBMENU_N_S(X_AXIS, shaper_name[X_AXIS], MSG_FTM_CMPN_MODE, menu_ftm_shaper_x); if (AXIS_HAS_SHAPER(X)) { EDIT_ITEM_FAST_N(float42_52, X_AXIS, MSG_FTM_BASE_FREQ_N, &c.baseFreq.x, FTM_MIN_SHAPE_FREQ, (FTM_FS) / 2, ftMotion.update_shaping_params); @@ -437,8 +436,7 @@ void menu_move() { } #endif #if HAS_Y_AXIS - SUBMENU_N(Y_AXIS, MSG_FTM_CMPN_MODE, menu_ftm_shaper_y); - MENU_ITEM_ADDON_START_RJ(5); lcd_put_u8str(shaper_name[Y_AXIS]); MENU_ITEM_ADDON_END(); + SUBMENU_N_S(Y_AXIS, shaper_name[Y_AXIS], MSG_FTM_CMPN_MODE, menu_ftm_shaper_y); if (AXIS_HAS_SHAPER(Y)) { EDIT_ITEM_FAST_N(float42_52, Y_AXIS, MSG_FTM_BASE_FREQ_N, &c.baseFreq.y, FTM_MIN_SHAPE_FREQ, (FTM_FS) / 2, ftMotion.update_shaping_params); @@ -449,8 +447,7 @@ void menu_move() { #endif #if HAS_DYNAMIC_FREQ - SUBMENU(MSG_FTM_DYN_MODE, menu_ftm_dyn_mode); - MENU_ITEM_ADDON_START_RJ(11); lcd_put_u8str(dmode); MENU_ITEM_ADDON_END(); + SUBMENU_S(dmode, MSG_FTM_DYN_MODE, menu_ftm_dyn_mode); if (c.dynFreqMode != dynFreqMode_DISABLED) { #if HAS_X_AXIS EDIT_ITEM_FAST_N(float42_52, X_AXIS, MSG_FTM_DFREQ_K_N, &c.dynFreqK.x, 0.0f, 20.0f); @@ -489,16 +486,13 @@ void menu_move() { BACK_ITEM(MSG_TUNE); #if HAS_X_AXIS - SUBMENU_N(X_AXIS, MSG_FTM_CMPN_MODE, menu_ftm_shaper_x); - MENU_ITEM_ADDON_START_RJ(5); lcd_put_u8str(shaper_name[X_AXIS]); MENU_ITEM_ADDON_END(); + SUBMENU_N_S(X_AXIS, shaper_name[X_AXIS], MSG_FTM_CMPN_MODE, menu_ftm_shaper_x); #endif #if HAS_Y_AXIS - SUBMENU_N(Y_AXIS, MSG_FTM_CMPN_MODE, menu_ftm_shaper_y); - MENU_ITEM_ADDON_START_RJ(5); lcd_put_u8str(shaper_name[Y_AXIS]); MENU_ITEM_ADDON_END(); + SUBMENU_N_S(Y_AXIS, shaper_name[Y_AXIS], MSG_FTM_CMPN_MODE, menu_ftm_shaper_y); #endif #if HAS_DYNAMIC_FREQ - SUBMENU(MSG_FTM_DYN_MODE, menu_ftm_dyn_mode); - MENU_ITEM_ADDON_START_RJ(dmode.length()); lcd_put_u8str(dmode); MENU_ITEM_ADDON_END(); + SUBMENU_S(dmode, MSG_FTM_DYN_MODE, menu_ftm_dyn_mode); #endif #if HAS_EXTRUDERS EDIT_ITEM(bool, MSG_LINEAR_ADVANCE, &c.linearAdvEna); diff --git a/Marlin/src/libs/numtostr.cpp b/Marlin/src/libs/numtostr.cpp index aa00b5d6e2..830e9b356b 100644 --- a/Marlin/src/libs/numtostr.cpp +++ b/Marlin/src/libs/numtostr.cpp @@ -406,8 +406,8 @@ inline const char* ftostrX2rj(const_float_t f, const int index=1) { case 1: conv[1] = RJDIGIT(i, 100000); case 2: conv[2] = RJDIGIT(i, 10000); case 3: conv[3] = RJDIGIT(i, 1000); - case 4: conv[4] = RJDIGIT(i, 100); } + conv[4] = DIGIMOD(i, 100); conv[5] = '.'; conv[6] = DIGIMOD(i, 10); conv[7] = DIGIMOD(i, 1);