Markus Hitter
5f9ae5b087
Implement M82/M83 and handle relative movements entirely different.
...
Instead of converting them to absolute first, then back to
relative and having all the fuzz with working on the queue's
start vs. working at the queue's end, mark a movement as relative
and use this directly.
2012-05-11 13:50:33 +02:00
Markus Hitter
72185f776b
home.c: fix a typo.
2011-12-06 13:50:36 +01:00
Markus Hitter
4e5f51f01e
Store distances in the TARGET strucure in micrometers for all axes.
...
This extends the previous commit from X to Y, Z and E.
2011-11-17 13:48:36 +01:00
Markus Hitter
c96ea0c773
Store distances in the TARGET structure always in micrometers.
...
This is a intrusive patch and for now, it's done for the X axis only.
To make comparison with the former approach easier ...
The advantages of this change:
- Converting from mm to steps in gcode_parse.c and back in dda.c
wastes cycles and accuracy.
- In dda.c, UM_PER_STEP simply goes away, so distance calculations
work now with STEPS_PER_MM > 500 just fine. 1/16 microstepping
on threaded rods (Z axis) becomes possible.
- Distance calculations (feedrate, acceleration, ...) become much
simpler.
- A wide range of STEPS_PER_M can now be handled at reasonable
(4 decimal digit) accuracy with a simple macro. Formerly,
we were limited to 500 steps/mm, now we can do 4'096 steps/mm
and could easily raise this another digit.
Disadvantages:
- STEPS_PER_MM is gone in config.h, using STEPS_PER_M is required,
because the preprocessor refuses to compare numbers with decimal
points in them.
- The DDA has to store the position in steps anyways to avoid
rounding errors.
2011-11-17 13:48:26 +01:00
Markus Hitter
f216ff5e0b
home.c: catch by brnrd: inconsistency with Z_MIN_PIN and Z_MAX_PIN.
...
If both were defined, it was different from handling of X and Y.
Thanks, brnrd.
2011-10-28 13:22:12 +02:00
Markus Hitter
d0972036ca
home.c: catched by brnrd: two missing &.
...
Thanks, brnrd.
2011-10-28 13:22:09 +02:00
Markus Hitter
2f04a9e58c
Update current_position only as needed.
...
This saves almost 200 bytes and 100 runs of
update_current_position() per second.
2011-10-23 19:51:54 +02:00
Markus Hitter
414e0f7258
home.c: home_..._positive requires both, ..._MAX_PIN and ..._MAX.
2011-10-23 19:51:52 +02:00
Markus Hitter
27a247646c
home.c: make queueing home movements while the machine is running work
...
current_position is the position at the start of the queue,
startpoint is the position at the end of the queue and we add
at the end, obviously.
2011-10-23 19:51:50 +02:00
Markus Hitter
129bdc64bc
home.c: introduce SLOW_HOMING
2011-10-23 19:51:48 +02:00
Markus Hitter
f2fea37eb8
home.c: remove now obsolete power-on stuff.
...
This went obsolete, as homing movements are enqueued now.
2011-10-23 19:51:43 +02:00
Ben Gamari
45124316e3
Rework endstop homing.
...
The DDA is now used for motion control.
Note from Traumflug: thanks a lot for this excellent patch, Ben.
2011-10-23 19:51:40 +02:00
Markus Hitter
3b4953a631
Remove a bunch of duplicate x_enable() etc..
2011-10-05 14:13:22 +02:00
Markus Hitter
b45969e57a
Introduce stepper_enable() and stepper_disable().
...
This allows to heat up with disables steppers, even if all steppers
share a common enable pin.
2011-10-05 14:13:21 +02:00
Bas Laarhoven
a8d21ebb92
Changed 'denoise' into more commonly used term 'debounce'.
2011-08-16 13:45:48 +02:00
Michael Moon
fd93109b63
enable power and motors before homing, set position to n_MIN when hitting MIN limits if set
2011-06-26 17:41:21 +10:00
Michael Moon
b37a5d435e
home Z to max if possible by default
2011-04-09 09:15:48 +10:00
Michael Moon
f4e4788892
wait for queue to empty before homing
2011-04-09 09:15:22 +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 Amsler
7a15fb6df2
homing: delay is in microseconds.
2011-02-27 22:40:03 +01:00
Markus Amsler
994acb58c3
homing: enable axis before moving.
2011-02-27 22:31:27 +01:00
Michael Moon
8188ff3593
merge intercom-protocol into master
2011-02-21 16:01:27 +11:00
Markus Amsler
7aff5623ef
home: delay is in micro seconds
2011-02-21 15:52:14 +11:00
Michael Moon
c6122eda74
add G161/G162 commands, upgrade home.c to provide negative/positive homing calls for G161/G162
2011-02-20 14:10:53 +11:00
Michael Moon
4426c69274
individual functions to home each axis
2011-02-20 13:39:07 +11:00
Michael Moon
940d474c6c
home to max should now return to zero after homing
2011-02-15 10:10:29 +11:00
Michael Moon
4da63d31ff
fix homing code
2011-02-08 17:53:42 +11:00
Michael Moon
0110af2ede
preliminary homing code- not linked into anything yet
2011-02-08 17:52:51 +11:00