Sonny Jeon
9141ad2825
Third time's a charm! No more deceleration issues! Updated grbl version and settings. General cleanup.
...
- Fleshed out the original idea to completely remove the long slope at
the end of deceleration issue. This third time should absolutely
eliminate it.
- Changed the acceleration setting to kept as mm/min^2 internally,
since this was creating unneccessary additional computation in the
planner. Human readable value kept at mm/sec^2.
- Updated grbl version 0.7d and settings version to 4. NOTE: Please
check settings after update. These may have changed, but shouldn't.
- Before updating the new features (pause, e-stop, federate override,
etc), the edge branch will soon be merged with the master, barring any
immediate issues that people may have, and the edge branch will be the
testing ground for the new grbl version 0.8.
2011-10-11 20:51:04 -06:00
Sonny Jeon
c98ff4cc2e
Forgot something! Comments on what the last change does.
2011-10-07 15:51:40 -06:00
Sonny Jeon
ca26bb9ccf
Minor update to further eliminate the ole long slope deceleration issue. New update note!
...
- Added another way to further ensure the long slope deceleration issue
is eliminated. If the stepper rate change is too great near zero, the
stepper rate is adjusted at half increments to the end of travel,
creating a smooth transition. - If the new STEPPER_IDLE_LOCK_TIME is
set as zero, this delay is not compiled at compile-time. - NOTE: The
next update is likely going to be major, involving a full re-write of
the stepper.c program to integrate a simple way to apply pauses,
jogging, e-stop, and feedrate overrides. The interface should be
flexible enough to be easily modified for use with either hardware
switches or software commands. Coming soon.
2011-10-06 23:14:21 -06: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 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