From: Ian Jackson Date: Fri, 10 Aug 2012 16:31:32 +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=71488c39ecb9c2d2fcd9a56a5e9e89ca118bdfe9;p=marlin.git Refresh of m206-always-use-homing-homeing --- diff --git a/Marlin/Marlin.pde b/Marlin/Marlin.pde index 5b00f9c..a772fa6 100644 --- a/Marlin/Marlin.pde +++ b/Marlin/Marlin.pde @@ -545,18 +545,24 @@ bool code_seen(char code) return (strchr_pointer != NULL); //Return True if a character was found } -#define XYZ_CONFIG(type,array,axis) (pgm_read_##type##_near(&array##_P[(axis)])) +#define DEFINE_PGM_READ_ANY(type, reader) \ + 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); + 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(float, base_home_pos,axis) + add_homeing[axis]; - min_pos[axis] = XYZ_CONFIG(float, base_min_pos, axis) + add_homeing[axis]; - max_pos[axis] = XYZ_CONFIG(float, base_max_pos, axis) + add_homeing[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]; } #define HOMEAXIS(LETTER) \