From a5a67325083f5c2eb4e5d7346b1f30574636b93b Mon Sep 17 00:00:00 2001 From: narno2202 <130909513+narno2202@users.noreply.github.com> Date: Sun, 11 Jan 2026 02:57:20 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Fix=20FT=20Motion=20M496=20proce?= =?UTF-8?q?ssing,=20etc.=20(#28261)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Scott Lahteine --- Marlin/src/feature/e_parser.cpp | 2 +- Marlin/src/gcode/feature/ft_motion/M495_M496.cpp | 2 ++ Marlin/src/lcd/menu/menu_motion.cpp | 14 ++++++++++---- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/Marlin/src/feature/e_parser.cpp b/Marlin/src/feature/e_parser.cpp index bda1232154..28a903719c 100644 --- a/Marlin/src/feature/e_parser.cpp +++ b/Marlin/src/feature/e_parser.cpp @@ -150,7 +150,7 @@ void EmergencyParser::update(EmergencyParser::State &state, const uint8_t c) { case EP_M4: switch (c) { case '1' :state = EP_M41; break; - #if ENABLED(FT_MOTION_RESONANCE_TEST) + #if ENABLED(FTM_RESONANCE_TEST) case '9': state = EP_M49; break; #endif default: state = EP_IGNORE; diff --git a/Marlin/src/gcode/feature/ft_motion/M495_M496.cpp b/Marlin/src/gcode/feature/ft_motion/M495_M496.cpp index 15e1a1fe0f..18787ba32f 100644 --- a/Marlin/src/gcode/feature/ft_motion/M495_M496.cpp +++ b/Marlin/src/gcode/feature/ft_motion/M495_M496.cpp @@ -25,6 +25,7 @@ #if ENABLED(FTM_RESONANCE_TEST) #include "../../gcode.h" +#include "../../../lcd/marlinui.h" #include "../../../module/ft_motion.h" #include "../../../module/ft_motion/resonance_generator.h" @@ -173,6 +174,7 @@ void GcodeSuite::M496() { if (ftMotion.rtg.isActive()) { ftMotion.rtg.abort(); EmergencyParser::rt_stop_by_M496 = false; + ui.refresh(); #if DISABLED(MARLIN_SMALL_BUILD) SERIAL_ECHOLN(F("Resonance Test"), F(" aborted.")); #endif diff --git a/Marlin/src/lcd/menu/menu_motion.cpp b/Marlin/src/lcd/menu/menu_motion.cpp index a9261dc922..59172a4787 100644 --- a/Marlin/src/lcd/menu/menu_motion.cpp +++ b/Marlin/src/lcd/menu/menu_motion.cpp @@ -424,12 +424,18 @@ void menu_move() { if (ftMotion.rtg.isActive() && !ftMotion.rtg.isDone()) { STATIC_ITEM(MSG_FTM_RT_RUNNING); - ACTION_ITEM(MSG_FTM_RT_STOP, []{ ftMotion.rtg.abort(); ui.refresh(); }); + GCODES_ITEM(MSG_FTM_RT_STOP, F("M496")); } else { - GCODES_ITEM_N(X_AXIS, MSG_FTM_RT_START_N, F("M495 X S")); - GCODES_ITEM_N(Y_AXIS, MSG_FTM_RT_START_N, F("M495 Y S")); - GCODES_ITEM_N(Z_AXIS, MSG_FTM_RT_START_N, F("M495 Z S")); + #if HAS_X_AXIS + GCODES_ITEM_N(X_AXIS, MSG_FTM_RT_START_N, F("M495 X S")); + #endif + #if HAS_Y_AXIS + GCODES_ITEM_N(Y_AXIS, MSG_FTM_RT_START_N, F("M495 Y S")); + #endif + #if HAS_Z_AXIS + GCODES_ITEM_N(Z_AXIS, MSG_FTM_RT_START_N, F("M495 Z S")); + #endif SUBMENU(MSG_FTM_RETRIEVE_FREQ, menu_ftm_resonance_freq); }