- fix broken `M421` due to less-than-careful optimization
- add HOME_AFTER_DEACTIVATE define to advanced config so not everyone has to rehome after steppers are deactivated
- misc. cleanups (remove unused label, unused variables)
- Add crc16 utility function
- Implement CRC16 for config store, remove old checksum, increment layout version
- Move UBL mesh store/load to MarlinSettings; increment UBL_VERSION
- Begin to lay out MAT structure, prototype functions, etc.
- Rename ubl.state.eeprom_storage_slot to .storage_slot
- Misc. optimization
- Cleanup/standardize/improve some messages
This is a work in progress!
* M421 Mesh Point Offset and misc. UBL clean up
Allow M421 to accept an offset as well as absolute value for a specified
mesh point.
And misc. UBL clean up to reduce redundent code.
* Better error checking for M421
* Fix M421 Y index bug
I just noticed.... We've had a Y index bug for who knows how long?
* Restore LSF functionality
Some of the typo's persisted... Hopefully this gets them all fixed.
* Restore user's expectations of how G28 should behave
* Allow Nozzle size control with ornery host programs
- rename to PROBING_HEATERS_OFF
- move heater pausing functionality into thermalManager
- add variables, pause(), ispaused(), other functions
- add fan pausing functionality -> PROBING_FANS_OFF
- add probing_pause() wrapper
- move pausing into do_homing_move() and do_probe_move() to minimize quiet time and so other probe types can benefit
- example configs
When both lowering and recovery are performed using the same "prepare_move_to_destination()" the extruder recovery feedrate ends up being ignored and, instead, is only capped by either the maximum e-speed or the time it takes to perform the z-lowering.
Performing the two moves separately from each other ensures a correct recovery feedrate.