-
-
Notifications
You must be signed in to change notification settings - Fork 19.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] Menu homing feedrate displays incorrectly #27513
Comments
a quick fix (but I dropped the Inch support) diff --git a/Marlin/src/lcd/menu/menu_configuration.cpp b/Marlin/src/lcd/menu/menu_configuration.cpp
index d7eeab3cb3..3042e2f7b5 100644
--- a/Marlin/src/lcd/menu/menu_configuration.cpp
+++ b/Marlin/src/lcd/menu/menu_configuration.cpp
@@ -408,22 +408,8 @@ void menu_advanced_settings();
START_MENU();
BACK_ITEM(MSG_HOMING_FEEDRATE);
- #if ENABLED(MENUS_ALLOW_INCH_UNITS)
- #define _EDIT_HOMING_FR(A) do{ \
- const float maxfr = MMS_TO_MMM(planner.settings.max_feedrate_mm_s[_AXIS(A)]); \
- editable.decimal = A##_AXIS_UNIT(homing_feedrate_mm_m.A); \
- EDIT_ITEM(float5, MSG_HOMING_FEEDRATE_N, &editable.decimal, \
- A##_AXIS_UNIT(10), A##_AXIS_UNIT(maxfr), []{ \
- homing_feedrate_mm_m.A = parser.axis_value_to_mm(_AXIS(A), editable.decimal); \
- }); \
- }while(0);
- #else
- #define _EDIT_HOMING_FR(A) do{ \
- EDIT_ITEM(float5, MSG_HOMING_FEEDRATE_N, &homing_feedrate_mm_m.A, 10, MMS_TO_MMM(planner.settings.max_feedrate_mm_s[_AXIS(A)])); \
- }while(0);
- #endif
-
- MAIN_AXIS_MAP(_EDIT_HOMING_FR);
+ LOOP_NUM_AXES(a)
+ EDIT_ITEM_FAST_N(float5, a, MSG_HOMING_FEEDRATE_N, &homing_feedrate_mm_m[a], MMS_TO_MMM(planner.settings.min_feedrate_mm_s), MMS_TO_MMM(planner.settings.max_feedrate_mm_s[a]));
END_MENU();
} |
refactor idea. There a number of strings of the form _X, _Y, _Z,_E and _N But if we have _N why do we have the rest when they could be created in code? |
I thought it was |
union template<typename T>
struct XYZval {
union {
#if NUM_AXES
struct { NUM_AXIS_CODE(T x, T y, T z, T i, T j, T k, T u, T v, T w); };
struct { NUM_AXIS_CODE(T X, T Y, T Z, T I, T J, T K, T U, T V, T W); };
struct { NUM_AXIS_CODE(T a, T b, T c, T _i, T _j, T _k, T _u, T _v, T _w); };
struct { NUM_AXIS_CODE(T A, T B, T C, T II, T JJ, T KK, T UU, T VV, T WW); };
#endif
T pos[NUM_AXES];
}; and homing_feedrate_mm_m.a cannot work as a is an interger no such things as homing_feedrate_mm_m.0 or homing_feedrate_mm_m.1 etc |
or how about: #else
#define _EDIT_HOMING_FR(A) \
EDIT_ITEM_FAST_N(float5, _AXIS(A), MSG_HOMING_FEEDRATE_N, &homing_feedrate_mm_m.A, MMS_TO_MMM(planner.settings.min_feedrate_mm_s), MMS_TO_MMM(planner.settings.max_feedrate_mm_s[_AXIS(A)]));
#endif
MAIN_AXIS_MAP(_EDIT_HOMING_FR);
edit: fixed above with |
that uses &homing_feedrate_mm_m.x, so only the x homing feedrate value is is displayed and edited |
thanks, with that edit it works perfectly |
Extended it to also work in inch mode and PR created |
Did you test the latest
bugfix-2.1.x
code?Yes, and the problem still exists.
Bug Description
The Menu homing feedrate displays incorrectly
Bug Timeline
since #27456
Expected behavior
This menus should list each axis and its feedrate using " LSTR MSG_HOMING_FEEDRATE_N = _UxGT("@ Homing Feedrate");"
Actual behavior
This menus list the same axis over but lists the correct feedrate
I've seen 3 lines of the label X Homing Feedrate, and I have seen 3 lines of the label Y Homing Feedrate
Steps to Reproduce
Version of Marlin Firmware
Bugfix-2.1.x
Printer model
Simulated
Electronics
Simulated
LCD/Controller
REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
Don't forget to include
Configuration.h
andConfiguration_adv.h
.Additional information & file uploads
Sim Configuration.zip
The text was updated successfully, but these errors were encountered: