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
Sonny J
badb638df9
Moved comment and block delete handling into protocol.c from gcode.c. Fixes bug when comment and block delete are not isolated. Blank lines ignored.
...
Comments, block delete characters, and blank lines are no longer passed
to the gcode parser and should free up some memory by ignoring these
characters. Gcode parser now expects clean gcode only. There was a bug
if there were block deletes or comments not in the first character (i.e.
spindle on/off for proofing geode without turning it on, or a NXX
followed by a comment). This should fix it by bypassing the problem.
Left a commented line for easily turning on and off block deletes for a
later feature, if desired.
2011-08-15 19:39:44 -06:00
Sonny J
ed5e5d1181
Revert ea5b8942db2616e93fc0478922010c3bab7c0481^..HEAD
2011-08-15 19:37:22 -06:00
Sonny J
896a6b9199
Moved comment and block delete handling into protocol.c from gcode.c. Fixes bug when comment and block delete are not isolated. Blank lines ignored.
...
Comments, block delete characters, and blank lines are no longer passed
to the gcode parser and should free up some memory by ignoring these
characters. Gcode parser now expects clean gcode only. There was a bug
if there were block deletes or comments not in the first character (i.e.
spindle on/off for proofing geode without turning it on, or a NXX
followed by a comment). This should fix it by bypassing the problem.
Left a commented line for easily turning on and off block deletes for a
later feature, if desired.
2011-08-15 19:28:14 -06:00
Sonny J
8b0556bcfd
Revert fdc90f1821f1f5edb7756fcddce75b4b4fbf6bbf^..HEAD
2011-08-15 19:14:25 -06:00
chamnit
fdc90f1821
Removed comment and block delete handling from gcode.c. Parser expects clean gcode.
2011-08-15 17:10:08 -06:00
Simen Svale Skogsrud
74dcf58c5c
simplification in gcode.c also thanks to etienne
2011-02-25 15:02:55 +01:00
Simen Svale Skogsrud
87b6364aa0
added missing line from G92 patch
2011-02-24 15:03:45 +01:00
Simen Svale Skogsrud
ef20be9f4c
result of G92 also affects planner
2011-02-21 22:32:42 +01:00
Simen Svale Skogsrud
c491324e89
added support for G92
2011-02-21 22:26:02 +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
d5d6298de3
added support for limit switches and homing action
2011-02-20 00:29:56 +01:00
Simen Svale Skogsrud
9c8c259153
made most internal function static to allow gcc to inline them
2011-02-19 23:03:10 +01:00
Simen Svale Skogsrud
6edbbe322c
lowercased boolean constants
2011-02-18 23:04:12 +01:00
Simen Svale Skogsrud
9876e14f0b
refactored handling of settings '$' command out of gcode module and into settings module
2011-02-18 22:59:16 +01:00
Simen Svale Skogsrud
85f62111b5
renamed serial_protocol -> protocol
2011-02-18 22:11:53 +01:00
Simen Svale Skogsrud
124bc363bd
removed inline-keywords because gcc ignores them anyway
2011-02-17 23:59:10 +01:00
Simen Svale Skogsrud
977c4948bd
syntax tweak
2011-02-11 23:53:33 +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
fd18ab455f
config command prevents gcode parsing
2011-02-10 13:05:53 +01:00
Simen Svale Skogsrud
7092b0e1fe
renamed public methods of settings module to include module name
2011-02-05 01:00:41 +01:00
Simen Svale Skogsrud
d00947a23a
renamed config.* to settings.*
2011-02-05 00:45:41 +01:00
Simen Svale Skogsrud
9f5365aac9
fixed a bug where F-commands never would modify feed-rate of G0-operations
2011-02-04 23:48:10 +01:00
Simen Svale Skogsrud
dad9db1b02
formatting
2011-01-31 23:19:51 +01:00
Simen Svale Skogsrud
bf4f75d632
cleaned up formatting gcode.c
2011-01-31 21:32:36 +01:00
Simen Svale Skogsrud
4562ee7fe9
merged master
2011-01-31 19:42:56 +01:00
Simen Svale Skogsrud
35064b53e9
made local variables static
2011-01-25 23:33:19 +01:00
Simen Svale Skogsrud
25383790e2
updated struct types to use typedefs and conform to Micael Barrs Embedded C Coding Standard
2011-01-25 22:51:37 +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
0ac1731488
minor edits
2010-07-08 14:55:43 +02:00
Simen Svale Skogsrud
d0f64d8f65
fixed the inches->mm conversion bug and some general cleanup
2010-07-03 00:23:28 +02:00
Simen Svale Skogsrud
f93d0e8132
completed support for separate feed-rate for G0-operations
2010-07-03 00:04:10 +02:00
Simen Svale Skogsrud
b8ba8a4231
Added runtime configurable global settings with eeprom persitence
2010-03-07 20:29:18 +01:00
Simen Svale Skogsrud
01ad93fbed
minor edit
2010-03-03 18:03:21 +01:00
Simen Svale Skogsrud
898b4ca99d
further refactoring debris extraction
2010-03-03 17:52:56 +01:00
Simen Svale Skogsrud
9a41b3a4fb
deleted more code following line-buffer refactoring
2010-03-03 13:12:16 +01:00
Simen Svale Skogsrud
49ca861dc0
added segmented arc support with configurable segmentation
2010-03-03 01:39:44 +01:00
Simen Svale Skogsrud
df243d2490
successfully maintained 30khz, lots of optimization of code and buffering allocation
2010-03-03 00:26:48 +01:00
Simen Svale Skogsrud
a42c03601d
Fixed a number of bugs caused by using abs() on floats and long ints. Added support for selectively inverting bits of the stepping port. Debugged, optimized and cleaned up timing code for the step-pulses.
2010-02-27 19:55:09 +01:00
Simen Svale Skogsrud
2b0e19993d
removed support for echoing of steps via serial
2010-01-05 22:07:16 +01:00
Simen Svale Skogsrud
2bd984a734
configurations and adjustments to protocol
2009-02-15 12:56:07 +01:00
Simen Svale Skogsrud
9e6d62e531
tiny edit that saved a lot of bytes
2009-02-11 00:40:03 +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
3e5e866115
shaved ~100 bytes of code space
2009-02-08 21:25:36 +01:00
Simen Svale Skogsrud
05bacc436e
optimized for size, shaved 2k
2009-02-08 21:22:54 +01:00
Simen Svale Skogsrud
c07a322589
fixed buffering of pace changes and general cleaning
2009-02-08 20:40:24 +01:00
Simen Svale Skogsrud
6c3a6a25d5
pace calculation correct, arc algorithm correct, support for negative R
2009-02-08 12:24:52 +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