Sonny J
ffcc3470a3
Optimized planner re-write. Significantly faster. Full arc support enabled by rotation matrix approach.
...
- Significant improvements in the planner. Removed or reordered
repetitive and expensive calculations by order of importance:
recalculating unchanged blocks, trig functions [sin(), cos(), tan()],
sqrt(), divides, and multiplications. Blocks long enough for nominal
speed to be guaranteed to be reached ignored by planner. Done by
introducing two uint8_t flags per block. Reduced computational overhead
by an order of magnitude. - Arc motion generation completely
re-written and optimized. Now runs with acceleration planner. Removed
all but one trig function (atan2) from initialization. Streamlined
computations. Segment target locations generated by vector
transformation and small angle approximation. Arc path correction
implemented for accumulated error of approximation and single precision
calculation of Arduino. Bug fix in message passing.
2011-09-06 19:39:14 -06:00
Simen Svale Skogsrud
ef20be9f4c
result of G92 also affects planner
2011-02-21 22:32:42 +01:00
Simen Svale Skogsrud
2c913a00bd
acceleration-Grbl now works with atmega 168 by disabling arc motion
2011-02-20 22:13:31 +01:00
Simen Svale Skogsrud
464dcd12e8
formatting
2011-02-19 00:32:36 +01:00
Simen Svale Skogsrud
ff73645a14
cleanup, protected some more module variables as static
2011-02-12 00:03:58 +01:00
Simen Svale Skogsrud
33f014aa74
eliminated an abstraction violation where motion_control needed position information from the planner (untested)
2011-02-11 23:01:16 +01:00
Simen Svale Skogsrud
80afa2f403
formatting
2011-02-11 00:57:29 +01:00
Simen Svale Skogsrud
480f898c2b
eliminated the mc_line-method and replaced it with a macro forwarding calls directly to the planner (untested)
2011-02-11 00:53:00 +01:00
Simen Svale Skogsrud
c42741032f
Refactored line buffering to eliminate state from motion control and centralize tracking of position. UNTESTED: NEEDS TESTING
2011-02-06 23:23:34 +01:00
Simen Svale Skogsrud
cdcc7bf86e
cleaned up methods for enabling/disabling acceleration manger
2011-02-06 22:25:01 +01:00
Simen Svale Skogsrud
dad9db1b02
formatting
2011-01-31 23:19:51 +01:00
Simen Svale Skogsrud
4dbe7c4833
added high-level api-call for enabling or disabling the acceleration manager
2011-01-25 22:44:46 +01:00
Simen Svale Skogsrud
49a16cb777
refactored block buffer into separate module motion_plan pending the addition of the actual look ahead planner
2011-01-14 16:45:18 +01:00
Simen Svale Skogsrud
b628a4aabf
added basic accelleration management with trapezoid accelleration profiles but no look ahead optimization (coming next patch)
2011-01-14 12:10:18 +01:00
Simen Svale Skogsrud
898b4ca99d
further refactoring debris extraction
2010-03-03 17:52:56 +01:00
Simen Svale Skogsrud
e257fc195c
support for helical motion
2009-02-11 00:37:33 +01:00
Simen Svale Skogsrud
2992683c8d
optimized for size and did some housekeeping
2009-02-08 22:08:27 +01:00
Simen Svale Skogsrud
05bacc436e
optimized for size, shaved 2k
2009-02-08 21:22:54 +01:00
Simen Svale Skogsrud
50a9f78088
lots and lots of bugfixes after running on reals hardware for the first time
2009-02-03 09:56:45 +01:00
Simen Svale Skogsrud
0c8004357a
optimized arc code for size and speed
2009-01-30 11:05:10 +01:00
Simen Svale Skogsrud
8c18e2659d
motion control level support for arcs. No gcode yet
2009-01-29 23:12:06 +01:00
Simen Svale Skogsrud
ac2e26fda9
added buffered stepping support and the rudiments of the arc-interpolator
2009-01-28 23:48:21 +01:00
Simen Svale Skogsrud
9df29ad3b3
version 0.1
2009-01-25 00:48:56 +01:00