chiark / gitweb /
refresh
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 9 Aug 2012 17:44:43 +0000 (18:44 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 9 Aug 2012 17:44:43 +0000 (18:44 +0100)
meta
patches/m206-always-use-homing-homeing
patches/refresh-temp [deleted file]

diff --git a/meta b/meta
index fb1350134e1ad6c96b317d30064d5d57f4217a6d..1e2db31fc1a3f2e57ab6143e980a6101788ed67d 100644 (file)
--- a/meta
+++ b/meta
@@ -1,13 +1,12 @@
 Version: 1
-Previous: c6c3c1f28782642964438a5fda07902b31de745b
-Head: 515269553450711eac6bf3f2be4c47b9a8505834
+Previous: b2880178b26b7eb989ed03555c8d3f41c76630a3
+Head: 3a7ef8a08b64d12be35f7e6aa9a72f82fe0db4d5
 Applied:
   marlin-pde-include-comment-for: 121f976406e6921f5b511f6dc4882985cf4b4133
   add-to-marlin-gitignore: 83dcad520f19d2ea6f1164b9c04e1430b679b3e2
   makefile-support-v-1: 3f7781d27a680fa4faeb5d7f38250e4877632ce3
   motion-control-max-min: 44befa5f783994f92f7c6fd39b7f581cf174d9d4
-  m206-always-use-homing-homeing: 9c81ed2e2fa5779c664045e0786ac53c89a3157a
-  refresh-temp: 515269553450711eac6bf3f2be4c47b9a8505834
+  m206-always-use-homing-homeing: 3a7ef8a08b64d12be35f7e6aa9a72f82fe0db4d5
 Unapplied:
   eeprom-provide-smaller-code-fo: 908bebda77f754b762a36f96bc7d938aca4935ba
   m206-save-values-in-eeprom: bbde4ea454248ef02e59183cab6992c5d4331d8c
index 2d7e97f869d4dd2bcce77694e6cb29c23b0ed194..2ab9ac628be61f158060b5b0a1dec6b3e84b85f4 100644 (file)
@@ -1,5 +1,5 @@
-Bottom: eb35f0d7db096a862ee737a5537019f96d6e6f16
-Top:    380e228cc8d44c90824ca19a55702fc1c536ad59
+Bottom: 8e78a1676c97946f40c2ebb968bada04f6bac87a
+Top:    b4fe7d5f00950cb7cf3ab1852f1b9bf14f73bb3d
 Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
 Date:   2012-08-01 21:12:14 +0100
 
@@ -52,10 +52,10 @@ Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
 ---
 
 diff --git a/Marlin/Marlin.h b/Marlin/Marlin.h
-index 4123634..c8115af 100644
+index 75b57d0..11e1afa 100644
 --- a/Marlin/Marlin.h
 +++ b/Marlin/Marlin.h
-@@ -183,6 +183,7 @@ extern float homing_feedrate[];
+@@ -184,6 +184,7 @@ extern float homing_feedrate[];
  extern bool axis_relative_modes[];
  extern float current_position[NUM_AXIS] ;
  extern float add_homeing[3];
@@ -64,7 +64,7 @@ index 4123634..c8115af 100644
  
  // Handling multiple extruders pins
 diff --git a/Marlin/Marlin.pde b/Marlin/Marlin.pde
-index f38920b..8248132 100644
+index d471d49..f270440 100644
 --- a/Marlin/Marlin.pde
 +++ b/Marlin/Marlin.pde
 @@ -143,6 +143,7 @@ volatile bool feedmultiplychanged=false;
@@ -114,7 +114,7 @@ index f38920b..8248132 100644
          destination[X_AXIS] = current_position[X_AXIS];
          destination[Y_AXIS] = current_position[Y_AXIS];
 @@ -1544,15 +1554,15 @@ void get_arc_coordinates()
- void prepare_move()
+ void clamp_to_software_endstops(float target[3])
  {
    if (min_software_endstops) {
 -    if (destination[X_AXIS] < X_MIN_POS) destination[X_AXIS] = X_MIN_POS;
@@ -133,25 +133,8 @@ index f38920b..8248132 100644
 +    if (destination[Y_AXIS] > max_pos[1]) destination[Y_AXIS] = max_pos[1];
 +    if (destination[Z_AXIS] > max_pos[2]) destination[Z_AXIS] = max_pos[2];
    }
-   previous_millis_cmd = millis();  
-   plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate*feedmultiply/60/100.0, active_extruder);
-diff --git a/Marlin/motion_control.cpp b/Marlin/motion_control.cpp
-index f11d8c8..450924a 100644
---- a/Marlin/motion_control.cpp
-+++ b/Marlin/motion_control.cpp
-@@ -126,9 +126,9 @@ void mc_arc(float *position, float *target, float *offset, uint8_t axis_0, uint8
-     arc_target[E_AXIS] += extruder_per_segment;
-     if (min_software_endstops) {
--      if (arc_target[X_AXIS] < X_HOME_POS) arc_target[X_AXIS] = X_HOME_POS;
--      if (arc_target[Y_AXIS] < Y_HOME_POS) arc_target[Y_AXIS] = Y_HOME_POS;
--      if (arc_target[Z_AXIS] < Z_HOME_POS) arc_target[Z_AXIS] = Z_HOME_POS;
-+      if (arc_target[X_AXIS] < min_pos[0]) arc_target[X_AXIS] = min_pos[0];
-+      if (arc_target[Y_AXIS] < min_pos[1]) arc_target[Y_AXIS] = min_pos[1];
-+      if (arc_target[Z_AXIS] < min_pos[2]) arc_target[Z_AXIS] = min_pos[2];
-     }
+ }
  
-     if (max_software_endstops) {
 diff --git a/README.md b/README.md
 index 86dd93d..fb2c189 100644
 --- a/README.md
diff --git a/patches/refresh-temp b/patches/refresh-temp
deleted file mode 100644 (file)
index 4d65e91..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-Bottom: 8e78a1676c97946f40c2ebb968bada04f6bac87a
-Top:    b4fe7d5f00950cb7cf3ab1852f1b9bf14f73bb3d
-Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
-Date:   2012-08-09 18:44:42 +0100
-
-Refresh of m206-always-use-homing-homeing
-
----
-
-diff --git a/Marlin/Marlin.h b/Marlin/Marlin.h
-index 75b57d0..11e1afa 100644
---- a/Marlin/Marlin.h
-+++ b/Marlin/Marlin.h
-@@ -184,6 +184,7 @@ extern float homing_feedrate[];
- extern bool axis_relative_modes[];
- extern float current_position[NUM_AXIS] ;
- extern float add_homeing[3];
-+extern float min_pos[3];
- extern unsigned char FanSpeed;
- // Handling multiple extruders pins
-diff --git a/Marlin/Marlin.pde b/Marlin/Marlin.pde
-index d471d49..f270440 100644
---- a/Marlin/Marlin.pde
-+++ b/Marlin/Marlin.pde
-@@ -143,6 +143,7 @@ volatile bool feedmultiplychanged=false;
- 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 };
- uint8_t active_extruder = 0;
- unsigned char FanSpeed=0;
-@@ -543,6 +544,15 @@ bool code_seen(char code)
-   return (strchr_pointer != NULL);  //Return True if a character was found
- }
-+static const float base_min_pos[3] = { X_MIN_POS, Y_MIN_POS, Z_MIN_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];
-+  if (add_homeing[axis] < 0) min_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 +574,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();\
-     \
--    current_position[LETTER##_AXIS] = LETTER##_HOME_POS;\
--    destination[LETTER##_AXIS] = current_position[LETTER##_AXIS];\
-+    axis_is_at_home(LETTER##_AXIS);                                   \
-+    destination[LETTER##_AXIS] = current_position[LETTER##_AXIS]; \
-     feedrate = 0.0;\
-     endstops_hit_on_purpose();\
-   }
-@@ -678,8 +688,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();
-     
--        current_position[X_AXIS] = X_HOME_POS;
--        current_position[Y_AXIS] = Y_HOME_POS;
-+        axis_is_at_home(X_AXIS);
-+        axis_is_at_home(Y_AXIS);
-         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 +1554,15 @@ void get_arc_coordinates()
- void clamp_to_software_endstops(float target[3])
- {
-   if (min_software_endstops) {
--    if (destination[X_AXIS] < X_MIN_POS) destination[X_AXIS] = X_MIN_POS;
--    if (destination[Y_AXIS] < Y_MIN_POS) destination[Y_AXIS] = Y_MIN_POS;
--    if (destination[Z_AXIS] < Z_MIN_POS) destination[Z_AXIS] = Z_MIN_POS;
-+    if (destination[X_AXIS] < min_pos[0]) destination[X_AXIS] = min_pos[0];
-+    if (destination[Y_AXIS] < min_pos[1]) destination[Y_AXIS] = min_pos[1];
-+    if (destination[Z_AXIS] < min_pos[2]) destination[Z_AXIS] = min_pos[2];
-   }
-   if (max_software_endstops) {
--    if (destination[X_AXIS] > X_MAX_POS) destination[X_AXIS] = X_MAX_POS;
--    if (destination[Y_AXIS] > Y_MAX_POS) destination[Y_AXIS] = Y_MAX_POS;
--    if (destination[Z_AXIS] > Z_MAX_POS) destination[Z_AXIS] = Z_MAX_POS;
-+    if (destination[X_AXIS] > max_pos[0]) destination[X_AXIS] = max_pos[0];
-+    if (destination[Y_AXIS] > max_pos[1]) destination[Y_AXIS] = max_pos[1];
-+    if (destination[Z_AXIS] > max_pos[2]) destination[Z_AXIS] = max_pos[2];
-   }
- }
-diff --git a/README.md b/README.md
-index 86dd93d..fb2c189 100644
---- a/README.md
-+++ b/README.md
-@@ -152,6 +152,7 @@ Movement variables:
- *   M202 - Set max acceleration in units/s^2 for travel moves (M202 X1000 Y1000) Unused in Marlin!!\r
- *   M203 - Set maximum feedrate that your machine can sustain (M203 X200 Y200 Z300 E10000) in mm/sec\r
- *   M204 - Set default acceleration: S normal moves T filament only moves (M204 S3000 T7000) im mm/sec^2  also sets minimum segment time in ms (B20000) to prevent buffer underruns and M20 minimum feedrate\r
-+*   M206 - set home offsets.  This sets the X,Y,Z coordinates of the endstops (and is added to the {X,Y,Z}_HOME_POS configuration options (and is also added to the coordinates, if any, provided to G82, as with earlier firmware)\r
- *   M220 - set build speed mulitplying S:factor in percent ; aka "realtime tuneing in the gcode". So you can slow down if you have islands in one height-range, and speed up otherwise.\r
- *   M221 - set the extrude multiplying S:factor in percent\r
- *   M400 - Finish all buffered moves.