Michael Moon
49e2844213
fix bug introduced by 2421b788: dda struct requires c member even with no acceleration, it is used for feedrate
2011-07-08 09:56:43 +10:00
Markus Hitter
47d8dedf24
dda.c: move dda->*_steps and dda->*_counter into move_state as well.
...
Now we're easily back into business with an 8-line buffer queue
on an '168.
2011-05-16 22:09:12 +02:00
Markus Hitter
ed77abba31
Move dda->step_no into move_state as well.
2011-05-16 22:09:10 +02:00
Markus Hitter
bebb619054
dda.c, RAMPING: 16 bits for move_state.n are sufficient.
2011-05-16 00:16:00 +02:00
Markus Hitter
2421b788b9
Move dda->c out of DDA into move_state as well.
...
This also required to get rid of the usage of this variable
when waiting for temperature in dda_queue.*. Hope I got this
later part right.
2011-05-15 20:34:38 +02:00
Markus Hitter
51be23177a
dda: move dda->n out into a new state variable
...
This required to also introduce dda_init() and re-adjust the
number of accelerating steps a bit.
Goal of this is to make look-ahead possible by just reducing
the number of deceleration steps and acceleration steps of
the next move. dda->c and dda->n no longer go down to their
initial values, then.
Also, quite a number of variables in the dda struct are used only when
the dda is live, so there is no need to store that for each
movement of the queue.
2011-05-15 20:34:35 +02:00
Markus Hitter
2f7619ae26
ACCELERATION_RAMPING: remove the old ramping algorithm.
...
The new algorithm takes up 80 bytes more binary size
and 12 bytes more RAM, but offers opportunities to
compensate for that.
2011-05-15 13:10:40 +02:00
Markus Hitter
ec47633794
ACCELERATION_RAMPING: precalculate number of acceleration steps.
...
These numbers aren't used, yet, but they can be compared with the
numbers calculated by the traditional method.
2011-05-15 13:10:36 +02:00
Jim McGee
1e198e16ea
Fix handling of the steptimeout variable.
...
Steptimeout is used both inside and outside
of interrupts, and as such it needs special attention.
Specifically, the increment outside of the interrupt
context needs to occur when interrupts are disabled,
or a clear of the variable can be missed.
The variable was also made volatile. This is not strictly necessary
given the current code, but it is the more conservative approach
to dealing with the variable (and costs nothing in the current code).
2011-05-15 09:56:32 +10:00
Michael Moon
03892894ed
remove ACCELERATION_TEMPORAL, update current_position from main loop instead of step interrupt
2011-04-26 14:45:32 +10:00
Michael Moon
e108ab2548
M114 returns millimeters instead of steps
2011-04-26 14:44:17 +10:00
Michael Moon
0dc7d77885
Massive Doxygen documentation addition
...
'make doc' then point your browser at doc/html/
Needs plenty of cleanup and polishing, but the main bulk is here
even documents your configuration! ;)
2011-03-22 01:34:36 +11:00
Markus Hitter
dfc4674012
dda.h: re-add a check against multiple acceleration types.
...
This was previously in config.h(.dist), but better belongs
to dda.h.
2011-02-23 02:51:43 +01:00
Michael Moon
096d7dfdf3
Merge release-candidate-triffid branch
2011-01-07 23:09:13 +11:00
Michael Moon
e78381c56d
Move configuration to config.h.dist
2010-09-27 09:20:07 +10:00
Markus Hitter
2178ff4ac1
Implement acceleration ramping. Enjoy always smooth rides!
2010-09-10 02:09:04 +02:00
Markus Hitter
639f5237be
Make acceleration, RepRap-style, disable-able. This is also
...
in preparation for introducing acceleration ramping.
2010-09-08 22:35:27 +02:00
Markus Hitter
0572687cb2
dda_create(): clear _all_ flags before proceeding.
2010-09-08 15:57:32 +02:00
Michael Moon
595b66a341
setting up new branch 2
2010-08-10 14:26:24 +10:00