From 9ae4f570a4b56fb3eb60f4c244931c771415944b Mon Sep 17 00:00:00 2001 From: Selene ToyKeeper Date: Mon, 6 Nov 2017 08:51:57 -0700 Subject: Made FSM eeprom more atomic by writing marker byte last. --- spaghetti-monster/fsm-eeprom.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'spaghetti-monster/fsm-eeprom.c') diff --git a/spaghetti-monster/fsm-eeprom.c b/spaghetti-monster/fsm-eeprom.c index 45cd3fa..012e088 100644 --- a/spaghetti-monster/fsm-eeprom.c +++ b/spaghetti-monster/fsm-eeprom.c @@ -41,12 +41,14 @@ uint8_t load_eeprom() { void save_eeprom() { cli(); - eeprom_update_byte((uint8_t *)EEP_START, EEP_MARKER); // save the actual data for(uint8_t i=0; i EEP_WL_SIZE-EEPROM_WL_BYTES-1) offset = 0; eep_wl_prev_offset = offset; // marker byte + // FIXME: write the marker last, to signal completed transaction eeprom_update_byte((uint8_t *)offset, EEP_MARKER); offset ++; // user data -- cgit v1.2.3