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
|
||||
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
|
||||
|
||||
dda->n = 0;
|
||||
dda->c = C0;
|
||||
|
||||
#elif defined ACCELERATION_TEMPORAL
|
||||
// TODO: limit speed of individual axes to MAXIMUM_FEEDRATE
|
||||
// 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
|
||||
accurate curves!
|
||||
*/
|
||||
#ifdef LOOKAHEAD
|
||||
#error Look-ahead currently not supported. Turn it off or use an earlier commit.
|
||||
#endif
|
||||
void dda_clock() {
|
||||
static volatile uint8_t busy = 0;
|
||||
DDA *dda;
|
||||
|
|
|
|||
Loading…
Reference in New Issue