diff options
author | Emanuele Caruso <emanuele.caruso@gmail.com> | 2011-05-01 05:13:04 +0200 |
---|---|---|
committer | Emanuele Caruso <emanuele.caruso@gmail.com> | 2011-05-01 05:13:04 +0200 |
commit | 3470a47a33571bfd3d1181a11e4ddf6712aec90e (patch) | |
tree | 88495d37d115b7d8272e46c233d3e253a2ea8899 /Tonokip_Firmware | |
parent | d22c0fbf361885a38f83814bc5ee34488edeb00c (diff) |
Added configuration value for absolute delay microseconds, default to 1. This seems to work better than STEP_DELAY_RATIO and is enabled by default
Diffstat (limited to 'Tonokip_Firmware')
-rw-r--r-- | Tonokip_Firmware/Tonokip_Firmware.pde | 12 | ||||
-rw-r--r-- | Tonokip_Firmware/configuration.h | 8 |
2 files changed, 18 insertions, 2 deletions
diff --git a/Tonokip_Firmware/Tonokip_Firmware.pde b/Tonokip_Firmware/Tonokip_Firmware.pde index 607dc76..802f8a5 100644 --- a/Tonokip_Firmware/Tonokip_Firmware.pde +++ b/Tonokip_Firmware/Tonokip_Firmware.pde @@ -914,6 +914,9 @@ void linear_move(unsigned long x_steps_remaining, unsigned long y_steps_remainin #ifdef STEP_DELAY_RATIO if(timediff >= interval) delayMicroseconds(long_step_delay_ratio * interval / 10000); #endif + #ifdef STEP_DELAY_MICROS + if(timediff >= interval) delayMicroseconds(STEP_DELAY_MICROS); + #endif } } else if (steep_x) { timediff=micros() * 100 - previous_micros_x; @@ -930,6 +933,9 @@ void linear_move(unsigned long x_steps_remaining, unsigned long y_steps_remainin #ifdef STEP_DELAY_RATIO if(timediff >= interval) delayMicroseconds(long_step_delay_ratio * interval / 10000); #endif + #ifdef STEP_DELAY_MICROS + if(timediff >= interval) delayMicroseconds(STEP_DELAY_MICROS); + #endif } } } @@ -946,6 +952,9 @@ void linear_move(unsigned long x_steps_remaining, unsigned long y_steps_remainin #ifdef STEP_DELAY_RATIO if(timediff >= z_interval) delayMicroseconds(long_step_delay_ratio * z_interval / 10000); #endif + #ifdef STEP_DELAY_MICROS + if(timediff >= z_interval) delayMicroseconds(STEP_DELAY_MICROS); + #endif } } @@ -966,6 +975,9 @@ void linear_move(unsigned long x_steps_remaining, unsigned long y_steps_remainin #ifdef STEP_DELAY_RATIO if(timediff >= e_interval) delayMicroseconds(long_step_delay_ratio * e_interval / 10000); #endif + #ifdef STEP_DELAY_MICROS + if(timediff >= e_interval) delayMicroseconds(STEP_DELAY_MICROS); + #endif } } diff --git a/Tonokip_Firmware/configuration.h b/Tonokip_Firmware/configuration.h index 019a9fd..d4e5231 100644 --- a/Tonokip_Firmware/configuration.h +++ b/Tonokip_Firmware/configuration.h @@ -8,8 +8,12 @@ //Comment out to disable SD support #define SDSUPPORT 1 -//Step delay over interval ratio. If you are experiencing missing steps, try to uncomment the following line, but be aware this -//may probably prevent the motors to reach the nominal speed +//Min step delay in microseconds. If you are experiencing missing steps, try to raise the delay microseconds, but be aware this +//may probably prevent the motors from reaching the nominal speed. If you enable this, make sure STEP_DELAY_RATIO is disabled. +#define STEP_DELAY_MICROS 1; + +//Step delay over interval ratio. If you are still experiencing missing steps, try to uncomment the following line, but be aware this +//may probably prevent the motors from reaching the nominal speed. If you enable this, make sure STEP_DELAY_MICROS is disabled. //#define STEP_DELAY_RATIO 0.05 //Acceleration settings |