Commit Log v1.1
Commit Log v1.1
Date: 2017-07-31
Author: Sonny Jeon
Subject: Hot fix for rare lowering feed override bug.
[fix] Squashed a very rare bug when lowering the feedrate (or rapid) override. When
in the very strict set of circumstances with acceleration settings, override step
size, and current speed, an internal calculation would cause Grbl to crash. The fix
was an overlooked equality statement that should have been a less than or equal,
not a less than.
----------------
Date: 2017-07-17
Author: Sonny Jeon
Subject: Clean up and new streaming script check-mode feature.
[new] The stream.py streaming script now has a check-mode option, where it will
place Grbl in $C check mode automatically and then stream the g-code program. It's
a very fast way to check if the g-code program has any errors.
[fix] The debug variable was not initialized if the debug option was enabled in
config.h
[fix] Updated error_codes CSV file to the same format as the others.
----------------
Date: 2017-05-31
Author: chamnit
Subject: New nonlinear spindle speed PWM output model and solution. Updated
scripts.
----------------
Date: 2017-03-24
Author: Sonny Jeon
Subject: Added an error code for laser mode when VARIABLE_SPINDLE is disabled.
----------------
Date: 2017-03-19
Author: Sonny Jeon
Subject: Housekeeping.
----------------
Date: 2017-03-19
Author: Sonny Jeon
Subject: Update README.md
----------------
Date: 2017-03-02
Author: Sonny Jeon
Subject: Fixed $G report issue with M7 and M8 both enabled.
[fix] When M7 and M8 are both enabled, $G report would show `M78`,
rather than `M7 M8`. This only effects systems that enable M7 mist
coolant in config.h. Not the default build.
----------------
Date: 2017-02-27
Author: Sonny Jeon
Subject: Fixed shared build info code.
- The build info options of “two switches on an axis” and “homing init
lock” shared the same letter ‘L’. The former is now ’T’.
----------------
Date: 2017-02-23
Author: Sonny Jeon
Subject: Restrict coincident target updates to M3 constant laser only.
----------------
Date: 2017-02-23
Author: Sonny Jeon
Subject: Fixed issue with M3 laser state changes and coincident targets.
- [new] Added total available planner buffer blocks (15 shown, but
there are 16. one is used by the ring buffer and to execute system
motions) and serial RX buffer bytes. This information is useful for
GUIs to setup and optimize their streaming protocols easily.
----------------
Date: 2017-01-29
Author: Sonny Jeon
Subject: Tidying up parking override control implementation
----------------
Date: 2017-01-28
Author: chamnit
Subject: v1.1f. Parking override control. Spindle enable pin option.
[ver] v1.1f update due to tweaks to interface from new parking override
control.
[new] Parking motion override control via new `M56 P0` and `M56 P1`
command, which disables and enables the parking motion, respectively.
Requires ENABLE_PARKING_OVERRIDE_CONTROL and PARKING_ENABLE enabled in
config.h. Primarily for OEMs.
[new] Five new build info identification letters. Some were missing and
a couple are new. Updated the CSV and documentation to reflect these
new items.
[fix] Properly declared system variables as extern. Not sure how that
went unnoticed or why it worked up until now but it has.
[fix] Added a compile-time check for AMASS settings to make sure that
the numerical round-off issue doesn’t effect it. This would only happen
if someone set AMASS max levels to zero. It does not effect AMASS with
its current defaults.
[fix] Fixed an issue when in inverse time mode and G0’s would require a
F word. This was not correct.
[fix] Added a note in the defaults.h file that MAX_TRAVEL values must
be positive. Some users were setting this negative and it was causing
issues.
----------------
Date: 2017-01-14
Author: Sonny Jeon
Subject: Tool number bug fix. Updated documentation.
- [fix] Tool numbers were not being tracked and reported correctly. Now
shows tool number values in $G when programmed.
- [fix] Added a max tool number value check to the g-code parser.
- [doc] Added a new error code for invalid tool number. Updated CSV and
interface documents.
----------------
Date: 2017-01-03
Author: Sonny Jeon
Subject: Spindle enable pin with variable spindle option fix.
----------------
Date: 2016-12-19
Author: Sonny Jeon
Subject: Fixed homing fail alarm handling. Re-integrated software debouncing.
- [bug] Fixed a homing fail issue, where the alarm was not being set
right, not cleared correctly. It would report the wrong code and enter
an infinite alarm loop. This was due to how alarm codes were altered a
while back. Now updated and fixed to show the right codes.
- [fix] Spindle PWM minimum value had some typos. Fixed the macros to
compile correctly. Only effects users that enable SPINDLE_MINIMUM_PWM.
The name changed to SPINDLE_PWM_MIN_VALUE for consistency sake.
----------------
Date: 2016-12-12
Author: Sonny Jeon
Subject: Updating steam.py streaming script
----------------
Date: 2016-12-11
Author: Sonny Jeon
Subject: Updated documentation.
----------------
Date: 2016-12-10
Author: Sonny Jeon
Subject: Updated documentation. Cleaned up a bit.
----------------
Date: 2016-12-09
Author: Sonny Jeon
Subject: Update README.md
----------------
Date: 2016-12-09
Author: Sonny Jeon
Subject: Update README.md
----------------
Date: 2016-12-09
Author: Sonny Jeon
Subject: Update README.md
----------------
Date: 2016-12-08
Author: Sonny Jeon
Subject: Removed classic GUI interface. Fixed typo with line number support.
- [config] Permanently removed classic GUI interface support. This
unintentionally created a problem where some users/GUI devs used this
compatibility mode and did not update to the new interface. So, there
were two interfaces in use, rather than just one like it was intended.
This removal should help everyone by forcing all GUIs to update and
updated GUI not having to support yet another interface.
----------------
Date: 2016-12-04
Author: chamnit
Subject: Fixed unintended laser mode pausing. Updated documentation. Min SS OVR
lowered to 10%.
- [laser] Tested a working version and pushed the wrong one for the
last! 20161203 was pausing upon every spindle speed change. That’s not
right. Fixed so nearly all motions are passed through and does not stop.
- Minimum spindle speed override lower from 50% to 10%. Lasers could
use the lower speeds.
- [doc] Started a “Laser Mode” document that summarizes how Grbl’s new
laser mode works.
----------------
Date: 2016-12-03
Author: Sonny Jeon
Subject: v1.1e: New laser features. G-code parser refactoring. CoreXY homing fix.
- LASER: Only G1, G2, and G3 motion modes will turn on the laser. So,
this means that G0, G80 motion modes will always keep the laser
disabled. No matter if M3/M4 are active!
- Altered how spindle PWM is set in the stepper ISR. Updated on a step
segment basis now. May need to change this back if there are any
oddities from doing this.
----------------
Date: 2016-11-12
Author: Sonny Jeon
Subject: PWM calculation correction.
- The PWM calculation was a little bit off and has been corrected.
- Edited the unused settings strings to be smaller and just show what
the settings are, rather than include units. May include this in the
master build, if it fits.
----------------
Date: 2016-11-04
Author: Sonny Jeon
Subject: Fixed a g-code parser issue caused by last commit.
- G-code parser refactoring in the last commit wasn’t tested. Found and
fixed issues with G28.1/30.1 and G38.x probe commands. They were not
being accepted due to a borked mantissa check.
----------------
Date: 2016-11-04
Author: Sonny Jeon
Subject: Improved constant laser power per rate mode. Re-factored for flash size.
Minor bug fixes.
- Constant laser power per rate mode has been improved. Altered its
implementation to be more responsive and accurate.
- Based on LaserWeb dev feedback, only G1, G2, and G3 moves operate
with constant laser power mode. Meaning that G0, G38.x, and $J jogging
motions operate without it and will keep a constant power output. This
was specifically requested as a way to focus the laser by keeping the
laser on when not moving. Operationally, this shouldn’t alter how the
laser mode operates.
----------------
Date: 2016-10-27
Author: Sonny Jeon
Subject: Spindle speed overrides behavior tweak. New experimental laser dynamic
power mode.
- New experimental dynamic laser power mode that adjusts laser power
based on current machine speed. Enabled by uncommenting
LASER_CONSTANT_POWER_PER_RATE in config.h
- Re-factored planner block rapid rate handling for the dynamic laser
power feature. Should have had no effect on how Grbl operates.
----------------
Date: 2016-10-26
Author: Sonny Jeon
Subject: Add high-frequency spindle output option. Minor parking motion re-
factoring.
- Cleaned up some of the parking code. Mostly just editing the comments.
----------------
Date: 2016-10-25
Author: chamnit
Subject: Mandate all probe cycles ignore feed overrides.
- For repeatability reasons, all G38.x probe cycles ignore feed rate
overrides and move at their programmed speed.
----------------
Date: 2016-10-25
Author: chamnit
Subject: Resolved parking accessory handling issue.
- Yikes. Totally borked the last parking “fix”. Testing shows that all
accessories are now properly handled when retracting and restoring. It
was caused by not accounting for the planner re-factoring correctly in
the parking code.
----------------
Date: 2016-10-24
Author: Sonny Jeon
Subject: Minor re-factoring. Fix an issue with parking and spindle restore.
- Altered the report counters to be count down, rather than count up.
Simplified some of the logic.
- Fixed an issue with parking restore. The spindle state would disable
then reenable.
- When spindle speed is close to the minimum rpm, the PWM value would
be zero or lower than allowed. The computation error was caused by
setting the minimum PWM value to zero, when it should have been 1.
----------------
Date: 2016-10-22
Author: Will Winder
Subject: Minor VARIABLE_SPINDLE feature toggle refactoring (#16)
- Wrap value in quotes to avoid issue with embedded commas. This occurs
in one of the alarm codes.
- Change header row format to allow same parsing code as data rows.
----------------
Date: 2016-10-18
Author: Sonny Jeon
Subject: Improved option for v0.9 GUI compatibility.
- It still may not work due to new data and states coming back from
Grbl v1.1. Regardless, DO NOT TRY TO USE THE COMPATIBILITY MODE UNTIL
THERE IS A REALLY GOOD REASON TO.
- Based on GUI dev feedback, the toggle overrides report was removed
and replace with showing “accessory state”. This shows a character if a
particular accessory is enabled, like the spindle or flood coolant.
These can be directly altered by the toggle overrides, so when they
execute, a GUI will be able to observe the state altering as feedback.
- Reduced the default planner buffer size from 17 to 16. Needed to free
up some memory…
- For increasing the serial TX buffer size from 90 to 104 bytes. The
addition of real-time spindle speeds and accessory enable data required
a bigger buffer. This is to ensure Grbl is performing at optimal levels.
- Updated the g-code parser, parking motion, sleep mode, and spindle
stop calls to refactored spindle and coolant code.
- Updated README
----------------
Date: 2016-10-17
Author: Will Winder
Subject: Modify code CSV format. (#10)
- Wrap value in quotes to avoid issue with embedded commas. This occurs
in one of the alarm codes.
- Change header row format to allow same parsing code as data rows.
----------------
Date: 2016-10-12
Author: chamnit
Subject: Merge branch 'dev' into edge
----------------
Date: 2016-10-12
Author: chamnit
Subject: Added settings documentation. Very minor bug fix to step direction
handling.
- Fixed a very minor bug in the step direction handling upon wakeup.
The direction mask would temporarily go back to default mask for about
a millisecond when moving in the same non-default direction. It did not
effect Grbl behavior before, but fixed for consistency.
----------------
Date: 2016-10-12
Author: Sonny Jeon
Subject: Spindle speed bug fix.
----------------
Date: 2016-10-11
Author: Sonny Jeon
Subject: v1.1c: New sleep mode. Laser mode and other bug fixes.
- New $SLP sleep mode that will disable spindle, coolant, and stepper
enable pins. Allows users to disable their steppers without having to
alter their settings. A reset is required to exit and re-initializes in
alarm state.
- While in laser mode, parking motions are ignored, since the power off
delay with the retract motion would burn the material. It will just
turn off and not move. A restore immediately powers up and resumes. No
delays.
- Changing rpm max and min settings did not update the spindle PWM
calculations. Now fixed.
- Updated the documentation with the new sleep feature and added some
more details to the change summary.
----------------
Date: 2016-09-28
Author: Sonny Jeon
Subject: New jog cancel real-time command. Parser typo fix from last push.
- Fixed a typo in the g-code parser edits from the last push. Was
causing the G10 set coordinate system command to not work correctly.
----------------
Date: 2016-09-27
Author: Sonny Jeon
Subject: Refactored g-code parser. Saved 60bytes flash and some ram. Edited Readme.
- Edited README.
----------------
Date: 2016-09-27
Author: Sonny Jeon
Subject: Update README and clarifications in jogging document.
----------------
Date: 2016-09-26
Author: Sonny Jeon
Subject: v1.1b: Tweaked Bf reports, jogging doc, saved another 160 bytes, minor bug
fixes
- Tweaked the buffer state status reports to show bytes and blocks
available, rather than in use. This does not require knowing the buffer
sizes beforehand. It’s implicit.
- Also, since buffer states are not used by most devs (after
inquiries), it is no longer enabled by default and a status mask option
was added for this.
- Fixed some typos and updated for the report tweak in the
documentation.
- Fixed a probing bug (existing in v0.9 too) where the target positions
were not set correct and error handling was improper.
----------------
Date: 2016-09-25
Author: Sonny Jeon
Subject: Addressed much larger flash size with avr-gcc v4.9.2. Refactored reports
to save 160KB.
- The newest Arduino IDE 1.6.12 has recently updated to avr-gcc v4.9.2.
Unfortunately, it produces a compiled size almost 0.7KB to 1KB larger
than prior versions! This can easily cause the base build to exceed the
Arduino Duemilanove/Nano flash limit of 30.5KB. The Arduino Uno seems
to be ok still with its 31.5KB flash limit.
- Makefile `-flto` compile flag added to cut down on the horrible flash
size when using the new avr-gcc. (Edit Makefile and remove comment on
COMPILE definition). This brings it in-line with what the IDE produces.
----------------
Date: 2016-09-24
Author: Sonny Jeon
Subject: Serial RX count bug fix. Settings codes CSV. More documentation.
- Created a new settings codes CSV to help GUIs import the values and
meanings.
----------------
Date: 2016-09-22
Author: Sonny Jeon
Subject: Increment to v1.1a, minor compile bug fix, tweaked communication protocol,
more docs.
- Certain version of the Arduino IDE did not like the `inline` in the
function header. Removed from spindle_control files to fix the problem.
- Also altered how `$N` startup lines are presented when executed. They
now start with an open chevron ‘>’ followed by the line and an ‘:ok’ to
indicate it executed. The ‘ok’ is on the same line intentionally so it
doesn’t mess up a streaming protocol counter.
- Managed to save a 100+KB from refactoring parts of report.c. (Thanks
Vasilis!) Freed up room to alter the protocol a little.
- Started to pull in some Wiki pages from the old grbl site and
beginning to update them for v1.1.
----------------
Date: 2016-09-22
Author: Sonny Jeon
Subject: Merge pull request #1 from winder/dev
----------------
Date: 2016-09-22
Author: winder
Subject: Add locale to code CSVs.
----------------
Date: 2016-09-21
Author: chamnit
Subject: Grbl v1.0e huge beta release. Overrides and new reporting.