From: Ian Jackson Date: Fri, 10 Aug 2012 16:07:00 +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=59f3789d35ffe70460f1f9ad974dc15b119f90b6;p=marlin.git Refresh of m206-always-use-homing-homeing --- diff --git a/Marlin/Marlin.pde b/Marlin/Marlin.pde index 05e7d5a..5b00f9c 100644 --- a/Marlin/Marlin.pde +++ b/Marlin/Marlin.pde @@ -545,14 +545,18 @@ bool code_seen(char code) return (strchr_pointer != NULL); //Return True if a character was found } -static const PROGMEM float base_min_pos[3] = { X_MIN_POS, Y_MIN_POS, Z_MIN_POS }; -static const PROGMEM float base_max_pos[3] = { X_MAX_POS, Y_MAX_POS, Z_MAX_POS }; -static const PROGMEM float base_home_pos[3] = { X_HOME_POS, Y_HOME_POS, Z_HOME_POS }; +#define XYZ_CONFIG(type,array,axis) (pgm_read_##type##_near(&array##_P[(axis)])) +#define XYZ_CONSTS_FROM_CONFIG(type, array, CONFIG) \ +static const PROGMEM type array##_P[3] = { X_##CONFIG, Y_##CONFIG, Z_##CONFIG }; + +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] = 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]; + 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]; } #define HOMEAXIS(LETTER) \