| ---------------- |
| Date: 2014-09-05 |
| Author: Sonny Jeon |
| Subject: Minor bug fix and CPU pin map update. |
| |
| - Sometime I HATE github. This push is just here to be able to describe |
| the last two pushes today that had a merging conflict and lost all of |
| the commit comments before. |
| |
| - Setting $10 would cause $11 to be the same value. Missed a break |
| statement in the switch-case. Oops! Now fixed. |
| |
| - CPU pin map for the future versions of Grbl introduced, but not yet |
| finalized. Still working on it and it’s subject to change. |
| |
| - Added a new high-speed machining test g-code routine written by Todd |
| Fleming. Mills a pocket at 15,000mm/min. Do not use when connected to |
| your machine! You’ve been warned! |
| |
| |
| ---------------- |
| Date: 2014-09-05 |
| Author: Sonny Jeon |
| Subject: Updated README.md |
| |
| |
| ---------------- |
| Date: 2014-09-05 |
| Author: Sonny Jeon |
| Subject: Merge branch 'master' of https://github.com/grbl/grbl |
| |
| Conflicts: |
| README.md |
| |
| |
| ---------------- |
| Date: 2014-08-24 |
| Author: Sonny Jeon |
| Subject: Merge pull request #472 from BinaryConstruct/edge |
| |
| Add defaults for OX CNC |
| |
| ---------------- |
| Date: 2014-08-24 |
| Author: BinaryConstruct |
| Subject: Add defaults for OX CNC |
| |
| |
| ---------------- |
| Date: 2014-08-22 |
| Author: Sonny Jeon |
| Subject: Update README.md |
| |
| ---------------- |
| Date: 2014-08-22 |
| Author: Sonny Jeon |
| Subject: Updated build date. |
| |
| |
| ---------------- |
| Date: 2014-08-22 |
| Author: Sonny Jeon |
| Subject: WPos report bug fix when MPos disabled. |
| |
| |
| ---------------- |
| Date: 2014-08-18 |
| Author: Sonny Jeon |
| Subject: Update README.md |
| |
| ---------------- |
| Date: 2014-08-17 |
| Author: Sonny Jeon |
| Subject: Update README.md |
| |
| ---------------- |
| Date: 2014-08-17 |
| Author: Sonny Jeon |
| Subject: Updated bitly link to master firmware |
| |
| |
| ---------------- |
| Date: 2014-08-17 |
| Author: Sonny Jeon |
| Subject: Merge branch 'master' into edge |
| |
| |
| ---------------- |
| Date: 2014-08-17 |
| Author: Sonny Jeon |
| Subject: Final minor updates for master release. |
| |
| - Updated ShapeOko2 defaults based on machine testing of the basic |
| model provided by Inventables. (or close to it.) Should be pretty |
| conservative but much faster than before. For example, X and Y axes are |
| set at (10x) faster at 5000mm/min. It can run much faster than this, |
| but this seems like a safe speed for everyone. |
| |
| - Updated README for master release. |
| |
| - Added some new settings methods for clearing the EEPROM when changing |
| versions. Needs some more work, but it should ok for master release. |
| Should work on it more for the next version. |
| |
| |
| ---------------- |
| Date: 2014-08-13 |
| Author: Sonny Jeon |
| Subject: Added EEPROM force clear. |
| |
| - When updating from v0.8, the settings will wipe the startup lines and |
| build info locations so that it won’t use whatever is already there in |
| the EEPROM. Parameters (coord offsets) are retained. They should be ok |
| during an upgrade. |
| |
| |
| ---------------- |
| Date: 2014-08-13 |
| Author: Sonny Jeon |
| Subject: Update README.md |
| |
| ---------------- |
| Date: 2014-08-13 |
| Author: Sonny Jeon |
| Subject: G28/30 bug fix. Block '$$' during cycle. SO2 defaults. |
| |
| - A G28/30 bug would cause it to move to machine coordinate [0,0,0] if |
| no axis words were sent. It was a typo in the new g-code parser. Fixed |
| and slightly re-written to be more consistent with the program flow. |
| |
| - Updated the ShapeOko2 defaults based on testing on the real machine. |
| A little conservative, but it might change again after some more |
| testing. |
| |
| - Now blocks ‘$$’ command during a motion, because the printout takes |
| too long and can starve the segment buffer. |
| |
| |
| ---------------- |
| Date: 2014-08-08 |
| Author: Sonny Jeon |
| Subject: XON/XOFF flow control variable typo. |
| |
| |
| ---------------- |
| Date: 2014-08-07 |
| Author: Sonny Jeon |
| Subject: Moved Grbl Sim to its own repo. |
| |
| |
| ---------------- |
| Date: 2014-08-07 |
| Author: Sonny Jeon |
| Subject: Updated licensing |
| |
| |
| ---------------- |
| Date: 2014-08-05 |
| Author: Sonny Jeon |
| Subject: Update README.md |
| |
| ---------------- |
| Date: 2014-08-05 |
| Author: Sonny Jeon |
| Subject: Fixed bug related to very very low feed rates. |
| |
| - A very very low feed rate command like `G1 X100 F0.01` would cause |
| some floating-point round-off error and freeze Grbl into an infinite |
| loop. To fix it, introduced a MINIMUM_FEED_RATE parameter in config.h |
| to ensure motions always complete. |
| |
| - MINIMUM_FEED_RATE is set at 1.0 mm/min by default. It’s recommended |
| that no rates are below this value, but 0.1mm/min may be ok in some |
| situations. |
| |
| |
| ---------------- |
| Date: 2014-08-04 |
| Author: Sonny Jeon |
| Subject: Allow '$$' in check mode. |
| |
| - Now allows the ‘$$’ view Grbl settings while in check mode |
| |
| - Updated the version build date |
| |
| |
| ---------------- |
| Date: 2014-08-04 |
| Author: Sonny Jeon |
| Subject: Update README.md |
| |
| ---------------- |
| Date: 2014-08-04 |
| Author: Sonny Jeon |
| Subject: Fixed probe position sync error. |
| |
| - Restored probe position syncing. Had removed a pull-off motion after |
| a probe cycle completes, but ended up de-synchronizing the g-code |
| parser and probing cycle positions. Putting the pull-off motion back |
| fixed the problem. |
| |
| |
| ---------------- |
| Date: 2014-08-03 |
| Author: Sonny Jeon |
| Subject: Update README.md |
| |
| ---------------- |
| Date: 2014-08-03 |
| Author: Sonny Jeon |
| Subject: Probing cycle and view build info bug fixes. |
| |
| - Probing cycle would drop into a QUEUED state, if multiple G38.2 are |
| sent. It would not honor the auto cycle start flags. To fix, the auto |
| cycle start state is saved at the beginning of the probing cycle and |
| restored at the end, since the feed hold it uses to stop a triggered |
| probe will disable the auto start flag. For now it’s a patch, rather |
| than a permanent fix. |
| |
| - protocol_buffer_synchronize() also has a failure case. Auto cycle |
| start does not get executed when the system is waiting in here, so if |
| it’s in a QUEUED state already, it won’t resume. Patched here, but not |
| fully resolved. |
| |
| - Fixed a problem with the “view build info” command. The EEPROM write |
| would do weird things and corrupt the EEPROM. Not sure exactly what |
| caused it, but it’s likely a compiler problem with an improperly |
| defined EEPROM address. It didn’t have enough room to store a full |
| string. To fix, the build info EEPROM range was increased and the max |
| number of STARTUP_BLOCKS was reduced to 2 from 3. |
| |
| - Lastly, when a $I view build info is used for the first time, it |
| would normally show an EEPROM read error, since it wasn’t cleared or |
| wasn’t therein the first place. It will now not show that error. A |
| patch rather than a permanent fix again. |
| |
| |
| ---------------- |
| Date: 2014-08-01 |
| Author: Sonny Jeon |
| Subject: Update README.md |
| |
| ---------------- |
| Date: 2014-08-01 |
| Author: Sonny Jeon |
| Subject: Minor bug fixes. |
| |
| - Bug fix for step and direction invert masks not immediately being in |
| effect. Now regenerates the masks when a user changes this setting. |
| |
| - Bug fix for probing cycle. G-code standard mandates that there is an |
| error if the probe is already triggered when the cycle is commanded. |
| However, Grbl may have motions to pull off a previous probing cycle in |
| queue and can falsely lead to errors. To fix this, the triggered check |
| is performed within the probing cycle itself, right after the planner |
| buffer is synced. If there is an error, it will now alarm out as a |
| probe fail. |
| |
| |
| ---------------- |
| Date: 2014-07-28 |
| Author: Sonny Jeon |
| Subject: Compile in Atmel Studio fix. |
| |
| |
| ---------------- |
| Date: 2014-07-28 |
| Author: Sonny Jeon |
| Subject: Update README.md |
| |
| ---------------- |
| Date: 2014-07-27 |
| Author: Sonny Jeon |
| Subject: Added build info feedback in help |
| |
| - `$I` prints the Grbl build info and version number. NOTE: `$I=xxx` |
| stores an additional 30 character string into EEPROM, which will be |
| printed with the build info the next time it’s run. This is for |
| identification purposes for users that have more than one system using |
| Grbl. |
| |
| |
| ---------------- |
| Date: 2014-07-26 |
| Author: Sonny Jeon |
| Subject: Updates to allow Arduino IDE direct compiling. |
| |
| - Only minor changes were required to make the Arduino IDE compile all |
| of the Grbl’s source code (correctly using the C-compiler). Tested in |
| Windows and Mac and with the normal USB upload and with a programmer. |
| |
| |
| ---------------- |
| Date: 2014-07-26 |
| Author: Sonny Jeon |
| Subject: Settings refactoring. Bug fixes. Misc new features. |
| |
| This is likely the last major change to the v0.9 code base before push |
| to master. Only two minor things remain on the agenda (CoreXY support, |
| force clear EEPROM, and an extremely low federate bug). |
| |
| - NEW! Grbl is now compile-able and may be flashed directly through the |
| Arduino IDE. Only minor changes were required for this compatibility. |
| See the Wiki to learn how to do it. |
| |
| - New status reporting mask to turn on and off what Grbl sends back. |
| This includes machine coordinates, work coordinates, serial RX buffer |
| usage, and planner buffer usage. Expandable to more information on user |
| request, but that’s it for now. |
| |
| - Settings have been completely renumbered to allow for future new |
| settings to be installed without having to constantly reshuffle and |
| renumber all of the settings every time. |
| |
| - All settings masks have been standardized to mean bit 0 = X, bit 1 = |
| Y, and bit 2 = Z, to reduce confusion on how they work. The invert |
| masks used by the internal Grbl system were updated to accommodate this |
| change as well. |
| |
| - New invert probe pin setting, which does what it sounds like. |
| |
| - Fixed a probing cycle bug, where it would freeze intermittently, and |
| removed some redundant code. |
| |
| - Homing may now be set to the origin wherever the limit switches are. |
| Traditionally machine coordinates should always be in negative space, |
| but when limit switches on are on the opposite side, the machine |
| coordinate would be set to -max_travel for the axis. Now you can always |
| make it [0,0,0] via a compile-time option in config.h. (Soft limits |
| routine was updated to account for this as well.) |
| |
| - Probe coordinate message immediately after a probing cycle may now |
| be turned off via a compile-time option in config.h. By default the |
| probing location is always reported. |
| |
| - Reduced the N_ARC_CORRECTION default value to reflect the changes in |
| how circles are generated by an arc tolerance, rather than a fixed arc |
| segment setting. |
| |
| - Increased the incoming line buffer limit from 70 to 80 characters. |
| Had some extra memory space to invest into this. |
| |
| - Fixed a bug where tool number T was not being tracked and reported |
| correctly. |
| |
| - Added a print free memory function for debugging purposes. Not used |
| otherwise. |
| |
| - Realtime rate report should now work during feed holds, but it hasn’t |
| been tested yet. |
| |
| - Updated the streaming scripts with MIT-license and added the simple |
| streaming to the main stream.py script to allow for settings to be sent. |
| |
| - Some minor code refactoring to improve flash efficiency. Reduced the |
| flash by several hundred KB, which was re-invested in some of these new |
| features. |
| |
| |
| ---------------- |
| Date: 2014-07-17 |
| Author: Sonny Jeon |
| Subject: Update README.md |
| |
| ---------------- |
| Date: 2014-07-12 |
| Author: Sonny Jeon |
| Subject: Update README.md |
| |
| ---------------- |
| Date: 2014-07-12 |
| Author: Sonny Jeon |
| Subject: Update README.md |
| |
| ---------------- |
| Date: 2014-07-12 |
| Author: Sonny Jeon |
| Subject: Update README.md |
| |
| ---------------- |
| Date: 2014-07-12 |
| Author: Sonny Jeon |
| Subject: Updated README |
| |
| |
| ---------------- |
| Date: 2014-07-11 |
| Author: Sonny Jeon |
| Subject: Updated README |
| |
| |
| ---------------- |
| Date: 2014-07-11 |
| Author: Sonny Jeon |
| Subject: Merge pull request #441 from ashelly/edge-simfix |
| |
| Fixes for simulator in alternate configurations. |
| |
| ---------------- |
| Date: 2014-07-10 |
| Author: ashelly |
| Subject: Restore changes made only for testing. |
| |
| |
| ---------------- |
| Date: 2014-07-10 |
| Author: ashelly |
| Subject: Bug fixes for timers, added some wdt support for limit debounce. |
| |
| - Typo in timer def, |
| - Handle 8 bit timers correctly, |
| - Don't skip TOP count in CTC mode |
| - added SREG for atomic bit operations |
| |
| |
| ---------------- |
| Date: 2014-07-09 |
| Author: Sonny Jeon |
| Subject: Merge branch 'dev' into edge |
| |
| Conflicts: |
| sim/simulator.c |
| sim/simulator.h |
| |
| |
| ---------------- |
| Date: 2014-07-09 |
| Author: Sonny Jeon |
| Subject: Added test g-code programs. |
| |
| |
| ---------------- |
| Date: 2014-07-06 |
| Author: Sonny Jeon |
| Subject: Version and build update. |
| |
| - Incremented from v0.9e to v0.9f due to the new g-codes, velocity |
| reporting option, decimal printing refactoring, grbl-sim updates, and |
| G0/G1 bug fix. |
| |
| - Settings version was also incremented since settings.decimal_places |
| is now gone. |
| |
| |
| ---------------- |
| Date: 2014-07-06 |
| Author: Sonny Jeon |
| Subject: Isolate atomic bit flag for execution. |
| |
| - Denoted bit_true_atomic only for sys.execute bit settings. All other |
| bit_true type calls are for local variables only and don’t need atomic |
| access. Still looking into other ways of setting these flags without |
| requiring atomic access, but this is a patch for now. |
| |
| |
| ---------------- |
| Date: 2014-07-06 |
| Author: Sonny Jeon |
| Subject: Merge pull request #436 from kfoltman/dev |
| |
| Fixed atomic access to flags in sys.execute. |
| |
| ---------------- |
| Date: 2014-07-06 |
| Author: Sonny Jeon |
| Subject: Syntax fix for gcode.c |
| |
| - Whoops! Missed a bracket and it wasn’t compiling. Now fixed. |
| |
| - Updated the unsupported gcodes listed at the end of the gcode.c file. |
| |
| |
| ---------------- |
| Date: 2014-07-06 |
| Author: Sonny Jeon |
| Subject: G43.1/G49 tool length offset installed. Minor bug fix. |
| |
| - Minor bug fix that caused G92.1 not to work. The mantissa of G92.1 |
| was not computed correctly due to floating point round-off errors and |
| the use of trunc(). Fixed it by changing the computation with round(). |
| |
| - Installed tool length offsets with G43.1 and G49! True tool length |
| offsets via G43 are not supported, because these require us to store |
| tool data that we don’t have space for. But we’ve come up with a good |
| solution for users that need this. Instead we are strictly using the |
| dynamic version G43.1 via linuxcnc.org. Visit their website for more |
| details on the command. |
| |
| - G43.1 operates by requiring an axis word and value to offset the |
| configured tool length axis, which can be configured for any axis |
| (default Z-axis) in config.h. For example, ```G43.1 Z0.5``` will offset |
| the work coordinates from Z0.0 to Z-0.5. |
| |
| - G49 will cancel the last tool length offset value and reset it to |
| zero. |
| |
| - Tweaked the ‘$#’ parameters report. `Probe` is now `PRB` and a new |
| value `TLO` states the tool length offset value. |
| |
| |
| ---------------- |
| Date: 2014-07-05 |
| Author: Sonny Jeon |
| Subject: Merge branch 'ashelly-sim-update' into dev |
| |
| |
| ---------------- |
| Date: 2014-07-05 |
| Author: Sonny Jeon |
| Subject: Merge grbl-sim updates for v0.9. |
| |
| - Removed some conflicting code in the main Grbl firmware source. |
| |
| - Temporary patch for coolant and spindle control with streaming |
| applied. |
| |
| |
| ---------------- |
| Date: 2014-07-05 |
| Author: Sonny Jeon |
| Subject: New G43.1/G49 gcodes. Not working yet!! |
| |
| - Pushed this uncompleted code to merge a conflicting pull request. |
| |
| - New G43.1 and G49 g-codes to be installed. The beginnings of it are |
| in place. These g-codes are intended to be used in conjunction with |
| probing and allow GUIs to set tool length offsets without Grbl needing |
| to store a tool table. |
| |
| - G43.1 is defined as a dynamic tool length offset that is not stored |
| in memory. Rather, when commanded, these are applied to the work |
| coordinates until a reset or disabled by G49. This works much like G92. |
| |
| |
| ---------------- |
| Date: 2014-07-05 |
| Author: ashelly |
| Subject: formatting |
| |
| ---------------- |
| Date: 2014-07-05 |
| Author: ashelly |
| Subject: Update readme.md |
| |
| ---------------- |
| Date: 2014-07-04 |
| Author: ashelly |
| Subject: Don't need kbhit.h |
| |
| ---------------- |
| Date: 2014-07-04 |
| Author: Adam Shelly |
| Subject: minor tweaks for mingw. |
| |
| |
| ---------------- |
| Date: 2014-07-04 |
| Author: Sonny Jeon |
| Subject: Realtime rate reporting. Updated decimal places. |
| |
| - Added a new optional compile-time feature for ‘realtime’ (within |
| 50ms) feed rate reporting. When querying for a status report, a new |
| data value will state the current operating rate. It’s only beta at the |
| moment and has some kinks to work out. |
| |
| - Updated the code for printing floating point values to N decimal |
| places. Generalized the main floating point print code to accept a new |
| decimal places value and created a set of handler functions to print |
| certain floating point value types used in Grbl, like position, rates, |
| coordinate offsets, etc. All of these have different decimal |
| requirements and change when printed in mm or inches mode. |
| |
| - Number of decimal places for the different value types can be |
| re-defined in config.h, but there shouldn’t be a need for this, as |
| these are physically limited. |
| |
| - Removed the decimal places settings, as this was now obsoleted by the |
| new decimal places code. |
| |
| - The new decimal places code also saves almost 300kB in flash space, |
| as it’s more efficient. |
| |
| |
| ---------------- |
| Date: 2014-07-04 |
| Author: ashelly |
| Subject: reduce diffs with dev branch |
| |
| |
| ---------------- |
| Date: 2014-07-04 |
| Author: ashelly |
| Subject: Total rework of simulator for dev branch. Create separate thread for interrupt processes. Tick-accurate simulation of timers. Non-blocking character input for running in realtime mode. Decouple hardware sim from grbl code as much as possible. Expanded command line options. Provisions for cross-platform solution. |
| |
| |
| ---------------- |
| Date: 2014-07-03 |
| Author: Sonny Jeon |
| Subject: Update README.md |
| |
| ---------------- |
| Date: 2014-07-03 |
| Author: Sonny Jeon |
| Subject: G18 reporting bug fix. |
| |
| - G18 wasn’t getting reported back to the user correctly, even though |
| it has been set internally. Fixed the reporting code to reflect this |
| accurately. |
| |
| |
| ---------------- |
| Date: 2014-07-03 |
| Author: Sonny Jeon |
| Subject: G-code parser G0/G1 bug fix. |
| |
| - Although stated as invalid in the NIST g-code standard, most g-code |
| parsers, including linuxcnc, allow G0 and G1 to be commanded without |
| axis words present. For example, something like ‘G1 F100.0’ to preset |
| the motion mode and feed rate without a motion commanded. Older CNC |
| controllers actually required this for feed rate settings. This update |
| should now allow this type of behavior. |
| |
| |
| ---------------- |
| Date: 2014-07-02 |
| Author: Sonny Jeon |
| Subject: Minor bug fixes and updates. Line number tracking. |
| |
| - Line number tracking was getting truncated at 255, since it was using |
| wrong variable type. Fixed it with a trunc(). |
| |
| - Increased the max number line allowed by Grbl to 9999999 from the |
| g-code standard 99999. The latter seems to be an arbitrary number, so |
| we are allowing larger ones for at least one known use case scenario. |
| |
| - Created a new test directory to contain some testing g-code to proof |
| the firmware. Only got started with one test case so far. More will be |
| inserted as needed. |
| |
| - Some other commenting updates to clarify certain aspects of the code. |
| |
| |
| ---------------- |
| Date: 2014-06-26 |
| Author: Krzysztof Foltman |
| Subject: Fixed atomic access to flags in sys.execute. |
| |
| This seems to fix the bug that caused Grbl to hang during some operations, |
| especially jogging. |
| |
| |
| ---------------- |
| Date: 2014-05-31 |
| Author: Sonny Jeon |
| Subject: Arc error-checking update. |
| |
| - Updated offset-mode arc error-checking to EMC2’s version: The old |
| NIST definition required the radii to the current location and target |
| location to differ no more than 0.002mm. This proved to be problematic |
| and probably why LinuxCNC(EMC2) updated it to be 0.005mm AND 0.1% |
| radius OR 0.5mm. |
| |
| |
| ---------------- |
| Date: 2014-05-31 |
| Author: Sonny Jeon |
| Subject: Various minor g-code parser fixes. |
| |
| - Updated the mantissa calculation that checks for non-integer values |
| and GXX.X commands that aren’t supported. There was a potential uint8 |
| overflow issue. |
| |
| - Fixed g-code parser bug related to not using the correct modal |
| struct. G10 P0 not selecting the current coordinate system when a |
| G55-59 is issued in the same line. |
| |
| - Fixed g-code parser bug related to not using the correct modal |
| struct. Target position locations were not computed correctly when |
| G90/91 distance modes were changed in the same line. It was using the |
| previous state, rather than the current block. |
| |
| |
| ---------------- |
| Date: 2014-05-29 |
| Author: Sonny Jeon |
| Subject: Fixed spindle/coolant/dwell state check. |
| |
| |
| ---------------- |
| Date: 2014-05-25 |
| Author: Sonny Jeon |
| Subject: Major g-code parser overhaul. 100%* compliant. Other related updates. |
| |
| - Completely overhauled the g-code parser. It’s now 100%* compliant. (* |
| may have some bugs). Being compliant, here are some of the major |
| differences. |
| |
| - SMALLER and JUST AS FAST! A number of optimizations were found that |
| sped things up and allowed for the more thorough error-checking to be |
| installed without a speed hit. Trimmed a lot of ‘fat’ in the parser and |
| still was able to make it significantly smaller than it was. |
| |
| - No default feed rate setting! Removed completely! This doesn’t exist |
| in the g-code standard. So, it now errors out whenever it’s undefined |
| for motions that require it (G1/2/3/38.2). |
| |
| - Any g-code parser error expunges the ENTIRE block. This means all |
| information is lost and not passed on to the running state. Before some |
| of the states would remain, which could have led to some problems. |
| |
| - If the g-code block passes all of the error-checks, the g-code state |
| is updated and all motions are executed according to the order of |
| execution. |
| |
| - Changes in spindle speed, when already running, will update the |
| output pin accordingly. This fixes a bug, where it wouldn’t update the |
| speed. |
| |
| - Update g-code parser error reporting. Errors now return detailed |
| information of what exact went wrong. The most common errors return a |
| short text description. For less common errors, the parser reports |
| ‘Invalid gcode ID:20’, where 20 is a error ID. A list of error code IDs |
| and their descriptions will be documented for user reference elsewhere |
| to save flash space. |
| |
| - Other notable changes: |
| |
| - Added a print integer routine for uint8 variables. This saved |
| significant flash space by switching from a heavier universal print |
| integer routine. |
| |
| - Saved some flash space with our own short hypotenuse calculation |
| |
| - Some arc computation flash and memory optimizations. |
| |
| |
| ---------------- |
| Date: 2014-05-18 |
| Author: Jens Geisler |
| Subject: Merge pull request #408 from chamnit/master |
| |
| MIT-Licensing change. |
| |
| ---------------- |
| Date: 2014-05-18 |
| Author: Sonny Jeon |
| Subject: MIT-licensing change. |
| |
| |
| ---------------- |
| Date: 2014-05-18 |
| Author: Sonny Jeon |
| Subject: MIT-licensing change |
| |
| |
| ---------------- |
| Date: 2014-04-28 |
| Author: Sonny Jeon |
| Subject: Merge pull request #391 from paulkaplan/master |
| |
| Update Shapeoko 2 defaults |
| |
| ---------------- |
| Date: 2014-04-14 |
| Author: Paul Kaplan |
| Subject: updated shapeoko2 defaults |
| |
| |
| ---------------- |
| Date: 2014-03-14 |
| Author: Sonny Jeon |
| Subject: Update README.md |
| |
| ---------------- |
| Date: 2014-03-13 |
| Author: Sonny Jeon |
| Subject: Comment corrections and function call update. |
| |
| |
| ---------------- |
| Date: 2014-03-13 |
| Author: Sonny Jeon |
| Subject: Merge pull request #373 from EliteEng/dev |
| |
| Added Probing to Mega2560 and fixed Shapeoko2 compile error |
| |
| ---------------- |
| Date: 2014-03-11 |
| Author: Rob Brown |
| Subject: Added Probing to Mega2560 and fixed Shapeoko2 compile error |
| |
| |
| ---------------- |
| Date: 2014-03-07 |
| Author: henols |
| Subject: Probing command gets stuck in hold if several g38.2 are submitted |
| Ex. |
| G0 X0 Y0 Z0 |
| G38.2 Z-10 F100 |
| G10 L20 P0 Z0 |
| G0 Z2 |
| G38.2 Z-1 F50 |
| G10 L20 P0 Z0 |
| G0 Z2 |
| G0 X0 Y0 |
| G38.2 Z-1 F100 |
| G0 Z2 |
| |
| |
| ---------------- |
| Date: 2014-03-10 |
| Author: Sonny Jeon |
| Subject: Merge pull request #372 from martinstingl/master |
| |
| Corrected units of default acceleration values |
| |
| ---------------- |
| Date: 2014-03-10 |
| Author: Martin Stingl |
| Subject: Corrected units of default acceleration values |
| |
| |
| ---------------- |
| Date: 2014-03-07 |
| Author: Sonny Jeon |
| Subject: Merge pull request #368 from henols/dev |
| |
| Probing command gets stuck in hold if several g38.2 are submitted |
| |
| ---------------- |
| Date: 2014-03-07 |
| Author: henols |
| Subject: Probing command gets stuck in hold if several g38.2 are submitted |
| Ex. |
| G0 X0 Y0 Z0 |
| G38.2 Z-10 F100 |
| G10 L20 P0 Z0 |
| G0 Z2 |
| G38.2 Z-1 F50 |
| G10 L20 P0 Z0 |
| G0 Z2 |
| G0 X0 Y0 |
| G38.2 Z-1 F100 |
| G0 Z2 |
| |
| |
| ---------------- |
| Date: 2014-02-28 |
| Author: Sonny Jeon |
| Subject: G38.2 probe feature rough draft installed. Working but needs testing. |
| |
| - G38.2 straight probe now supported. Rough draft. May be tweaked more |
| as testing ramps up. |
| |
| - G38.2 requires at least one axis word. Multiple axis words work too. |
| When commanded, the probe cycle will move at the last ‘F’ feed rate |
| specified in a straight line. |
| |
| - During a probe cycle: If the probe pin goes low (normal high), Grbl |
| will record that immediate position and engage a feed hold. Meaning |
| that the CNC machine will move a little past the probe switch point, so |
| keep federates low to stop sooner. Once stopped, Grbl will issue a move |
| to go back to the recorded probe trigger point. |
| |
| - During a probe cycle: If the probe switch does not engage by the time |
| the machine has traveled to its target coordinates, Grbl will issue an |
| ALARM and the user will be forced to reset Grbl. (Currently G38.3 probe |
| without error isn’t supported, but would be easy to implement later.) |
| |
| - After a successful probe, Grbl will send a feedback message |
| containing the recorded probe coordinates in the machine coordinate |
| system. This is as the g-code standard on probe parameters specifies. |
| |
| - The recorded probe parameters are retained in Grbl memory and can be |
| viewed with the ‘$#’ print parameters command. Upon a power-cycle, not |
| a soft-reset, Grbl will re-zero these values. |
| |
| - Moved ‘$#’ command to require IDLE or ALARM mode, because it accesses |
| EEPROM to fetch the coordinate system offsets. |
| |
| - Updated the Grbl version to v0.9d. |
| |
| - The probe cycle is subject to change upon testing or user-feedback. |
| |
| |
| ---------------- |
| Date: 2014-02-27 |
| Author: Sonny Jeon |
| Subject: Probe cycle line numbers ifdef fixes to get it to compile. |
| |
| - Updated some of the ifdefs when disabling line numbers feature. |
| Getting messy with this compile-time option. This will likely get |
| cleaned up later. |
| |
| - This is just a push to get the new probing code to compile. Testing |
| and optimization of the code will soon follow and be pushed next. |
| |
| |
| ---------------- |
| Date: 2014-02-27 |
| Author: Sonny Jeon |
| Subject: Merge pull request #362 from robgrz/dev |
| |
| Minimal probing cycle working. Supports both G38.2 for error and G38.3 ... |
| |
| ---------------- |
| Date: 2014-02-26 |
| Author: Sonny Jeon |
| Subject: Added grbl planner Matlab simulator for test reference. Updated line number compile-time option. |
| |
| - Added a grbl planner simulation tool that was written in Matlab and |
| Python. It was used to visualize the inner workings of the planner as a |
| program is streamed to it. The simulation assumes that the planner |
| buffer is empty, then filled, and kept filled. This is mainly for users |
| to see how the planner works. |
| |
| - Updated some of the compile-time ifdefs when enabling line numbers. |
| The leaving the un-used line numbers in the function calls eats a |
| non-neglible amount of flash memory. So the new if-defs remove them. |
| |
| |
| ---------------- |
| Date: 2014-02-25 |
| Author: Robert Grzesek |
| Subject: Minimal probing cycle working. Supports both G38.2 for error and G38.3 when no errors are desired. |
| |
| |
| ---------------- |
| Date: 2014-02-19 |
| Author: Sonny Jeon |
| Subject: Minor updates to line number feature. |
| |
| - Changed line number integer types from unsigned to signed int32. |
| G-code mandates values cannot exceed 99999. Negative values can be used |
| to indicate certain modes. |
| |
| - Homing cycle line number changed to -1, as an indicator. |
| |
| - Fixed a reporting define for the spindle states that was broken by |
| the last merge. |
| |
| |
| ---------------- |
| Date: 2014-02-19 |
| Author: Sonny Jeon |
| Subject: Merge pull request #356 from robgrz/dev |
| |
| Line number reporting as compile-time option. |
| |
| ---------------- |
| Date: 2014-02-19 |
| Author: Sonny Jeon |
| Subject: Commenting updates. Minor bug fix with exit of soft limit event. |
| |
| |
| ---------------- |
| Date: 2014-02-18 |
| Author: Robert Grzesek |
| Subject: Merge commit 'cd71a90ce8a770e0030ed6c9bac805b89724e275' into dev |
| |
| Conflicts: |
| limits.c |
| motion_control.c |
| report.c |
| |
| |
| ---------------- |
| Date: 2014-02-15 |
| Author: Sonny Jeon |
| Subject: Homing and feed hold bug fixes. |
| |
| WARNING: Bugs may still exist. This branch is a work in progress and |
| will be pushed to the edge branch when at beta stability. Use at your |
| own risk. |
| |
| - Homing freezing issue fixed. Had to do with the cycle stop flag being |
| set incorrectly after the homing cycles and before the pull-off |
| maneuver. Now resets the stepper motors before this can happen. |
| |
| - Fixed an issue with a rare feed hold failure. Had to do with feed |
| hold ending exactly at the end of a block. The runtime protocol now |
| sets the QUEUED and IDLE states appropriately when this occurs. Still |
| need to clean this code up however, as it’s patched rather than written |
| well. |
| |
| - Updated version build via $I command. |
| |
| - Forgot to comment on a new feature for the last commit. Since steps |
| are integers and millimeters traveled are floats, the old step segment |
| generator ignored the step fraction differences in generating the |
| segment velocities. Didn’t see like it would be much of a big deal, but |
| there were instances that this would be a problem, especially for very |
| slow feed rates. The stepper algorithm now micro-adjusts the segment |
| velocities based on the step fractions not executed from the previous |
| segment. This ensures that Grbl generates the velocity profiles EXACTLY |
| and noticeably improves overall acceleration performance. |
| |
| |
| ---------------- |
| Date: 2014-02-09 |
| Author: Sonny Jeon |
| Subject: Refactoring and lots of bug fixes. Updated homing cycle. |
| |
| WARNING: There are still some bugs to be worked out. Please use caution |
| if you test this firmware. |
| |
| - Feed holds work much better, but there are still some failure |
| conditions that need to be worked out. This is the being worked on |
| currently and a fix is planned to be pushed next. |
| |
| - Homing cycle refactoring: Slight adjustment of the homing cycle to |
| allow for limit pins to be shared by different axes, as long as the |
| shared limit pins are not homed on the same cycle. Also, removed the |
| LOCATE_CYCLE portion of the homing cycle configuration. It was |
| redundant. |
| |
| - Limit pin sharing: (See above). To clear up one or two limit pins for |
| other IO, limit pins can now be shared. For example, the Z-limit can be |
| shared with either X or Y limit pins, because it’s on a separate homing |
| cycle. Hard limit will still work exactly as before. |
| |
| - Spindle pin output fixed. The pins weren’t getting initialized |
| correctly. |
| |
| - Fixed a cycle issue where streaming was working almost like a single |
| block mode. This was caused by a problem with the spindle_run() and |
| coolant_run() commands and issuing an unintended planner buffer sync. |
| |
| - Refactored the cycle_start, feed_hold, and other runtime routines |
| into the runtime command module, where they should be handled here |
| only. These were redundant. |
| |
| - Moved some function calls around into more appropriate source code |
| modules. |
| |
| - Fixed the reporting of spindle state. |
| |
| |
| ---------------- |
| Date: 2014-02-06 |
| Author: Robert Grzesek |
| Subject: Made line number reporting optional via config.h |
| |
| |
| ---------------- |
| Date: 2014-02-06 |
| Author: Robert Grzesek |
| Subject: Initial line number reporting |
| |
| |
| ---------------- |
| Date: 2014-02-02 |
| Author: Sonny Jeon |
| Subject: Update README.md |
| |
| ---------------- |
| Date: 2014-01-28 |
| Author: Jens Geisler |
| Subject: Merge pull request #337 from michmerr/edge |
| |
| Make sure that cycle_start state is set before simulating steps. |
| |
| ---------------- |
| Date: 2014-01-28 |
| Author: michmerr |
| Subject: Simplify setting of STATE_CYCLE and ISR interval. |
| |
| Set sys.state to STATE_CYCLE directly instead of calling back to |
| st_wakeup(). |
| |
| Convert get_step_time() to a constant and rename it to ISR_INTERVAL. |
| |
| |
| ---------------- |
| Date: 2014-01-22 |
| Author: michmerr |
| Subject: Make sure that cycle_start state is set before simulating steps. |
| |
| |
| ---------------- |
| Date: 2014-01-15 |
| Author: Sonny Jeon |
| Subject: Update README.md |
| |
| ---------------- |
| Date: 2014-01-14 |
| Author: Sonny Jeon |
| Subject: Update README.md |
| |
| ---------------- |
| Date: 2014-01-10 |
| Author: Sonny Jeon |
| Subject: Lots of re-organization and cleaning-up. Some bug fixes. |
| |
| - Added a new source and header file called system. These files contain |
| the system commands and variables, as well as all of the system headers |
| and standard libraries Grbl uses. Centralizing some of the code. |
| |
| - Re-organized the include headers throughout the source code. |
| |
| - ENABLE_M7 define was missing from config.h. Now there. |
| |
| - SPINDLE_MAX_RPM and SPINDLE_MIN_RPM now defined in config.h. No |
| uncommenting to prevent user issues. Minimum spindle RPM now provides |
| the lower, near 0V, scale adjustment, i.e. some spindles can go really |
| slow so why use up our 256 voltage bins for them? |
| |
| - Remove some persistent variables from coolant and spindle control. |
| They were redundant. |
| |
| - Removed a VARIABLE_SPINDLE define in cpu_map.h that shouldn’t have |
| been there. |
| |
| - Changed the DEFAULT_ARC_TOLERANCE to 0.002mm to improve arc tracing. |
| Before we had issues with performance, no longer. |
| |
| - Fixed a bug with the hard limits and the software debounce feature |
| enabled. The invert limit pin setting wasn’t honored. |
| |
| - Fixed a bug with the homing direction mask. Now is like it used to |
| be. At least for now. |
| |
| - Re-organized main.c to serve as only as the reset/initialization |
| routine. Makes things a little bit clearer in terms of execution |
| procedures. |
| |
| - Re-organized protocol.c as the overall master control unit for |
| execution procedures. Not quite there yet, but starting to make a |
| little more sense in how things are run. |
| |
| - Removed updating of old settings records. So many new settings have |
| been added that it’s not worth adding the code to migrate old user |
| settings. |
| |
| - Tweaked spindle_control.c a bit and made it more clear and consistent |
| with other parts of Grbl. |
| |
| - Tweaked the stepper disable bit code in stepper.c. Requires less |
| flash memory. |
| |
| |
| ---------------- |
| Date: 2014-01-05 |
| Author: Sonny Jeon |
| Subject: Updates to some stepper algorithm commenting |
| |
| |
| ---------------- |
| Date: 2014-01-05 |
| Author: Sonny Jeon |
| Subject: New build info feature. (per @Analogreality request) |
| |
| - New build info feature. Hidden command ‘$I’ will print the build info |
| for your Grbl firmware. Users may also write an identifying message |
| within it via ‘$I=‘ with up to 32 characters. (no more, or else it will |
| break). |
| |
| - Adjusted the max number of startup lines to 3. Majority of people |
| will only need one. |
| |
| - Fixed a compile error with spindle_control.c. A rogue #endif was |
| causing problems. |
| |
| |
| ---------------- |
| Date: 2014-01-04 |
| Author: Sonny Jeon |
| Subject: Variable spindle output. Resolved conflicts in last push. |
| |
| Resolve conflicts. |
| |
| |
| ---------------- |
| Date: 2014-01-04 |
| Author: Sonny Jeon |
| Subject: Cleaned up variable spindle output (PWM). Code and config comments. |
| |
| - Variable spindle speed output as a configuration option. Thanks |
| @EliteEng! When enabled, the Z-limit (D11) and spindle enable(D12) pins |
| switch to allow access to the hardware PWM output on pin D11. |
| Otherwise, everything should work as it does. |
| |
| - Removed option for inverting the spindle and coolant enable pins. |
| This is a safety hazard, especially for the spindle. When Grbl |
| initializes, all pins are momentarily low until it finishes booting. If |
| an invert is enabled, this means the spindles can be energized briefly |
| during this time. If users need signal inversion, it’s recommended to |
| just wire in an inversion circuit instead. |
| |
| - Cleared out references to spindle variable output in terms of step |
| signal. This isn’t complete and requires more deliberation before |
| installing. |
| |
| - Cleared up and cleaned up some code and config comments. |
| |
| |
| ---------------- |
| Date: 2014-01-03 |
| Author: Sonny Jeon |
| Subject: Merge pull request #322 from EliteEng/dev |
| |
| Update to fix compile error |
| |
| ---------------- |
| Date: 2014-01-03 |
| Author: Rob Brown |
| Subject: Update to fix compile error |
| |
| Update to fix compile error |
| |
| |
| ---------------- |
| Date: 2014-01-02 |
| Author: Sonny Jeon |
| Subject: Merge pull request #318 from EliteEng/dev |
| |
| PWM Spindle Control and Invert Spindle & Coolant Pins |
| |
| ---------------- |
| Date: 2014-01-03 |
| Author: Rob Brown |
| Subject: Update spindle_control.c |
| |
| Updated spindle_control.c due to compile error. |
| |
| ---------------- |
| Date: 2014-01-02 |
| Author: Sonny Jeon |
| Subject: Fix for M7/8/9 modal group checks. Updated AMASS frequency cutoffs and code cleaned. |
| |
| - Updated Grbl version to 0.9c and build number. |
| |
| - G-code parser was missing modal group violation checks for M7/8/9 |
| commands. Added them. |
| |
| - Updated the Adaptive Multi-Axis Step Smoothing (AMASS) cutoff |
| frequencies so that the trade between the 16-bit Timer1 accuracy and |
| the level step smoothing are somewhat better balanced. (Smoothing isn’t |
| free, but a higher accuracy timer would provide high cutoff |
| frequencies.) |
| |
| |
| ---------------- |
| Date: 2014-01-02 |
| Author: Sonny Jeon |
| Subject: Update README.md |
| |
| ---------------- |
| Date: 2014-01-02 |
| Author: Rob Brown |
| Subject: PWM Spindle Control and Invert Spindle & Coolant Pins |
| |
| PWM Spindle Control and Invert Spindle & Coolant Pins |
| |
| |
| ---------------- |
| Date: 2013-12-30 |
| Author: Sonny Jeon |
| Subject: Minor bug fixes: Homing travel calculations. Cycle resuming after spindle and dwell commands. |
| |
| - Homing travel calculations fixed. It was computing the min travel |
| rather than max. |
| |
| - Auto-start disable and pausing after spindle or dwell commands. |
| Related to plan_synchronize() function call. Now fixed, but still need |
| to work on the system state. |
| |
| - Pushed a fix to make this branch more Arduino IDE compatible. Removed |
| extern call in nuts_bolts.c |
| |
| - Updated the stepper configuration option of enabling or disabling the |
| new Adaptive Multi-Axis Step Smoothing Algorithm. Now works either way. |
| |
| - Updated some copyright info. |
| |
| |
| ---------------- |
| Date: 2013-12-30 |
| Author: Sonny Jeon |
| Subject: Merge pull request #201 from Protoneer/master |
| |
| Made a few changes to make the code compatible with the Arduino IDE. Sorry about the tardiness! |
| |
| ---------------- |
| Date: 2013-12-30 |
| Author: Sonny Jeon |
| Subject: Incomplete push but working. Lots more stuff. More to come. |
| |
| - NEW! An active multi-axis step smoothing algorithm that automatically |
| adjusts dependent on step frequency. This solves the long standing |
| issue to aliasing when moving with multiple axes. Similar in scheme to |
| Smoothieware, but more advanced in ensuring a more consistent CPU |
| overhead throughout all frequencies while maintaining step exactness. |
| |
| - Switched from Timer2 to Timer0 for the Step Port Reset Interrupt. |
| Mainly to free up hardware PWM pins. |
| |
| - Seperated the direction and step pin assignments, so we can now move |
| them to seperate ports. This means that we can more easily support 4+ |
| axes in the future. |
| |
| - Added a setting for inverting the limit pins, as so many users have |
| request. Better late than never. |
| |
| - Bug fix related to EEPROM calls when in cycle. The EEPROM would kill |
| the stepper motion. Now protocol mandates that the system be either in |
| IDLE or ALARM to access or change any settings. |
| |
| - Bug fix related to resuming the cycle after a spindle or dwell |
| command if auto start has been disabled. This fix is somewhat temporary |
| or more of a patch. Doesn’t work with a straight call-response |
| streaming protocol, but works fine with serial buffer pre-filling |
| streaming that most clients use. |
| |
| - Renamed the pin_map.h to cpu_map.h to more accurately describe what |
| the file is. |
| |
| - Pushed an auto start bug fix upon re-initialization. |
| |
| - Much more polishing to do! |
| |
| |
| ---------------- |
| Date: 2013-12-29 |
| Author: Sonny Jeon |
| Subject: Incomplete dev code push, but working. Lots of updates/fixes/improvements. Much still to polish. |
| |
| - Ugh. Github just erased my list of improvements and changes due to a |
| conflict and forcing me to resolve it. Hope this goes through. |
| |
| - Major stepper algorithm change. Trashed the old v0.9 edge |
| branch-style stepper algorithm. It’s fine, but it was susceptible to |
| aliasing noise when moving very slow or very fast. It also had a bit of |
| CPU overhead. It was written to solve a standing issue with v0.8 |
| master, where it couldn’t generate a smooth acceleration abocve |
| 10-15kHz. But, with new step segment buffer in v0.9c, it inadvertently |
| fixed the acceleration problem with v0.8 stepper algorithm. So, what |
| does it mean for you? Smoother stepper pulses and likely higher step |
| frequencies. |
| |
| - Stepper algorithm now uses Timer1 and Timer2, instead of Timer0 and |
| Timer2. Timers 0 and 2 can be swapped if there is an issue. |
| |
| - With the old v0.8 stepper algorithm, the STEP_DELAY_PULSE |
| configuration option is also back. |
| |
| - NEW! Hard limit software debouncing. Grbl now employs the AVR’s |
| watchdog timer as a way to monitor the hard limit pins and checking |
| their states after a delay. This is a simple software debouncing |
| technique and may help alleviate some of the false trigger some users |
| have been complaining about. BUT, this won’t fix electric noise issues! |
| |
| - Fixed an issue with the new homing cycle routine where it wasn’t |
| honoring the acceleration and axis speed limits depending on the homing |
| cycle mask. Now does. Also, updated the homing direction mask code to |
| be a little cleaner. |
| |
| - Moved the main part of the homing cycle control and execution to |
| motion_control.c, where it fits better. |
| |
| - Removed the STATE_INIT system state as it was redundant. Made the |
| system states into bitflags so multiple system states can be checked |
| via one if statement. |
| |
| - Reorganized the power-up routine to work with the new system states. |
| |
| |
| ---------------- |
| Date: 2013-12-29 |
| Author: Sonny Jeon |
| Subject: Merge branch 'dev' of https://github.com/grbl/grbl into dev |
| |
| Conflicts: |
| limits.c |
| |
| |
| ---------------- |
| Date: 2013-12-29 |
| Author: Sonny Jeon |
| Subject: Merge branch 'dev' of https://github.com/grbl/grbl into dev |
| |
| Conflicts: |
| limits.c |
| |
| |
| ---------------- |
| Date: 2013-12-27 |
| Author: Sonny Jeon |
| Subject: Merge pull request #312 from scottrcarlson/dev |
| |
| Fixed homing_dir_mask functionality in the re-written homing_cycle. |
| |
| ---------------- |
| Date: 2013-12-27 |
| Author: Scott R Carlson |
| Subject: Hard Limits configured for active high. |
| |
| Added the use of homing_dir_mask to homing_cycle |
| |
| |
| ---------------- |
| Date: 2013-12-10 |
| Author: Sonny Jeon |
| Subject: Update README.md |
| |
| ---------------- |
| Date: 2013-12-10 |
| Author: Sonny Jeon |
| Subject: Revamped homing cycle. Axis limits and max travel bug fixes. Build info. Refactored config.h. |
| |
| - Revamped and improved homing cycle. Now tied directly into the main |
| planner and stepper code, which enables much faster homing seek rates. |
| Also dropped the compiled flash size by almost 1KB, meaning 1KB more |
| for other features. |
| |
| - Refactored config.h. Removed obsolete defines and configuration |
| options. Moved lots of “advanced” options into the advanced area of the |
| file. |
| |
| - Updated defaults.h with the new homing cycle. Also updated the |
| Sherline 5400 defaults and added the ShapeOko2 defaults per user |
| submissions. |
| |
| - Fixed a bug where the individual axes limits on velocity and |
| acceleration were not working correctly. Caused by abs() returning a |
| int, rather than a float. Corrected with fabs(). Duh. |
| |
| - Added build version/date to the Grbl welcome message to help indicate |
| which version a user is operating on. |
| |
| - Max travel settings were not being defaulted into the settings EEPROM |
| correctly. Fixed. |
| |
| - To stop a single axis during a multi-axes homing move, the stepper |
| algorithm now has a simple axis lock mask which inhibits the desired |
| axes from moving. Meaning, if one of the limit switches engages before |
| the other, we stop that one axes and keep moving the other. |
| |
| |
| ---------------- |
| Date: 2013-12-10 |
| Author: Sonny Jeon |
| Subject: Merge pull request #301 from shapeoko/master |
| |
| added shapeoko2 profile |
| |
| ---------------- |
| Date: 2013-12-10 |
| Author: Edward |
| Subject: added shapeoko2 profile |
| |
| shapeoko 2 uses 2mm GT2 belting and 20tooth pulleys |
| |
| |
| ---------------- |
| Date: 2013-12-07 |
| Author: Sonny Jeon |
| Subject: Deceleration to zero speed improvements. Update defaults. |
| |
| - A minor issue with deceleration ramps when close to zero velocity. |
| Should be virtually unnoticeable for most CNC systems, but fixed in |
| this push and accurate to physics. |
| |
| - Updated some of the junction deviation defaults. Because the new |
| stepper algorithm can easily maximize a CNC machine’s capabilities or |
| simply go much faster, this means the speed in which it enters |
| junctions has to be a little more constrained. Meaning that, we have to |
| slow a little bit down more so that we don’t exceed the acceleration |
| limits of the stepper motors. |
| |
| |
| ---------------- |
| Date: 2013-12-07 |
| Author: Sonny Jeon |
| Subject: Pushed bug fixes. Updated readme. |
| |
| - G18 plane select fix from XZ-plane to ZX-plane per right hand rule. |
| |
| - Added volatile declaration for rx_buffer_tail in serial.c. No real |
| effect to operation as avr-gcc adds this upon compilation. Helps with |
| porting issues when using a different compiler. |
| |
| |
| ---------------- |
| Date: 2013-12-07 |
| Author: Sonny Jeon |
| Subject: Pushed limits active high option. Updated defaults.h. Misc bug fixes. Cleaned up codebase. |
| |
| - Pushed limit switch active high option (i.e. NC switches). |
| |
| - Updated defaults.h to be in-line with the new settings. |
| |
| - Refactored feed hold handling and step segment buffer to be more |
| generalized in effort to make adding feedrate overrides easier in the |
| future. Also made it a little more clean. |
| |
| - Fixed G18 plane select issue. Now ZX-plane, rather than XZ-plane, per |
| right hand rule. |
| |
| - Cleaned some of the system settings by more accurately renaming some |
| of the variables and removing old obsolete ones. |
| |
| - Declared serial.c rx_buffer_tail to be volatile. No effect, since |
| avr-gcc automatically does this during compilation. Helps with porting |
| when using other compilers. |
| |
| - Updated version number to v0.9b. |
| |
| - Updates to README.md |
| |
| |
| ---------------- |
| Date: 2013-12-04 |
| Author: Sonny Jeon |
| Subject: Reinstated feed holds into new stepper algorithm and planner. Rough draft, but working. |
| |
| - Reinstated the feed hold feature with the new stepper algorithm and |
| new optimized planner. It works, but will be re-factored a bit soon to |
| clean up the code. |
| |
| - At this point, feedrate overrides may need to be installed in the |
| v1.0 version of grbl, while this version will likely be pushed to the |
| edge branch soon and pushed to master after the bugs have been squashed. |
| |
| - Measured the overall performance of the new planner and stepper |
| algorithm on an oscilloscope. The new planner is about 4x faster than |
| before, where it is completing a plan in around 1ms. The stepper |
| algorithm itself is minutely faster, as it is a little lighter. The |
| trade-off in the increased planner performance comes from the new step |
| segment buffer. However, even in the worse case scenario, the step |
| segment buffer generates a new segment with a typical 0.2 ms, and the |
| worse case is 1ms upon a new block or replanning the active block. |
| Added altogether, it’s argubly still twice as efficient as the old one. |
| |
| |
| ---------------- |
| Date: 2013-11-23 |
| Author: Sonny Jeon |
| Subject: Merge pull request #289 from Travis-Snoozy/master |
| |
| Add support for active-high limit switches |
| |
| ---------------- |
| Date: 2013-11-22 |
| Author: Travis Snoozy |
| Subject: Add support for active-high limit switches |
| |
| |
| ---------------- |
| Date: 2013-11-22 |
| Author: Sonny Jeon |
| Subject: Yet another major stepper algorithm and planner overhaul. |
| |
| - Overhauled the stepper algorithm and planner again. This time |
| concentrating on the decoupling of the stepper ISR completely. It is |
| now dumb, relying on the segment generator to provide the number of |
| steps to execute and how fast it needs to go. This freed up lots of |
| memory as well because it made a lot tracked variables obsolete. |
| |
| - The segment generator now computes the velocity profile of the |
| executing planner block on the fly in floating point math, instead of |
| allowing the stepper algorithm to govern accelerations in the previous |
| code. What this accomplishes is the ability and framework to (somewhat) |
| easily install a different physics model for generating a velocity |
| profile, i.e. s-curves. |
| |
| - Made some more planner enhancements and increased efficiency a bit. |
| |
| - The changes also did not increase the compiled size of Grbl, but |
| decreased it slightly as well. |
| |
| - Cleaned up a lot of the commenting. |
| |
| - Still much to do, but this push works and still is missing feedholds |
| (coming next.) |
| |
| |
| ---------------- |
| Date: 2013-10-29 |
| Author: Sonny Jeon |
| Subject: Another merge fix. |
| |
| |
| ---------------- |
| Date: 2013-10-29 |
| Author: Sonny Jeon |
| Subject: Merge fixes. |
| |
| |
| ---------------- |
| Date: 2013-10-29 |
| Author: Sonny Jeon |
| Subject: Merge branch 'dev_2' into dev |
| |
| Conflicts: |
| README.md |
| gcode.c |
| motion_control.c |
| planner.c |
| planner.h |
| protocol.c |
| report.c |
| settings.c |
| settings.h |
| stepper.c |
| stepper.h |
| |
| |
| ---------------- |
| Date: 2013-10-29 |
| Author: Sonny Jeon |
| Subject: Merge branch 'dev_2' into dev |
| |
| Conflicts: |
| README.md |
| gcode.c |
| motion_control.c |
| planner.c |
| planner.h |
| protocol.c |
| report.c |
| settings.c |
| settings.h |
| stepper.c |
| stepper.h |
| |
| |
| ---------------- |
| Date: 2013-10-29 |
| Author: Sonny Jeon |
| Subject: Planner function call fix. More clean up. |
| |
| |
| ---------------- |
| Date: 2013-10-29 |
| Author: Sonny Jeon |
| Subject: Updated comments. Changed stepper variable names to be more understandable. Added step locking note. |
| |
| - Updated config comments and stepper code comments for the new changes. |
| |
| - Changed stepper algorithm variable names to be more understandable in |
| what they actually do. |
| |
| - Added a stepper lock note in default.h per user request. |
| |
| - Started some code layout in handling feed holds and refactoring the |
| homing routine to use the main stepper algorithm instead of a seperate |
| version. |
| |
| |
| ---------------- |
| Date: 2013-10-24 |
| Author: Sonny Jeon |
| Subject: Cleaned up stepper and planner code. |
| |
| - Added some compile-time error checking. Will add more in future |
| pushes to ensure settings are correct and within parameters that won't |
| break anything. |
| |
| - Pushed some master branch changes with MEGA pin settings. |
| |
| - Cleaned up planner code and comments to clarify some of the new |
| changes. Still much to do here. |
| |
| - Cleaned up the new stepper code. May need to abstract some of the |
| segment buffer more to fix the feed holds (and integrate homing into |
| the main stepper routine). With what's planned, this should make the |
| stepper algorithm easier to attach other types of processes to it, |
| where it is now tightly integrated with the planner buffer and nothing |
| else. |
| |
| |
| ---------------- |
| Date: 2013-10-21 |
| Author: Sonny Jeon |
| Subject: Merge pull request #279 from EliteEng/master |
| |
| Changed Stepper Pins |
| |
| ---------------- |
| Date: 2013-10-18 |
| Author: Rob Brown |
| Subject: Changed Stepper Pins |
| |
| Changed Stepper Pins so the Step Port Invert Mask matches the UNO |
| |
| |
| ---------------- |
| Date: 2013-10-17 |
| Author: Sonny Jeon |
| Subject: Merge pull request #278 from EliteEng/master |
| |
| Update Pin Change Interrupts on Mega 2560 |
| |
| ---------------- |
| Date: 2013-10-17 |
| Author: Rob Brown |
| Subject: Update Pin Change Interrupts so it works |
| |
| PCIE1 - Interrupt 8 on the Mega is attached to USART0 RX so when any |
| serial communication was transmitted it was triggering the Reset |
| Interrupt |
| |
| |
| ---------------- |
| Date: 2013-10-14 |
| Author: Sonny Jeon |
| Subject: Fine tuning of new stepper algorithm with protected planner. Adaptive step prediction for segment buffer. |
| |
| - Cleaned up the new stepper algorithm code with more commenting and |
| better logic flow. |
| |
| - The new segment buffer now predicts the number of steps each segment |
| should have to execute over about 8 milliseconds each (based on the |
| ACCELERATION_TICKS_PER_SECOND setting). So, for when the whole segment |
| buffer is full, the stepper algorithm has roughly 40 milliseconds of |
| steps queued before it needs to refilled by the main program. |
| |
| - Readjusted the max supported step rate back to 30kHz from the lower |
| development 20kHz. Everything still works amazing great and the test |
| CNC machine still runs twice as fast with the new stepper algorithm and |
| planner. |
| |
| - Upped the standard serial baudrate to 115200 baud, as it is clear |
| that the bottleneck is the serial interface. Will now support this, as |
| well as the old 9600 baud, in new firmware builds. |
| |
| |
| ---------------- |
| Date: 2013-10-12 |
| Author: Sonny Jeon |
| Subject: New stepper subsystem bug fixes. |
| |
| - New stepper algorithm with the new optimized planner seems to be |
| working nearly twice as fast as the previous algorithm. |
| |
| - For one, the planner computation overhead is probably a fraction of |
| what it used to be with the worst case being about half still. |
| |
| - Secondly, anytime the planner plans back to the first executing |
| block, it no longer overwrites the block conditions and allows it to |
| complete without lost steps. So no matter if the streams slows, the |
| protected planner should keep the steppers moving without risk of lost |
| steps (although this still needs to be tested thoroughly and may |
| audibly sound weird when this happens.) |
| |
| - It now seems that the bottleneck is the serial baudrate (which is |
| good!) |
| |
| |
| ---------------- |
| Date: 2013-10-09 |
| Author: Sonny Jeon |
| Subject: Protected buffer works! Vast improvements to planner efficiency. Many things still broken with overhaul. |
| |
| Development push. Lots still broken. |
| |
| - Protected planner concept works! This is a critical precursor to |
| enabling feedrate overrides in allowing the planner buffer and the |
| stepper execution operate atomically. This is done through a |
| intermediary segment buffer. |
| |
| - Still lots of work to be done, as this was a complete overhaul of the |
| planner and stepper subsystems. The code can be cleaned up quite a bit, |
| re-enabling some of the broken features like feed holds, and finishing |
| up some of the concepts |
| |
| - Pushed some of the fixes from the master and edge branch to here, as |
| this will likely replace the edge branch when done. |
| |
| |
| ---------------- |
| Date: 2013-08-25 |
| Author: Sonny Jeon |
| Subject: Merge pull request #263 from 0xPIT/master |
| |
| remove mcu argument for avr-size in makefile as it is not present in GNU... |
| |
| ---------------- |
| Date: 2013-08-25 |
| Author: 0xPIT |
| Subject: remove mcu argument for avr-size in makefile as it is not present in GNU Binutils 2.22 |
| |
| |
| ---------------- |
| Date: 2013-08-20 |
| Author: Sonny Jeon |
| Subject: Pin map definition cleanup. |
| |
| |
| ---------------- |
| Date: 2013-08-19 |
| Author: Sonny Jeon |
| Subject: Processor-independent pin mapping feature. |
| |
| - Cleaned up and organized pin mapping concept by @elmom. |
| |
| - pin_map.h allows for user-supplied pin mapping and port vector |
| definitions in a centralized file. With more processor types, more |
| definitions could be added. |
| |
| |
| ---------------- |
| Date: 2013-08-19 |
| Author: Sonny Jeon |
| Subject: Merge pull request #260 from elmom/master |
| |
| Thanks for the contribution! Looks good. Will update some of the semantics shortly, but the idea is solid. |
| |
| ---------------- |
| Date: 2013-08-19 |
| Author: Sonny Jeon |
| Subject: Push old dev_2 draft to work on other things. |
| |
| - **NON-FUNCTIONAL** |
| - Contains an old draft of separating the stepper driver direct access |
| to the planner buffer. This is designed to keep the stepper and planner |
| modules independent and prevent overwriting or other complications. In |
| this way, feedrate override should be able to be installed as well. |
| - A number of planner optimizations are installed too. |
| - Not sure where the bugs are. Either in the new planner optimizations, |
| new stepper module updates, or in both. Or it just could be that the |
| Arduino AVR is choking with the new things it has to do. |
| |
| |
| ---------------- |
| Date: 2013-08-19 |
| Author: Sonny Jeon |
| Subject: Merge pull request #229 from 0xPIT/patch-1 |
| |
| fix command line parameter for avr-size |
| |
| ---------------- |
| Date: 2013-07-21 |
| Author: Elmo Mäntynen |
| Subject: Refactor config.h to allow defaults for chips/boards with different pin mappings |
| |
| |
| ---------------- |
| Date: 2013-07-21 |
| Author: Elmo Mäntynen |
| Subject: Added pin mapping list to docs, useful for porting |
| |
| |
| ---------------- |
| Date: 2013-07-21 |
| Author: Elmo Mäntynen |
| Subject: Make serial work with most chips by default |
| |
| |
| ---------------- |
| Date: 2013-05-16 |
| Author: 0xPIT |
| Subject: fix command line parameter for avr-size |
| |
| ---------------- |
| Date: 2013-04-05 |
| Author: Sonny Jeon |
| Subject: Updated readme |
| |
| |
| ---------------- |
| Date: 2013-04-05 |
| Author: Sonny Jeon |
| Subject: Increased g-code parser line buffer. Added line overflow feedback. |
| |
| - Increased g-code parser line buffer from 50 to 70 characters. Should |
| fix most all issues with long arc statements, provided that they are 8 |
| digits(float) long only. |
| |
| - Added a line buffer overflow feedback error to let the user know when |
| it encounters this problem. Resets the line whenever this occurs. |
| (Thanks @BHSPitMonkey!) |
| |
| |
| ---------------- |
| Date: 2013-04-05 |
| Author: Sonny Jeon |
| Subject: Updates to edge/dev. Line buffer increased/planner buffer decreased. Line overflow feedback. |
| |
| - Increased g-code parser line buffer to 70 characters (from 50) to |
| prevent some long arc commands from getting truncated. |
| |
| - Decreased planner buffer from 18 to 17 blocks to free up memory for |
| line buffer. |
| |
| - Added a line buffer overflow feedback error (Thanks @BHSPitMonkey!) |
| |
| |
| ---------------- |
| Date: 2013-03-28 |
| Author: Sonny Jeon |
| Subject: Minor updates to code and commenting. |
| |
| |
| ---------------- |
| Date: 2013-03-22 |
| Author: Sonny Jeon |
| Subject: Update README.md |
| |
| ---------------- |
| Date: 2013-03-21 |
| Author: Sonny Jeon |
| Subject: Untested! Soft limits, max travel, homing changes, new settings. |
| |
| - WARNING: Completely untested. Will later when there is time. Settings |
| WILL be overwritten, as there are new settings. |
| |
| - Soft limits installed. Homing must be enabled for soft limits to work |
| correctly. Errors out much like a hard limit, locking out everything |
| and bringing up the alarm mode. Only difference is it forces a feed |
| hold before doing so. Position is not lost. |
| |
| - IMPORTANT: Homing had to be updated so that soft limits work better |
| with less CPU overhead. When homing completes, all axes are assumed to |
| exist in negative space. If your limit switch is other side, the homing |
| cycle with set this axis location to the max travel value, rather than |
| zero. |
| |
| - Update mc_line() to accept an array, rather than individual variables. |
| |
| - Added an mc_auto_cycle_start() function handle this feature. |
| Organization only. |
| |
| - |
| |
| |
| ---------------- |
| Date: 2013-03-19 |
| Author: Sonny Jeon |
| Subject: Update README.md |
| |
| ---------------- |
| Date: 2013-03-19 |
| Author: Sonny Jeon |
| Subject: G-code updates for G10 L2 and L20 |
| |
| - Updated g-codes G10 L2 and G10 L20 to the new descriptions on |
| linuxcnc.org |
| |
| |
| ---------------- |
| Date: 2013-03-19 |
| Author: Sonny Jeon |
| Subject: G-code updates for G10 L2 and L20. |
| |
| - LinuxCNC's g-code definitions changed for G10. Updated to their |
| descriptions. |
| |
| |
| ---------------- |
| Date: 2013-03-13 |
| Author: Bertus Kruger |
| Subject: Update planner.c |
| |
| Removed inline from all functions.
|
|
|
| If this is really needed is there another way that we can get
|
| around using it? (The Arduino IDE does not recognize it) |
| |
| ---------------- |
| Date: 2013-03-13 |
| Author: Bertus Kruger |
| Subject: Update nuts_bolts.c |
| |
| Removed __floatunsisf and used normal casting on line 81.
|
| This makes it compatible with the Arduino IDE. |
| |
| ---------------- |
| Date: 2013-03-12 |
| Author: Sonny Jeon |
| Subject: Pushed minor changes. Thanks @Protoneer! |
| |
| |
| ---------------- |
| Date: 2013-03-12 |
| Author: Sonny Jeon |
| Subject: Merge pull request #200 from Protoneer/master |
| |
| Fixed small bug. |
| |
| ---------------- |
| Date: 2013-03-13 |
| Author: Bertus Kruger |
| Subject: Update gcode.c |
| |
| Removed the home_select variable. |
| |
| ---------------- |
| Date: 2013-03-13 |
| Author: Bertus Kruger |
| Subject: Update eeprom.h |
| |
| Fixed the function signature. |
| |
| ---------------- |
| Date: 2013-03-13 |
| Author: Bertus Kruger |
| Subject: Update eeprom.c |
| |
| Changed back |
| |
| ---------------- |
| Date: 2013-03-12 |
| Author: Bertus Kruger |
| Subject: Update gcode.c |
| |
| home_select defined out of scope. Moved it outside the switch
|
| so the rest of the switch can see it properly. |
| |
| ---------------- |
| Date: 2013-03-12 |
| Author: Bertus Kruger |
| Subject: Update eeprom.c |
| |
| Function eeprom_put_char's parameters did not align with the .h file. |
| |
| ---------------- |
| Date: 2013-03-01 |
| Author: Sonny Jeon |
| Subject: Bug fix to-do note on soft limit checks. Not yet completed. |
| |
| |
| ---------------- |
| Date: 2013-03-01 |
| Author: Sonny Jeon |
| Subject: Minor changes and added notes to soft limits routines. |
| |
| - Changed up mc_line to accept an array rather than individual x,y,z |
| coordinates. Makes some of the position data handling more effective, |
| especially for a 4th-axis later on. |
| |
| - Changed up some soft limits variable names. |
| |
| |
| ---------------- |
| Date: 2013-02-26 |
| Author: Sonny Jeon |
| Subject: Merge pull request #193 from bungao/soft_limts |
| |
| integrating soft limits |
| |
| ---------------- |
| Date: 2013-02-26 |
| Author: Jens Geisler |
| Subject: bugfix: uninitiallized curr_block->new_entry_speed_sqr lead to step loss |
| in some cases |
| |
| ---------------- |
| Date: 2013-02-26 |
| Author: bungao |
| Subject: integrating soft limits |
| |
| |
| ---------------- |
| Date: 2013-02-22 |
| Author: Sonny Jeon |
| Subject: Added some prelimary notes to new changes. |
| |
| |
| ---------------- |
| Date: 2013-02-22 |
| Author: Sonny Jeon |
| Subject: Push additional updates from @jgeisler0303 |
| |
| |
| ---------------- |
| Date: 2013-02-22 |
| Author: Jens Geisler |
| Subject: changed atomic access for updating the acceleration profile |
| the stepper interrupt is only halted when necessary and for the shortest |
| time possible (8% cycle time) |
| |
| ---------------- |
| Date: 2013-02-20 |
| Author: Sonny Jeon |
| Subject: Merge pull request #188 from jgeisler0303/new_planner |
| |
| New planner commits merge into dev branch. |
| |
| ---------------- |
| Date: 2013-02-20 |
| Author: Sonny Jeon |
| Subject: Update README.md |
| |
| ---------------- |
| Date: 2013-02-20 |
| Author: Jens Geisler |
| Subject: added counter for planner steps |
| |
| ---------------- |
| Date: 2013-02-20 |
| Author: Jens Geisler |
| Subject: implemented a mixture of Sonny's MATLAB and my previous grbl planner |
| ontop of the edge planner |
| examples run byte for byte identical old and new version |
| |
| ---------------- |
| Date: 2013-01-18 |
| Author: Sonny Jeon |
| Subject: Merge pull request #169 from silasb/fix-execute-bit-on-files |
| |
| Removing executable bit on the files |
| |
| ---------------- |
| Date: 2013-01-18 |
| Author: Sonny Jeon |
| Subject: Merge bug fixes from recent v0.8c push. Added readme for Grbl Sim. |
| |
| |
| ---------------- |
| Date: 2013-01-18 |
| Author: Sonny Jeon |
| Subject: Merge pull request #167 from tmpvar/simulator-mac |
| |
| Fix sim makefile so it works on mac |
| |
| ---------------- |
| Date: 2013-01-18 |
| Author: Elijah Insua |
| Subject: Fix sim makefile so it works on mac |
| |
| These changes include a path separator fix and the removal of --gc-sections which causes ld failures, and is not needed on a pc. |
| |
| This patch also changes how a compiler is selected. The makefile will now select the system compiler , which should work fine |
| under mingw and linux. |
| |
| |
| ---------------- |
| Date: 2013-01-17 |
| Author: Silas Baronda |
| Subject: Removing executable bit on the files |
| |
| |
| ---------------- |
| Date: 2013-01-17 |
| Author: Sonny Jeon |
| Subject: Merge pull request #112 from jgeisler0303/simulator |
| |
| Grbl Simulator. Oh yeah. |
| |
| ---------------- |
| Date: 2013-01-17 |
| Author: Jens Geisler |
| Subject: relaunch ontop of latest grbl edge |
| code very messy but tested |
| |
| ---------------- |
| Date: 2013-01-09 |
| Author: Sonny Jeon |
| Subject: Merge pull request #160 from daapp/edge |
| |
| Replace some constants with N_AXIS. |
| |
| ---------------- |
| Date: 2013-01-10 |
| Author: Alexander Danilov |
| Subject: Replace some constants with N_AXIS. |
| |
| |
| ---------------- |
| Date: 2013-01-06 |
| Author: Sonny Jeon |
| Subject: Fixed bug with homing and polling at the same time. Updated readme. |
| |
| |
| ---------------- |
| Date: 2013-01-06 |
| Author: Sonny Jeon |
| Subject: Minor changes. |
| |
| - Changed some names up and removed a plan_reset() function that is |
| never used. |
| |
| |
| ---------------- |
| Date: 2012-12-21 |
| Author: Sonny Jeon |
| Subject: Readme link to edge build 2012-12-21 |
| |
| |
| ---------------- |
| Date: 2012-12-21 |
| Author: Sonny Jeon |
| Subject: Updated README. Max step rate back at 30kHz. Acceleration minor bug fix. |
| |
| - Returned the max step rate to 30kHz. The new arc algorithm works uses |
| so much less CPU overhead, because the segments are longer, that the |
| planner has no problem computing through them. |
| |
| - Fixed an issue with the acceleration independence scaling. Should now |
| work with accelerations above 400mm/sec^2 or so. |
| |
| - Updated README |
| |
| |
| ---------------- |
| Date: 2012-12-19 |
| Author: Sonny Jeon |
| Subject: Arc mm_per_segment removed, now in terms of tolerance. Stepper ramp counter variable type corrected. |
| |
| - Arc mm_per_segment parameter was removed and replaced with an |
| arc_tolerance parameter, which scales all arc segments automatically to |
| radius, such that the line segment error doesn't exceed the tolerance. |
| Significantly improves arc performance through larger radius arc, |
| because the segments are much longer and the planner buffer has more to |
| work with. |
| |
| - Moved n_arc correction from the settings to config.h. Mathematically |
| this doesn't need to be a setting anymore, as the default config value |
| will work for all known CNC applications. The error does not accumulate |
| as much anymore, since the small angle approximation used by the arc |
| generation has been updated to a third-order approximation and how the |
| line segment length scale with radius and tolerance now. Left in |
| config.h for extraneous circumstances. |
| |
| - Corrected the st.ramp_count variable (acceleration tick counter) to a |
| 8-bit vs. 32-bit variable. Should make the stepper algorithm just a |
| touch faster overall. |
| |
| |
| ---------------- |
| Date: 2012-12-16 |
| Author: Sonny Jeon |
| Subject: Slow trailing steps fix. Added more defaults. |
| |
| - Fixed an issue (hopefully) with slow trailing steps after a |
| triangular velocity profile move. Sets the trapezoid tick cycle counter |
| to the correct value for an accurate reproduction of the deceleration |
| curve. Keeps it from arriving too early to the target position, which |
| causes the slow trailing steps. |
| |
| - Added Zen Toolworks 7x7 to default settings. |
| |
| - Updated readme with new edge build. |
| |
| |
| ---------------- |
| Date: 2012-12-16 |
| Author: Sonny Jeon |
| Subject: Max velocity axes independence installed. Fixed intermittent slow trailing steps. Timer0 disable fix. |
| |
| - Maximum velocity for each axis is now configurable in settings. All |
| rapids/seek move at these maximums. All feed rates(including rapids) |
| may be limited and scaled down so that no axis does not exceed their |
| limits. |
| |
| - Moved around auto-cycle start. May change later, but mainly to ensure |
| the planner buffer is completely full before cycle starting a streaming |
| program. Otherwise it should auto-start when there is a break in the |
| serial stream. |
| |
| - Reverted old block->max_entry_speed_sqr calculations. Feedrate |
| overrides not close to ready at all. |
| |
| - Fixed intermittent slow trailing steps for some triangle velocity |
| profile moves. The acceleration tick counter updating was corrected to |
| be exact for that particular transition. Should be ok for normal |
| trapezoidal profiles. |
| |
| - Fixed the Timer0 disable after a step pulse falling edge. Thanks |
| @blinkenlight! |
| |
| |
| ---------------- |
| Date: 2012-12-14 |
| Author: Sonny Jeon |
| Subject: Acceleration independence installed. Initial re-work of planner for feedrate overrides. |
| |
| NOTE: This push is a work-in-progress and there are known bugs that |
| need to be fixed, like homing acceleration being incompatible. Released |
| for testing. Settings will definitely be overwritten, as new settings |
| were needed. |
| |
| - Acceleration independence installed in planner. Each axis can now |
| have different accelerations and Grbl will maximize the accelerations |
| depending on the direction its moving. Very useful for users like on |
| the ShapeOko with vastly different Z-axis properties. |
| |
| - More planner optimizations and re-factoring. Slightly improved some |
| of the older calculations, but new acceleration calculations offset |
| these improvements. Overall no change in processing speed. |
| |
| - Removed planner nominal length checks. It was arguable whether or not |
| this improved planner efficiency, especially in the worst case scenario |
| of arcs. |
| |
| - Updated readme and changed to markdown format. |
| |
| |
| ---------------- |
| Date: 2012-12-12 |
| Author: Sonny Jeon |
| Subject: Update README.md |
| |
| ---------------- |
| Date: 2012-12-12 |
| Author: Sonny Jeon |
| Subject: Changed README to markdown |
| |
| |
| ---------------- |
| Date: 2012-12-12 |
| Author: Sonny Jeon |
| Subject: Added download links to README. |
| |
| |
| ---------------- |
| Date: 2012-12-12 |
| Author: Sonny Jeon |
| Subject: Moved compiled builds to different repo. |
| |
| |
| ---------------- |
| Date: 2012-12-11 |
| Author: Sonny Jeon |
| Subject: Added builds folder. |
| |
| Because the Downloads section has been removed, added a builds folder |
| for users to download pre-compiled firmware without needing to compile |
| it themselves. |
| |
| |
| ---------------- |
| Date: 2012-12-11 |
| Author: Sonny Jeon |
| Subject: Added builds folder. |
| |
| In light of the downloads section in Github being removed, added a |
| builds folder for all of the .hex files. Hopefully these won't be |
| removed either. |
| |
| |
| ---------------- |
| Date: 2012-12-11 |
| Author: Sonny Jeon |
| Subject: Planner optimizations. |
| |
| - Improved planner execution speed by 5% or more. Re-factored most of |
| the calculations in terms of the square of velocity. This removed a lot |
| of sqrt() calculations for every planner_recalculate. |
| |
| |
| ---------------- |
| Date: 2012-12-10 |
| Author: Sonny Jeon |
| Subject: (Another) Planner bug fix. |
| |
| - Oops again. Thought the new planner changes made things much better, |
| but there was a bug. Improvements we on the order of 20% execution time |
| reduction, rather than half. The increase to 30kHz Ranade timer |
| frequency also increased the overall overhead, so the total planner |
| change? Zero. But, it's still better. |
| |
| |
| ---------------- |
| Date: 2012-12-10 |
| Author: Sonny Jeon |
| Subject: Planner bug fix. |
| |
| - Oops! Misplace an if-then statement. Should work as advertised now. |
| (Hopefully) |
| |
| |
| ---------------- |
| Date: 2012-12-10 |
| Author: Sonny Jeon |
| Subject: Planner execution time halved and bug fixes. Increased step rate limit to 30kHz. |
| |
| - Planner execute speed has been more than halved from 4ms to 1.9ms |
| when computing a plan for a single line segment during arc generation. |
| This means that Grbl can now run through an arc (or complex curve) |
| twice as fast as before without starving the buffer. For 0.1mm arc |
| segments, this means about the theoretical feed rate limit is about |
| 3000mm/min for arcs now. |
| |
| - Increased the Ranade timer frequency to 30kHz, as there doesn't seem |
| to be any problems with increasing the frequency. This means that the |
| maximum step frequency is now back at 30kHz. |
| |
| - Added Zen Toolworks 7x7 defaults. |
| |
| |
| ---------------- |
| Date: 2012-12-08 |
| Author: Sonny Jeon |
| Subject: New stepper algorithm. Optimized planner. |
| |
| - Brand-new stepper algorithm. Based on the Pramod Ranade inverse time |
| algorithm, but modified to ensure step events are exact. Currently |
| limited to about 15kHz step rates, much more to be done to enable 30kHz |
| again. |
| |
| - Removed Timer1. Stepper algorithm now uses Timer0 and Timer2. |
| |
| - Much improved step generation during accelerations. Smoother. Allows |
| much higher accelerations (and speeds) than before on the same machine. |
| |
| - Cleaner algorithm that is more easily portable to other CPU types. |
| |
| - Streamlined planner calculations. Removed accelerate_until and |
| final_rate variables from block buffer since the new stepper algorithm |
| is that much more accurate. |
| |
| - Improved planner efficiency by about 15-20% during worst case |
| scenarios (arcs). |
| |
| - New config.h options to tune new stepper algorithm. |
| |