diff options
-rw-r--r-- | Sprinter/Sprinter.pde | 30 | ||||
-rw-r--r-- | Sprinter/pins.h | 9 |
2 files changed, 22 insertions, 17 deletions
diff --git a/Sprinter/Sprinter.pde b/Sprinter/Sprinter.pde index 706910f..9de3d48 100644 --- a/Sprinter/Sprinter.pde +++ b/Sprinter/Sprinter.pde @@ -252,6 +252,8 @@ bool relative_mode = false; //Determines Absolute or Relative Coordinates //bool relative_mode_e = false; //Determines Absolute or Relative E Codes while in Absolute Coordinates mode. E is always relative in Relative Coordinates mode. //long timediff = 0; +bool is_homing = false; + //experimental feedrate calc //float d = 0; //float axis_diff[NUM_AXIS] = {0, 0, 0, 0}; @@ -1059,6 +1061,7 @@ FORCE_INLINE void process_commands() destination[i] = current_position[i]; } feedrate = 0; + is_homing = true; home_all_axis = !((code_seen(axis_codes[0])) || (code_seen(axis_codes[1])) || (code_seen(axis_codes[2]))); @@ -1164,6 +1167,7 @@ FORCE_INLINE void process_commands() enable_endstops(false); #endif + is_homing = false; feedrate = saved_feedrate; feedmultiply = saved_feedmultiply; @@ -1764,20 +1768,22 @@ void prepare_move() { long help_feedrate = 0; - if (min_software_endstops) - { - if (destination[X_AXIS] < 0) destination[X_AXIS] = 0.0; - if (destination[Y_AXIS] < 0) destination[Y_AXIS] = 0.0; - if (destination[Z_AXIS] < 0) destination[Z_AXIS] = 0.0; - } + if(!is_homing){ + if (min_software_endstops) + { + if (destination[X_AXIS] < 0) destination[X_AXIS] = 0.0; + if (destination[Y_AXIS] < 0) destination[Y_AXIS] = 0.0; + if (destination[Z_AXIS] < 0) destination[Z_AXIS] = 0.0; + } - if (max_software_endstops) - { - if (destination[X_AXIS] > X_MAX_LENGTH) destination[X_AXIS] = X_MAX_LENGTH; - if (destination[Y_AXIS] > Y_MAX_LENGTH) destination[Y_AXIS] = Y_MAX_LENGTH; - if (destination[Z_AXIS] > Z_MAX_LENGTH) destination[Z_AXIS] = Z_MAX_LENGTH; + if (max_software_endstops) + { + if (destination[X_AXIS] > X_MAX_LENGTH) destination[X_AXIS] = X_MAX_LENGTH; + if (destination[Y_AXIS] > Y_MAX_LENGTH) destination[Y_AXIS] = Y_MAX_LENGTH; + if (destination[Z_AXIS] > Z_MAX_LENGTH) destination[Z_AXIS] = Z_MAX_LENGTH; + } } - + help_feedrate = ((long)feedrate*(long)feedmultiply); plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], help_feedrate/6000.0); diff --git a/Sprinter/pins.h b/Sprinter/pins.h index e35e6a8..63ea464 100644 --- a/Sprinter/pins.h +++ b/Sprinter/pins.h @@ -143,6 +143,7 @@ #endif + /**************************************************************************************** * RepRap Motherboard ****---NOOOOOO RS485/EXTRUDER CONTROLLER!!!!!!!!!!!!!!!!!---******* * @@ -662,17 +663,20 @@ #define HEATER_0_PIN 13 // (extruder) #ifdef SANGUINOLOLU_V_1_2 + #define HEATER_1_PIN 12 // (bed) #define X_ENABLE_PIN 14 #define Y_ENABLE_PIN 14 #define Z_ENABLE_PIN 26 #define E_ENABLE_PIN 14 #else + #define HEATER_1_PIN 14 // (bed) #define X_ENABLE_PIN -1 #define Y_ENABLE_PIN -1 #define Z_ENABLE_PIN -1 #define E_ENABLE_PIN -1 + #endif #define TEMP_0_PIN 7 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 33 extruder) @@ -682,7 +686,6 @@ #endif - /**************************************************************************************** * Gen7 pin assignment * @@ -773,8 +776,6 @@ #define E_DIR_PIN 35 #define E_ENABLE_PIN 13 - - #define HEATER_0_PIN 15 // Extruder #define HEATER_1_PIN 14 // Bed #define FAN_PIN 16 // Fan @@ -830,8 +831,6 @@ #define E_DIR_PIN 35 #define E_ENABLE_PIN 13 - - #define HEATER_0_PIN 15 // Extruder #define HEATER_1_PIN 14 // Bed #define FAN_PIN 16 // Fan |