chiark / gitweb /
Refresh of m206-always-use-homing-homeing
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 9 Aug 2012 17:51:07 +0000 (18:51 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 9 Aug 2012 17:51:07 +0000 (18:51 +0100)
Marlin/Marlin.h
Marlin/Marlin.pde

index 11e1afacaa0216118e15500ba95ef638aac0aead..b465d8535ad41b6f9131ef8d76861da21bfe08d5 100644 (file)
@@ -185,6 +185,7 @@ extern bool axis_relative_modes[];
 extern float current_position[NUM_AXIS] ;
 extern float add_homeing[3];
 extern float min_pos[3];
+extern float max_pos[3];
 extern unsigned char FanSpeed;
 
 // Handling multiple extruders pins
index e9801740b55d22e89ddd723c47e8ee2b2bd3d7a0..e9ebd5cedc12c45e8e9c04cb93a8a13cf1fe3ec1 100644 (file)
@@ -144,6 +144,7 @@ volatile int extrudemultiply=100; //100->1 200->2
 float current_position[NUM_AXIS] = { 0.0, 0.0, 0.0, 0.0 };
 float add_homeing[3]={0,0,0};
 float min_pos[3] = { X_MIN_POS, Y_MIN_POS, Z_MIN_POS };
+float max_pos[3] = { X_MAX_POS, Y_MAX_POS, Z_MAX_POS };
 uint8_t active_extruder = 0;
 unsigned char FanSpeed=0;
 
@@ -545,12 +546,15 @@ bool code_seen(char code)
 }
 
 static const float base_min_pos[3] = { X_MIN_POS, Y_MIN_POS, Z_MIN_POS };
+static const float base_max_pos[3] = { X_MAX_POS, Y_MAX_POS, Z_MAX_POS };
 static const float base_home_pos[3] = { X_HOME_POS, Y_HOME_POS, Z_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];
+  max_pos[axis] = base_max_pos[axis];
   if (add_homeing[axis] < 0) min_pos[axis] += add_homeing[axis];
+  else max_pos[axis] += add_homeing[axis];
 }
 
 #define HOMEAXIS(LETTER) \