Commit Graph

124 Commits

Author SHA1 Message Date
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 Jeon
05ed6c122d Updated some comments and fixed a bug in the new stepper logic.
- The stepper logic was not initiating the decelerations for certain
cases. Just re-arranged the logic to fix it.
2011-09-25 19:24:29 -06:00
Sonny Jeon
2be0d66872 Fixed long slope at deceleration issue. Moved things into config.h. New MINIMUM_PLANNER_SPEED parameter.
- The long standing issue of a long slope at deceleration is likely
fixed. The stepper program was not tracking and timing the end of
acceleration and start of deceleration exactly and now is fixed to
start and stop on time. Also, to ensure a better acceleration curve fit
used by the planner, the stepper program delays the start of the
accelerations by a half trapezoid tick to employ the midpoint rule. -
Settings version 3 migration (not fully tested, but should work) -
Added a MINIMUM_PLANNER_SPEED user-defined parameter to planner to let
a user change this if problems arise for some reason. - Moved all
user-definable #define parameters into config.h with clear comments on
what they do and recommendations of how to change them. - Minor
housekeeping.
2011-09-24 07:46:41 -06:00
Simen Svale Skogsrud
c0b4b8309a cleaned up serial completing support for non blocking tx and refactoring formatting functions into a new module 'print' 2011-06-03 15:28:14 +02:00
Simen Svale Skogsrud
defabc80ed renamed wiring_serial to serial to reflect its complete remake 2011-05-31 22:45:38 +02:00
Simen Svale Skogsrud
c2aec12004 converted the STEPPER_ENABLE_PIN to a STEPPER_DISABLE_PIN as per the request of Alden Hart of Grbl Shield fame. 2011-05-31 13:08:42 +02:00
Simen Svale Skogsrud
68ff56a8b1 stepper enable pin now toggles to reflect the active/passive state of the stepper subsystem 2011-02-21 10:00:16 +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
124bc363bd removed inline-keywords because gcc ignores them anyway 2011-02-17 23:59:10 +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
ff73645a14 cleanup, protected some more module variables as static 2011-02-12 00:03:58 +01:00
Simen Svale Skogsrud
bfd8cfa7dd slimmed down nuts_bolts 2011-02-11 23:53:58 +01:00
Simen Svale Skogsrud
ef61efbf70 makes sure steppers cruise at exactly nominal rate to eliminate rounding errors. Possibly fixes the problem where some moves have a long tail of slow steps. (Untested) 2011-02-11 01:31:44 +01:00
Simen Svale Skogsrud
6dc81b41c9 formatting + moved current position getter to planner 2011-02-11 00:44:18 +01:00
Simen Svale Skogsrud
a4c64945e0 refactored stepper_plan -> planner (untested) 2011-02-11 00:34:53 +01:00
Simen Svale Skogsrud
fc1c1b7e09 corrected speed calculation in planner (untested on hardware) 2011-02-10 23:48:17 +01:00
Simen Svale Skogsrud
c5e0285e80 eliminated som debug code 2011-02-10 17:06:34 +01:00
Simen Svale Skogsrud
041a8b8a3f purged debug code 2011-02-07 00:07:08 +01:00
Simen Svale Skogsrud
ba13ddadd0 refactoring that improved compartmentalization between stepper and stepper_plan modules 2011-02-06 23:52:12 +01:00
Simen Svale Skogsrud
52dda8713e purged an unused method 2011-02-06 23:41:04 +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
6d3ff506e8 refactored compile time settings back into a new file called config.h 2011-02-05 00:55:37 +01:00
Simen Svale Skogsrud
d00947a23a renamed config.* to settings.* 2011-02-05 00:45:41 +01:00
Simen Svale Skogsrud
59a9b64087 removed a grave little bug in the planner and added a baseline safe speed so that motion sequences do not attempt to go to speed 0, but to a safe, higher speed based on the max_jerk setting 2011-02-04 22:09:09 +01:00
Simen Svale Skogsrud
5694310a40 formatting 2011-01-31 23:04:39 +01:00
Simen Svale Skogsrud
35f499c00c minor edits 2011-01-25 23:35:25 +01:00
Simen Svale Skogsrud
35064b53e9 made local variables static 2011-01-25 23:33:19 +01:00
Simen Svale Skogsrud
d8e2778b7b bye bye support for atmega 168, your flash space has overflowed 2011-01-25 22:54:48 +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
c8f71cf033 cleaned up stepper.c 2011-01-25 14:27:28 +01:00
Simen Svale Skogsrud
0c262b03c2 eliminated step down-counter in stepper.c 2011-01-25 14:02:34 +01:00
Simen Svale Skogsrud
4869e7b1cc reallocated debug pin to time replanning 2011-01-24 23:18:07 +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
8325bfb96e the trapezoid generator seems to be working 2011-01-23 21:14:38 +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
5880e55ce9 pcomplete, fully untested, support for accelleration management with look ahead optimization, finally 2011-01-15 00:27:08 +01:00
Simen Svale Skogsrud
0be21a9034 eliminated an annoying constant that broke my cleanly layered abstractions 2011-01-14 16:56:44 +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
e0f3dcbe43 stepper.c now has 90% of acelleration support built in except for the planner, still som known conflicts to mark rough spots that need attention later 2011-01-03 00:36:33 +01:00
Simen Svale Skogsrud
48b596c2fe added code with merge conflict as note to self, accelleration will just have to wait 2010-12-20 14:01:38 +01:00
Simen Svale Skogsrud
703d812b85 rough accelleration stuff 2010-06-28 23:29:58 +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
b8ba8a4231 Added runtime configurable global settings with eeprom persitence 2010-03-07 20:29:18 +01:00
Simen Svale Skogsrud
a6b8d73044 removed a warning 2010-03-05 08:38:01 +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
b9c3ea02fb adjustments to retriggering protection 2010-03-03 23:18:39 +01:00
Simen Svale Skogsrud
b85b575b9b added protection against retriggering stepper irq 2010-03-03 22:55:45 +01:00
Simen Svale Skogsrud
db193f4336 cleaned up stepper signal in junctions between short line segments 2010-03-03 22:18:17 +01:00
Simen Svale Skogsrud
48855ec977 added back a line that was not really refactoring debris come to think of it 2010-03-03 22:11:50 +01:00
Simen Svale Skogsrud
898b4ca99d further refactoring debris extraction 2010-03-03 17:52:56 +01:00
Simen Svale Skogsrud
7e152851cc general clean up after refactoring 2010-03-03 13:04:51 +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
2be1f473cd first stab at replacing step-buffering with line-buffering 2010-03-02 21:46:51 +01:00
Simen Svale Skogsrud
36fd3a9bfb improved the serial protocol, added some debug pins for a while 2010-03-02 08:19:21 +01:00
Simen Svale Skogsrud
551b4ed274 fixed a problem with the direction-pins 2010-02-27 21:01:35 +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
df271c82da fixed en operator precedence bug with step mask calculations 2010-01-05 23:06:47 +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
e257fc195c support for helical motion 2009-02-11 00:37:33 +01:00
Simen Svale Skogsrud
c2981be94a added code to estimate steps in arc in order to support helical motion 2009-02-09 15:47:51 +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
c07a322589 fixed buffering of pace changes and general cleaning 2009-02-08 20:40:24 +01:00
Simen Svale Skogsrud
d012440518 presumably fixed the feed rate computation 2009-02-04 14:01:24 +01:00
Simen Svale Skogsrud
7f9a9d27e2 stepper signals looks good on scope 2009-02-03 23:36:04 +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
68c13981b3 enabled interrupts and mad buffer flushing atomic 2009-01-30 11:26:08 +01:00
Simen Svale Skogsrud
a9d41c6c64 tweaks and bugfixes 2009-01-29 09:58:29 +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