From b044b21cda2747038c2f917c4dd138a6650c4c7c Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Fri, 10 Aug 2012 17:37:50 +0100 Subject: [PATCH] Refresh of m206-always-use-homing-homeing --- Marlin/Marlin.pde | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/Marlin/Marlin.pde b/Marlin/Marlin.pde index a772fa6..b358400 100644 --- a/Marlin/Marlin.pde +++ b/Marlin/Marlin.pde @@ -549,20 +549,22 @@ bool code_seen(char code) static inline float pgm_read_any(const type *p) \ { return pgm_read_##reader##_near(p); } -#define XYZ_CONFIG(array,axis) (pgm_read_any(&array##_P[(axis)])) -#define XYZ_CONSTS_FROM_CONFIG(type, array, CONFIG) \ -static const PROGMEM type array##_P[3] = { X_##CONFIG, Y_##CONFIG, Z_##CONFIG }; - DEFINE_PGM_READ_ANY(float, float); +#define XYZ_CONSTS_FROM_CONFIG(type, array, CONFIG) \ +static const PROGMEM type array##_P[3] = \ + { 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); static void axis_is_at_home(int axis) { - current_position[axis] = XYZ_CONFIG(base_home_pos, axis) + add_homeing[axis]; - min_pos[axis] = XYZ_CONFIG(base_min_pos, axis) + add_homeing[axis]; - max_pos[axis] = XYZ_CONFIG(base_max_pos, axis) + add_homeing[axis]; + current_position[axis] = base_home_pos(axis) + add_homeing[axis]; + min_pos[axis] = base_min_pos(axis) + add_homeing[axis]; + max_pos[axis] = base_max_pos(axis) + add_homeing[axis]; } #define HOMEAXIS(LETTER) \ -- 2.30.2