Commit history, logo license, full-arc fix.
- Commit history added to repo, as an easier way for people to see view the changes over time. - Grbl logo copyright license added. All rights reserved with regards to the Grbl logo. - G2/3 full circles would sometime not execute. The problem was due to numerical round-off of a trig calculation. Added a machine epsilon define to help detect and correct for this problem. Tested and should not effect general operation of arcs.
@ -1,4 +1,4 @@
|
|||||||
![GitHub Logo](/doc/logo/Grbl Logo 250px.png)
|
![GitHub Logo](/doc/media/Grbl Logo 250px.png)
|
||||||
|
|
||||||
|
|
||||||
***
|
***
|
||||||
@ -27,8 +27,8 @@ Grbl includes full acceleration management with look ahead. That means the contr
|
|||||||
***
|
***
|
||||||
|
|
||||||
_**Master Branch:**_
|
_**Master Branch:**_
|
||||||
* [Grbl v0.9i Atmega328p 16mhz 115200baud with generic defaults](http://bit.ly/1EiviDk) _(2015-03-15)_
|
* [Grbl v0.9i Atmega328p 16mhz 115200baud with generic defaults](http://bit.ly/1EiviDk) _(2015-03-29)_
|
||||||
* [Grbl v0.9i Atmega328p 16mhz 115200baud with ShapeOko2 defaults](http://bit.ly/1NYIfKl) _(2015-03-15)_
|
* [Grbl v0.9i Atmega328p 16mhz 115200baud with ShapeOko2 defaults](http://bit.ly/1NYIfKl) _(2015-03-29)_
|
||||||
- **IMPORTANT INFO WHEN UPGRADING TO GRBL v0.9i:**
|
- **IMPORTANT INFO WHEN UPGRADING TO GRBL v0.9i:**
|
||||||
- Baudrate is now **115200** (Up from 9600).
|
- Baudrate is now **115200** (Up from 9600).
|
||||||
- Variable spindle is now enabled by default. Z-limit(D12) and spindle enable(D11) have switched to access the hardware PWM on D11. Homing will not work if you do not re-wire your Z-limit switch to D12.
|
- Variable spindle is now enabled by default. Z-limit(D12) and spindle enable(D11) have switched to access the hardware PWM on D11. Homing will not work if you do not re-wire your Z-limit switch to D12.
|
||||||
|
433
doc/log/commit_log_v0.7.txt
Normal file
@ -0,0 +1,433 @@
|
|||||||
|
----------------
|
||||||
|
Date: 2012-01-17
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Update readme.textile
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-01-17
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Merge pull request #47 from chamnit/v0_7
|
||||||
|
|
||||||
|
Merging chamnit/v0_7 to grbl/master
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-01-17
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Merge chamnit/v0_7 with grbl/master
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-01-17
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Update readme.textile
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-01-17
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Merge pull request #39 from chamnit/edge
|
||||||
|
|
||||||
|
Merging chamnit/grbl edge v0.8a to grbl/grbl edge
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-01-15
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Propagated premature step end bug fix from the edge branch. Updated printFloat() function.
|
||||||
|
|
||||||
|
- Will not be uploading a hex build of this, unless asked.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-01-15
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Fix bug with premature step end. Refactored _delay_ms() and square() for better portability.
|
||||||
|
|
||||||
|
- Fixed a premature step end bug dating back to Simen's 0.7b edge
|
||||||
|
version is fixed, from which this code is forked from. Caused by Timer2
|
||||||
|
constantly overflowing calling the Step Reset Interrupt every 128usec.
|
||||||
|
Now Timer2 is always disabled after a step end and should free up some
|
||||||
|
cycles for the main program. Could be more than one way to fix this
|
||||||
|
problem. I'm open to suggestions.
|
||||||
|
|
||||||
|
- _delay_ms() refactored to accept only constants to comply with
|
||||||
|
current compilers. square() removed since not available with some
|
||||||
|
compilers.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-01-10
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Extended position reporting with both home and work coordinates. Home position now retained after reset. Other minor changes/fixes.
|
||||||
|
|
||||||
|
- Grbl now tracks both home and work (G92) coordinate systems and does
|
||||||
|
live updates when G92 is called.
|
||||||
|
- Rudimentary home and work position status reporting. Works but still
|
||||||
|
under major construction.
|
||||||
|
- Updated the main streaming script. Has a disabled periodic timer for
|
||||||
|
querying status reports, disabled only because the Python timer doesn't
|
||||||
|
consistently restart after the script exits. Add here only for user
|
||||||
|
testing.
|
||||||
|
- Fixed a bug to prevent an endless serial_write loop during status
|
||||||
|
reports.
|
||||||
|
- Refactored the planner variables to make it more clear what they are
|
||||||
|
and make it easier for clear them.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-01-09
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Corrected a minor streaming script character counting bug.
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-01-09
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Updated line in streaming script.
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-01-06
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Position reporting, refactored system variables, serial print fixes, updated streaming scripts.
|
||||||
|
|
||||||
|
- Added machine position reporting to status queries. This will be
|
||||||
|
further developed with part positioning/offsets and maintaining
|
||||||
|
location upon reset.
|
||||||
|
|
||||||
|
- System variables refactored into a global struct for better
|
||||||
|
readability.
|
||||||
|
|
||||||
|
- Removed old obsolete Ruby streaming scripts. These were no longer
|
||||||
|
compatible. Updated Python streaming scripts.
|
||||||
|
|
||||||
|
- Fixed printFloat() and other printing functions.
|
||||||
|
|
||||||
|
- Decreased planner buffer back to 18 blocks and increased TX serial
|
||||||
|
buffer to 64 bytes. Need the memory space for future developments.
|
||||||
|
|
||||||
|
- Begun adding run-time modes to grbl, where block delete toggle, mm/in
|
||||||
|
reporting modes, jog modes, etc can be set during runtime. Will be
|
||||||
|
fleshed out and placed into EEPROM when everything is added.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2011-12-10
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Various minor updates and variable definition corrections. Removed deprecated acceleration manager.
|
||||||
|
|
||||||
|
- Removed deprecated acceleration manager (non-functional since v0.7b)
|
||||||
|
- Updated variable types and function headers. - Updated stepper
|
||||||
|
interrupt to ISR() from SIGNAL()+sei(). - General code cleanup.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2011-12-08
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Initial v0.8 ALPHA commit. Features multi-tasking run-time command execution (feed hold, cycle start, reset, status query). Extensive re-structuring of code for future features.
|
||||||
|
|
||||||
|
- ALPHA status. - Multitasking ability with run-time command executions
|
||||||
|
for real-time control and feedback. - Decelerating feed hold and resume
|
||||||
|
during operation. - System abort/reset, which immediately kills all
|
||||||
|
movement and re-initializes grbl. - Re-structured grbl to easily allow
|
||||||
|
for new features: Status reporting, jogging, backlash compensation. (To
|
||||||
|
be completed in the following releases.) - Resized TX/RX serial buffers
|
||||||
|
(32/128 bytes) - Increased planner buffer size to 20 blocks. - Updated
|
||||||
|
documentation.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2011-11-19
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Updated README and reordered branch versions.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2011-11-19
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Re-ordered stepper idle function to first disable interrupt.
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2011-11-11
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Corrected clearing of target and position variable for the go home routine. Thanks Jens!
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2011-10-11
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Delete a new work file shouldn't have been synced.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2011-10-11
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: 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.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2011-10-07
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Forgot something! Comments on what the last change does.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2011-10-06
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: 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.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2011-09-29
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: 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.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2011-09-25
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: 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.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2011-09-24
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: 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.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2011-09-18
|
||||||
|
Author: Sonny J
|
||||||
|
Subject: Fixed minor bugs in planner. Increased max dwell time. Long slope bug stop-gap solution note.
|
||||||
|
|
||||||
|
- Fixed the planner TODO regarding minimum nominal speeds. Re-arranged
|
||||||
|
calculations to be both more efficient and guaranteed to be greater
|
||||||
|
than zero. - Missed a parenthesis location on the rate_delta
|
||||||
|
calculation. Should fix a nearly in-perceptible issue with incorrect
|
||||||
|
acceleration ramping in diagonal directions. - Increased maximum dwell
|
||||||
|
time from 6.5sec to an 18hour max. A crazy amount more, but that's how
|
||||||
|
the math works out. - Converted the internal feedrate values to mm/min
|
||||||
|
only, as it was switching between mm/min to mm/sec and back to mm/min.
|
||||||
|
Also added a feedrate > 0 check in gcode.c. - Identified the long slope
|
||||||
|
at the end of rapid de/ac-celerations noted by stephanix. Problem with
|
||||||
|
the numerical integration truncation error between the exact solution
|
||||||
|
of estimate_acceleration_distance and how grbl actually performs the
|
||||||
|
acceleration ramps discretely. Increasing the
|
||||||
|
ACCELERATION_TICKS_PER_SECOND in config.h helps fix this problem.
|
||||||
|
Investigating further.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2011-09-15
|
||||||
|
Author: Sonny J
|
||||||
|
Subject: More '%' modulo opertor removals and some housecleaning.
|
||||||
|
|
||||||
|
- Serial functions contained quite a few modulo operations that would
|
||||||
|
be executed with high frequency when streaming. AVR processors are very
|
||||||
|
slow when operating these. In one test on the Arduino forums, it showed
|
||||||
|
about a 15x slow down compared to a simple if-then statement. -
|
||||||
|
Clarified some variable names and types and comments.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2011-09-13
|
||||||
|
Author: Sonny J
|
||||||
|
Subject: Further planner improvements and misc minor bug fixes. Memory savings and increased buffer size.
|
||||||
|
|
||||||
|
- Update grbl version and settings version to automatically reset
|
||||||
|
eeprom. FYI, this will reset your grbl settings. - Saved
|
||||||
|
3*BLOCK_BUFFER_SIZE doubles in static memory by removing obsolete
|
||||||
|
variables: speed_x, speed_y, and speed_z. - Increased buffer size
|
||||||
|
conservatively to 18 from 16. (Probably can do 20). - Removed expensive!
|
||||||
|
modulo operator from block indexing function. Reduces significant
|
||||||
|
computational overhead. - Re-organized some sqrt() calls to be more
|
||||||
|
efficient during time critical planning cases, rather than non-time
|
||||||
|
critical. - Minor bug fix in planner max junction velocity logic. -
|
||||||
|
Simplified arc logic and removed need to multiply for CW or CCW
|
||||||
|
direction.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2011-09-06
|
||||||
|
Author: Sonny J
|
||||||
|
Subject: Optimized planner re-write. Significantly faster. Full arc support enabled by rotation matrix approach.
|
||||||
|
|
||||||
|
- Significant improvements in the planner. Removed or reordered
|
||||||
|
repetitive and expensive calculations by order of importance:
|
||||||
|
recalculating unchanged blocks, trig functions [sin(), cos(), tan()],
|
||||||
|
sqrt(), divides, and multiplications. Blocks long enough for nominal
|
||||||
|
speed to be guaranteed to be reached ignored by planner. Done by
|
||||||
|
introducing two uint8_t flags per block. Reduced computational overhead
|
||||||
|
by an order of magnitude. - Arc motion generation completely
|
||||||
|
re-written and optimized. Now runs with acceleration planner. Removed
|
||||||
|
all but one trig function (atan2) from initialization. Streamlined
|
||||||
|
computations. Segment target locations generated by vector
|
||||||
|
transformation and small angle approximation. Arc path correction
|
||||||
|
implemented for accumulated error of approximation and single precision
|
||||||
|
calculation of Arduino. Bug fix in message passing.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2011-09-04
|
||||||
|
Author: Sonny J
|
||||||
|
Subject: Minor update for memory savings in ring buffer and fleshed out commenting.
|
||||||
|
|
||||||
|
No changes in functionality. Path vectors moved from ring buffer to
|
||||||
|
local planner static variables to save 3*(BUFFER_SIZE - 1) doubles in
|
||||||
|
memory. Detailed comments. Really need to stop micro-updating. Should be
|
||||||
|
the last until a planner optimization (ala Jens Geisler) has been
|
||||||
|
completed.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2011-09-04
|
||||||
|
Author: Sonny J
|
||||||
|
Subject: More minor bug fixes in planner.
|
||||||
|
|
||||||
|
Reverse planner was over-writing the initial/buffer tail entry speed,
|
||||||
|
which reset the forward planner and caused it to lose track of its
|
||||||
|
speed. Should now accelerate into short linear segments much nicer now.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2011-09-03
|
||||||
|
Author: Sonny J
|
||||||
|
Subject: Minor bug fixes in planner.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2011-09-03
|
||||||
|
Author: Sonny J
|
||||||
|
Subject: Add G02/03 arc conversion/pre-processor script and example streaming script
|
||||||
|
|
||||||
|
Beta pre-processor script used to clean and streamline g-code for
|
||||||
|
streaming and converts G02/03 arcs into linear segments. Allows for full
|
||||||
|
acceleration support if the pre-processed g-code is then streamed to
|
||||||
|
grill, sans G02/03 arcs. Added a simple example streaming script for
|
||||||
|
Python users.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2011-09-03
|
||||||
|
Author: Sonny J
|
||||||
|
Subject: Significantly improved junction control and fixed computation bugs in planner
|
||||||
|
|
||||||
|
- Junction jerk now re-defined as junction_deviation. The distance from
|
||||||
|
the junction to the edge of a circle tangent to both previous and
|
||||||
|
current path lines. The circle radii is used to compute the maximum
|
||||||
|
junction velocity by centripetal acceleration. More robust and
|
||||||
|
simplified way to compute jerk. - Fixed bugs related to entry and exit
|
||||||
|
factors. They were computed based on the current nominal speeds but not
|
||||||
|
when computing exit factors for neighboring blocks. Removed factors and
|
||||||
|
replaced with entry speeds only. Factors now only computed for stepper
|
||||||
|
trapezoid rate conversions. - Misc: Added min(), next_block_index,
|
||||||
|
prev_block_index functions for clarity.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2011-08-15
|
||||||
|
Author: Sonny J
|
||||||
|
Subject: Moved comment and block delete handling into protocol.c from gcode.c. Fixes bug when comment and block delete are not isolated. Blank lines ignored.
|
||||||
|
|
||||||
|
Comments, block delete characters, and blank lines are no longer passed
|
||||||
|
to the gcode parser and should free up some memory by ignoring these
|
||||||
|
characters. Gcode parser now expects clean gcode only. There was a bug
|
||||||
|
if there were block deletes or comments not in the first character (i.e.
|
||||||
|
spindle on/off for proofing geode without turning it on, or a NXX
|
||||||
|
followed by a comment). This should fix it by bypassing the problem.
|
||||||
|
Left a commented line for easily turning on and off block deletes for a
|
||||||
|
later feature, if desired.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2011-08-15
|
||||||
|
Author: Sonny J
|
||||||
|
Subject: Revert ea5b8942db2616e93fc0478922010c3bab7c0481^..HEAD
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2011-08-15
|
||||||
|
Author: Sonny J
|
||||||
|
Subject: Moved comment and block delete handling into protocol.c from gcode.c. Fixes bug when comment and block delete are not isolated. Blank lines ignored.
|
||||||
|
|
||||||
|
Comments, block delete characters, and blank lines are no longer passed
|
||||||
|
to the gcode parser and should free up some memory by ignoring these
|
||||||
|
characters. Gcode parser now expects clean gcode only. There was a bug
|
||||||
|
if there were block deletes or comments not in the first character (i.e.
|
||||||
|
spindle on/off for proofing geode without turning it on, or a NXX
|
||||||
|
followed by a comment). This should fix it by bypassing the problem.
|
||||||
|
Left a commented line for easily turning on and off block deletes for a
|
||||||
|
later feature, if desired.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2011-08-15
|
||||||
|
Author: Sonny J
|
||||||
|
Subject: Revert 517a0f659a06182c89cafe27ee371edccad777a4^..HEAD
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2011-08-15
|
||||||
|
Author: Sonny J
|
||||||
|
Subject: Revert "Moved comment and block delete handling to be done in protocol.c rather than gcode.c. Prevents these from being held in memory. Also, fixes bug when comments and block delete character are mixed with g-code."
|
||||||
|
|
||||||
|
This reverts commit ea5b8942db2616e93fc0478922010c3bab7c0481.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2011-08-15
|
||||||
|
Author: Sonny J
|
||||||
|
Subject: Revert fdc90f1821f1f5edb7756fcddce75b4b4fbf6bbf^..HEAD
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2011-08-15
|
||||||
|
Author: chamnit
|
||||||
|
Subject: Removed comment and block delete handling from gcode.c. Parser expects clean gcode.
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2011-08-15
|
||||||
|
Author: chamnit
|
||||||
|
Subject: Moved comment and block delete handling to be done in protocol.c rather than gcode.c. Prevents these from being held in memory. Also, fixes bug when comments and block delete character are mixed with g-code.
|
831
doc/log/commit_log_v0.8c.txt
Normal file
@ -0,0 +1,831 @@
|
|||||||
|
----------------
|
||||||
|
Date: 2012-11-25
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: G28/G30 post move bug fix. Altered file permissions.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-11-25
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: G28/G30 post move bug fix.
|
||||||
|
|
||||||
|
- Fixed a bug when after moving to a pre-defined position G28/G30, the
|
||||||
|
next move would go someplace unexpected. The g-code parser position
|
||||||
|
vector wasn't getting updated.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-11-20
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Merge error fix.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-11-20
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Merge v0.8 edge to master
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-11-19
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Updated interface protocol. Fixed M2 bug.
|
||||||
|
|
||||||
|
- Updated interface protocol to play nicer with interface programs. All
|
||||||
|
Grbl responses beginning with '$' signifies a setting. Bracketed '[]'
|
||||||
|
responses are feedback messages containing either state, parameter, or
|
||||||
|
general messages. Chevron '<>' response are from the real-time status
|
||||||
|
messages, i.e. position.
|
||||||
|
|
||||||
|
- M2 Program end command was causing a system alarm. Fixed. Thanks
|
||||||
|
@blinkenlight !
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-11-18
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Updated readme
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-11-18
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Homing search sequence now compile-time option. New defaults.h file. Tidying up.
|
||||||
|
|
||||||
|
- The homing sequence is now a compile-time option, where a user can
|
||||||
|
choose which axes(s) move in sequence during the search phase. Up to 3
|
||||||
|
sequences. Works with the locating phase and the pull-off maneuver.
|
||||||
|
|
||||||
|
- New defaults.h file to store user generated default settings for
|
||||||
|
different machines. Mainly to be used as a central repo, but each set
|
||||||
|
may be select to be compiled in as a config.h define.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-11-15
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Added Grbl state in status report. Removed switch support.
|
||||||
|
|
||||||
|
- Added Grbl state (Idle, Running, Queued, Hold, etc) to the real-time
|
||||||
|
status reporting feature as feedback to the user of what Grbl is doing.
|
||||||
|
Updated the help message to reflect this change.
|
||||||
|
|
||||||
|
- Removed switches (dry run, block delete, single block mode). To keep
|
||||||
|
Grbl simple and not muddled up from things that can easily be taken
|
||||||
|
care of by an external interface, these were removed.
|
||||||
|
|
||||||
|
- Check g-code mode was retained, but the command was moved to '$C'
|
||||||
|
from '$S0'.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-11-14
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Re-factored system states and alarm management. Serial baud support greater than 57600.
|
||||||
|
|
||||||
|
- Refactored system states to be more clear and concise. Alarm locks
|
||||||
|
processes when position is unknown to indicate to user something has
|
||||||
|
gone wrong.
|
||||||
|
|
||||||
|
- Changed mc_alarm to mc_reset, which now manages the system reset
|
||||||
|
function. Centralizes it.
|
||||||
|
|
||||||
|
- Renamed '$X' kill homing lock to kill alarm lock.
|
||||||
|
|
||||||
|
- Created an alarm error reporting method to clear up what is an alarm:
|
||||||
|
message vs a status error: message. For GUIs mainly. Alarm codes are
|
||||||
|
negative. Status codes are positive.
|
||||||
|
|
||||||
|
- Serial baud support upto 115200. Previous baudrate calc was unstable
|
||||||
|
for 57600 and above.
|
||||||
|
|
||||||
|
- Alarm state locks out all g-code blocks, including startup scripts,
|
||||||
|
but allows user to access settings and internal commands. For example,
|
||||||
|
to disable hard limits, if they are problematic.
|
||||||
|
|
||||||
|
- Hard limits do not respond in an alarm state.
|
||||||
|
|
||||||
|
- Fixed a problem with the hard limit interrupt during the homing
|
||||||
|
cycle. The interrupt register is still active during the homing cycle
|
||||||
|
and still signal the interrupt to trigger when re-enabled. Instead,
|
||||||
|
just disabled the register.
|
||||||
|
|
||||||
|
- Homing rate adjusted. All axes move at homing seek rate, regardless
|
||||||
|
of how many axes move at the same time. This is unlike how the stepper
|
||||||
|
module does it as a point to point rate.
|
||||||
|
|
||||||
|
- New config.h settings to disable the homing rate adjustment and the
|
||||||
|
force homing upon powerup.
|
||||||
|
|
||||||
|
- Reduced the number of startup lines back down to 2 from 3. This
|
||||||
|
discourages users from placing motion block in there, which can be very
|
||||||
|
dangerous.
|
||||||
|
|
||||||
|
- Startup blocks now run only after an alarm-free reset or after a
|
||||||
|
homing cycle. Does not run when $X kill is called. For satefy reasons
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-11-10
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Tweaks. Seek rate updates when set. CCW arc full circle fix.
|
||||||
|
|
||||||
|
- Fixed a minor issue where the seek rates would not immediately be
|
||||||
|
used and only would after a reset. Should update live now.
|
||||||
|
|
||||||
|
- A full circle IJ offset CCW arc would not do anything. Fixed bug via
|
||||||
|
a simple if-then statement.
|
||||||
|
|
||||||
|
- Radius mode tweaks to check for negative value in sqrt() rather than
|
||||||
|
isnan() it. Error report updated to indicate what actually happened.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-11-09
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Added note that D13 can't be used as input, pulled-high.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-11-09
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Fixed homing cycle hanging after locating switches.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-11-08
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Housekeeping.
|
||||||
|
|
||||||
|
- Added some more notes to config.h.
|
||||||
|
|
||||||
|
- Added the ability to override some of the #defines around Grbl in
|
||||||
|
config.h, like planner buffer size, line buffer size, serial
|
||||||
|
send/receive buffers. Mainly to centralize the configurations to be
|
||||||
|
able to port to different microcontrollers later.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-11-08
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Sanguino compile patch
|
||||||
|
|
||||||
|
@daapp : Sanguino compile serial USART path. Thanks!
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-11-07
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: More tweaks. Removed dry run. Trimmed all messages to save flash space.
|
||||||
|
|
||||||
|
- Removed the dry run switch. It was getting overly complicated for
|
||||||
|
what it needed to do. In practice, single block mode and feed rate
|
||||||
|
overrides (coming in next release) does a much better job with dry runs
|
||||||
|
than 'dry run'.
|
||||||
|
|
||||||
|
- Trimmed all of Grbl's messages from help, status, feedback to
|
||||||
|
settings. Saved 0.6KB+ of flash space that could be used for v0.9
|
||||||
|
features.
|
||||||
|
|
||||||
|
- Removed some settings inits when set. Will depend on user to power
|
||||||
|
cycle to get some of these to reload.
|
||||||
|
|
||||||
|
- Fixed a bug with settings version not re-writing old settings, when
|
||||||
|
it should. Thanks Alden!
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-11-06
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Merge pull request #132 from hin/header_dependencies
|
||||||
|
|
||||||
|
Header dependencies
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-11-05
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Tweaks and bug fixes. Increase to 3 startup blocks. Remove purge/added unlock command
|
||||||
|
|
||||||
|
- Increased the number of startup blocks to 3 for no good reason other
|
||||||
|
than it doesn't increase the flash size.
|
||||||
|
|
||||||
|
- Removed the purge buffer command and replaced with an disable homing
|
||||||
|
lock command.
|
||||||
|
|
||||||
|
- Homing now blocks all g-code commands (not system commands) until the
|
||||||
|
homing cycle has been performed or the disable homing lock is sent.
|
||||||
|
Homing is required upon startup or if Grbl loses it position. This is
|
||||||
|
for safety reasons.
|
||||||
|
|
||||||
|
- Cleaned up some of the Grbl states and re-organized it to be little
|
||||||
|
more cohesive.
|
||||||
|
|
||||||
|
- Cleaned up the feedback and status messages to not use so much flash
|
||||||
|
space, as it's a premium now.
|
||||||
|
|
||||||
|
- Check g-code and dry run switches how are mutually exclusive and
|
||||||
|
can't be enabled when the other is. And automatically resets Grbl when
|
||||||
|
disabled.
|
||||||
|
|
||||||
|
- Some bug fixes and other minor tweaks.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-11-05
|
||||||
|
Author: Hans Insulander
|
||||||
|
Subject: Ignore dependency files
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-11-05
|
||||||
|
Author: Hans Insulander
|
||||||
|
Subject: Generate header dependencies and use them in Makefile
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-11-05
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Tweaked dry run and check g-code switches. Now resets when toggled off.
|
||||||
|
|
||||||
|
- To make managing the code easier and to help ensure a user starts
|
||||||
|
with a fresh reset, the functionality of check g-code and dry run has
|
||||||
|
been changed to automatically perform a soft reset when toggled off.
|
||||||
|
Position will not be lost, unless there is a cycle active. Feed hold
|
||||||
|
before toggling off it needed.
|
||||||
|
|
||||||
|
This is mainly a safety issue. If a user dry runs a program and kills
|
||||||
|
it mid-program, and then restarts it thinking to run it as normal, the
|
||||||
|
g-code modes that we're set may not be what they expect, and very bad
|
||||||
|
things can happen.
|
||||||
|
|
||||||
|
- NOTE: Grbl is at 83.5% of flash capacity. Not a lot of room left, but
|
||||||
|
I think we can squeeze in some more!
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-11-04
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Runtime command pinned out! Re-organized coolant pins.
|
||||||
|
|
||||||
|
- Pinned out cycle start(A2), feed hold(A1), and reset(A0) runtime
|
||||||
|
commands. These pins are held high with the internal pull-up resistor
|
||||||
|
enabled. All you have to do is connect a normally-open switch to the
|
||||||
|
pin and ground. That's it.
|
||||||
|
|
||||||
|
- Moved the coolant control pins to A3 (and the optional mist control
|
||||||
|
to A4).
|
||||||
|
|
||||||
|
- Moved all of the MASK defines into the config.h file to centralize
|
||||||
|
them.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-11-04
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Tweaks and minor bug fixes. Added purge buffer command.
|
||||||
|
|
||||||
|
- Added a purge buffer (and lock) command. This is an advanced option
|
||||||
|
to clear any queued blocks in the buffer in the event of system
|
||||||
|
position being lost or homed. These queued blocks will likely not move
|
||||||
|
correctly if not purged. In typical use, the purging command releases
|
||||||
|
the homing axes lock in case a user need to move the axes off their
|
||||||
|
hard limit switches, but position is not guaranteed. Homing is advised
|
||||||
|
immediately after.
|
||||||
|
|
||||||
|
- Created a system-wide sync current position function. Cleans up some
|
||||||
|
of the repetitive tasks in various places in the code that do the same
|
||||||
|
thing.
|
||||||
|
|
||||||
|
- Removed the clear all switches command '$S'. Not really needed and
|
||||||
|
helped clean up a sync call.
|
||||||
|
|
||||||
|
- Other minor tweaks. Readme updated slightly..
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-11-03
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: New startup script setting. New dry run, check gcode switches. New system state variable. Lots of reorganizing.
|
||||||
|
|
||||||
|
(All v0.8 features installed. Still likely buggy, but now thourough
|
||||||
|
testing will need to start to squash them all. As soon as we're done,
|
||||||
|
this will be pushed to master and v0.9 development will be started.
|
||||||
|
Please report ANY issues to us so we can get this rolled out ASAP.)
|
||||||
|
|
||||||
|
- User startup script! A user can now save one (up to 5 as compile-time
|
||||||
|
option) block of g-code in EEPROM memory. This will be run everytime
|
||||||
|
Grbl resets. Mainly to be used as a way to set your preferences, like
|
||||||
|
G21, G54, etc.
|
||||||
|
|
||||||
|
- New dry run and check g-code switches. Dry run moves ALL motions at
|
||||||
|
rapids rate ignoring spindle, coolant, and dwell commands. For rapid
|
||||||
|
physical proofing of your code. The check g-code switch ignores all
|
||||||
|
motion and provides the user a way to check if there are any errors in
|
||||||
|
their program that Grbl may not like.
|
||||||
|
|
||||||
|
- Program restart! (sort of). Program restart is typically an advanced
|
||||||
|
feature that allows users to restart a program mid-stream. The check
|
||||||
|
g-code switch can perform this feature by enabling the switch at the
|
||||||
|
start of the program, and disabling it at the desired point with some
|
||||||
|
minimal changes.
|
||||||
|
|
||||||
|
- New system state variable. This state variable tracks all of the
|
||||||
|
different state processes that Grbl performs, i.e. cycle start, feed
|
||||||
|
hold, homing, etc. This is mainly for making managing of these task
|
||||||
|
easier and more clear.
|
||||||
|
|
||||||
|
- Position lost state variable. Only when homing is enabled, Grbl will
|
||||||
|
refuse to move until homing is completed and position is known. This is
|
||||||
|
mainly for safety. Otherwise, it will let users fend for themselves.
|
||||||
|
|
||||||
|
- Moved the default settings defines into config.h. The plan is to
|
||||||
|
eventually create a set of config.h's for particular as-built machines
|
||||||
|
to help users from doing it themselves.
|
||||||
|
|
||||||
|
- Moved around misc defines into .h files. And lots of other little
|
||||||
|
things.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-11-01
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Added block delete, opt stop, single block mode. New parser state and parameter feedback. Overhauled '$' command.
|
||||||
|
|
||||||
|
NOTE: Another incremental update. Likely buggy, still a ways to go
|
||||||
|
before everything is installed, such as startup blocks.
|
||||||
|
|
||||||
|
- Changed the '$' command to print help. '$$' now prints Grbl settings.
|
||||||
|
The help now instructs the user of runtime commands, switch toggling,
|
||||||
|
homing, etc. Jogging will be added to these in v0.9.
|
||||||
|
|
||||||
|
- Added switches: block delete, opt stop, and single block mode.
|
||||||
|
|
||||||
|
- Now can print the g-code parser state and persistent parameters
|
||||||
|
(coord sys) to view what Grbl has internally.
|
||||||
|
|
||||||
|
- Made the gc struct in the g-code parser global to be able to print
|
||||||
|
the states. Also moved coordinate system tracking from sys to gc struct.
|
||||||
|
|
||||||
|
- Changed up the welcome flag and updated version to v0.8c.
|
||||||
|
|
||||||
|
- Removed spindle speed from gcode parser. Not used.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-11-01
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: New report module. 6 persistent work coordinates. New G-codes and settings. README and minor bug updates
|
||||||
|
|
||||||
|
(NOTE: This push is likely buggy so proceed with caution. Just
|
||||||
|
uploading to let people know where we're going.)
|
||||||
|
|
||||||
|
- New report.c module. Moved all feedback functions into this module to
|
||||||
|
centralize these processes. Includes realtime status reports, status
|
||||||
|
messages, feedback messages.
|
||||||
|
|
||||||
|
- Official support 6 work coordinate systems (G54-G59), which are
|
||||||
|
persistently held in EEPROM memory.
|
||||||
|
|
||||||
|
- New g-code support: G28.1, G30.1 stores current machine position as a
|
||||||
|
home position into EEPROM. G10 L20 Px stores current machine position
|
||||||
|
into work coordinates without needing to explicitly send XYZ words.
|
||||||
|
|
||||||
|
- Homing performed with '$H' command. G28/G30 no longer start the
|
||||||
|
homing cycle. This is how it's supposed to be.
|
||||||
|
|
||||||
|
- New settings: Stepper enable invert and n_arc correction installed.
|
||||||
|
|
||||||
|
- Updated and changed up some limits and homing functionality. Pull-off
|
||||||
|
travel will now move after the homing cycle regardless of hard limits
|
||||||
|
enabled. Fixed direction of pull-off travel (went wrong way).
|
||||||
|
|
||||||
|
- Started on designing an internal Grbl command protocol based on the
|
||||||
|
'$' settings letter. Commands with non numeric characters after '$'
|
||||||
|
will perform switch commands, homing cycle, jogging, printing
|
||||||
|
paramters, etc. Much more to do here.
|
||||||
|
|
||||||
|
- Updated README to reflect all of the new features.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-10-21
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Added misc message to indicate how to exit ALARM mode.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-10-21
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: New alarm method. Re(re)organized status messages.
|
||||||
|
|
||||||
|
- Installed a new 'alarm' method to centralize motion kills across
|
||||||
|
alarm or reset events. Right now, this is controlled by system abort
|
||||||
|
and hard limits. But, in the future, a g-code parser error may call
|
||||||
|
this too as a safety feature.
|
||||||
|
|
||||||
|
- Re(re)organized status messages to just print all errors, regardless
|
||||||
|
from where it was called. This centralizes them into one place.
|
||||||
|
|
||||||
|
- Misc messages method installed for any user feedback that is not a
|
||||||
|
confirmation or error. Mainly so that there is a place to perform
|
||||||
|
warnings and such.
|
||||||
|
|
||||||
|
- New stuff installed and still made the flash size smaller by saving
|
||||||
|
flash space from clearing out repeated '\r\n' pgmstrings.
|
||||||
|
|
||||||
|
- Fixed a bug where hard limits message would print everytime a system
|
||||||
|
abort was sent.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-10-21
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Re-organized status messages to be more coherent and centralized.
|
||||||
|
|
||||||
|
- Reorganized all of the status message feedback from both the g-code
|
||||||
|
parser and settings modules to be centralized into two message modules:
|
||||||
|
status feedback from executing a line and warnings for misc feedback.
|
||||||
|
|
||||||
|
- Pulled out the printPgmString() messages in settings.c and placed it
|
||||||
|
into the new module. (settings_dump() not moved).
|
||||||
|
|
||||||
|
- Some other minor edits. Renaming defines, comment updates, etc.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-10-18
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Hard limits code minor updates.
|
||||||
|
|
||||||
|
- Fixed a bug that would not disable the steppers if a user issues a
|
||||||
|
system abort during a homing cycle.
|
||||||
|
|
||||||
|
- Updated the hard limit interrupt to be more correct and to issue a
|
||||||
|
shutdown for the right situations when the switch has been triggered.
|
||||||
|
|
||||||
|
- Added a status message to indicate to the user what happened and what
|
||||||
|
to do upon a hard limit trigger.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-10-16
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Hard limits, homing direction, pull-off limits after homing, status reports in mm or inches, system alarm, and more.
|
||||||
|
|
||||||
|
- Thank you statement added for Alden Hart of Synthetos.
|
||||||
|
|
||||||
|
- Hard limits option added, which also works with homing by pulling off
|
||||||
|
the switches to help prevent unintended triggering. Hard limits use a
|
||||||
|
interrupt to sense a falling edge pin change and immediately go into
|
||||||
|
alarm mode, which stops everything and forces the user to issue a reset
|
||||||
|
(Ctrl-x) or reboot.
|
||||||
|
|
||||||
|
- Auto cycle start now a configuration option.
|
||||||
|
|
||||||
|
- Alarm mode: A new method to kill all Grbl processes in the event of
|
||||||
|
something catastrophic or potentially catastropic. Just works with hard
|
||||||
|
limits for now, but will be expanded to include g-code errors (most
|
||||||
|
likely) and other events.
|
||||||
|
|
||||||
|
- Updated status reports to be configurable in inches or mm mode. Much
|
||||||
|
more to do here, but this is the first step.
|
||||||
|
|
||||||
|
- New settings: auto cycle start, hard limit enable, homing direction
|
||||||
|
mask (which works the same as the stepper mask), homing pulloff
|
||||||
|
distance (or distance traveled from homed machine zero to prevent
|
||||||
|
accidental limit trip).
|
||||||
|
|
||||||
|
- Minor memory liberation and calculation speed ups.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-10-13
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Minor updates, improvements, and bug fixes.
|
||||||
|
|
||||||
|
- Allowed status_message function to be called by others. This is to
|
||||||
|
centralize all feedback into protocol.c.
|
||||||
|
|
||||||
|
- Fixed a bug where line number words 'N' were causing the parser to
|
||||||
|
error out.
|
||||||
|
|
||||||
|
- Allowed homing routine feed rates to move slower than the
|
||||||
|
MINIMUM_STEP_RATE parameter in config.h.
|
||||||
|
|
||||||
|
- Homing performs idle lock at the end of the routine.
|
||||||
|
|
||||||
|
- Stepper idle lock time will now not disable the steppers when the
|
||||||
|
value is set at 255. This is accomodate users who prefer to keep their
|
||||||
|
axes enabled at all times.
|
||||||
|
|
||||||
|
- Moved some defines around to where they need to be.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-10-12
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Updated delay_us() function to accept long integers
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-10-11
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: (2x) speed increase in printFloat() function. Decimal places setting added.
|
||||||
|
|
||||||
|
- printFloat() function execution doubled in speed. This is a precursor
|
||||||
|
to status reporting, since GUIs may query real-time position rapidly.
|
||||||
|
|
||||||
|
- Decimal places added to settings (for now). This may disappear in
|
||||||
|
future pushes, but here for testing purposes.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-10-11
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Homing stepper enable bit fix.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-10-10
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Homing direction pin bits fixed. Lite refactoring of settings.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-10-09
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Improved homing cycle. New settings: homing enable/rates, debounce and step idle lock time.
|
||||||
|
|
||||||
|
- Homing cycle will now cycle twice (spec more/less in config) to
|
||||||
|
improve repeatability and accuracy by decreasing overshoot.
|
||||||
|
|
||||||
|
- New Grbl settings added: Enable/disable homing cycles, homing seek
|
||||||
|
and feed rates, switch debounce delay, and stepper idle lock time.
|
||||||
|
|
||||||
|
- Please note that these settings may change upon the next push, since
|
||||||
|
there will be more added soon. Grbl *should* not re-write your old
|
||||||
|
settings, just re-write the new ones. So, make sure you keep these
|
||||||
|
written down somewhere in case they get lost from a code bug.
|
||||||
|
|
||||||
|
- Refactored settings migration to be a little smaller and managable
|
||||||
|
going forward.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-10-08
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Fixed an issue with leaving the limit switches during a homing cycle.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-10-08
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Updated version number to v0.8b to reflect changes.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-10-08
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Limit pin internal pull-resistors enabled. Re-wrote read_double() function. Correctly changed all 'double's to 'float's.
|
||||||
|
|
||||||
|
- Limit pin internal pull-resistors now enabled. Normal high operation.
|
||||||
|
This will be the standard going forward.
|
||||||
|
|
||||||
|
- Updated all of the 'double' variable types to 'float' to reflect what
|
||||||
|
happens when compiled for the Arduino. Also done for compatibility
|
||||||
|
reasons to @jgeisler0303 's Grbl simulator code.
|
||||||
|
|
||||||
|
- G-code parser will now ignore 'E' exponent values, since they are
|
||||||
|
reserved g-code characters for some machines. Thanks @csdexter!
|
||||||
|
|
||||||
|
- The read_double() function was re-written and optimized for use in
|
||||||
|
Grbl. The strtod() avr lib was removed.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-09-30
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Updated limit/homing routine. Works, but needs more TLC.
|
||||||
|
|
||||||
|
- Added acceleration to the homing routine.
|
||||||
|
|
||||||
|
- Homing now accounts for different step rates when moving multiple
|
||||||
|
axes without exceeding acceleration limits.
|
||||||
|
|
||||||
|
- Homing now updates all internal positioning variables to machine zero
|
||||||
|
after completion.
|
||||||
|
|
||||||
|
- "Poor-man's" debounce delay added.
|
||||||
|
|
||||||
|
- Updated the delay_us() function to perform faster and more accurate
|
||||||
|
microsecond delays. Previously, the single increments would add
|
||||||
|
noticeable time drift for larger delays.
|
||||||
|
|
||||||
|
- Fix a bug in the stepper.c prescalar calculations that was changed in
|
||||||
|
the last commit.
|
||||||
|
|
||||||
|
- Other minor fixes.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-09-21
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Minor prescalar optimization. Changed up some defines.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-09-21
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Added coolant control (M7*, M8, M9). Mist control can be enabled via config.h.
|
||||||
|
|
||||||
|
- Added coolant control! Flood control (M8) functions on analog pin 0.
|
||||||
|
Mist control (M7) is compile-time optional and is on analog pin 1. (Use
|
||||||
|
only if you have multiple coolants on your system). Based on work by
|
||||||
|
@openpnp.
|
||||||
|
|
||||||
|
- Fixed some variable assignments in spindle control.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-09-21
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Merge pull request #120 from tmpvar/configurable-makefile
|
||||||
|
|
||||||
|
Add support for overriding DEVICE and PROGRAMMER
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-09-21
|
||||||
|
Author: Elijah Insua
|
||||||
|
Subject: Add support for overriding DEVICE and PROGRAMMER
|
||||||
|
|
||||||
|
By setting environment variables.
|
||||||
|
|
||||||
|
example: PROGRAMMER=-c arduino -P /dev/tty.usbmodemfa131 make flash
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-09-19
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: M30 minor bug fix.
|
||||||
|
|
||||||
|
Order of operations was off. Now works as intended,
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-06-27
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: No changes. Github commit bug.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-06-26
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Added step pulse delay after direction set (Compile-time option only). Updated read me.
|
||||||
|
|
||||||
|
Added a compile-time only experimental feature that creates a
|
||||||
|
user-specified time delay between a step pulse and a direction pin set
|
||||||
|
(in config.h). This is for users with hardware-specific issues
|
||||||
|
(opto-couplers) that need more than a few microseconds between events,
|
||||||
|
which can lead to slowly progressing step drift after many many
|
||||||
|
direction changes. We suggest to try the hack/fix posted in the Wiki
|
||||||
|
before using this, as this experimental feature may cause Grbl to take
|
||||||
|
a performance hit at high step rates and about complex curves.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-03-10
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Minor fix related to spindle_stop() crashing abort in certain cases.
|
||||||
|
|
||||||
|
- Updated spindle_stop() to fix abort bug and to be more in line with
|
||||||
|
v0.8.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-03-05
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Minor updates.
|
||||||
|
|
||||||
|
- Updated makefile to be more universally compatible by not requiring
|
||||||
|
grep or ruby.
|
||||||
|
|
||||||
|
- Edited XON/XOFF flow control usage, noting that FTDI-based Arduinos
|
||||||
|
are known to work, but not Atmega8U2-based Arduino. Still officially
|
||||||
|
not supported, but added for advanced users.
|
||||||
|
|
||||||
|
- Minor edits.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-02-25
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Minor include related compile fix. Added experimental XON/XOFF flow control. Not officially supported!
|
||||||
|
|
||||||
|
- A latency issue related to USB-to-serial converters on the Arduino
|
||||||
|
does not allow for XON/XOFF flow control to work correctly on standard
|
||||||
|
terminal programs. It seems that only specialized UI's or avoiding the
|
||||||
|
USB port all together solves this problem. However, XON/XOFF flow
|
||||||
|
control is added for advanced users only as a compile-time option. This
|
||||||
|
feature is officially *NOT* supported by grbl, but let us know of any
|
||||||
|
successes with it!
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-02-12
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Spindle DDR pins init minor fix.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-02-11
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Fix to enable spindle DDR ports.
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-02-11
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Minor compiler compatibility update for _delay_us().
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-02-11
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: G54 work coordinate support (w/ G10,G92.1). Re-factored g-code parser with error checking. Minor compiler compatibility changes.
|
||||||
|
|
||||||
|
- G54 work coordinate system support. Up to 6 work coordinate systems
|
||||||
|
(G54-G59) available as a compile-time option.
|
||||||
|
|
||||||
|
- G10 command added to set work coordinate offsets from machine
|
||||||
|
position.
|
||||||
|
|
||||||
|
- G92/G92.1 position offsets and cancellation support. Properly follows
|
||||||
|
NIST standard rules with other systems.
|
||||||
|
|
||||||
|
- G53 absolute override now works correctly with new coordinate systems.
|
||||||
|
|
||||||
|
- Revamped g-code parser with robust error checking. Providing user
|
||||||
|
feedback with bad commands. Follows NIST standards.
|
||||||
|
|
||||||
|
- Planner module slightly changed to only expected position movements
|
||||||
|
in terms of machine coordinates only. This was to simplify coordinate
|
||||||
|
system handling, which is done solely by the g-code parser.
|
||||||
|
|
||||||
|
- Upon grbl system abort, machine position and work positions are
|
||||||
|
retained, while G92 offsets are reset per NIST standards.
|
||||||
|
|
||||||
|
- Compiler compatibility update for _delay_us().
|
||||||
|
|
||||||
|
- Updated README.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-01-31
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: printFloat rounding fix. Affected settings. Recommend using new build.
|
||||||
|
|
||||||
|
printFloat was printing incorrectly and adding a value of 5 to every
|
||||||
|
float instead of 0.0005 when rounding to 3 decimal places. The printed
|
||||||
|
settings values do not accurately portray the actual stored value.
|
||||||
|
Recommend using newly posted build.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-01-28
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Program stop support (M0,M1*,M2,M30*), proper position retainment upon reset, misc minor updates.
|
||||||
|
|
||||||
|
- Program stop support (M0,M1*,M2,M30*). *Optional stop to be done.
|
||||||
|
*Pallet shuttle not supported.
|
||||||
|
|
||||||
|
- Work position is set equal to machine position upon reset, as
|
||||||
|
according to NIST RS274-NGC guidelines. G92 is disabled.
|
||||||
|
|
||||||
|
- Renamed mc_set_current_position() to mc_set_coordinate_offset().
|
||||||
|
|
||||||
|
- Fixed bug in plan_synchronize(). Would exit right before last step is
|
||||||
|
finished and caused issues with program stops. Now fixed.
|
||||||
|
|
||||||
|
- Spindle now stops upon a run-time abort command.
|
||||||
|
|
||||||
|
- Updated readme and misc upkeeping.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-01-27
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Streaming script argparse bugfix.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2012-01-27
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Updated streaming scripts. Compiler compatibility for _delay_ms().
|
||||||
|
|
||||||
|
- Moved obsolete streaming scripts to folder for reference.
|
||||||
|
|
||||||
|
- Added a more complex Python streaming script which uses the serial
|
||||||
|
buffer as an additional streaming buffer.
|
||||||
|
|
||||||
|
- Removed all references to a _delay_ms(variable) to allow for better
|
||||||
|
porting across different compilers.
|
||||||
|
|
2409
doc/log/commit_log_v0.9g.txt
Normal file
596
doc/log/commit_log_v0.9i.txt
Normal file
@ -0,0 +1,596 @@
|
|||||||
|
----------------
|
||||||
|
Date: 2015-03-27
|
||||||
|
Author: Sungeun Jeon
|
||||||
|
Subject: Compile-option for inverting spindle enable.
|
||||||
|
|
||||||
|
- Installed a compile-option for inverting the spindle enable pin for
|
||||||
|
certain electronics boards users have reported needing this.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2015-03-27
|
||||||
|
Author: Sungeun Jeon
|
||||||
|
Subject: New compile options and inverse time bug fix.
|
||||||
|
|
||||||
|
- Apparently inverse time motion were not working for quite some time.
|
||||||
|
Goes to show how many people actually use it. The calculation was bad
|
||||||
|
and is now fixed in this update. It should now work correctly.
|
||||||
|
|
||||||
|
- `;` comment type is now supported. This is standard on LinuxCNC and
|
||||||
|
common on 3d printers. It was previously not supported due to not
|
||||||
|
existing in the NIST standard, which is out-dated.
|
||||||
|
|
||||||
|
- New compile-option to ECHO the line received. This should help users
|
||||||
|
experiencing very weird problems and help diagnose if there is
|
||||||
|
something amiss in the communication to Grbl.
|
||||||
|
|
||||||
|
- New compile-option to use the spindle direction pin D13 as a spindle
|
||||||
|
enable pin with PWM spindle speed on D11. This feature has been
|
||||||
|
requested often from the laser cutter community. Since spindle
|
||||||
|
direction isn’t really of much use, it seemed like good good trade.
|
||||||
|
Note that M4 spindle enable counter-clock-wise support is removed for
|
||||||
|
obvious reasons, while M3 and M5 still work.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2015-03-27
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Update README.md
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2015-03-26
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Update README.md
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2015-03-16
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Update README.md
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2015-03-15
|
||||||
|
Author: Sungeun Jeon
|
||||||
|
Subject: Updated README
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2015-03-15
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Create README.md
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2015-03-15
|
||||||
|
Author: Sungeun Jeon
|
||||||
|
Subject: Merge branch 'edge'
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2015-03-15
|
||||||
|
Author: Sungeun Jeon
|
||||||
|
Subject: Updated README.
|
||||||
|
|
||||||
|
- Also altered the G38.X reporting to save some bytes.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2015-03-14
|
||||||
|
Author: Sungeun Jeon
|
||||||
|
Subject: Cleaned-up limit pin reporting and comments.
|
||||||
|
|
||||||
|
- Cleaned up the limit pin state reporting option to display only the
|
||||||
|
state per axis, rather than the whole port. It’s organized by an XYZ
|
||||||
|
order, 0(low)-1(high), and generally looks like `Lim:001`.
|
||||||
|
|
||||||
|
- Separated the control pin state reporting from limit state reporting
|
||||||
|
as a new compile option. This stayed the same in terms of showing the
|
||||||
|
entire port in binary, since it’s not anticipated that this will be
|
||||||
|
used much, if at all.
|
||||||
|
|
||||||
|
- Updated some of the gcode source comments regarding supported g-codes.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2015-03-07
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Another homing cycle fix.
|
||||||
|
|
||||||
|
- The homing cycle should be working again. Reverted it back to how it
|
||||||
|
was about a month ago before I started to fiddle with it. Turns out
|
||||||
|
that my past self knew what he was doing.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2015-03-04
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Arduino IDE compatibility and minor homing fixes
|
||||||
|
|
||||||
|
- Added an include in the right spot, if a user tries to compile and
|
||||||
|
upload Grbl through the Arduino IDE with the old way.
|
||||||
|
|
||||||
|
- Fixed a minor bug with homing max travel calculations. It was causing
|
||||||
|
simultaneous axes homing to move slow than it did before.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2015-02-25
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: G91.1 support. Fixed a config.h option.
|
||||||
|
|
||||||
|
- G91.1 support added. This g-code sets the arc IJK distance mode to
|
||||||
|
incremental, which is the default already. This simply helps reduce
|
||||||
|
parsing errors with certain CAM programs that output this command.
|
||||||
|
|
||||||
|
- Max step rate checks weren’t being compiled in if the option was
|
||||||
|
enabled. Fixed now.
|
||||||
|
|
||||||
|
- Alarm codes were not displaying correctly when GUI reporting mode was
|
||||||
|
enabled. Due to unsigned int problem. Changed codes to positive values
|
||||||
|
since they aren’t shared with other codes.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2015-02-23
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Fixed config.h to Grbl release defaults.
|
||||||
|
|
||||||
|
- REPORT_GUI_MODE was accidentally enabled, when it shouldn’t have.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2015-02-23
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: New configuration options.
|
||||||
|
|
||||||
|
- New configuration option at compile-time:
|
||||||
|
- Force alarm upon power-up or hard reset. When homing is enabled,
|
||||||
|
this is already the default behavior. This simply forces this all of
|
||||||
|
the time.
|
||||||
|
- GUI reporting mode. Removes most human-readable strings that GUIs
|
||||||
|
don’t need. This saves nearly 2KB in flash space that can be used for
|
||||||
|
other features.
|
||||||
|
- Hard limit force state check: In the hard limit pin change ISR, Grbl
|
||||||
|
by default sets the hard limit alarm upon any pin change to guarantee
|
||||||
|
the alarm is set. If this option is set, it’ll check the state within
|
||||||
|
the ISR, but can’t guarantee the pin will be read correctly if the
|
||||||
|
switch is bouncing. This option makes hard limit behavior a little less
|
||||||
|
annoying if you have a good buffered switch circuit that removes
|
||||||
|
bouncing and electronic noise.
|
||||||
|
|
||||||
|
- Software debounce bug fix. It was reading the pin incorrectly for the
|
||||||
|
setting.
|
||||||
|
|
||||||
|
- Re-factored some of the ‘$’ settings code.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2015-02-15
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Improved homing limit search handling.
|
||||||
|
|
||||||
|
- Instead of a single overall max travel for a search distance for the
|
||||||
|
homing limit switches. The homing cycle now applies the max travel of
|
||||||
|
each axis to the search target. Generally makes more sense this way and
|
||||||
|
saved more than a 100bytes of flash too.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2015-02-15
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Homing alarm upon no switch. Licensing update.
|
||||||
|
|
||||||
|
- Homing cycle failure reports alarm feedback when the homing cycle is
|
||||||
|
exited via a reset, interrupted by a safety door switch, or does not
|
||||||
|
find the limit switch.
|
||||||
|
|
||||||
|
- Homing cycle bug fix when not finding the limit switch. It would just
|
||||||
|
idle before, but now will exit with an alarm.
|
||||||
|
|
||||||
|
- Licensing update. Corrected licensing according to lawyer
|
||||||
|
recommendations. Removed references to other Grbl versions.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2015-02-13
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Merge pull request #593 from poelstra/fix_makefile_deps
|
||||||
|
|
||||||
|
Fix generating header dependencies, merge with 'normal' compile, force r...
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2015-02-13
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Updated README with new logo sized for github.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2015-02-13
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Update README.md
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2015-02-13
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Doc re-org. New Grbl Logos!
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2015-02-13
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Merge pull request #591 from EliteEng/edge
|
||||||
|
|
||||||
|
Safety Door Update for Mega2560
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2015-02-13
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Merge pull request #592 from poelstra/fix_softlimit
|
||||||
|
|
||||||
|
Fix EXEC_ALARM_* flags: soft limit would lead to hard limit error.
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2015-02-13
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Merge pull request #594 from poelstra/fix_sim_build
|
||||||
|
|
||||||
|
Fix function signature of print_uint32_base10(), necessary for compiling simulator.
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2015-02-13
|
||||||
|
Author: Martin Poelstra
|
||||||
|
Subject: Fix function signature of print_uint32_base10(), necessary for compiling simulator.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2015-02-13
|
||||||
|
Author: Martin Poelstra
|
||||||
|
Subject: Fix generating header dependencies, merge with 'normal' compile, force recompile when files are removed.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2015-02-13
|
||||||
|
Author: Martin Poelstra
|
||||||
|
Subject: Fix EXEC_ALARM_* flags: soft limit would lead to hard limit error.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2015-02-13
|
||||||
|
Author: Rob Brown
|
||||||
|
Subject: Safety Door Update for Mega2560
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2015-02-11
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Overhauled state machine. New safety door feature.
|
||||||
|
|
||||||
|
- Overhauled the state machine and cleaned up its overall operation.
|
||||||
|
This involved creating a new ‘suspend’ state for what all external
|
||||||
|
commands, except real-time commands, are ignored. All hold type states
|
||||||
|
enter this suspend state.
|
||||||
|
|
||||||
|
- Removed ‘auto cycle start’ setting from Grbl. This was not used by
|
||||||
|
users in its intended way and is somewhat redundant, as GUI manage the
|
||||||
|
cycle start by streaming. It also muddled up how Grbl should interpret
|
||||||
|
how and when to execute a g-code block. Removing it made everything
|
||||||
|
much much simpler.
|
||||||
|
|
||||||
|
- Fixed a program pause bug when used with other buffer_sync commands.
|
||||||
|
|
||||||
|
- New safety door feature for OEMs. Immediately forces a feed hold and
|
||||||
|
then de-energizes the machine. Resuming is blocked until the door is
|
||||||
|
closed. When it is, it re-energizes the system and then resumes on the
|
||||||
|
normal toolpath.
|
||||||
|
|
||||||
|
- Safety door input pin is optional and uses the feed hold pin on A1.
|
||||||
|
Enabled by config.h define.
|
||||||
|
|
||||||
|
- Spindle and coolant re-energizing upon a safety door resume has a
|
||||||
|
programmable delay time to allow for complete spin up to rpm and
|
||||||
|
turning on the coolant before resuming motion.
|
||||||
|
|
||||||
|
- Safety door-style feed holds can be used instead of regular feed hold
|
||||||
|
(doesn’t de-energize the machine) with a ‘@‘ character. If the safety
|
||||||
|
door input pin is not enabled, the system can be resumed at any time.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2015-02-10
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Git fix for empty directory. Makefile updated.
|
||||||
|
|
||||||
|
- ‘build’ directory was not being synced by git because it was empty.
|
||||||
|
Added a .gitignore file in the ‘build’ directory to force git to sync
|
||||||
|
it but keep it empty.
|
||||||
|
|
||||||
|
- Updated the Makefile to not erase the .gitignore.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2015-02-10
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: File re-organization. New Makefile.
|
||||||
|
|
||||||
|
- Re-organized source code files into a ‘grbl’ directory to lessen one
|
||||||
|
step in compiling Grbl through the Arduino IDE.
|
||||||
|
|
||||||
|
- Added an ‘examples’ directory with an upload .INO sketch to further
|
||||||
|
simplify compiling and uploading Grbl via the Arduino IDE.
|
||||||
|
|
||||||
|
- Updated the Makefile with regard to the source code no longer being
|
||||||
|
in the root directory. All files generated by compiling is placed in a
|
||||||
|
separate ‘build’ directory to keep things tidy. The makefile should
|
||||||
|
operate in the same way as it did before.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2015-02-10
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Bug fix for certain motions. Re-org of includes.
|
||||||
|
|
||||||
|
- Critical bug fix for diagonal motions that continue on the same
|
||||||
|
direction or return in the exact opposite direction. This issue could
|
||||||
|
cause Grbl to crash intermittently due to a numerical round-off error.
|
||||||
|
Grbl versions prior to v0.9g shouldn’t have this issue.
|
||||||
|
|
||||||
|
- Reorganized all of the includes used by Grbl. Centralized it into a
|
||||||
|
single “grbl.h” include. This will help simplify the compiling and
|
||||||
|
uploading process through the Arduino IDE.
|
||||||
|
|
||||||
|
- Added an example .INO file for users to simply open and run when
|
||||||
|
compiling and uploading through the IDE. More to come later.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2015-02-06
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Limit/control pin state reporting option
|
||||||
|
|
||||||
|
- As a setup feature, users can compile-in input pin status reporting.
|
||||||
|
Doesn’t do anything special, just prints the binary for the port. 0’s
|
||||||
|
and 1’s indicate low and high signals on the pins. It’s a bit cryptic
|
||||||
|
right now, but it’s just a start.
|
||||||
|
|
||||||
|
- Added a max step rate check when writing step/mm and max rate
|
||||||
|
settings. Should help avoid people misdiagnosing problems associated
|
||||||
|
with going over the 30kHz step rate limit. Right now not enabled. Takes
|
||||||
|
up over 100k of flash. Need that room for other things right now.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2015-02-04
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Rare planner bug fix and added simulator defaults.
|
||||||
|
|
||||||
|
- Planner bug when moving along a diagonal back and forth on the same
|
||||||
|
path. Rare for the fact that most CAM programs don’t program this type
|
||||||
|
of motion, neither does jogging. Fixed in this update.
|
||||||
|
|
||||||
|
- Added grbl_sim defaults for testing purposes.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2015-01-17
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Fully configurable pins for NO or NC switches.
|
||||||
|
|
||||||
|
- All pins, which include limits, control command, and probe pins, can
|
||||||
|
now all be configured to trigger as active-low or active-high and
|
||||||
|
whether the pin has its internal pull-up resistor enabled. This should
|
||||||
|
allow for just about all types of NO and NC switch configurations.
|
||||||
|
|
||||||
|
- The probe pin invert setting hasn’t been added to the Grbl settings,
|
||||||
|
like the others, and will have to wait until v1.0. But for now, it’s
|
||||||
|
available as a compile-time option in config.h.
|
||||||
|
|
||||||
|
- Fixed a variable spindle bug.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2015-01-14
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Lot of refactoring for the future. CoreXY support.
|
||||||
|
|
||||||
|
- Rudimentary CoreXY kinematics support. Didn’t test, but homing and
|
||||||
|
feed holds should work. See config.h. Please report successes and
|
||||||
|
issues as we find bugs.
|
||||||
|
|
||||||
|
- G40 (disable cutter comp) is now “supported”. Meaning that Grbl will
|
||||||
|
no longer issue an error when typically sent in g-code program header.
|
||||||
|
|
||||||
|
- Refactored coolant and spindle state setting into separate functions
|
||||||
|
for future features.
|
||||||
|
|
||||||
|
- Configuration option for fixing homing behavior when there are two
|
||||||
|
limit switches on the same axis sharing an input pin.
|
||||||
|
|
||||||
|
- Created a new “grbl.h” that will eventually be used as the main
|
||||||
|
include file for Grbl. Also will help simply uploading through the
|
||||||
|
Arduino IDE
|
||||||
|
|
||||||
|
- Separated out the alarms execution flags from the realtime (used be
|
||||||
|
called runtime) execution flag variable. Now reports exactly what
|
||||||
|
caused the alarm. Expandable for new alarms later on.
|
||||||
|
|
||||||
|
- Refactored the homing cycle to support CoreXY.
|
||||||
|
|
||||||
|
- Applied @EliteEng updates to Mega2560 support. Some pins were
|
||||||
|
reconfigured.
|
||||||
|
|
||||||
|
- Created a central step to position and vice versa function. Needed
|
||||||
|
for non-traditional cartesian machines. Should make it easier later.
|
||||||
|
|
||||||
|
- Removed the new CPU map for the Uno. No longer going to used. There
|
||||||
|
will be only one configuration to keep things uniform.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2014-11-05
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Update README.md
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2014-10-29
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Update README.md
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2014-10-28
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Update README.md
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2014-10-28
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Update README.md
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2014-10-01
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Updated variable spindle and new probing. Minor bug fixes.
|
||||||
|
|
||||||
|
- Minor bug fix for variable spindle PWM output. Values smaller than
|
||||||
|
the minimum RPM for the spindle would overflow the PWM value. Thanks
|
||||||
|
Rob!
|
||||||
|
|
||||||
|
- Created an optional minimum spindle PWM low-mark value as a
|
||||||
|
compile-time option. This is for special circumstances when the PWM has
|
||||||
|
to be at a certain level to be read by the spindle controller.
|
||||||
|
|
||||||
|
- Refactored the new probing commands (G38.3, G38.4, G38.5) code to
|
||||||
|
work better with the rest of Grbl’s systems.
|
||||||
|
|
||||||
|
- Refactored mc_probe() and mc_arc() to accept the mode of the command,
|
||||||
|
i.e. clockwise vs counter, toward vs away, etc. This is to make these
|
||||||
|
functions independent of gcode state variables.
|
||||||
|
|
||||||
|
- Removed the pull off motion in the probing cycle. This is not an
|
||||||
|
official operation and was added for user simplicity, but wrongly did
|
||||||
|
so. So bye bye.
|
||||||
|
|
||||||
|
- Created a configure probe invert mask function to handle the
|
||||||
|
different probe pin setting and probing cycle modes with a single mask.
|
||||||
|
|
||||||
|
- Minor bug fix with reporting motion modes via $G. G38.2 wasn’t
|
||||||
|
showing up. It now does, along with the other new probing commands.
|
||||||
|
|
||||||
|
- Refactored some of the new pin configurations for the future of Grbl.
|
||||||
|
|
||||||
|
-
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2014-09-25
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Merge pull request #491 from tmpvar/G38.2+
|
||||||
|
|
||||||
|
G38.2+
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2014-09-22
|
||||||
|
Author: Elijah Insua
|
||||||
|
Subject: report probe_succeeded with probe status
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2014-09-22
|
||||||
|
Author: Elijah Insua
|
||||||
|
Subject: add probe_finalize to keep things DRY
|
||||||
|
|
||||||
|
this allows the PRB report to be valid when in "no errors" mode and the probe fails
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2014-09-22
|
||||||
|
Author: Elijah Insua
|
||||||
|
Subject: hop over probe pull-off sequence after probe miss
|
||||||
|
|
||||||
|
and while "no errors" is enabled (G38.3, G38.5)
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2014-09-22
|
||||||
|
Author: Elijah Insua
|
||||||
|
Subject: add/install probe_errors_enabled in mc_probe_cycle
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2014-09-22
|
||||||
|
Author: Elijah Insua
|
||||||
|
Subject: bump mantissa to uint16_t to enable G38.5
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2014-09-22
|
||||||
|
Author: Elijah Insua
|
||||||
|
Subject: test only for & PROBE_ACTIVE
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2014-09-22
|
||||||
|
Author: Elijah Insua
|
||||||
|
Subject: cleanup global var and push probe mode into probe_get_state
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2014-09-20
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Edit hard limit check at start of homing cycle
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2014-09-20
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Merge pull request #494 from ashelly/homing-alarm
|
||||||
|
|
||||||
|
Alarm if limits engaged on homing start.
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2014-09-20
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Merge pull request #493 from alpharesearch/edge
|
||||||
|
|
||||||
|
If variable spindle is defined print S value via $G command.
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2014-09-20
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: Minor settings number overflow bug fix.
|
||||||
|
|
||||||
|
- The `x` in `$x=val` would overflow when a value larger than 255 was
|
||||||
|
entered and passed to Grbl. This resulted with unintended parameters
|
||||||
|
being set by the overflow value. To fix, simply check for values larger
|
||||||
|
than 255 and error out.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2014-09-17
|
||||||
|
Author: ashelly
|
||||||
|
Subject: No false alarm if other bits in port are set.
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2014-09-17
|
||||||
|
Author: Markus Schulz
|
||||||
|
Subject: If variable spindle is defined print S value via $G command.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2014-09-14
|
||||||
|
Author: Elijah Insua
|
||||||
|
Subject: utilize MOTION_MODE_PROBE_NO_ERROR
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2014-09-14
|
||||||
|
Author: Elijah Insua
|
||||||
|
Subject: install G38.{3,4,5}
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2014-09-14
|
||||||
|
Author: Elijah Insua
|
||||||
|
Subject: add MOTION_MODE_PROBE_NO_ERROR
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Date: 2014-09-08
|
||||||
|
Author: ashelly
|
||||||
|
Subject: Alarm if limits engaged on homing
|
||||||
|
|
2
doc/media/COPYING
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
|
||||||
|
Copyright (c) 2015 Gnea Research LLC. All Rights Reserved.
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 57 KiB |
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 48 KiB |
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 5.6 KiB |
@ -294,6 +294,16 @@
|
|||||||
// bogged down by too many trig calculations.
|
// bogged down by too many trig calculations.
|
||||||
#define N_ARC_CORRECTION 12 // Integer (1-255)
|
#define N_ARC_CORRECTION 12 // Integer (1-255)
|
||||||
|
|
||||||
|
// The arc G2/3 g-code standard is problematic by definition. Radius-based arcs have horrible numerical
|
||||||
|
// errors when arc at semi-circles(pi) or full-circles(2*pi). Offset-based arcs are much more accurate
|
||||||
|
// but still have a problem when arcs are full-circles (2*pi). This define accounts for the floating
|
||||||
|
// point issues when offset-based arcs are commanded as full circles, but get interpreted as extremely
|
||||||
|
// small arcs with around machine epsilon (1.2e-7rad) due to numerical round-off and precision issues.
|
||||||
|
// This define value sets the machine epsilon cutoff to determine if the arc is a full-circle or not.
|
||||||
|
// NOTE: Be very careful when adjusting this value. It should always be greater than 1.2e-7 but not too
|
||||||
|
// much greater than this. The default setting should capture most, if not all, full arc error situations.
|
||||||
|
#define ARC_ANGULAR_TRAVEL_EPSILON 5E-7 // Float (radians)
|
||||||
|
|
||||||
// Time delay increments performed during a dwell. The default value is set at 50ms, which provides
|
// Time delay increments performed during a dwell. The default value is set at 50ms, which provides
|
||||||
// a maximum time delay of roughly 55 minutes, more than enough for most any application. Increasing
|
// a maximum time delay of roughly 55 minutes, more than enough for most any application. Increasing
|
||||||
// this delay will increase the maximum dwell time linearly, but also reduces the responsiveness of
|
// this delay will increase the maximum dwell time linearly, but also reduces the responsiveness of
|
||||||
@ -369,9 +379,9 @@
|
|||||||
// Force Grbl to check the state of the hard limit switches when the processor detects a pin
|
// Force Grbl to check the state of the hard limit switches when the processor detects a pin
|
||||||
// change inside the hard limit ISR routine. By default, Grbl will trigger the hard limits
|
// change inside the hard limit ISR routine. By default, Grbl will trigger the hard limits
|
||||||
// alarm upon any pin change, since bouncing switches can cause a state check like this to
|
// alarm upon any pin change, since bouncing switches can cause a state check like this to
|
||||||
// misread the pin. When hard limits are triggers, this should be 100% reliable, which is the
|
// misread the pin. When hard limits are triggered, they should be 100% reliable, which is the
|
||||||
// reason that this option is disabled by default. Only if your system/electronics can guarantee
|
// reason that this option is disabled by default. Only if your system/electronics can guarantee
|
||||||
// the pins don't bounce, we recommend enabling this option. If so, this will help prevent
|
// that the switches don't bounce, we recommend enabling this option. This will help prevent
|
||||||
// triggering a hard limit when the machine disengages from the switch.
|
// triggering a hard limit when the machine disengages from the switch.
|
||||||
// NOTE: This option has no effect if SOFTWARE_DEBOUNCE is enabled.
|
// NOTE: This option has no effect if SOFTWARE_DEBOUNCE is enabled.
|
||||||
// #define HARD_LIMIT_FORCE_STATE_CHECK // Default disabled. Uncomment to enable.
|
// #define HARD_LIMIT_FORCE_STATE_CHECK // Default disabled. Uncomment to enable.
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
|
|
||||||
// Grbl versioning system
|
// Grbl versioning system
|
||||||
#define GRBL_VERSION "0.9i"
|
#define GRBL_VERSION "0.9i"
|
||||||
#define GRBL_VERSION_BUILD "20150327"
|
#define GRBL_VERSION_BUILD "20150329"
|
||||||
|
|
||||||
// Define standard libraries used by Grbl.
|
// Define standard libraries used by Grbl.
|
||||||
#include <avr/io.h>
|
#include <avr/io.h>
|
||||||
|
@ -100,9 +100,9 @@
|
|||||||
// CCW angle between position and target from circle center. Only one atan2() trig computation required.
|
// CCW angle between position and target from circle center. Only one atan2() trig computation required.
|
||||||
float angular_travel = atan2(r_axis0*rt_axis1-r_axis1*rt_axis0, r_axis0*rt_axis0+r_axis1*rt_axis1);
|
float angular_travel = atan2(r_axis0*rt_axis1-r_axis1*rt_axis0, r_axis0*rt_axis0+r_axis1*rt_axis1);
|
||||||
if (is_clockwise_arc) { // Correct atan2 output per direction
|
if (is_clockwise_arc) { // Correct atan2 output per direction
|
||||||
if (angular_travel >= 0) { angular_travel -= 2*M_PI; }
|
if (angular_travel >= -ARC_ANGULAR_TRAVEL_EPSILON) { angular_travel -= 2*M_PI; }
|
||||||
} else {
|
} else {
|
||||||
if (angular_travel <= 0) { angular_travel += 2*M_PI; }
|
if (angular_travel <= ARC_ANGULAR_TRAVEL_EPSILON) { angular_travel += 2*M_PI; }
|
||||||
}
|
}
|
||||||
|
|
||||||
// NOTE: Segment end points are on the arc, which can lead to the arc diameter being smaller by up to
|
// NOTE: Segment end points are on the arc, which can lead to the arc diameter being smaller by up to
|
||||||
|