Commit Graph

190 Commits

Author SHA1 Message Date
Michael Moon 6a06eb7169 atmega644 has a 2.56v reference 2010-10-10 19:55:46 +11:00
Michael Moon 0d7020bf5b add M190 power on, M191 power off 2010-10-10 19:55:28 +11:00
Michael Moon 9b894de669 fixed some defines that were spitting errors 2010-10-10 19:55:10 +11:00
Casainho 3898626534 alter temperature reporting in reprap host compatibility mode
Signed-off-by: Michael Moon <triffid.hunter@gmail.com>
2010-10-08 21:09:34 +11:00
Michael Moon 99c03b8d26 fixed typo pointed out by dazed.dnc in forum thread 2010-10-08 21:03:29 +11:00
Michael Moon a77986784e slightly simplified and clarified xon/xoff 2010-10-08 21:00:48 +11:00
Michael Moon f1e318ac1a clarify some macros 2010-10-08 21:00:48 +11:00
Michael Moon 775f5400e3 Added atmega644 to size display 2010-10-08 20:48:47 +11:00
Markus Hitter 90c00d0eff heater.h: remove the temp_achieved() declaration, which has
no definition in heater.c (but is properly coded in temp.h/.c).
2010-10-07 23:43:51 +02:00
Markus Hitter 2391dc2901 If there's no HEATER_PIN, there's no heater, so disable the
heater code. Also remove the temp_achieved() declaration
in heater.h, which has no definition in heater.c.

If you wonder about what might be the use of not having a heater,
think about a paste dispenser or an externally heated extruder :-)

Having no heater removes a whopping 1200 bytes of program size.
2010-10-07 23:43:46 +02:00
Markus Hitter 896f6e140f heater.h: simplify macros. 2010-10-07 23:43:44 +02:00
Markus Hitter 68f4610e79 heater.h/.c: remove a few obsolete #includes. 2010-10-07 23:43:36 +02:00
Markus Hitter 9839ac9fff Move heater macros from config.h to heater.h, as they're
not meant to be user configurable.
2010-10-07 23:43:22 +02: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 e0ffa134bf Move mm -> inch conversion macros from config.h(.dist) to gcode.c,
as this isn't meant to be user configurable.
2010-10-07 21:34:36 +02:00
Markus Hitter da5194a54e Tidy up config.h.dist a bit. 2010-10-07 21:34:34 +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 f799228a8e Remove old XON/XOFF implementation, as it's redundant now. 2010-10-05 21:04:06 +02:00
Markus Hitter a438a3fa2f Implement XON/XOFF handling for the serial read queue. The former
solution was less computing intensive, but failed when the GCode
interpreter couldn't keep up with the incoming stream, e.g. when
handling a lot of tiny moves.

The old implementation is still in place but somewhat redundant
now, so stay tuned ...

Oh, and G4 Dwell works now as well.
2010-10-05 21:04:03 +02:00
Markus Hitter 5e1ce4ec96 Refined the check wether the timer interrupt is enabled,
as per triffid's request.
2010-10-05 13:20:28 +02:00
Markus Hitter af53d2350e Makefile: different solution for commit f5a26de775, as suggested
by triffid.
2010-10-05 12:19:34 +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 fb53c2c0a8 serial.c: make sure to read incoming characters even if we don't
have space to store them.
2010-10-04 16:04:54 +02:00
Markus Hitter f56e121473 dda_queue.c: clean out an unused comment. 2010-10-04 16:04:49 +02:00
Markus Hitter bdfc4c5507 clock.c: Add a comment about interrupt priorities. 2010-10-04 16:04:47 +02:00
Markus Hitter 2fac65d172 dda_queue.c: restart XON/XOFF only if the queue is at least half drained. 2010-10-04 16:04:43 +02:00
Markus Hitter f98772ff25 timer.c: remove a few obsolete #includes. 2010-10-04 16:04:12 +02:00
John Gilmore cfff4ca5d3 added "config.h" to dependancies for everything.
I noticed that changing config.h didn't recompile dda.c.
So I changed that.
2010-10-03 23:27:38 +02:00
Markus Hitter f5a26de775 Makefile: fix the build failure introduced with the recent Makefile
change. Sorry for letting this slip through.
2010-10-02 16:37:05 +02:00
Markus Hitter f29c675fcc Wrap the watchdog in #ifdefs and disable it for now. My poor imagination
can't think of a situation where resetting the controller in the middle
of a build would be useful. Even hanging ist better :-/

The difference in program size is just 238 bytes.
2010-10-02 16:15:29 +02:00
Markus Hitter 5cb2982e57 Makefile: disallow building if config.h obviously isn't up to date. 2010-10-02 16:14:20 +02:00
Markus Hitter 69ab8cbd9d gcode.c: as we have a working maximum feedrate limitation now,
we can move even faster on rapid movements with more than one axis.
2010-09-30 23:37:57 +02:00
Markus Hitter 9e02c9c1e4 gcode.c: on G0, remember original feedrate. 2010-09-30 23:33:19 +02:00
Markus Hitter 2871411f0c gcode.c: clarify relative coordinates handling. Saves another 82 bytes. 2010-09-30 23:19:32 +02:00
Markus Hitter 90fca50535 dda_queue.c/.h: merge enqueue() and enqueue_temp_wait(). This
saves almost 200 bytes.
2010-09-30 21:55:39 +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
Michael Moon 4617b5e87d ignore local config.h 2010-09-27 14:13:58 +10:00
Michael Moon 5b36826f50 updated instructions in README 2010-09-27 09:25:48 +10:00
Michael Moon e78381c56d Move configuration to config.h.dist 2010-09-27 09:20:07 +10:00
Michael Moon b76f59193f Expanded README some more 2010-09-27 09:06:50 +10:00
Michael Moon bbf74cc660 Merge branch 'master' of github.com:triffid/FiveD_on_Arduino 2010-09-26 11:30:55 +10:00
Michael Moon bd76a6ce1c Expanded README, updated Makefile header 2010-09-26 11:12:34 +10:00
Markus Hitter ba84d1de60 Fix a typo. 2010-09-26 01:39:13 +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 903baad3d1 As we assume a G1 by default now, there's no longer a point in
writing "huh?". Included question marks for debugging instead.
2010-09-25 18:11:45 +02:00
Markus Hitter f5258ef9fc Assume a G1 by default. This is expected by some GCode generators. 2010-09-25 18:11:44 +02:00
Markus Hitter 64683e6b6a Remove timer reset, as this doesn't play well. See
http://github.com/triffid/FiveD_on_Arduino/issues#issue/2/comment/428863 .
2010-09-25 12:08:23 +02:00
Markus Hitter 4679b45ac8 Send lowercase ok on init as well. 2010-09-24 20:09:19 +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
Markus Hitter d8e844bb67 Allow compilation without any acceleration again. 2010-09-23 13:34:02 +02:00