Wykres commitów

57 Commity (110faae986eef6c4398c166a81c91cbd1d5a3bf4)

Autor SHA1 Wiadomość Data
Sonny J 110faae986 More '%' modulo opertor removals and some housecleaning.
- Serial functions contained quite a few modulo operations that would
be executed with high frequency when streaming. AVR processors are very
slow when operating these. In one test on the Arduino forums, it showed
about a 15x slow down compared to a simple if-then statement. -
Clarified some variable names and types and comments.
2011-09-15 20:32:15 -06:00
Sonny J 4d03c4febc Further planner improvements and misc minor bug fixes. Memory savings and increased buffer size.
- Update grbl version and settings version to automatically reset
eeprom. FYI, this will reset your grbl settings. - Saved
3*BLOCK_BUFFER_SIZE doubles in static memory by removing obsolete
variables: speed_x, speed_y, and speed_z. - Increased buffer size
conservatively to 18 from 16. (Probably can do 20). - Removed expensive!
modulo operator from block indexing function. Reduces significant
computational overhead. - Re-organized some sqrt() calls to be more
efficient during time critical planning cases, rather than non-time
critical. - Minor bug fix in planner max junction velocity logic. -
Simplified arc logic and removed need to multiply for CW or CCW
direction.
2011-09-13 21:57:16 -06:00
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