dda.c: re-gain look-ahead compatibility.
We're here! Incredible high step rates as well as smooth movements due to look-ahead.
This commit is contained in:
parent
f0b9daeea0
commit
c1a6c244b3
16
dda.c
16
dda.c
|
|
@ -344,11 +344,18 @@ void dda_create(DDA *dda, TARGET *target, DDA *prev_dda) {
|
||||||
|
|
||||||
#ifdef LOOKAHEAD
|
#ifdef LOOKAHEAD
|
||||||
dda_join_moves(prev_dda, dda);
|
dda_join_moves(prev_dda, dda);
|
||||||
|
dda->n = ACCELERATE_RAMP_LEN(dda->F_start);
|
||||||
|
if (dda->n == 0)
|
||||||
|
dda->c = C0;
|
||||||
|
else
|
||||||
|
dda->c = ((C0 >> 8) * int_inv_sqrt(dda->n)) >> 5;
|
||||||
|
if (dda->c < dda->c_min)
|
||||||
|
dda->c = dda->c_min;
|
||||||
|
#else
|
||||||
|
dda->n = 0;
|
||||||
|
dda->c = C0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
dda->n = 0;
|
|
||||||
dda->c = C0;
|
|
||||||
|
|
||||||
#elif defined ACCELERATION_TEMPORAL
|
#elif defined ACCELERATION_TEMPORAL
|
||||||
// TODO: limit speed of individual axes to MAXIMUM_FEEDRATE
|
// TODO: limit speed of individual axes to MAXIMUM_FEEDRATE
|
||||||
// TODO: calculate acceleration/deceleration for each axis
|
// TODO: calculate acceleration/deceleration for each axis
|
||||||
|
|
@ -659,9 +666,6 @@ void dda_step(DDA *dda) {
|
||||||
movement direction 500 times a second is easily enough for smooth and
|
movement direction 500 times a second is easily enough for smooth and
|
||||||
accurate curves!
|
accurate curves!
|
||||||
*/
|
*/
|
||||||
#ifdef LOOKAHEAD
|
|
||||||
#error Look-ahead currently not supported. Turn it off or use an earlier commit.
|
|
||||||
#endif
|
|
||||||
void dda_clock() {
|
void dda_clock() {
|
||||||
static volatile uint8_t busy = 0;
|
static volatile uint8_t busy = 0;
|
||||||
DDA *dda;
|
DDA *dda;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue