Commit Graph

22 Commits

Author SHA1 Message Date
John Gilmore fe034d5e35 graycode stepper operation, distilled to one line in dda.c
Which includes a seperate file (graycode.c) with the defines and additional variable declaration.
I went with the "graycode" spelling, as there's about ten times as many hits for that as for "greycode" on google. I've read that both spellings are acceptable, but whatever.

Signed-off-by: Michael Moon <triffid.hunter@gmail.com>
2011-02-06 16:42:08 +11:00
Michael Moon 096d7dfdf3 Merge release-candidate-triffid branch 2011-01-07 23:09:13 +11:00
Stephan Walter 3028b297f3 Add simulation code: use "make sim" 2010-10-21 11:05:55 +11:00
Michael Moon dd8a5cd377 UM_PER_STEP stayed floating a bit too long 2010-10-20 17:39:57 +11:00
Michael Moon 18565b776f attempt to fix precision underflow in UM_PER_STEP macros 2010-10-20 17:23:18 +11:00
Markus Hitter 468b212077 Move micrometer conversion from config.h(.dist) to
dda.c, where it's used.
2010-10-07 21:34:38 +02:00
Markus Hitter 4bddf3452f Move stepper macros from config.h(.dist) to dda.c, as they're not
meant to be configured by the user.
2010-10-07 21:34:29 +02:00
Markus Hitter 95939ecc22 Don't disable the stepper timer interrupt while stepping.
After lots of try and error the conclusion was, disabling this
interrupt makes the timer vulnerable to be messed up by
characters incoming over the serial line. So, now the
interrupt is enabled as a move starts and not disabled before
the move, and all subsequent moves are done.
2010-10-04 16:05:01 +02:00
Markus Hitter 94e0cce89b Don't set the timer on nullmoves, as dda->c isn't initialized, then. 2010-09-30 21:20:22 +02:00
Markus Hitter f6f2b7f44f Enhance ACCELERATION_RAMPING on short moves.
Problem was: For short moves, you have to ramp down before
reaching target speed. The point of return was set to half
of the number of total steps.

Now, what happens is there's an uneven number of steps? In
integer math, 3 / 2 = 1, so the move would ramp one step up,
one step down and ... well, one step even further down, resulting
in a really sloooow step. Slow, like a full second or so.

Adding one to the first half, the movement ramps two steps up,
one down and would do another step at minimum speed, if it wasn't
already at target position. This is about as accurate as we
can get it without introducing more code at interrupt time.
2010-09-25 18:11:45 +02:00
Markus Hitter 696baea16a Implement better machine speed limits checking. Do it for
each axis individually, as the combined speed of two or more
axes can be higher than the limit of a single one.

While this is tested to work well for all three acceleration
types, I'm not enthusiastic about the code, as it adds almost
500 bytes. Perhaps an efficient-coding-geek can help :-)
2010-09-24 16:08:11 +02:00
Michael Moon c1dbd869f5 minor fixes: comments, indenting, etc 2010-09-18 08:08:31 +10:00
Michael Moon 6ce5895819 Merge branch 'master' of github.com:triffid/FiveD_on_Arduino 2010-09-16 17:15:30 +10:00
Markus Hitter bd1e357c35 dda.c: remove ABSDELTA() and delta32() implementations as they're unused. 2010-09-14 19:45:23 +02:00
Michael Moon 004bc1b789 code cleaning
(cherry picked from commit c3333278beaca0d81023b7ee752530466b37f316)
2010-09-13 20:40:23 +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 548b79f3d6 dda.c: replaced can_step() with a more simple solution. This
saves a whopping 270 bytes in interrupt context.
2010-09-08 19:14:04 +02:00
Markus Hitter 0572687cb2 dda_create(): clear _all_ flags before proceeding. 2010-09-08 15:57:32 +02:00
Michael Moon 883c488107 fixed some mess from moving stuff around 2010-08-10 14:59:41 +10:00
Michael Moon 0b51c1d0ab Merge branch 'mendel-triffid'
Conflicts:
	dda.c
	gcode.c
	machine.h
	temp.c
2010-08-10 14:55:06 +10:00
Michael Moon 595b66a341 setting up new branch 2 2010-08-10 14:26:24 +10:00