Version: 1
-Previous: 73bedfe2105db70ca92757709a308941f09e3f10
-Head: 59f3789d35ffe70460f1f9ad974dc15b119f90b6
+Previous: e558cc9682be1ad99b3e1271697927fcfcc46d51
+Head: aec8ed489bd4ea8411f8297c1ae67db477a26bf5
Applied:
marlin-pde-include-comment-for: 5b815da4d7f0a5bf87fbd2e70286f928e87b4d0d
add-to-marlin-gitignore: 79afa80f1a7740edceceb4a4deda713d9b55960e
makefile-support-v-1: 5f826531e0328e319ddb53617e4f3ade33537c92
makefile-avr-size: b1f12330781628c6463068489f7f052bf791bf0e
motion-control-max-min: fef5e25d43e7d8429283b9e34205172aaa3a6a2f
- m206-always-use-homing-homeing: 3f9a5d25a80a146ed3fd8e8c0e5ff7e686d9e5c9
- refresh-temp: 59f3789d35ffe70460f1f9ad974dc15b119f90b6
+ m206-always-use-homing-homeing: aec8ed489bd4ea8411f8297c1ae67db477a26bf5
Unapplied:
eeprom-provide-smaller-code-fo: e8dc1bb8684120aa0cd81ed49eb995d25ef674a7
homeaxis-function: 656f93b5d2604b6c81d80dea3f7f9a5d23d0dd5a
Bottom: ff33f6a6b492d6f370c84bddac52ac277dbd0fd9
-Top: ad98c0229e8c7036d7c4e6d12cdf7a7e26176d84
+Top: d755416e1e02ccf9a60164760460cedc7a2fa44a
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: 2012-08-01 21:12:14 +0100
// Handling multiple extruders pins
diff --git a/Marlin/Marlin.pde b/Marlin/Marlin.pde
-index d471d49..05e7d5a 100644
+index d471d49..5b00f9c 100644
--- a/Marlin/Marlin.pde
+++ b/Marlin/Marlin.pde
@@ -143,6 +143,8 @@ volatile bool feedmultiplychanged=false;
uint8_t active_extruder = 0;
unsigned char FanSpeed=0;
-@@ -543,6 +545,16 @@ bool code_seen(char code)
+@@ -543,6 +545,20 @@ 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) \
if ((LETTER##_MIN_PIN > -1 && LETTER##_HOME_DIR==-1) || (LETTER##_MAX_PIN > -1 && LETTER##_HOME_DIR==1))\
{ \
-@@ -564,8 +576,8 @@ bool code_seen(char code)
+@@ -564,8 +580,8 @@ bool code_seen(char code)
plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate/60, active_extruder); \
st_synchronize();\
\
feedrate = 0.0;\
endstops_hit_on_purpose();\
}
-@@ -678,8 +690,8 @@ void process_commands()
+@@ -678,8 +694,8 @@ void process_commands()
plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate/60, active_extruder);
st_synchronize();
plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
destination[X_AXIS] = current_position[X_AXIS];
destination[Y_AXIS] = current_position[Y_AXIS];
-@@ -1544,15 +1556,15 @@ void get_arc_coordinates()
+@@ -1544,15 +1560,15 @@ void get_arc_coordinates()
void clamp_to_software_endstops(float target[3])
{
if (min_software_endstops) {
+++ /dev/null
-Bottom: ad98c0229e8c7036d7c4e6d12cdf7a7e26176d84
-Top: d755416e1e02ccf9a60164760460cedc7a2fa44a
-Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
-Date: 2012-08-10 17:07:00 +0100
-
-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) \