Commit Graph

29 Commits

Author SHA1 Message Date
Sonny Jeon
6f27e2cdb1 Corrected a minor streaming script character counting bug. 2012-01-09 21:41:02 -07:00
Sonny Jeon
f40078110e Updated line in streaming script. 2012-01-09 18:51:53 -07:00
Sonny Jeon
e8a6bfd179 Position reporting, refactored system variables, serial print fixes, updated streaming scripts.
- Added machine position reporting to status queries. This will be
further developed with part positioning/offsets and maintaining
location upon reset.

- System variables refactored into a global struct for better
readability.

- Removed old obsolete Ruby streaming scripts. These were no longer
compatible. Updated Python streaming scripts.

- Fixed printFloat() and other printing functions.

- Decreased planner buffer back to 18 blocks and increased TX serial
buffer to 64 bytes. Need the memory space for future developments.

- Begun adding run-time modes to grbl, where block delete toggle, mm/in
reporting modes, jog modes, etc can be set during runtime. Will be
fleshed out and placed into EEPROM when everything is added.
2012-01-06 10:10:41 -07:00
Sonny Jeon
59a84c4925 Added complete stop delay at the end of all motion. Moved grbl preprocessor script into a new repository.
Added a very short (25 ms) user-definable delay before the steppers are
disabled at the motors are disabled and grbl goes idle. This ensures
any residual inertia at the end of the last motion does not cause the
axes to drift and grbl to lose its position when manually entering
g-code or when performing a tool change and starting the next
operation.
2011-09-29 16:25:48 -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
75bd4c5ac3 Add G02/03 arc conversion/pre-processor script and example streaming script
Beta pre-processor script used to clean and streamline g-code for
streaming and converts G02/03 arcs into linear segments. Allows for full
acceleration support if the pre-processed g-code is then streamed to
grill, sans G02/03 arcs. Added a simple example streaming script for
Python users.
2011-09-03 16:08:42 -06:00
Simen Svale Skogsrud
3f172fa276 gcode streaming works 2011-02-17 10:14:27 +01:00
Simen Svale Skogsrud
1ed2195e11 a new (slightly inelegant) stab at eliminating the slow tail problem 2011-02-16 22:58:53 +01:00
Simen Svale Skogsrud
9b022a6f4f minor tweak eliminates 'ok' message after errors 2011-02-10 17:01:07 +01:00
Simen Svale Skogsrud
f38c5016ed small fry 2011-02-04 22:09:27 +01:00
Simen Svale Skogsrud
4b63cf3ab5 small fixes after testing on real hardware. Still no chaining of motions and something odd with arcs 2011-02-03 10:42:00 +01:00
Simen Svale Skogsrud
5694310a40 formatting 2011-01-31 23:04:39 +01:00
Simen Svale Skogsrud
4562ee7fe9 merged master 2011-01-31 19:42:56 +01:00
Simen Svale Skogsrud
0bc0fd7757 look ahead planner complete and enabled save the acceleration limiting forward scan. Not tested on real hardware, just logic analyzer 2011-01-24 20:55:25 +01:00
Simen Svale Skogsrud
4103e6ca00 still not running, but a lot further along 2011-01-22 23:29:02 +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
703d812b85 rough accelleration stuff 2010-06-28 23:29:58 +02:00
Simen Svale Skogsrud
5613aa706f the stream script will no longer reset the arduino before it completes the last couple of operation in a g-code-file 2010-06-18 21:47:45 +02:00
Simen Svale Skogsrud
937c70cb50 Grbl can now take advantage of the extra memory in the 328 2010-03-14 23:45:31 +01:00
Simen Svale Skogsrud
e409f10047 moved all strings to pgm-memory 2010-03-07 23:10:41 +01:00
Simen Svale Skogsrud
58ad1ba509 minor edits after verifying refactored grbl on real hardware 2010-03-04 21:18:55 +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
6ac3b3f2e6 added some gcode to test with 2010-01-07 23:14:29 +01:00
Simen Svale Skogsrud
65b696f2f9 added a simple ruby-script to stream gcode and made serial protocol more reprap-like 2010-01-06 23:49:33 +01:00
Simen Svale Skogsrud
2bd984a734 configurations and adjustments to protocol 2009-02-15 12:56:07 +01:00