From 2e010909ac06bb7e91cbf79a9622db8ee39fc7b6 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Tue, 1 Dec 2020 16:14:30 -0600 Subject: [PATCH] Tweak to EEPROM safe delay --- Marlin/src/HAL/STM32F1/eeprom_bl24cxx.cpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/Marlin/src/HAL/STM32F1/eeprom_bl24cxx.cpp b/Marlin/src/HAL/STM32F1/eeprom_bl24cxx.cpp index 09fe8f9103..9a7e4d799d 100644 --- a/Marlin/src/HAL/STM32F1/eeprom_bl24cxx.cpp +++ b/Marlin/src/HAL/STM32F1/eeprom_bl24cxx.cpp @@ -48,8 +48,6 @@ bool PersistentStore::access_start() { eeprom_init(); return true; } bool PersistentStore::access_finish() { return true; } bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) { - size_t written = 0; - while (size--) { uint8_t v = *value; uint8_t * const p = (uint8_t * const)pos; @@ -57,10 +55,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui // so only write bytes that have changed! if (v != eeprom_read_byte(p)) { eeprom_write_byte(p, v); - if (++written % 128 == 0) - safe_delay(2); // Avoid triggering watchdog during long EEPROM writes - else - delay(2); + if (size & 0x7F) delay(2); else safe_delay(2); // Avoid triggering watchdog during long EEPROM writes if (eeprom_read_byte(p) != v) { SERIAL_ECHO_MSG(STR_ERR_EEPROM_WRITE); return true;