From: Ian Jackson Date: Fri, 10 Aug 2012 16:37:50 +0000 (+0100) Subject: Refresh of m206-always-use-homing-homeing X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=b044b21cda2747038c2f917c4dd138a6650c4c7c;p=marlin.git Refresh of m206-always-use-homing-homeing --- 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) \