Tweak to EEPROM safe delay
This commit is contained in:
		| @@ -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; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user