- 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!
I think I forgot to Sync before I committed last time. Some UBL
changes did not stick.
Also, update the gMax configuaration.h file so other than unique numbers
and settings, it exactly matches the default configuration.h file.
add BLTouch-related messages in english and (rusty) french;
add missing endstops.h in ultralcd.cpp;
fix misc. compiler warnings;
fix lsf_reset - ZERO macro can't handle a pointer as it would only memset the size of the pointer, not the size of the entire struct
Also... The memory corruption issue may be fixed. The GCC compiler
was inlining static functions and this caused the G29() stack frame to
become much larger than the AVR could handle.
* relocated ubl state to config. store:
* removed a number of ubl state variables and padding which were largely unused - saved 58 bytes of both SRAM and EEPROM;
* modified ubl sanity_check - no longer checks removed state variables that were otherwise unused, where checking didn't seem to accomplish anything, ultimately;
* removed pre_initialized state, saving 64 bytes of SRAM;
* removed automatic saving of UBL state after UBL activation/deactivation;
* consolidated multiple GRID_MAX_POINTS_X/Y to 'Global Leveling' section of EEPROM;
* minor update to G29 Sx notes/instructions;
* renamed mesh load and save parameter to 'slot' from 'm' for clarity;
Pretty much... The code is in place. Still more work to do. But it
has a lot of hooks and variables in other code, so commit and merge
before I pick up a million 'Conflicts'.
- Make all `unified_bed_leveling` data/methods static
- Move some UBL-related variables into the class
- Replace `map_[xy]_index_to_bed_location` with `mesh_index_to_[xy]pos`