Fix broken EEPROM save/load

This commit is contained in:
Brian
2017-05-11 10:48:16 -04:00
parent f0fe26c411
commit 3370329751
3 changed files with 12 additions and 10 deletions

View File

@ -37,8 +37,8 @@ void safe_delay(millis_t ms) {
#if ENABLED(EEPROM_SETTINGS)
void crc16(uint16_t *crc, const void * const data, uint16_t cnt) {
uint8_t *ptr = (uint8_t*)data;
while (cnt-- > 0) {
uint8_t *ptr = (uint8_t *)data;
while (cnt--) {
*crc = (uint16_t)(*crc ^ (uint16_t)(((uint16_t)*ptr++) << 8));
for (uint8_t x = 0; x < 8; x++)
*crc = (uint16_t)((*crc & 0x8000) ? ((uint16_t)(*crc << 1) ^ 0x1021) : (*crc << 1));