Improved constant laser power per rate mode. Re-factored for flash size. Minor bug fixes.
- NOTE: This commit has largely been untested. - 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. - Re-factored parts of the g-code parser and g-code state reports to save a few hundred bytes of flash. What was done makes the code a bit more unreadable (bad), but the flash space was in dire need. So, I’m willing to live with it for now. - Fixed a problem with $G g-code state reports. Showed `M0` program pause during a run state. Now fixed to show nothing during a run state. Also, `M30` program end was shown as `M2`. This was also corrected. - Improved spindle stop override responsiveness by removing the enforced spindle restoring delay. It’s not needed for a feature that is user controlled. - Fixed a bug with G2/3 arcs in inverse time mode. - Updated the interface.md document to make it more clear how WPos: or MPos: can be calculated from WCO:. Some GUI devs have failed to catch this in the documentation.
This commit is contained in:
@ -411,6 +411,8 @@ Feedback messages provide non-critical information on what Grbl is doing, what i
|
||||
- `MPos:0.000,-10.000,5.000` machine position or
|
||||
- `WPos:-2.500,0.000,11.000` work position
|
||||
|
||||
- **NOTE: Grbl v1.1 sends only one position vector because a GUI can easily compute the other position vector with the work coordinate offset `WCO:` data. See WCO description for details.**
|
||||
|
||||
- Three position values are given in the order of X, Y, and Z. A fourth position value may exist in later versions for the A-axis.
|
||||
|
||||
- `$13` report inches user setting effects these values and is given as either mm or inches.
|
||||
@ -422,6 +424,10 @@ Feedback messages provide non-critical information on what Grbl is doing, what i
|
||||
- `WCO:0.000,1.551,5.664` is the current work coordinate offset of the g-code parser, which is the sum of the current work coordinate system, G92 offsets, and G43.1 tool length offset.
|
||||
|
||||
- Machine position and work position are related by this simple equation per axis: `WPos = MPos - WCO`
|
||||
|
||||
- **GUI Developers:** Simply track and retain the last `WCO:` vector and use the above equation to compute the other position vector for your position readouts. If Grbl's status reports show either `WPos` or `MPos`, just follow the equations below. It's as easy as that!
|
||||
- If `WPos:` is given, use `MPos = WPos + WCO`.
|
||||
- If `MPos:` is given, use `WPos = MPos - WCO`.
|
||||
|
||||
- Values are given in the order of the X,Y, and Z axes offsets. A fourth offset value may exist in later versions for the A-axis.
|
||||
- `$13` report inches user setting effects these values and is given as either mm or inches.
|
||||
|
Reference in New Issue
Block a user