Improvements
**`pygcode-norm` script:**
Added "Final Machine Actions:"
Final Machine Actions:
standardize what's done at the end of a gcode program.
--zero_xy, -zxy On completion, move straight up to
rapid_safety_height, then across to X0 Y0.
--zero_z, -zz On completion, move down to Z0 (done after zero_xy, if
set).
--rapid_safety_height RAPID_SAFETY_HEIGHT, -rsh RAPID_SAFETY_HEIGHT
Z value to move to before traversing workpiece (if not
set, max value will be attempted).
--spindle_off, -so On completion, turn spindle off.
Added ability to remove all codes & parameters that cannot be parsed.
--rm_invalid_modal, -rmim
Simply remove everything that isn't understood. Use
with caution.
**Library Improvements**
* `Machine.abs2work(<Position>)` and `Machine.work2abs(<Position>)` position
converters, apply machine's offset to the given position without effecting
machine's current position.
* `Machine.clean_block(<Block>)` removes content from a block that's not parsable (use with caution)
* `Machine.ignore_invalid_modal` bool class parameter, if set, will continue on merrily while ignoring
anything not parsable (similarly to `clean_block`)
* deployment version category validation in `setup.py` (ie: alpha, beta, and so on)
Bugfixes
(none)