Committer:
Sergunb
Date:
Mon Sep 04 12:03:42 2017 +0000
Revision:
0:f1834a63f7c1
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Sergunb 0:f1834a63f7c1 1 ----------------
Sergunb 0:f1834a63f7c1 2 Date: 2017-03-19
Sergunb 0:f1834a63f7c1 3 Author: Sonny Jeon
Sergunb 0:f1834a63f7c1 4 Subject: Housekeeping.
Sergunb 0:f1834a63f7c1 5
Sergunb 0:f1834a63f7c1 6 - Moved Grbl logo files to a separate repo.
Sergunb 0:f1834a63f7c1 7
Sergunb 0:f1834a63f7c1 8 - Added PocketNC FR4 defaults. Needs some additional work though to be
Sergunb 0:f1834a63f7c1 9 compatible.
Sergunb 0:f1834a63f7c1 10
Sergunb 0:f1834a63f7c1 11 - Updated README image links.
Sergunb 0:f1834a63f7c1 12
Sergunb 0:f1834a63f7c1 13
Sergunb 0:f1834a63f7c1 14 ----------------
Sergunb 0:f1834a63f7c1 15 Date: 2017-03-19
Sergunb 0:f1834a63f7c1 16 Author: Sonny Jeon
Sergunb 0:f1834a63f7c1 17 Subject: Update README.md
Sergunb 0:f1834a63f7c1 18
Sergunb 0:f1834a63f7c1 19 ----------------
Sergunb 0:f1834a63f7c1 20 Date: 2017-03-02
Sergunb 0:f1834a63f7c1 21 Author: Sonny Jeon
Sergunb 0:f1834a63f7c1 22 Subject: Fixed $G report issue with M7 and M8 both enabled.
Sergunb 0:f1834a63f7c1 23
Sergunb 0:f1834a63f7c1 24 [fix] When M7 and M8 are both enabled, $G report would show `M78`,
Sergunb 0:f1834a63f7c1 25 rather than `M7 M8`. This only effects systems that enable M7 mist
Sergunb 0:f1834a63f7c1 26 coolant in config.h. Not the default build.
Sergunb 0:f1834a63f7c1 27
Sergunb 0:f1834a63f7c1 28
Sergunb 0:f1834a63f7c1 29 ----------------
Sergunb 0:f1834a63f7c1 30 Date: 2017-02-27
Sergunb 0:f1834a63f7c1 31 Author: Sonny Jeon
Sergunb 0:f1834a63f7c1 32 Subject: Fixed shared build info code.
Sergunb 0:f1834a63f7c1 33
Sergunb 0:f1834a63f7c1 34 - The build info options of “two switches on an axis” and “homing init
Sergunb 0:f1834a63f7c1 35 lock” shared the same letter ‘L’. The former is now ’T’.
Sergunb 0:f1834a63f7c1 36
Sergunb 0:f1834a63f7c1 37
Sergunb 0:f1834a63f7c1 38 ----------------
Sergunb 0:f1834a63f7c1 39 Date: 2017-02-23
Sergunb 0:f1834a63f7c1 40 Author: Sonny Jeon
Sergunb 0:f1834a63f7c1 41 Subject: Restrict coincident target updates to M3 constant laser only.
Sergunb 0:f1834a63f7c1 42
Sergunb 0:f1834a63f7c1 43 - Restrict M3 forced updates when there is a motion block with a
Sergunb 0:f1834a63f7c1 44 coincident target. Force syncing of the spindle state can lead to some
Sergunb 0:f1834a63f7c1 45 pauses during a job that has coincident targets. That’s not
Sergunb 0:f1834a63f7c1 46 particularly desirable. This ensures M4 dynamic mode is not effected by
Sergunb 0:f1834a63f7c1 47 this force-sync.
Sergunb 0:f1834a63f7c1 48
Sergunb 0:f1834a63f7c1 49
Sergunb 0:f1834a63f7c1 50 ----------------
Sergunb 0:f1834a63f7c1 51 Date: 2017-02-23
Sergunb 0:f1834a63f7c1 52 Author: Sonny Jeon
Sergunb 0:f1834a63f7c1 53 Subject: Fixed issue with M3 laser state changes and coincident targets.
Sergunb 0:f1834a63f7c1 54
Sergunb 0:f1834a63f7c1 55 [fix] When in M3 constant laser power mode, a change from G0 to G1
Sergunb 0:f1834a63f7c1 56 would not set the laser on, if G1 was passed with a coincident target.
Sergunb 0:f1834a63f7c1 57 Motion controller now checks for a coincident target situation and will
Sergunb 0:f1834a63f7c1 58 force a spindle sync when detected.
Sergunb 0:f1834a63f7c1 59
Sergunb 0:f1834a63f7c1 60
Sergunb 0:f1834a63f7c1 61 ----------------
Sergunb 0:f1834a63f7c1 62 Date: 2017-01-31
Sergunb 0:f1834a63f7c1 63 Author: Sonny Jeon
Sergunb 0:f1834a63f7c1 64 Subject: Additional build info in the $I printout.
Sergunb 0:f1834a63f7c1 65
Sergunb 0:f1834a63f7c1 66 - [new] Added total available planner buffer blocks (15 shown, but
Sergunb 0:f1834a63f7c1 67 there are 16. one is used by the ring buffer and to execute system
Sergunb 0:f1834a63f7c1 68 motions) and serial RX buffer bytes. This information is useful for
Sergunb 0:f1834a63f7c1 69 GUIs to setup and optimize their streaming protocols easily.
Sergunb 0:f1834a63f7c1 70
Sergunb 0:f1834a63f7c1 71 [doc] Updated the interface document to reflect the change.
Sergunb 0:f1834a63f7c1 72
Sergunb 0:f1834a63f7c1 73
Sergunb 0:f1834a63f7c1 74 ----------------
Sergunb 0:f1834a63f7c1 75 Date: 2017-01-29
Sergunb 0:f1834a63f7c1 76 Author: Sonny Jeon
Sergunb 0:f1834a63f7c1 77 Subject: Tidying up parking override control implementation
Sergunb 0:f1834a63f7c1 78
Sergunb 0:f1834a63f7c1 79 [new] Added a default configuration for the parking override control
Sergunb 0:f1834a63f7c1 80 upon a reset or power-up. By default, parking is enabled, but this may
Sergunb 0:f1834a63f7c1 81 be disabled via a config.h option.
Sergunb 0:f1834a63f7c1 82
Sergunb 0:f1834a63f7c1 83 [fix] Parking override control should be checking if the command word
Sergunb 0:f1834a63f7c1 84 is passed, rather than the value.
Sergunb 0:f1834a63f7c1 85
Sergunb 0:f1834a63f7c1 86
Sergunb 0:f1834a63f7c1 87 ----------------
Sergunb 0:f1834a63f7c1 88 Date: 2017-01-28
Sergunb 0:f1834a63f7c1 89 Author: chamnit
Sergunb 0:f1834a63f7c1 90 Subject: v1.1f. Parking override control. Spindle enable pin option.
Sergunb 0:f1834a63f7c1 91
Sergunb 0:f1834a63f7c1 92 [ver] v1.1f update due to tweaks to interface from new parking override
Sergunb 0:f1834a63f7c1 93 control.
Sergunb 0:f1834a63f7c1 94
Sergunb 0:f1834a63f7c1 95 [new] Parking motion override control via new `M56 P0` and `M56 P1`
Sergunb 0:f1834a63f7c1 96 command, which disables and enables the parking motion, respectively.
Sergunb 0:f1834a63f7c1 97 Requires ENABLE_PARKING_OVERRIDE_CONTROL and PARKING_ENABLE enabled in
Sergunb 0:f1834a63f7c1 98 config.h. Primarily for OEMs.
Sergunb 0:f1834a63f7c1 99
Sergunb 0:f1834a63f7c1 100 [new] `M56` appears in the $G report when enabled.
Sergunb 0:f1834a63f7c1 101
Sergunb 0:f1834a63f7c1 102 [new] Five new build info identification letters. Some were missing and
Sergunb 0:f1834a63f7c1 103 a couple are new. Updated the CSV and documentation to reflect these
Sergunb 0:f1834a63f7c1 104 new items.
Sergunb 0:f1834a63f7c1 105
Sergunb 0:f1834a63f7c1 106 [new] Spindle enable pin configuration option to alter its behavior
Sergunb 0:f1834a63f7c1 107 based on how certain lasers work. By default, Grbl treats the enable
Sergunb 0:f1834a63f7c1 108 pin separately and leaves it on when S is 0. The new option turns the
Sergunb 0:f1834a63f7c1 109 enable pin on and off with S>0 and S=0. This only is in effect when a
Sergunb 0:f1834a63f7c1 110 user enables the USE_SPINDLE_DIR_AS_ENABLE_PIN option.
Sergunb 0:f1834a63f7c1 111
Sergunb 0:f1834a63f7c1 112 [fix] M4 is now allowed to work when USE_SPINDLE_DIR_AS_ENABLE_PIN is
Sergunb 0:f1834a63f7c1 113 enabled. Previously this was blocked and was problematic for laser
Sergunb 0:f1834a63f7c1 114 folks using M4.
Sergunb 0:f1834a63f7c1 115
Sergunb 0:f1834a63f7c1 116 [fix] Properly declared system variables as extern. Not sure how that
Sergunb 0:f1834a63f7c1 117 went unnoticed or why it worked up until now but it has.
Sergunb 0:f1834a63f7c1 118
Sergunb 0:f1834a63f7c1 119 [fix] EXTREMELY RARE. When AMASS is intentionally disabled and sent a
Sergunb 0:f1834a63f7c1 120 motion command that is _one step_ in length, Grbl would not actuate the
Sergunb 0:f1834a63f7c1 121 step due to numerical round-off. Applied a fix to prevent the round-off
Sergunb 0:f1834a63f7c1 122 issue.
Sergunb 0:f1834a63f7c1 123
Sergunb 0:f1834a63f7c1 124 [fix] Added a compile-time check for AMASS settings to make sure that
Sergunb 0:f1834a63f7c1 125 the numerical round-off issue doesn’t effect it. This would only happen
Sergunb 0:f1834a63f7c1 126 if someone set AMASS max levels to zero. It does not effect AMASS with
Sergunb 0:f1834a63f7c1 127 its current defaults.
Sergunb 0:f1834a63f7c1 128
Sergunb 0:f1834a63f7c1 129 [fix] Wrapped the mc_parking_motion() function in an ifdef for porting
Sergunb 0:f1834a63f7c1 130 purposes.
Sergunb 0:f1834a63f7c1 131
Sergunb 0:f1834a63f7c1 132 [fix] Fixed an issue when in inverse time mode and G0’s would require a
Sergunb 0:f1834a63f7c1 133 F word. This was not correct.
Sergunb 0:f1834a63f7c1 134
Sergunb 0:f1834a63f7c1 135 [fix] Added a note in the defaults.h file that MAX_TRAVEL values must
Sergunb 0:f1834a63f7c1 136 be positive. Some users were setting this negative and it was causing
Sergunb 0:f1834a63f7c1 137 issues.
Sergunb 0:f1834a63f7c1 138
Sergunb 0:f1834a63f7c1 139
Sergunb 0:f1834a63f7c1 140 ----------------
Sergunb 0:f1834a63f7c1 141 Date: 2017-01-14
Sergunb 0:f1834a63f7c1 142 Author: Sonny Jeon
Sergunb 0:f1834a63f7c1 143 Subject: Tool number bug fix. Updated documentation.
Sergunb 0:f1834a63f7c1 144
Sergunb 0:f1834a63f7c1 145 - [fix] Tool numbers were not being tracked and reported correctly. Now
Sergunb 0:f1834a63f7c1 146 shows tool number values in $G when programmed.
Sergunb 0:f1834a63f7c1 147
Sergunb 0:f1834a63f7c1 148 - [fix] Added a max tool number value check to the g-code parser.
Sergunb 0:f1834a63f7c1 149
Sergunb 0:f1834a63f7c1 150 - [doc] Added a new error code for invalid tool number. Updated CSV and
Sergunb 0:f1834a63f7c1 151 interface documents.
Sergunb 0:f1834a63f7c1 152
Sergunb 0:f1834a63f7c1 153 - [doc] Added a implementation note for buffer state in status reports.
Sergunb 0:f1834a63f7c1 154 Don’t rely on this data for streaming.
Sergunb 0:f1834a63f7c1 155
Sergunb 0:f1834a63f7c1 156
Sergunb 0:f1834a63f7c1 157 ----------------
Sergunb 0:f1834a63f7c1 158 Date: 2017-01-03
Sergunb 0:f1834a63f7c1 159 Author: Sonny Jeon
Sergunb 0:f1834a63f7c1 160 Subject: Spindle enable pin with variable spindle option fix.
Sergunb 0:f1834a63f7c1 161
Sergunb 0:f1834a63f7c1 162 - [fix] When USE_SPINDLE_DIR_AS_ENABLE_PIN is enabled in config.h, the
Sergunb 0:f1834a63f7c1 163 enable pin was not being set when spindle speed is zero. This behavior
Sergunb 0:f1834a63f7c1 164 should now be fixed.
Sergunb 0:f1834a63f7c1 165
Sergunb 0:f1834a63f7c1 166
Sergunb 0:f1834a63f7c1 167 ----------------
Sergunb 0:f1834a63f7c1 168 Date: 2016-12-19
Sergunb 0:f1834a63f7c1 169 Author: Sonny Jeon
Sergunb 0:f1834a63f7c1 170 Subject: Fixed homing fail alarm handling. Re-integrated software debouncing.
Sergunb 0:f1834a63f7c1 171
Sergunb 0:f1834a63f7c1 172 - [bug] Fixed a homing fail issue, where the alarm was not being set
Sergunb 0:f1834a63f7c1 173 right, not cleared correctly. It would report the wrong code and enter
Sergunb 0:f1834a63f7c1 174 an infinite alarm loop. This was due to how alarm codes were altered a
Sergunb 0:f1834a63f7c1 175 while back. Now updated and fixed to show the right codes.
Sergunb 0:f1834a63f7c1 176
Sergunb 0:f1834a63f7c1 177 - [feature] Re-installed optional software debouncing for hard limit
Sergunb 0:f1834a63f7c1 178 switches. By request.
Sergunb 0:f1834a63f7c1 179
Sergunb 0:f1834a63f7c1 180
Sergunb 0:f1834a63f7c1 181 ----------------
Sergunb 0:f1834a63f7c1 182 Date: 2016-12-18
Sergunb 0:f1834a63f7c1 183 Author: Sonny Jeon
Sergunb 0:f1834a63f7c1 184 Subject: Addressed optional PWM min value issue. Updated docs.
Sergunb 0:f1834a63f7c1 185
Sergunb 0:f1834a63f7c1 186 - [fix] Spindle PWM minimum value had some typos. Fixed the macros to
Sergunb 0:f1834a63f7c1 187 compile correctly. Only effects users that enable SPINDLE_MINIMUM_PWM.
Sergunb 0:f1834a63f7c1 188 The name changed to SPINDLE_PWM_MIN_VALUE for consistency sake.
Sergunb 0:f1834a63f7c1 189
Sergunb 0:f1834a63f7c1 190 - Updated the laser documentation.
Sergunb 0:f1834a63f7c1 191
Sergunb 0:f1834a63f7c1 192
Sergunb 0:f1834a63f7c1 193 ----------------
Sergunb 0:f1834a63f7c1 194 Date: 2016-12-12
Sergunb 0:f1834a63f7c1 195 Author: Sonny Jeon
Sergunb 0:f1834a63f7c1 196 Subject: Updating steam.py streaming script
Sergunb 0:f1834a63f7c1 197
Sergunb 0:f1834a63f7c1 198 - Added push message capability to the stream.py streaming script. It
Sergunb 0:f1834a63f7c1 199 prints out as a `Debug:` string in the output.
Sergunb 0:f1834a63f7c1 200
Sergunb 0:f1834a63f7c1 201
Sergunb 0:f1834a63f7c1 202 ----------------
Sergunb 0:f1834a63f7c1 203 Date: 2016-12-11
Sergunb 0:f1834a63f7c1 204 Author: Sonny Jeon
Sergunb 0:f1834a63f7c1 205 Subject: Updated documentation.
Sergunb 0:f1834a63f7c1 206
Sergunb 0:f1834a63f7c1 207
Sergunb 0:f1834a63f7c1 208 ----------------
Sergunb 0:f1834a63f7c1 209 Date: 2016-12-10
Sergunb 0:f1834a63f7c1 210 Author: Sonny Jeon
Sergunb 0:f1834a63f7c1 211 Subject: Updated documentation. Cleaned up a bit.
Sergunb 0:f1834a63f7c1 212
Sergunb 0:f1834a63f7c1 213 - [doc] Updated the markdown documents for the v1.1 release.
Sergunb 0:f1834a63f7c1 214
Sergunb 0:f1834a63f7c1 215 - [doc] Removed references to classic GUI mode.
Sergunb 0:f1834a63f7c1 216
Sergunb 0:f1834a63f7c1 217
Sergunb 0:f1834a63f7c1 218 ----------------
Sergunb 0:f1834a63f7c1 219 Date: 2016-12-09
Sergunb 0:f1834a63f7c1 220 Author: Sonny Jeon
Sergunb 0:f1834a63f7c1 221 Subject: Update README.md
Sergunb 0:f1834a63f7c1 222
Sergunb 0:f1834a63f7c1 223 ----------------
Sergunb 0:f1834a63f7c1 224 Date: 2016-12-09
Sergunb 0:f1834a63f7c1 225 Author: Sonny Jeon
Sergunb 0:f1834a63f7c1 226 Subject: Update README.md
Sergunb 0:f1834a63f7c1 227
Sergunb 0:f1834a63f7c1 228 ----------------
Sergunb 0:f1834a63f7c1 229 Date: 2016-12-09
Sergunb 0:f1834a63f7c1 230 Author: Sonny Jeon
Sergunb 0:f1834a63f7c1 231 Subject: Update README.md
Sergunb 0:f1834a63f7c1 232
Sergunb 0:f1834a63f7c1 233 ----------------
Sergunb 0:f1834a63f7c1 234 Date: 2016-12-08
Sergunb 0:f1834a63f7c1 235 Author: Sonny Jeon
Sergunb 0:f1834a63f7c1 236 Subject: Removed classic GUI interface. Fixed typo with line number support.
Sergunb 0:f1834a63f7c1 237
Sergunb 0:f1834a63f7c1 238 - [config] Permanently removed classic GUI interface support. This
Sergunb 0:f1834a63f7c1 239 unintentionally created a problem where some users/GUI devs used this
Sergunb 0:f1834a63f7c1 240 compatibility mode and did not update to the new interface. So, there
Sergunb 0:f1834a63f7c1 241 were two interfaces in use, rather than just one like it was intended.
Sergunb 0:f1834a63f7c1 242 This removal should help everyone by forcing all GUIs to update and
Sergunb 0:f1834a63f7c1 243 updated GUI not having to support yet another interface.
Sergunb 0:f1834a63f7c1 244
Sergunb 0:f1834a63f7c1 245 - Fixed typo with line number support in jog mode.
Sergunb 0:f1834a63f7c1 246
Sergunb 0:f1834a63f7c1 247
Sergunb 0:f1834a63f7c1 248 ----------------
Sergunb 0:f1834a63f7c1 249 Date: 2016-12-04
Sergunb 0:f1834a63f7c1 250 Author: chamnit
Sergunb 0:f1834a63f7c1 251 Subject: Fixed unintended laser mode pausing. Updated documentation. Min SS OVR lowered to 10%.
Sergunb 0:f1834a63f7c1 252
Sergunb 0:f1834a63f7c1 253 - [laser] Tested a working version and pushed the wrong one for the
Sergunb 0:f1834a63f7c1 254 last! 20161203 was pausing upon every spindle speed change. That’s not
Sergunb 0:f1834a63f7c1 255 right. Fixed so nearly all motions are passed through and does not stop.
Sergunb 0:f1834a63f7c1 256
Sergunb 0:f1834a63f7c1 257 - Minimum spindle speed override lower from 50% to 10%. Lasers could
Sergunb 0:f1834a63f7c1 258 use the lower speeds.
Sergunb 0:f1834a63f7c1 259
Sergunb 0:f1834a63f7c1 260 - Fixed a very minor bug related to G80 error checking. Allowed no
Sergunb 0:f1834a63f7c1 261 error with non-modal motions with axis words. Not correct and fixed.
Sergunb 0:f1834a63f7c1 262
Sergunb 0:f1834a63f7c1 263 - Fixed a compile error when disabling VARIABLE_SPINDLE
Sergunb 0:f1834a63f7c1 264
Sergunb 0:f1834a63f7c1 265 - [doc] Updated some obsolete documentation.
Sergunb 0:f1834a63f7c1 266
Sergunb 0:f1834a63f7c1 267 - [doc] Started a “Laser Mode” document that summarizes how Grbl’s new
Sergunb 0:f1834a63f7c1 268 laser mode works.
Sergunb 0:f1834a63f7c1 269
Sergunb 0:f1834a63f7c1 270
Sergunb 0:f1834a63f7c1 271 ----------------
Sergunb 0:f1834a63f7c1 272 Date: 2016-12-03
Sergunb 0:f1834a63f7c1 273 Author: Sonny Jeon
Sergunb 0:f1834a63f7c1 274 Subject: v1.1e: New laser features. G-code parser refactoring. CoreXY homing fix.
Sergunb 0:f1834a63f7c1 275
Sergunb 0:f1834a63f7c1 276 - Increment to v1.1e due to new laser features.
Sergunb 0:f1834a63f7c1 277
Sergunb 0:f1834a63f7c1 278 - After several discussions with some prominent laser people, a few
Sergunb 0:f1834a63f7c1 279 tweaks to the new laser mode has been installed.
Sergunb 0:f1834a63f7c1 280
Sergunb 0:f1834a63f7c1 281 - LASER: M3 behaves in a constant power mode.
Sergunb 0:f1834a63f7c1 282
Sergunb 0:f1834a63f7c1 283 - LASER: M4 behaves in a dynamic power mode, where the laser power is
Sergunb 0:f1834a63f7c1 284 automatically adjusted based on how fast Grbl is moving relative to the
Sergunb 0:f1834a63f7c1 285 programmed feed rate. This is the same as the CONSTANT_POWER_PER_RATE
Sergunb 0:f1834a63f7c1 286 config.h option in the last version. NOTE: When not in motion in M4,
Sergunb 0:f1834a63f7c1 287 Grbl automatically turns off the laser. Again, it only operates while
Sergunb 0:f1834a63f7c1 288 moving!
Sergunb 0:f1834a63f7c1 289
Sergunb 0:f1834a63f7c1 290 - LASER: Only G1, G2, and G3 motion modes will turn on the laser. So,
Sergunb 0:f1834a63f7c1 291 this means that G0, G80 motion modes will always keep the laser
Sergunb 0:f1834a63f7c1 292 disabled. No matter if M3/M4 are active!
Sergunb 0:f1834a63f7c1 293
Sergunb 0:f1834a63f7c1 294 - LASER: A spindle stop override is automatically invoked when a laser
Sergunb 0:f1834a63f7c1 295 is put in a feed hold. This behavior may be disabled by a config.h
Sergunb 0:f1834a63f7c1 296 option.
Sergunb 0:f1834a63f7c1 297
Sergunb 0:f1834a63f7c1 298 - Lots of little tweaks to the g-code parser to help streamline it a
Sergunb 0:f1834a63f7c1 299 bit. It should no effect how it operates. Generally just added a parser
Sergunb 0:f1834a63f7c1 300 flag to track and execute certain scenarios a little more clearly.
Sergunb 0:f1834a63f7c1 301
Sergunb 0:f1834a63f7c1 302 - Jog motions now allow line numbers to be passed to it and will be
Sergunb 0:f1834a63f7c1 303 displayed in the status reports.
Sergunb 0:f1834a63f7c1 304
Sergunb 0:f1834a63f7c1 305 - Fixed a CoreXY homing bug.
Sergunb 0:f1834a63f7c1 306
Sergunb 0:f1834a63f7c1 307 - Fixed an issue when $13 is changed, WCO isn’t sent immediately.
Sergunb 0:f1834a63f7c1 308
Sergunb 0:f1834a63f7c1 309 - Altered how spindle PWM is set in the stepper ISR. Updated on a step
Sergunb 0:f1834a63f7c1 310 segment basis now. May need to change this back if there are any
Sergunb 0:f1834a63f7c1 311 oddities from doing this.
Sergunb 0:f1834a63f7c1 312
Sergunb 0:f1834a63f7c1 313 - Updated some documentation. Clarified why M0 no longer showing up in
Sergunb 0:f1834a63f7c1 314 $G and why a `1.` floating point values are shown with no decimals,
Sergunb 0:f1834a63f7c1 315 like so `1`.
Sergunb 0:f1834a63f7c1 316
Sergunb 0:f1834a63f7c1 317
Sergunb 0:f1834a63f7c1 318 ----------------
Sergunb 0:f1834a63f7c1 319 Date: 2016-11-12
Sergunb 0:f1834a63f7c1 320 Author: Sonny Jeon
Sergunb 0:f1834a63f7c1 321 Subject: PWM calculation correction.
Sergunb 0:f1834a63f7c1 322
Sergunb 0:f1834a63f7c1 323 - The PWM calculation was a little bit off and has been corrected.
Sergunb 0:f1834a63f7c1 324
Sergunb 0:f1834a63f7c1 325 - Edited the unused settings strings to be smaller and just show what
Sergunb 0:f1834a63f7c1 326 the settings are, rather than include units. May include this in the
Sergunb 0:f1834a63f7c1 327 master build, if it fits.
Sergunb 0:f1834a63f7c1 328
Sergunb 0:f1834a63f7c1 329 - The minimum spindle PWM define in config.h needed to be update for
Sergunb 0:f1834a63f7c1 330 cpu map compatibilty.
Sergunb 0:f1834a63f7c1 331
Sergunb 0:f1834a63f7c1 332
Sergunb 0:f1834a63f7c1 333 ----------------
Sergunb 0:f1834a63f7c1 334 Date: 2016-11-04
Sergunb 0:f1834a63f7c1 335 Author: Sonny Jeon
Sergunb 0:f1834a63f7c1 336 Subject: Fixed a g-code parser issue caused by last commit.
Sergunb 0:f1834a63f7c1 337
Sergunb 0:f1834a63f7c1 338 - G-code parser refactoring in the last commit wasn’t tested. Found and
Sergunb 0:f1834a63f7c1 339 fixed issues with G28.1/30.1 and G38.x probe commands. They were not
Sergunb 0:f1834a63f7c1 340 being accepted due to a borked mantissa check.
Sergunb 0:f1834a63f7c1 341
Sergunb 0:f1834a63f7c1 342
Sergunb 0:f1834a63f7c1 343 ----------------
Sergunb 0:f1834a63f7c1 344 Date: 2016-11-04
Sergunb 0:f1834a63f7c1 345 Author: Sonny Jeon
Sergunb 0:f1834a63f7c1 346 Subject: Improved constant laser power per rate mode. Re-factored for flash size. Minor bug fixes.
Sergunb 0:f1834a63f7c1 347
Sergunb 0:f1834a63f7c1 348 - NOTE: This commit has largely been untested.
Sergunb 0:f1834a63f7c1 349
Sergunb 0:f1834a63f7c1 350 - Constant laser power per rate mode has been improved. Altered its
Sergunb 0:f1834a63f7c1 351 implementation to be more responsive and accurate.
Sergunb 0:f1834a63f7c1 352
Sergunb 0:f1834a63f7c1 353 - Based on LaserWeb dev feedback, only G1, G2, and G3 moves operate
Sergunb 0:f1834a63f7c1 354 with constant laser power mode. Meaning that G0, G38.x, and $J jogging
Sergunb 0:f1834a63f7c1 355 motions operate without it and will keep a constant power output. This
Sergunb 0:f1834a63f7c1 356 was specifically requested as a way to focus the laser by keeping the
Sergunb 0:f1834a63f7c1 357 laser on when not moving. Operationally, this shouldn’t alter how the
Sergunb 0:f1834a63f7c1 358 laser mode operates.
Sergunb 0:f1834a63f7c1 359
Sergunb 0:f1834a63f7c1 360 - Re-factored parts of the g-code parser and g-code state reports to
Sergunb 0:f1834a63f7c1 361 save a few hundred bytes of flash. What was done makes the code a bit
Sergunb 0:f1834a63f7c1 362 more unreadable (bad), but the flash space was in dire need. So, I’m
Sergunb 0:f1834a63f7c1 363 willing to live with it for now.
Sergunb 0:f1834a63f7c1 364
Sergunb 0:f1834a63f7c1 365 - Fixed a problem with $G g-code state reports. Showed `M0` program
Sergunb 0:f1834a63f7c1 366 pause during a run state. Now fixed to show nothing during a run state.
Sergunb 0:f1834a63f7c1 367 Also, `M30` program end was shown as `M2`. This was also corrected.
Sergunb 0:f1834a63f7c1 368
Sergunb 0:f1834a63f7c1 369 - Improved spindle stop override responsiveness by removing the
Sergunb 0:f1834a63f7c1 370 enforced spindle restoring delay. It’s not needed for a feature that is
Sergunb 0:f1834a63f7c1 371 user controlled.
Sergunb 0:f1834a63f7c1 372
Sergunb 0:f1834a63f7c1 373 - Fixed a bug with G2/3 arcs in inverse time mode.
Sergunb 0:f1834a63f7c1 374
Sergunb 0:f1834a63f7c1 375 - Updated the interface.md document to make it more clear how WPos: or
Sergunb 0:f1834a63f7c1 376 MPos: can be calculated from WCO:. Some GUI devs have failed to catch
Sergunb 0:f1834a63f7c1 377 this in the documentation.
Sergunb 0:f1834a63f7c1 378
Sergunb 0:f1834a63f7c1 379
Sergunb 0:f1834a63f7c1 380 ----------------
Sergunb 0:f1834a63f7c1 381 Date: 2016-10-27
Sergunb 0:f1834a63f7c1 382 Author: Sonny Jeon
Sergunb 0:f1834a63f7c1 383 Subject: Spindle speed overrides behavior tweak. New experimental laser dynamic power mode.
Sergunb 0:f1834a63f7c1 384
Sergunb 0:f1834a63f7c1 385 - Spindle speed overrides now update immediately if they are changed
Sergunb 0:f1834a63f7c1 386 while in a HOLD state. Previously, they would update after exiting the
Sergunb 0:f1834a63f7c1 387 HOLD, which isn’t correct.
Sergunb 0:f1834a63f7c1 388
Sergunb 0:f1834a63f7c1 389 - New experimental dynamic laser power mode that adjusts laser power
Sergunb 0:f1834a63f7c1 390 based on current machine speed. Enabled by uncommenting
Sergunb 0:f1834a63f7c1 391 LASER_CONSTANT_POWER_PER_RATE in config.h
Sergunb 0:f1834a63f7c1 392
Sergunb 0:f1834a63f7c1 393 - It assumes the programmed rate is the intended power/rate for the
Sergunb 0:f1834a63f7c1 394 motion.
Sergunb 0:f1834a63f7c1 395 - Feed rate overrides (FRO) do not effect the power/rate. Meaning
Sergunb 0:f1834a63f7c1 396 that spindle PWM will automatically lower with lower FRO and increase
Sergunb 0:f1834a63f7c1 397 with higher FRO to keep it the same.
Sergunb 0:f1834a63f7c1 398 - Spindle speed overrides (SSO) will directly increase and decrease
Sergunb 0:f1834a63f7c1 399 the power/rate. So 150% SSO will increase the PWM output by 150% for
Sergunb 0:f1834a63f7c1 400 the same speed.
Sergunb 0:f1834a63f7c1 401 - The combination of FRO and SSO behaviors should allow for subtle
Sergunb 0:f1834a63f7c1 402 and highly flexible tuning of how the laser cutter is operating in
Sergunb 0:f1834a63f7c1 403 real-time and during the job.
Sergunb 0:f1834a63f7c1 404
Sergunb 0:f1834a63f7c1 405 - Re-factored planner block rapid rate handling for the dynamic laser
Sergunb 0:f1834a63f7c1 406 power feature. Should have had no effect on how Grbl operates.
Sergunb 0:f1834a63f7c1 407
Sergunb 0:f1834a63f7c1 408
Sergunb 0:f1834a63f7c1 409 ----------------
Sergunb 0:f1834a63f7c1 410 Date: 2016-10-26
Sergunb 0:f1834a63f7c1 411 Author: Sonny Jeon
Sergunb 0:f1834a63f7c1 412 Subject: Add high-frequency spindle output option. Minor parking motion re-factoring.
Sergunb 0:f1834a63f7c1 413
Sergunb 0:f1834a63f7c1 414 - Some laser controllers were reported to need a very high PWM
Sergunb 0:f1834a63f7c1 415 frequency. Added a line to enable this in cpu_map.h, if needed.
Sergunb 0:f1834a63f7c1 416
Sergunb 0:f1834a63f7c1 417 - Cleaned up some of the parking code. Mostly just editing the comments.
Sergunb 0:f1834a63f7c1 418
Sergunb 0:f1834a63f7c1 419 - Moved the accessory state resetting after the initial parking
Sergunb 0:f1834a63f7c1 420 retract. Should ensure the accessory state is properly handled upon an
Sergunb 0:f1834a63f7c1 421 aborted parking restore. Not certain if this was a problem before
Sergunb 0:f1834a63f7c1 422 though. Just to be sure.
Sergunb 0:f1834a63f7c1 423
Sergunb 0:f1834a63f7c1 424
Sergunb 0:f1834a63f7c1 425 ----------------
Sergunb 0:f1834a63f7c1 426 Date: 2016-10-25
Sergunb 0:f1834a63f7c1 427 Author: chamnit
Sergunb 0:f1834a63f7c1 428 Subject: Mandate all probe cycles ignore feed overrides.
Sergunb 0:f1834a63f7c1 429
Sergunb 0:f1834a63f7c1 430 - For repeatability reasons, all G38.x probe cycles ignore feed rate
Sergunb 0:f1834a63f7c1 431 overrides and move at their programmed speed.
Sergunb 0:f1834a63f7c1 432
Sergunb 0:f1834a63f7c1 433 - The mandate can be removed with a new config.h option.
Sergunb 0:f1834a63f7c1 434
Sergunb 0:f1834a63f7c1 435 - Updated the documentation to reflect the change.
Sergunb 0:f1834a63f7c1 436
Sergunb 0:f1834a63f7c1 437
Sergunb 0:f1834a63f7c1 438 ----------------
Sergunb 0:f1834a63f7c1 439 Date: 2016-10-25
Sergunb 0:f1834a63f7c1 440 Author: chamnit
Sergunb 0:f1834a63f7c1 441 Subject: Resolved parking accessory handling issue.
Sergunb 0:f1834a63f7c1 442
Sergunb 0:f1834a63f7c1 443 - Yikes. Totally borked the last parking “fix”. Testing shows that all
Sergunb 0:f1834a63f7c1 444 accessories are now properly handled when retracting and restoring. It
Sergunb 0:f1834a63f7c1 445 was caused by not accounting for the planner re-factoring correctly in
Sergunb 0:f1834a63f7c1 446 the parking code.
Sergunb 0:f1834a63f7c1 447
Sergunb 0:f1834a63f7c1 448
Sergunb 0:f1834a63f7c1 449 ----------------
Sergunb 0:f1834a63f7c1 450 Date: 2016-10-24
Sergunb 0:f1834a63f7c1 451 Author: Sonny Jeon
Sergunb 0:f1834a63f7c1 452 Subject: Minor re-factoring. Fix an issue with parking and spindle restore.
Sergunb 0:f1834a63f7c1 453
Sergunb 0:f1834a63f7c1 454 - Altered the report counters to be count down, rather than count up.
Sergunb 0:f1834a63f7c1 455 Simplified some of the logic.
Sergunb 0:f1834a63f7c1 456
Sergunb 0:f1834a63f7c1 457 - Fixed an issue with parking restore. The spindle state would disable
Sergunb 0:f1834a63f7c1 458 then reenable.
Sergunb 0:f1834a63f7c1 459
Sergunb 0:f1834a63f7c1 460 - Clarified some of the config.h descriptions.
Sergunb 0:f1834a63f7c1 461
Sergunb 0:f1834a63f7c1 462 - Moved the compile-time checks from config.h to grbl.h. They don’t
Sergunb 0:f1834a63f7c1 463 belong in the config.h file.
Sergunb 0:f1834a63f7c1 464
Sergunb 0:f1834a63f7c1 465 - Refactored the initialization of the system variables in main.c.
Sergunb 0:f1834a63f7c1 466 System position and probe position were undefined when power cycled,
Sergunb 0:f1834a63f7c1 467 but were zero anyway. Added clear vector code to make it explicit.
Sergunb 0:f1834a63f7c1 468
Sergunb 0:f1834a63f7c1 469
Sergunb 0:f1834a63f7c1 470 ----------------
Sergunb 0:f1834a63f7c1 471 Date: 2016-10-23
Sergunb 0:f1834a63f7c1 472 Author: Sonny Jeon
Sergunb 0:f1834a63f7c1 473 Subject: Spindle speed close to minimum fix.
Sergunb 0:f1834a63f7c1 474
Sergunb 0:f1834a63f7c1 475 - When spindle speed is close to the minimum rpm, the PWM value would
Sergunb 0:f1834a63f7c1 476 be zero or lower than allowed. The computation error was caused by
Sergunb 0:f1834a63f7c1 477 setting the minimum PWM value to zero, when it should have been 1.
Sergunb 0:f1834a63f7c1 478
Sergunb 0:f1834a63f7c1 479 - Added a compiler check for minimum PWM to be greater than zero.
Sergunb 0:f1834a63f7c1 480
Sergunb 0:f1834a63f7c1 481 - Moved some of the spindle PWM macros to a more appropriate place in
Sergunb 0:f1834a63f7c1 482 the cpu_map.h.
Sergunb 0:f1834a63f7c1 483
Sergunb 0:f1834a63f7c1 484
Sergunb 0:f1834a63f7c1 485 ----------------
Sergunb 0:f1834a63f7c1 486 Date: 2016-10-22
Sergunb 0:f1834a63f7c1 487 Author: Will Winder
Sergunb 0:f1834a63f7c1 488 Subject: Minor VARIABLE_SPINDLE feature toggle refactoring (#16)
Sergunb 0:f1834a63f7c1 489
Sergunb 0:f1834a63f7c1 490 * Modify code CSV format.
Sergunb 0:f1834a63f7c1 491
Sergunb 0:f1834a63f7c1 492 - Wrap value in quotes to avoid issue with embedded commas. This occurs
Sergunb 0:f1834a63f7c1 493 in one of the alarm codes.
Sergunb 0:f1834a63f7c1 494
Sergunb 0:f1834a63f7c1 495 - Change header row format to allow same parsing code as data rows.
Sergunb 0:f1834a63f7c1 496
Sergunb 0:f1834a63f7c1 497 * VARIABLE_SPINDLE feature flag experiment.
Sergunb 0:f1834a63f7c1 498
Sergunb 0:f1834a63f7c1 499 - Use a macro for 'spindle_set_speed' and 'spindle_sync' to reduce the
Sergunb 0:f1834a63f7c1 500 number of required VARIABLE_SPINDLE checks.
Sergunb 0:f1834a63f7c1 501
Sergunb 0:f1834a63f7c1 502
Sergunb 0:f1834a63f7c1 503 ----------------
Sergunb 0:f1834a63f7c1 504 Date: 2016-10-18
Sergunb 0:f1834a63f7c1 505 Author: Sonny Jeon
Sergunb 0:f1834a63f7c1 506 Subject: Improved option for v0.9 GUI compatibility.
Sergunb 0:f1834a63f7c1 507
Sergunb 0:f1834a63f7c1 508 - Addressed an issue with backward compatibility with Grbl v0.9-style
Sergunb 0:f1834a63f7c1 509 GUIs.
Sergunb 0:f1834a63f7c1 510
Sergunb 0:f1834a63f7c1 511 - It still may not work due to new data and states coming back from
Sergunb 0:f1834a63f7c1 512 Grbl v1.1. Regardless, DO NOT TRY TO USE THE COMPATIBILITY MODE UNTIL
Sergunb 0:f1834a63f7c1 513 THERE IS A REALLY GOOD REASON TO.
Sergunb 0:f1834a63f7c1 514
Sergunb 0:f1834a63f7c1 515 - v0.9 GUI compatibility mode will be removed in future versions.
Sergunb 0:f1834a63f7c1 516 You’ve been warned. It’s highly recommended for GUIs to update to the
Sergunb 0:f1834a63f7c1 517 new v1.1 interface.
Sergunb 0:f1834a63f7c1 518
Sergunb 0:f1834a63f7c1 519 - Compability mode will only fit on an Arduino Uno due to size
Sergunb 0:f1834a63f7c1 520 increases.
Sergunb 0:f1834a63f7c1 521
Sergunb 0:f1834a63f7c1 522 - Removed the REPORT_GUI_MODE compile option since it’s part of the
Sergunb 0:f1834a63f7c1 523 v1.1 interface standard.
Sergunb 0:f1834a63f7c1 524
Sergunb 0:f1834a63f7c1 525 - Updated the documentation to better describe the compatibility mode
Sergunb 0:f1834a63f7c1 526 build option.
Sergunb 0:f1834a63f7c1 527
Sergunb 0:f1834a63f7c1 528
Sergunb 0:f1834a63f7c1 529 ----------------
Sergunb 0:f1834a63f7c1 530 Date: 2016-10-17
Sergunb 0:f1834a63f7c1 531 Author: Sonny Jeon
Sergunb 0:f1834a63f7c1 532 Subject: v1.1d: Tweaked interface a bit. Added realtime spindle speed and build option data. Minor bug fixes.
Sergunb 0:f1834a63f7c1 533
Sergunb 0:f1834a63f7c1 534 - Increment to v1.1d due to interface tweaks.
Sergunb 0:f1834a63f7c1 535
Sergunb 0:f1834a63f7c1 536 - Based on GUI dev feedback, the toggle overrides report was removed
Sergunb 0:f1834a63f7c1 537 and replace with showing “accessory state”. This shows a character if a
Sergunb 0:f1834a63f7c1 538 particular accessory is enabled, like the spindle or flood coolant.
Sergunb 0:f1834a63f7c1 539 These can be directly altered by the toggle overrides, so when they
Sergunb 0:f1834a63f7c1 540 execute, a GUI will be able to observe the state altering as feedback.
Sergunb 0:f1834a63f7c1 541
Sergunb 0:f1834a63f7c1 542 - Altered the real-time feed rate to show real-time spindle speed as
Sergunb 0:f1834a63f7c1 543 well. It was an over-sight on my part. It’s needed because it’s hard to
Sergunb 0:f1834a63f7c1 544 know what the current spindle speed is when overrides are altering it.
Sergunb 0:f1834a63f7c1 545 Especially during something like a laser cutting job when its important
Sergunb 0:f1834a63f7c1 546 to know how spindle speed overrides are effecting things.
Sergunb 0:f1834a63f7c1 547
Sergunb 0:f1834a63f7c1 548 - Real-time spindle speed is not shown if VARIABLE_SPINDLE is disabled.
Sergunb 0:f1834a63f7c1 549 The old real-time feed rate data field will show instead.
Sergunb 0:f1834a63f7c1 550
Sergunb 0:f1834a63f7c1 551 - Compile-time option data is now included in another message
Sergunb 0:f1834a63f7c1 552 immediately following the build info version string, starting with
Sergunb 0:f1834a63f7c1 553 `[OPT:`. A character code follows the data type name with each
Sergunb 0:f1834a63f7c1 554 indicating a particular option enabled or disabled. This will help
Sergunb 0:f1834a63f7c1 555 immensely with debugging Grbl as well as help GUIs know exactly how
Sergunb 0:f1834a63f7c1 556 Grbl was compiled.
Sergunb 0:f1834a63f7c1 557
Sergunb 0:f1834a63f7c1 558 - These interface changes are detailed in the updated documentation.
Sergunb 0:f1834a63f7c1 559
Sergunb 0:f1834a63f7c1 560 - Reduced the default planner buffer size from 17 to 16. Needed to free
Sergunb 0:f1834a63f7c1 561 up some memory…
Sergunb 0:f1834a63f7c1 562
Sergunb 0:f1834a63f7c1 563 - For increasing the serial TX buffer size from 90 to 104 bytes. The
Sergunb 0:f1834a63f7c1 564 addition of real-time spindle speeds and accessory enable data required
Sergunb 0:f1834a63f7c1 565 a bigger buffer. This is to ensure Grbl is performing at optimal levels.
Sergunb 0:f1834a63f7c1 566
Sergunb 0:f1834a63f7c1 567 - Refactored parts of the spindle and coolant control code to make it
Sergunb 0:f1834a63f7c1 568 more consistent to each other and how it was called. It was a little
Sergunb 0:f1834a63f7c1 569 messy. The changes made it easier to track what each function call was
Sergunb 0:f1834a63f7c1 570 doing based on what was calling it.
Sergunb 0:f1834a63f7c1 571
Sergunb 0:f1834a63f7c1 572 - Created a couple of new get_state functions for the spindle and
Sergunb 0:f1834a63f7c1 573 coolant. These are called by the accessory state report to look
Sergunb 0:f1834a63f7c1 574 directly at the pin state, rather than track how it was set. This
Sergunb 0:f1834a63f7c1 575 guarantees that the state is reported correctly.
Sergunb 0:f1834a63f7c1 576
Sergunb 0:f1834a63f7c1 577 - Updated the g-code parser, parking motion, sleep mode, and spindle
Sergunb 0:f1834a63f7c1 578 stop calls to refactored spindle and coolant code.
Sergunb 0:f1834a63f7c1 579
Sergunb 0:f1834a63f7c1 580 - Added a compile-time option to enable homing individual axes, rather
Sergunb 0:f1834a63f7c1 581 than having only the main homing cycle. The actual use case for this is
Sergunb 0:f1834a63f7c1 582 pretty rare. It’s not recommended you enable this, unless you have a
Sergunb 0:f1834a63f7c1 583 specific application for it. Otherwise, just alter the homing cycle
Sergunb 0:f1834a63f7c1 584 itself.
Sergunb 0:f1834a63f7c1 585
Sergunb 0:f1834a63f7c1 586 - Refactored the printFloat() function to not show a decimal point if
Sergunb 0:f1834a63f7c1 587 there are no trailing values after it. For example, `1.` now shows `1`.
Sergunb 0:f1834a63f7c1 588
Sergunb 0:f1834a63f7c1 589 - Fixed an issue regarding spindle speed overrides no being applied to
Sergunb 0:f1834a63f7c1 590 blocks without motions.
Sergunb 0:f1834a63f7c1 591
Sergunb 0:f1834a63f7c1 592 - Removed the toggle_ovr_mask system variable and replaced with
Sergunb 0:f1834a63f7c1 593 spindle_stop_ovr system variable. Coolant toggles don’t need to be
Sergunb 0:f1834a63f7c1 594 tracked.
Sergunb 0:f1834a63f7c1 595
Sergunb 0:f1834a63f7c1 596 - Updated README
Sergunb 0:f1834a63f7c1 597
Sergunb 0:f1834a63f7c1 598
Sergunb 0:f1834a63f7c1 599 ----------------
Sergunb 0:f1834a63f7c1 600 Date: 2016-10-17
Sergunb 0:f1834a63f7c1 601 Author: Will Winder
Sergunb 0:f1834a63f7c1 602 Subject: Modify code CSV format. (#10)
Sergunb 0:f1834a63f7c1 603
Sergunb 0:f1834a63f7c1 604 - Wrap value in quotes to avoid issue with embedded commas. This occurs
Sergunb 0:f1834a63f7c1 605 in one of the alarm codes.
Sergunb 0:f1834a63f7c1 606
Sergunb 0:f1834a63f7c1 607 - Change header row format to allow same parsing code as data rows.
Sergunb 0:f1834a63f7c1 608
Sergunb 0:f1834a63f7c1 609 ----------------
Sergunb 0:f1834a63f7c1 610 Date: 2016-10-12
Sergunb 0:f1834a63f7c1 611 Author: chamnit
Sergunb 0:f1834a63f7c1 612 Subject: Merge branch 'dev' into edge
Sergunb 0:f1834a63f7c1 613
Sergunb 0:f1834a63f7c1 614
Sergunb 0:f1834a63f7c1 615 ----------------
Sergunb 0:f1834a63f7c1 616 Date: 2016-10-12
Sergunb 0:f1834a63f7c1 617 Author: chamnit
Sergunb 0:f1834a63f7c1 618 Subject: Added settings documentation. Very minor bug fix to step direction handling.
Sergunb 0:f1834a63f7c1 619
Sergunb 0:f1834a63f7c1 620 - Added v1.1 settings documentation to the markdown folder.
Sergunb 0:f1834a63f7c1 621
Sergunb 0:f1834a63f7c1 622 - Fixed a very minor bug in the step direction handling upon wakeup.
Sergunb 0:f1834a63f7c1 623 The direction mask would temporarily go back to default mask for about
Sergunb 0:f1834a63f7c1 624 a millisecond when moving in the same non-default direction. It did not
Sergunb 0:f1834a63f7c1 625 effect Grbl behavior before, but fixed for consistency.
Sergunb 0:f1834a63f7c1 626
Sergunb 0:f1834a63f7c1 627
Sergunb 0:f1834a63f7c1 628 ----------------
Sergunb 0:f1834a63f7c1 629 Date: 2016-10-12
Sergunb 0:f1834a63f7c1 630 Author: Sonny Jeon
Sergunb 0:f1834a63f7c1 631 Subject: Spindle speed bug fix.
Sergunb 0:f1834a63f7c1 632
Sergunb 0:f1834a63f7c1 633 - Spindle speed updating wasn’t working in the g-code parser due to
Sergunb 0:f1834a63f7c1 634 some borked up logic on my part. Fixed it and should be operating as
Sergunb 0:f1834a63f7c1 635 intended for both normal and laser spindle modes.
Sergunb 0:f1834a63f7c1 636
Sergunb 0:f1834a63f7c1 637 - Elaborated a little more on the new sleep mode in the documentation.
Sergunb 0:f1834a63f7c1 638
Sergunb 0:f1834a63f7c1 639
Sergunb 0:f1834a63f7c1 640 ----------------
Sergunb 0:f1834a63f7c1 641 Date: 2016-10-11
Sergunb 0:f1834a63f7c1 642 Author: Sonny Jeon
Sergunb 0:f1834a63f7c1 643 Subject: v1.1c: New sleep mode. Laser mode and other bug fixes.
Sergunb 0:f1834a63f7c1 644
Sergunb 0:f1834a63f7c1 645 - New $SLP sleep mode that will disable spindle, coolant, and stepper
Sergunb 0:f1834a63f7c1 646 enable pins. Allows users to disable their steppers without having to
Sergunb 0:f1834a63f7c1 647 alter their settings. A reset is required to exit and re-initializes in
Sergunb 0:f1834a63f7c1 648 alarm state.
Sergunb 0:f1834a63f7c1 649
Sergunb 0:f1834a63f7c1 650 - Laser mode wasn’t updating the spindle PWM correctly (effected
Sergunb 0:f1834a63f7c1 651 spindle speed overrides) and not checking for modal states either.
Sergunb 0:f1834a63f7c1 652 Fixed both issues.
Sergunb 0:f1834a63f7c1 653
Sergunb 0:f1834a63f7c1 654 - While in laser mode, parking motions are ignored, since the power off
Sergunb 0:f1834a63f7c1 655 delay with the retract motion would burn the material. It will just
Sergunb 0:f1834a63f7c1 656 turn off and not move. A restore immediately powers up and resumes. No
Sergunb 0:f1834a63f7c1 657 delays.
Sergunb 0:f1834a63f7c1 658
Sergunb 0:f1834a63f7c1 659 - Changing rpm max and min settings did not update the spindle PWM
Sergunb 0:f1834a63f7c1 660 calculations. Now fixed.
Sergunb 0:f1834a63f7c1 661
Sergunb 0:f1834a63f7c1 662 - Increased default planner buffer from 16 to 17 block. It seems to be
Sergunb 0:f1834a63f7c1 663 stable, but need to monitor this carefully.
Sergunb 0:f1834a63f7c1 664
Sergunb 0:f1834a63f7c1 665 - Removed software debounce routine for limit pins. Obsolete.
Sergunb 0:f1834a63f7c1 666
Sergunb 0:f1834a63f7c1 667 - Fixed a couple parking motion bugs. One related to restoring
Sergunb 0:f1834a63f7c1 668 incorrectly and the other the parking rate wasn’t compatible with the
Sergunb 0:f1834a63f7c1 669 planner structs.
Sergunb 0:f1834a63f7c1 670
Sergunb 0:f1834a63f7c1 671 - Fixed a bug caused by refactoring the critical alarms in a recent
Sergunb 0:f1834a63f7c1 672 push. Soft limits weren’t invoking a critical alarm.
Sergunb 0:f1834a63f7c1 673
Sergunb 0:f1834a63f7c1 674 - Updated the documentation with the new sleep feature and added some
Sergunb 0:f1834a63f7c1 675 more details to the change summary.
Sergunb 0:f1834a63f7c1 676
Sergunb 0:f1834a63f7c1 677
Sergunb 0:f1834a63f7c1 678 ----------------
Sergunb 0:f1834a63f7c1 679 Date: 2016-09-28
Sergunb 0:f1834a63f7c1 680 Author: Sonny Jeon
Sergunb 0:f1834a63f7c1 681 Subject: New jog cancel real-time command. Parser typo fix from last push.
Sergunb 0:f1834a63f7c1 682
Sergunb 0:f1834a63f7c1 683 - Added a new jog cancel real-time command. Rather than depending on a
Sergunb 0:f1834a63f7c1 684 feed hold to cancel a jogging motion, this realtime command can be used
Sergunb 0:f1834a63f7c1 685 instead. The main advantage is if a feed hold is used, you can
Sergunb 0:f1834a63f7c1 686 accidentally hold the machine right when Grbl returns to IDLE after
Sergunb 0:f1834a63f7c1 687 completing a jog. And the GUI doesn’t have to worry about tracking this
Sergunb 0:f1834a63f7c1 688 either.
Sergunb 0:f1834a63f7c1 689
Sergunb 0:f1834a63f7c1 690 - Fixed a typo in the g-code parser edits from the last push. Was
Sergunb 0:f1834a63f7c1 691 causing the G10 set coordinate system command to not work correctly.
Sergunb 0:f1834a63f7c1 692
Sergunb 0:f1834a63f7c1 693 - Updated the documentation with the jog cancel command.
Sergunb 0:f1834a63f7c1 694
Sergunb 0:f1834a63f7c1 695
Sergunb 0:f1834a63f7c1 696 ----------------
Sergunb 0:f1834a63f7c1 697 Date: 2016-09-27
Sergunb 0:f1834a63f7c1 698 Author: Sonny Jeon
Sergunb 0:f1834a63f7c1 699 Subject: Refactored g-code parser. Saved 60bytes flash and some ram. Edited Readme.
Sergunb 0:f1834a63f7c1 700
Sergunb 0:f1834a63f7c1 701 - Freed up another 60 bytes of flash and 12-24 bytes of stack RAM by
Sergunb 0:f1834a63f7c1 702 using the pre-allocated IJK arc offset vector that is guaranteed to be
Sergunb 0:f1834a63f7c1 703 not in use. Only G10 and G28/30 require fetching from EEPROM and
Sergunb 0:f1834a63f7c1 704 retaining extra data. Both commands use axis words, which rules out
Sergunb 0:f1834a63f7c1 705 G2/3 arcs using IJK offsets existing in same block. Not ideal, but
Sergunb 0:f1834a63f7c1 706 every byte helps.
Sergunb 0:f1834a63f7c1 707
Sergunb 0:f1834a63f7c1 708 - Edited README.
Sergunb 0:f1834a63f7c1 709
Sergunb 0:f1834a63f7c1 710
Sergunb 0:f1834a63f7c1 711 ----------------
Sergunb 0:f1834a63f7c1 712 Date: 2016-09-27
Sergunb 0:f1834a63f7c1 713 Author: Sonny Jeon
Sergunb 0:f1834a63f7c1 714 Subject: Update README and clarifications in jogging document.
Sergunb 0:f1834a63f7c1 715
Sergunb 0:f1834a63f7c1 716
Sergunb 0:f1834a63f7c1 717 ----------------
Sergunb 0:f1834a63f7c1 718 Date: 2016-09-26
Sergunb 0:f1834a63f7c1 719 Author: Sonny Jeon
Sergunb 0:f1834a63f7c1 720 Subject: v1.1b: Tweaked Bf reports, jogging doc, saved another 160 bytes, minor bug fixes
Sergunb 0:f1834a63f7c1 721
Sergunb 0:f1834a63f7c1 722 - Increment to v1.1b due to status report tweak.
Sergunb 0:f1834a63f7c1 723
Sergunb 0:f1834a63f7c1 724 - Tweaked the buffer state status reports to show bytes and blocks
Sergunb 0:f1834a63f7c1 725 available, rather than in use. This does not require knowing the buffer
Sergunb 0:f1834a63f7c1 726 sizes beforehand. It’s implicit.
Sergunb 0:f1834a63f7c1 727
Sergunb 0:f1834a63f7c1 728 - Also, since buffer states are not used by most devs (after
Sergunb 0:f1834a63f7c1 729 inquiries), it is no longer enabled by default and a status mask option
Sergunb 0:f1834a63f7c1 730 was added for this.
Sergunb 0:f1834a63f7c1 731
Sergunb 0:f1834a63f7c1 732 - Fixed some typos and updated for the report tweak in the
Sergunb 0:f1834a63f7c1 733 documentation.
Sergunb 0:f1834a63f7c1 734
Sergunb 0:f1834a63f7c1 735 - Wrote a joystick implementation concept in the jogging markdown
Sergunb 0:f1834a63f7c1 736 document. Outlines how to get a low-latency feel to a joystick (and
Sergunb 0:f1834a63f7c1 737 other input devices).
Sergunb 0:f1834a63f7c1 738
Sergunb 0:f1834a63f7c1 739 - Removed XON/XOFF support. It’s not used by anyone because of its
Sergunb 0:f1834a63f7c1 740 inherent problems. Remains in older versions for reference.
Sergunb 0:f1834a63f7c1 741
Sergunb 0:f1834a63f7c1 742 - Added a compile option on how to handle the probe position during a
Sergunb 0:f1834a63f7c1 743 check mode.
Sergunb 0:f1834a63f7c1 744
Sergunb 0:f1834a63f7c1 745 - Fixed a jogging bug. If G93 is the modal state before a jogging
Sergunb 0:f1834a63f7c1 746 motion, the feed rate did not get calculated correctly. Fixed the issue.
Sergunb 0:f1834a63f7c1 747
Sergunb 0:f1834a63f7c1 748 - Refactored some code to save another 160+ bytes. Included an improved
Sergunb 0:f1834a63f7c1 749 float vector comparison macro and reducing a few large and repetitive
Sergunb 0:f1834a63f7c1 750 function calls.
Sergunb 0:f1834a63f7c1 751
Sergunb 0:f1834a63f7c1 752 - Fixed a probing bug (existing in v0.9 too) where the target positions
Sergunb 0:f1834a63f7c1 753 were not set correct and error handling was improper.
Sergunb 0:f1834a63f7c1 754
Sergunb 0:f1834a63f7c1 755
Sergunb 0:f1834a63f7c1 756 ----------------
Sergunb 0:f1834a63f7c1 757 Date: 2016-09-25
Sergunb 0:f1834a63f7c1 758 Author: Sonny Jeon
Sergunb 0:f1834a63f7c1 759 Subject: Addressed much larger flash size with avr-gcc v4.9.2. Refactored reports to save 160KB.
Sergunb 0:f1834a63f7c1 760
Sergunb 0:f1834a63f7c1 761 - The newest Arduino IDE 1.6.12 has recently updated to avr-gcc v4.9.2.
Sergunb 0:f1834a63f7c1 762 Unfortunately, it produces a compiled size almost 0.7KB to 1KB larger
Sergunb 0:f1834a63f7c1 763 than prior versions! This can easily cause the base build to exceed the
Sergunb 0:f1834a63f7c1 764 Arduino Duemilanove/Nano flash limit of 30.5KB. The Arduino Uno seems
Sergunb 0:f1834a63f7c1 765 to be ok still with its 31.5KB flash limit.
Sergunb 0:f1834a63f7c1 766
Sergunb 0:f1834a63f7c1 767 - Makefile `-flto` compile flag added to cut down on the horrible flash
Sergunb 0:f1834a63f7c1 768 size when using the new avr-gcc. (Edit Makefile and remove comment on
Sergunb 0:f1834a63f7c1 769 COMPILE definition). This brings it in-line with what the IDE produces.
Sergunb 0:f1834a63f7c1 770
Sergunb 0:f1834a63f7c1 771 - Functionalized repetitive tasks in report.c to try to reduce overall
Sergunb 0:f1834a63f7c1 772 flash size. Successfully cut down about 160bytes.
Sergunb 0:f1834a63f7c1 773
Sergunb 0:f1834a63f7c1 774 - Removed printFloat_SettingValue() and printFloat_RPMValue()
Sergunb 0:f1834a63f7c1 775 functions. These aren’t required and can be replaced with a direct call
Sergunb 0:f1834a63f7c1 776 to printFloat() because they don’t require a unit conversion check.
Sergunb 0:f1834a63f7c1 777
Sergunb 0:f1834a63f7c1 778
Sergunb 0:f1834a63f7c1 779 ----------------
Sergunb 0:f1834a63f7c1 780 Date: 2016-09-24
Sergunb 0:f1834a63f7c1 781 Author: Sonny Jeon
Sergunb 0:f1834a63f7c1 782 Subject: Serial RX count bug fix. Settings codes CSV. More documentation.
Sergunb 0:f1834a63f7c1 783
Sergunb 0:f1834a63f7c1 784 - Reverted back the serial RX count function to how it was. The
Sergunb 0:f1834a63f7c1 785 variable type was unsigned and cause an integer underflow whenever the
Sergunb 0:f1834a63f7c1 786 calculation produced a negative number. The old way was the correct way.
Sergunb 0:f1834a63f7c1 787
Sergunb 0:f1834a63f7c1 788 - Lots of minor edits to the code CSVs and markdown documents.
Sergunb 0:f1834a63f7c1 789
Sergunb 0:f1834a63f7c1 790 - Expanded on explaining feedback messages and startup line execution
Sergunb 0:f1834a63f7c1 791 feedback.
Sergunb 0:f1834a63f7c1 792
Sergunb 0:f1834a63f7c1 793 - Created a new settings codes CSV to help GUIs import the values and
Sergunb 0:f1834a63f7c1 794 meanings.
Sergunb 0:f1834a63f7c1 795
Sergunb 0:f1834a63f7c1 796
Sergunb 0:f1834a63f7c1 797 ----------------
Sergunb 0:f1834a63f7c1 798 Date: 2016-09-22
Sergunb 0:f1834a63f7c1 799 Author: Sonny Jeon
Sergunb 0:f1834a63f7c1 800 Subject: Increment to v1.1a, minor compile bug fix, tweaked communication protocol, more docs.
Sergunb 0:f1834a63f7c1 801
Sergunb 0:f1834a63f7c1 802 - Incremented to v1.1a, rather than keep 1.0e. This is because there
Sergunb 0:f1834a63f7c1 803 are existing v1.0 installations. Don’t want to confuse people further.
Sergunb 0:f1834a63f7c1 804
Sergunb 0:f1834a63f7c1 805 - Certain version of the Arduino IDE did not like the `inline` in the
Sergunb 0:f1834a63f7c1 806 function header. Removed from spindle_control files to fix the problem.
Sergunb 0:f1834a63f7c1 807
Sergunb 0:f1834a63f7c1 808 - Tweaked the communication protocol slightly. Added message type
Sergunb 0:f1834a63f7c1 809 indicators for all `[]`bracketed feedback messages. It’s been
Sergunb 0:f1834a63f7c1 810 problematic for GUI dev to try to determine the context of a message
Sergunb 0:f1834a63f7c1 811 and how it should be handled. These indictors should help tremendously
Sergunb 0:f1834a63f7c1 812 to remove context all together.
Sergunb 0:f1834a63f7c1 813
Sergunb 0:f1834a63f7c1 814 - Also altered how `$N` startup lines are presented when executed. They
Sergunb 0:f1834a63f7c1 815 now start with an open chevron ‘>’ followed by the line and an ‘:ok’ to
Sergunb 0:f1834a63f7c1 816 indicate it executed. The ‘ok’ is on the same line intentionally so it
Sergunb 0:f1834a63f7c1 817 doesn’t mess up a streaming protocol counter.
Sergunb 0:f1834a63f7c1 818
Sergunb 0:f1834a63f7c1 819 - Managed to save a 100+KB from refactoring parts of report.c. (Thanks
Sergunb 0:f1834a63f7c1 820 Vasilis!) Freed up room to alter the protocol a little.
Sergunb 0:f1834a63f7c1 821
Sergunb 0:f1834a63f7c1 822 - Wrote a markdown document on interface messaging to make it clear how
Sergunb 0:f1834a63f7c1 823 it’s intended to work. See interface.md in /doc/markdown
Sergunb 0:f1834a63f7c1 824
Sergunb 0:f1834a63f7c1 825 - Started to pull in some Wiki pages from the old grbl site and
Sergunb 0:f1834a63f7c1 826 beginning to update them for v1.1.
Sergunb 0:f1834a63f7c1 827
Sergunb 0:f1834a63f7c1 828 - Created new commit log for v1.1.
Sergunb 0:f1834a63f7c1 829
Sergunb 0:f1834a63f7c1 830
Sergunb 0:f1834a63f7c1 831 ----------------
Sergunb 0:f1834a63f7c1 832 Date: 2016-09-22
Sergunb 0:f1834a63f7c1 833 Author: Sonny Jeon
Sergunb 0:f1834a63f7c1 834 Subject: Merge pull request #1 from winder/dev
Sergunb 0:f1834a63f7c1 835
Sergunb 0:f1834a63f7c1 836 Add locale to code CSVs.
Sergunb 0:f1834a63f7c1 837
Sergunb 0:f1834a63f7c1 838 ----------------
Sergunb 0:f1834a63f7c1 839 Date: 2016-09-22
Sergunb 0:f1834a63f7c1 840 Author: winder
Sergunb 0:f1834a63f7c1 841 Subject: Add locale to code CSVs.
Sergunb 0:f1834a63f7c1 842
Sergunb 0:f1834a63f7c1 843
Sergunb 0:f1834a63f7c1 844 ----------------
Sergunb 0:f1834a63f7c1 845 Date: 2016-09-21
Sergunb 0:f1834a63f7c1 846 Author: chamnit
Sergunb 0:f1834a63f7c1 847 Subject: Grbl v1.0e huge beta release. Overrides and new reporting.
Sergunb 0:f1834a63f7c1 848
Sergunb 0:f1834a63f7c1 849 - Feature: Realtime feed, rapid, and spindle speed overrides. These
Sergunb 0:f1834a63f7c1 850 alter the running machine state within tens of milliseconds!
Sergunb 0:f1834a63f7c1 851 - Feed override: 100%, +/-10%, +/-1% commands with values 1-200% of
Sergunb 0:f1834a63f7c1 852 programmed feed
Sergunb 0:f1834a63f7c1 853 - Rapid override: 100%, 50%, 25% rapid rate commands
Sergunb 0:f1834a63f7c1 854 - Spindle speed override: 100%, +/-10%, +/-1% commands with values
Sergunb 0:f1834a63f7c1 855 50-200% of programmed speed
Sergunb 0:f1834a63f7c1 856 - Override values have configurable limits and increments in
Sergunb 0:f1834a63f7c1 857 config.h.
Sergunb 0:f1834a63f7c1 858 - Feature: Realtime toggle overrides for spindle stop, flood coolant,
Sergunb 0:f1834a63f7c1 859 and optionally mist coolant
Sergunb 0:f1834a63f7c1 860 - Spindle stop: Enables and disables spindle during a feed hold.
Sergunb 0:f1834a63f7c1 861 Automatically restores last spindles state.
Sergunb 0:f1834a63f7c1 862 - Flood and mist coolant: Immediately toggles coolant state until
Sergunb 0:f1834a63f7c1 863 next toggle or g-code coolant command.
Sergunb 0:f1834a63f7c1 864 - Feature: Jogging mode! Incremental and absolute modes supported.
Sergunb 0:f1834a63f7c1 865 - Grbl accepts jogging-specific commands like $J=X100F50. An axis
Sergunb 0:f1834a63f7c1 866 word and feed rate are required. G20/21 and G90/G91 commands are
Sergunb 0:f1834a63f7c1 867 accepted.
Sergunb 0:f1834a63f7c1 868 - Jog motions can be canceled at any time by a feed hold `!`
Sergunb 0:f1834a63f7c1 869 command. The buffer is automatically flushed. (No resetting required).
Sergunb 0:f1834a63f7c1 870 - Jog motions do not alter the g-code parser state so GUIs don’t
Sergunb 0:f1834a63f7c1 871 have to track what they changed and correct it.
Sergunb 0:f1834a63f7c1 872 - Feature: Laser mode setting. Allows Grbl to execute continuous
Sergunb 0:f1834a63f7c1 873 motions with spindle speed and state changes.
Sergunb 0:f1834a63f7c1 874 - Feature: Significantly improved status reports. Overhauled to cram in
Sergunb 0:f1834a63f7c1 875 more meaningful data and still make it smaller on average.
Sergunb 0:f1834a63f7c1 876 - All available data is now sent by default, but does not appear if
Sergunb 0:f1834a63f7c1 877 it doesn’t change or is not active.
Sergunb 0:f1834a63f7c1 878 - Machine position(MPos) or work position(WPos) is reported but not
Sergunb 0:f1834a63f7c1 879 both at the same time. Instead, the work coordinate offsets (WCO)are
Sergunb 0:f1834a63f7c1 880 sent intermittently whenever it changes or refreshes after 10-30 status
Sergunb 0:f1834a63f7c1 881 reports. Position vectors are easily computed by WPos = MPos - WCO.
Sergunb 0:f1834a63f7c1 882 - All data has changed in some way. Details of changes are in the
Sergunb 0:f1834a63f7c1 883 markdown documents and wiki.
Sergunb 0:f1834a63f7c1 884 - Feature: 16 new realtime commands to control overrides. All in
Sergunb 0:f1834a63f7c1 885 extended-ASCII character space.
Sergunb 0:f1834a63f7c1 886 - While they are not easily typeable and requires a GUI, they can’t
Sergunb 0:f1834a63f7c1 887 be accidentally triggered by some latent character in the g-code
Sergunb 0:f1834a63f7c1 888 program and have tons of room for expansion.
Sergunb 0:f1834a63f7c1 889 - Feature: New substates for HOLD and SAFETY DOOR. A `:x` is appended
Sergunb 0:f1834a63f7c1 890 to the state, where `x` is an integer and indicates a substate.
Sergunb 0:f1834a63f7c1 891 - For example, each integer of a door state describes in what phase
Sergunb 0:f1834a63f7c1 892 the machine is in during parking. Substates are detailed in the
Sergunb 0:f1834a63f7c1 893 documentation.
Sergunb 0:f1834a63f7c1 894 - Feature: With the alarm codes, homing and probe alarms have been
Sergunb 0:f1834a63f7c1 895 expanded with more codes to provide more exact feedback on what caused
Sergunb 0:f1834a63f7c1 896 the alarm.
Sergunb 0:f1834a63f7c1 897 - Feature: New hard limit check upon power-up or reset. If detected, a
Sergunb 0:f1834a63f7c1 898 feedback message to check the limit switches sent immediately after the
Sergunb 0:f1834a63f7c1 899 welcome message.
Sergunb 0:f1834a63f7c1 900 - May be disabled in config.h.
Sergunb 0:f1834a63f7c1 901
Sergunb 0:f1834a63f7c1 902 - OEM feature: Enable/disable `$RST=` individual commands based on
Sergunb 0:f1834a63f7c1 903 desired behavior in config.h.
Sergunb 0:f1834a63f7c1 904 - OEM feature: Configurable EEPROM wipe to prevent certain data from
Sergunb 0:f1834a63f7c1 905 being deleted during firmware upgrade to a new settings version or
Sergunb 0:f1834a63f7c1 906 `RST=*` command.
Sergunb 0:f1834a63f7c1 907 - OEM feature: Enable/disable the `$I=` build info write string with
Sergunb 0:f1834a63f7c1 908 external EEPROM write example sketch.
Sergunb 0:f1834a63f7c1 909 - This prevents a user from altering the build info string in
Sergunb 0:f1834a63f7c1 910 EEPROM. This requires the vendor to write the string to EEPROM via
Sergunb 0:f1834a63f7c1 911 external means. An Arduino example sketch is provided to accomplish
Sergunb 0:f1834a63f7c1 912 this. This would be useful for contain product data that is
Sergunb 0:f1834a63f7c1 913 retrievable.
Sergunb 0:f1834a63f7c1 914
Sergunb 0:f1834a63f7c1 915 - Tweak: All feedback has been drastically trimmed to free up flash
Sergunb 0:f1834a63f7c1 916 space for the v1.0 release.
Sergunb 0:f1834a63f7c1 917 - The `$` help message is just one string, listing available
Sergunb 0:f1834a63f7c1 918 commands.
Sergunb 0:f1834a63f7c1 919 - The `$$` settings printout no longer includes descriptions. Only
Sergunb 0:f1834a63f7c1 920 the setting values. (Sorry it’s this or remove overrides!)
Sergunb 0:f1834a63f7c1 921 - Grbl `error:` and `ALARM:` responses now only contain codes. No
Sergunb 0:f1834a63f7c1 922 descriptions. All codes are explained in documentation.
Sergunb 0:f1834a63f7c1 923 - Grbl’s old feedback style may be restored via a config.h, but
Sergunb 0:f1834a63f7c1 924 keep in mind that it will likely not fit into the Arduino’s flash space.
Sergunb 0:f1834a63f7c1 925 - Tweak: Grbl now forces a buffer sync or stop motion whenever a g-code
Sergunb 0:f1834a63f7c1 926 command needs to update and write a value to EEPROM or changes the work
Sergunb 0:f1834a63f7c1 927 coordinate offset.
Sergunb 0:f1834a63f7c1 928 - This addresses two old issues in all prior Grbl versions. First,
Sergunb 0:f1834a63f7c1 929 an EEPROM write requires interrupts to be disabled, including stepper
Sergunb 0:f1834a63f7c1 930 and serial comm. Steps can be lost and data can be corrupted. Second,
Sergunb 0:f1834a63f7c1 931 the work position may not be correlated to the actual machine position,
Sergunb 0:f1834a63f7c1 932 since machine position is derived from the actual current execution
Sergunb 0:f1834a63f7c1 933 state, while work position is based on the g-code parser offset state.
Sergunb 0:f1834a63f7c1 934 They are usually not in sync and the parser state is several motions
Sergunb 0:f1834a63f7c1 935 behind. This forced sync ensures work and machine positions are always
Sergunb 0:f1834a63f7c1 936 correct.
Sergunb 0:f1834a63f7c1 937 - This behavior can be disabled through a config.h option, but it’s
Sergunb 0:f1834a63f7c1 938 not recommended to do so.
Sergunb 0:f1834a63f7c1 939 - Tweak: To make status reports standardized, users can no longer
Sergunb 0:f1834a63f7c1 940 change what is reported via status report mask, except for only
Sergunb 0:f1834a63f7c1 941 toggling machine or work positions.
Sergunb 0:f1834a63f7c1 942 - All other data fields are included in the report and can only be
Sergunb 0:f1834a63f7c1 943 disabled through the config.h file. It’s not recommended to alter this,
Sergunb 0:f1834a63f7c1 944 because GUIs will be expecting this data to be present and may not be
Sergunb 0:f1834a63f7c1 945 compatible.
Sergunb 0:f1834a63f7c1 946 - Tweak: Homing cycle and parking motion no longer report a negative
Sergunb 0:f1834a63f7c1 947 line number in a status report. These will now not report a line number
Sergunb 0:f1834a63f7c1 948 at all.
Sergunb 0:f1834a63f7c1 949 - Tweak: New `[Restoring spindle]` message when restoring from a
Sergunb 0:f1834a63f7c1 950 spindle stop override. Provides feedback what Grbl is doing while the
Sergunb 0:f1834a63f7c1 951 spindle is powering up and a 4.0 second delay is enforced.
Sergunb 0:f1834a63f7c1 952 - Tweak: Override values are reset to 100% upon M2/30. This behavior
Sergunb 0:f1834a63f7c1 953 can be disabled in config.h
Sergunb 0:f1834a63f7c1 954 - Tweak: The planner buffer size has been reduced from 18 to 16 to free
Sergunb 0:f1834a63f7c1 955 up RAM for tracking and controlling overrides.
Sergunb 0:f1834a63f7c1 956 - Tweak: TX buffer size has been increased from 64 to 90 bytes to
Sergunb 0:f1834a63f7c1 957 improve status reporting and overall performance.
Sergunb 0:f1834a63f7c1 958 - Tweak: Removed the MOTION CANCEL state. It was redundant and didn’t
Sergunb 0:f1834a63f7c1 959 affect Grbl’s overall operation by doing so.
Sergunb 0:f1834a63f7c1 960 - Tweak: Grbl’s serial buffer increased by +1 internally, such that 128
Sergunb 0:f1834a63f7c1 961 bytes means 128, not 127 due to the ring buffer implementation. Long
Sergunb 0:f1834a63f7c1 962 overdue.
Sergunb 0:f1834a63f7c1 963 - Tweak: Altered sys.alarm variable to be set by alarm codes, rather
Sergunb 0:f1834a63f7c1 964 than bit flags. Simplified how it worked overall.
Sergunb 0:f1834a63f7c1 965 - Tweak: Planner buffer and serial RX buffer usage has been combined in
Sergunb 0:f1834a63f7c1 966 the status reports.
Sergunb 0:f1834a63f7c1 967 - Tweak: Pin state reporting has been refactored to report only the
Sergunb 0:f1834a63f7c1 968 pins “triggered” and nothing when not “triggered”.
Sergunb 0:f1834a63f7c1 969 - Tweak: Current machine rate or speed is now included in every report.
Sergunb 0:f1834a63f7c1 970 - Tweak: The work coordinate offset (WCO) and override states only need
Sergunb 0:f1834a63f7c1 971 to be refreshed intermittently or reported when they change. The
Sergunb 0:f1834a63f7c1 972 refresh rates may be altered for each in the config.h file with
Sergunb 0:f1834a63f7c1 973 different idle and busy rates to lessen Grbl’s load during a job.
Sergunb 0:f1834a63f7c1 974 - Tweak: For temporary compatibility to existing GUIs until they are
Sergunb 0:f1834a63f7c1 975 updated, an option to revert back to the old style status reports is
Sergunb 0:f1834a63f7c1 976 available in config.h, but not recommended for long term use.
Sergunb 0:f1834a63f7c1 977 - Tweak: Removed old limit pin state reporting option from config.h in
Sergunb 0:f1834a63f7c1 978 lieu of new status report that includes them.
Sergunb 0:f1834a63f7c1 979 - Tweak: Updated the defaults.h file to include laser mode, altered
Sergunb 0:f1834a63f7c1 980 status report mask, and fix an issue with a missing invert probe pin
Sergunb 0:f1834a63f7c1 981 default.
Sergunb 0:f1834a63f7c1 982
Sergunb 0:f1834a63f7c1 983 - Refactor: Changed how planner line data is generated and passed to
Sergunb 0:f1834a63f7c1 984 the planner and onto the step generator. By making it a struct
Sergunb 0:f1834a63f7c1 985 variable, this saved significant flash space.
Sergunb 0:f1834a63f7c1 986 - Refactor: Major re-factoring of the planner to incorporate override
Sergunb 0:f1834a63f7c1 987 values and allow for re-calculations fast enough to immediately take
Sergunb 0:f1834a63f7c1 988 effect during operation. No small feat.
Sergunb 0:f1834a63f7c1 989 - Refactor: Re-factored the step segment generator for re-computing new
Sergunb 0:f1834a63f7c1 990 override states.
Sergunb 0:f1834a63f7c1 991 - Refactor: Re-factored spindle_control.c to accommodate the spindle
Sergunb 0:f1834a63f7c1 992 speed overrides and laser mode.
Sergunb 0:f1834a63f7c1 993 - Refactor: Re-factored parts of the codebase for a new jogging mode.
Sergunb 0:f1834a63f7c1 994 Still under development though and slated to be part of the official
Sergunb 0:f1834a63f7c1 995 v1.0 release. Hang tight.
Sergunb 0:f1834a63f7c1 996 - Refactor: Created functions for computing a unit vector and value
Sergunb 0:f1834a63f7c1 997 limiting based on axis maximums to free up more flash.
Sergunb 0:f1834a63f7c1 998 - Refactor: The spindle PWM is now set directly inside of the stepper
Sergunb 0:f1834a63f7c1 999 ISR as it loads new step segments.
Sergunb 0:f1834a63f7c1 1000 - Refactor: Moved machine travel checks out of soft limits function
Sergunb 0:f1834a63f7c1 1001 into its own since jogging uses this too.
Sergunb 0:f1834a63f7c1 1002 - Refactor: Removed coolant_stop() and combined with
Sergunb 0:f1834a63f7c1 1003 coolant_set_state().
Sergunb 0:f1834a63f7c1 1004 - Refactor: The serial RX ISR forks off extended ASCII values to
Sergunb 0:f1834a63f7c1 1005 quickly assess the new override realtime commands.
Sergunb 0:f1834a63f7c1 1006 - Refactor: Altered some names of the step control flags.
Sergunb 0:f1834a63f7c1 1007 - Refactor: Improved efficiency of the serial RX get buffer count
Sergunb 0:f1834a63f7c1 1008 function.
Sergunb 0:f1834a63f7c1 1009 - Refactor: Saved significant flash by removing and combining print
Sergunb 0:f1834a63f7c1 1010 functions. Namely the uint8 base10 and base2 functions.
Sergunb 0:f1834a63f7c1 1011 - Refactor: Moved the probe state check in the main stepper ISR to
Sergunb 0:f1834a63f7c1 1012 improve its efficiency.
Sergunb 0:f1834a63f7c1 1013 - Refactor: Single character printPgmStrings() went converted to direct
Sergunb 0:f1834a63f7c1 1014 serial_write() commands to save significant flash space.
Sergunb 0:f1834a63f7c1 1015
Sergunb 0:f1834a63f7c1 1016 - Documentation: Detailed Markdown documents on error codes, alarm
Sergunb 0:f1834a63f7c1 1017 codes, messages, new real-time commands, new status reports, and how
Sergunb 0:f1834a63f7c1 1018 jogging works. More to come later and will be posted on the Wiki as
Sergunb 0:f1834a63f7c1 1019 well.
Sergunb 0:f1834a63f7c1 1020 - Documentation: CSV files for quick importing of Grbl error and alarm
Sergunb 0:f1834a63f7c1 1021 codes.
Sergunb 0:f1834a63f7c1 1022
Sergunb 0:f1834a63f7c1 1023 - Bug Fix: Applied v0.9 master fixes to CoreXY homing.
Sergunb 0:f1834a63f7c1 1024 - Bug Fix: The print float function would cause Grbl to crash if a
Sergunb 0:f1834a63f7c1 1025 value was 1e6 or greater. Increased the buffer by 3 bytes to help
Sergunb 0:f1834a63f7c1 1026 prevent this in the future.
Sergunb 0:f1834a63f7c1 1027 - Bug Fix: Build info and startup string EEPROM restoring was not
Sergunb 0:f1834a63f7c1 1028 writing the checksum value.
Sergunb 0:f1834a63f7c1 1029 - Bug Fix: Corrected an issue with safety door restoring the proper
Sergunb 0:f1834a63f7c1 1030 spindle and coolant state. It worked before, but breaks with laser mode
Sergunb 0:f1834a63f7c1 1031 that can continually change spindle state per planner block.
Sergunb 0:f1834a63f7c1 1032 - Bug Fix: Move system position and probe position arrays out of the
Sergunb 0:f1834a63f7c1 1033 system_t struct. Ran into some compiling errors that were hard to track
Sergunb 0:f1834a63f7c1 1034 down as to why. Moving them out fixed it.
Sergunb 0:f1834a63f7c1 1035