diff options
author | kliment <kliment.yanev@gmail.com> | 2011-05-16 00:02:54 +0200 |
---|---|---|
committer | kliment <kliment.yanev@gmail.com> | 2011-05-16 00:02:54 +0200 |
commit | 01d5fbf28b5cbbb0f3145d3e61905b51128d8df0 (patch) | |
tree | a5b2cf6e8d66e617813296c41cb51e17547b14b6 | |
parent | 9d3969b5cb4a162d3e5ce10684beb33502265252 (diff) |
Safety check for homing direction
-rw-r--r-- | Tonokip_Firmware/Tonokip_Firmware.pde | 9 | ||||
-rw-r--r-- | Tonokip_Firmware/configuration.h | 1 |
2 files changed, 6 insertions, 4 deletions
diff --git a/Tonokip_Firmware/Tonokip_Firmware.pde b/Tonokip_Firmware/Tonokip_Firmware.pde index df5dc93..e193265 100644 --- a/Tonokip_Firmware/Tonokip_Firmware.pde +++ b/Tonokip_Firmware/Tonokip_Firmware.pde @@ -478,7 +478,8 @@ inline void process_commands() current_e = 0; feedrate = 0; - if(X_MIN_PIN > -1 || X_MAX_PIN > -1) { + + if((X_MIN_PIN > -1 && X_HOME_DIR==-1) || (X_MAX_PIN > -1 && X_HOME_DIR==1)) { current_x = 0; destination_x = 1.5 * X_MAX_LENGTH * X_HOME_DIR; feedrate = min_units_per_second * 60; @@ -496,7 +497,7 @@ inline void process_commands() feedrate = 0; } - if(Y_MIN_PIN > -1 || Y_MAX_PIN > -1) { + if((Y_MIN_PIN > -1 && Y_HOME_DIR==-1) || (Y_MAX_PIN > -1 && Y_HOME_DIR==1)) { current_y = 0; destination_y = 1.5 * Y_MAX_LENGTH * Y_HOME_DIR; feedrate = min_units_per_second * 60; @@ -514,7 +515,7 @@ inline void process_commands() feedrate = 0; } - if(Z_MIN_PIN > -1 || Z_MAX_PIN > -1) { + if((Z_MIN_PIN > -1 && Z_HOME_DIR==-1) || (Z_MAX_PIN > -1 && Z_HOME_DIR==1)) { current_z = 0; destination_z = 1.5 * Z_MAX_LENGTH * Z_HOME_DIR; feedrate = max_z_feedrate/2; @@ -1400,7 +1401,7 @@ inline void manage_heater() #endif #endif - if(millis() - previous_millis_bed_heater < 5000) + if(millis() - previous_millis_bed_heater < BED_CHECK_INTERVAL) return; previous_millis_bed_heater = millis(); diff --git a/Tonokip_Firmware/configuration.h b/Tonokip_Firmware/configuration.h index eab2e46..a658412 100644 --- a/Tonokip_Firmware/configuration.h +++ b/Tonokip_Firmware/configuration.h @@ -52,6 +52,7 @@ float min_constant_speed_units = 2; // the minimum units of an accelerated move //How often should the heater check for new temp readings, in milliseconds #define HEATER_CHECK_INTERVAL 50 +#define BED_CHECK_INTERVAL 5000 //Experimental temperature smoothing - only uncomment this if your temp readings are noisy //#define SMOOTHING 1 |