diff --git a/Marlin/src/HAL/shared/persistent_store_api.h b/Marlin/src/HAL/shared/persistent_store_api.h index 007a8ed737..09db6310e0 100644 --- a/Marlin/src/HAL/shared/persistent_store_api.h +++ b/Marlin/src/HAL/shared/persistent_store_api.h @@ -33,13 +33,15 @@ public: static bool read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing=true); static size_t capacity(); - static inline bool write_data(const int pos, uint8_t* value, const size_t size) { + static inline bool write_data(const int pos, const uint8_t* value, const size_t size=sizeof(uint8_t)) { int data_pos = pos; uint16_t crc = 0; return write_data(data_pos, value, size, &crc); } - static inline bool read_data(const int pos, uint8_t* value, const size_t size) { + static inline bool write_data(const int pos, const uint8_t value) { return write_data(pos, &value); } + + static inline bool read_data(const int pos, uint8_t* value, const size_t size=1) { int data_pos = pos; uint16_t crc = 0; return read_data(data_pos, value, size, &crc); diff --git a/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp b/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp index 73a0cfdeb3..422513840b 100644 --- a/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp +++ b/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp @@ -1169,8 +1169,6 @@ */ void unified_bed_leveling::g29_eeprom_dump() { uint8_t cccc; - int kkkk; - uint16_t crc = 0; SERIAL_ECHO_START(); SERIAL_ECHOLNPGM("EEPROM Dump:"); @@ -1180,8 +1178,7 @@ print_hex_word(i); SERIAL_ECHOPGM(": "); for (uint16_t j = 0; j < 16; j++) { - kkkk = i + j; - persistentStore.read_data(kkkk, &cccc, sizeof(uint8_t), &crc); + persistentStore.read_data(i + j, &cccc, sizeof(uint8_t)); print_hex_byte(cccc); SERIAL_ECHO(' '); } diff --git a/Marlin/src/module/printcounter.cpp b/Marlin/src/module/printcounter.cpp index 5f4d226286..9bf350c052 100644 --- a/Marlin/src/module/printcounter.cpp +++ b/Marlin/src/module/printcounter.cpp @@ -75,10 +75,8 @@ void PrintCounter::initStats() { saveStats(); - uint16_t crc = 0; - int a = address; persistentStore.access_start(); - persistentStore.write_data(a, (uint8_t*)0x16, sizeof(uint8_t), &crc); + persistentStore.write_data(address, (uint8_t)0x16); persistentStore.access_finish(); } @@ -88,16 +86,13 @@ void PrintCounter::loadStats() { #endif // Check if the EEPROM block is initialized - uint16_t crc = 0; - int a = address; - uint8_t value; + uint8_t value = 0; persistentStore.access_start(); - persistentStore.read_data(a, &value, sizeof(uint8_t), &crc); - if (value != 0x16) initStats(); - else { - a = address + sizeof(uint8_t); - persistentStore.read_data(a, (uint8_t*)&data, sizeof(printStatistics), &crc); - } + persistentStore.read_data(address, &value, sizeof(uint8_t)); + if (value != 0x16) + initStats(); + else + persistentStore.read_data(address + sizeof(uint8_t), (uint8_t*)&data, sizeof(printStatistics)); persistentStore.access_finish(); loaded = true; } @@ -111,10 +106,8 @@ void PrintCounter::saveStats() { if (!isLoaded()) return; // Saves the struct to EEPROM - uint16_t crc = 0; - int a = (address + sizeof(uint8_t)); persistentStore.access_start(); - persistentStore.write_data(a, (uint8_t*)&data, sizeof(printStatistics), &crc); + persistentStore.write_data(address + sizeof(uint8_t), (uint8_t*)&data, sizeof(printStatistics)); persistentStore.access_finish(); }