diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp
index 497aabd2230b06b8d2f43bf97656fd71f3377fbd..a0722ba56d5eed1c5a95edeae42e9f3dd8e94826 100644
--- a/Marlin/Marlin_main.cpp
+++ b/Marlin/Marlin_main.cpp
@@ -555,6 +555,26 @@ static bool send_ok[BUFSIZE];
#define KEEPALIVE_STATE(n) ;
#endif // HOST_KEEPALIVE_FEATURE
+#define DEFINE_PGM_READ_ANY(type, reader) \
+ static inline type pgm_read_any(const type *p) \
+ { return pgm_read_##reader##_near(p); }
+
+DEFINE_PGM_READ_ANY(float, float);
+DEFINE_PGM_READ_ANY(signed char, byte);
+
+#define XYZ_CONSTS_FROM_CONFIG(type, array, CONFIG) \
+ static const PROGMEM type array##_P[XYZ] = \
+ { X_##CONFIG, Y_##CONFIG, Z_##CONFIG }; \
+ static inline type array(int axis) \
+ { return pgm_read_any(&array##_P[axis]); }
+
+XYZ_CONSTS_FROM_CONFIG(float, base_min_pos, MIN_POS);
+XYZ_CONSTS_FROM_CONFIG(float, base_max_pos, MAX_POS);
+XYZ_CONSTS_FROM_CONFIG(float, base_home_pos, HOME_POS);
+XYZ_CONSTS_FROM_CONFIG(float, max_length, MAX_LENGTH);
+XYZ_CONSTS_FROM_CONFIG(float, home_bump_mm, HOME_BUMP_MM);
+XYZ_CONSTS_FROM_CONFIG(signed char, home_dir, HOME_DIR);
+
/**
* ***************************************************************************
* ******************************** FUNCTIONS ********************************
@@ -1406,26 +1426,6 @@ bool get_target_extruder_from_command(int code) {
return false;
}
-#define DEFINE_PGM_READ_ANY(type, reader) \
- static inline type pgm_read_any(const type *p) \
- { return pgm_read_##reader##_near(p); }
-
-DEFINE_PGM_READ_ANY(float, float);
-DEFINE_PGM_READ_ANY(signed char, byte);
-
-#define XYZ_CONSTS_FROM_CONFIG(type, array, CONFIG) \
- static const PROGMEM type array##_P[XYZ] = \
- { X_##CONFIG, Y_##CONFIG, Z_##CONFIG }; \
- static inline type array(int axis) \
- { return pgm_read_any(&array##_P[axis]); }
-
-XYZ_CONSTS_FROM_CONFIG(float, base_min_pos, MIN_POS);
-XYZ_CONSTS_FROM_CONFIG(float, base_max_pos, MAX_POS);
-XYZ_CONSTS_FROM_CONFIG(float, base_home_pos, HOME_POS);
-XYZ_CONSTS_FROM_CONFIG(float, max_length, MAX_LENGTH);
-XYZ_CONSTS_FROM_CONFIG(float, home_bump_mm, HOME_BUMP_MM);
-XYZ_CONSTS_FROM_CONFIG(signed char, home_dir, HOME_DIR);
-
#if ENABLED(DUAL_X_CARRIAGE) || ENABLED(DUAL_NOZZLE_DUPLICATION_MODE)
bool extruder_duplication_enabled = false; // Used in Dual X mode 2
#endif