chiark / gitweb /
Refresh of m206-always-use-homing-homeing
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 10 Aug 2012 16:37:50 +0000 (17:37 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 10 Aug 2012 16:37:50 +0000 (17:37 +0100)
Marlin/Marlin.pde

index a772fa6d7e0ffe066c8d72c8d32170463cff3ac4..b358400c7d3d6338bfc7369b4dc63fb3e008e46d 100644 (file)
@@ -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) \