Added configuration value for absolute delay microseconds, default to 1. This seems to work better than STEP_DELAY_RATIO and is enabled by default

This commit is contained in:
Emanuele Caruso 2011-05-01 05:13:04 +02:00
parent d22c0fbf36
commit 3470a47a33
2 changed files with 18 additions and 2 deletions

View file

@ -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
}
}

View file

@ -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