diff --git a/src/system/flash.c b/src/system/flash.c --- a/src/system/flash.c +++ b/src/system/flash.c @@ -16,78 +16,78 @@ static therm_status_t status; // Initialize flash and restore settings void flash_init(void) { - flash_restoresettings(); + flash_restoresettings(); } // Save settings to flash memory void flash_savesettings() { - // Unlock flash memory - HAL_FLASH_Unlock(); + // Unlock flash memory + HAL_FLASH_Unlock(); - // Initialize eraser to erase one page of flash - FLASH_EraseInitTypeDef eraser = - { - .TypeErase = TYPEERASE_PAGES, - .PageAddress = eeprom_emulation, - .NbPages = 1, - }; - uint32_t errvar = 0; + // Initialize eraser to erase one page of flash + FLASH_EraseInitTypeDef eraser = + { + .TypeErase = TYPEERASE_PAGES, + .PageAddress = eeprom_emulation, + .NbPages = 1, + }; + uint32_t errvar = 0; - // Erase flash page - HAL_FLASHEx_Erase(&eraser, &errvar); + // Erase flash page + HAL_FLASHEx_Erase(&eraser, &errvar); - // Write new flash data - uint16_t writectr; - for(writectr = 0; writectr < 128; writectr++)// 128 bytes data - { - HAL_FLASH_Program(TYPEPROGRAM_HALFWORD, eeprom_emulation+writectr,settings.data[writectr]); - } + // Write new flash data + uint16_t writectr; + for(writectr = 0; writectr < 128; writectr++)// 128 bytes data + { + HAL_FLASH_Program(TYPEPROGRAM_HALFWORD, eeprom_emulation+writectr,settings.data[writectr]); + } - // Write magic value to flash - HAL_FLASH_Program(TYPEPROGRAM_HALFWORD, eeprom_emulation+FLASH_MAGIC_LOC,FLASH_MAGIC_VALUE); + // Write magic value to flash + HAL_FLASH_Program(TYPEPROGRAM_HALFWORD, eeprom_emulation+FLASH_MAGIC_LOC,FLASH_MAGIC_VALUE); - // Lock flash memory - HAL_FLASH_Lock(); - HAL_Delay(2); + // Lock flash memory + HAL_FLASH_Lock(); + HAL_Delay(2); } // Restore configuration from flash memory, if any was previously saved void flash_restoresettings(void) { - // Check for magic flash value - if(eeprom_emulation[FLASH_MAGIC_LOC] == FLASH_MAGIC_VALUE) - { - // Read page of flash into settings structure - uint16_t readctr = 0; - for(readctr = 0; readctr < 128; readctr++) - { - settings.data[readctr] = eeprom_emulation[readctr]; - } - } - // No data in flash! Set defaults here - else - { - settings.val.k_p = 100; - settings.val.k_i = 2; - settings.val.k_d = 0; - settings.val.windup_guard = 300; - settings.val.sensor_type = 1; - //torestore.values.can_id = 22; - } + // Check for magic flash value + if(eeprom_emulation[FLASH_MAGIC_LOC] == FLASH_MAGIC_VALUE) + { + // Read page of flash into settings structure + uint16_t readctr = 0; + for(readctr = 0; readctr < 128; readctr++) + { + settings.data[readctr] = eeprom_emulation[readctr]; + } + } + // No data in flash! Set defaults here + else + { + settings.val.k_p = 100; + settings.val.k_i = 2; + settings.val.k_d = 0; + settings.val.windup_guard = 300; + settings.val.sensor_type = 1; + //torestore.values.can_id = 22; + } } // Accessor to retrieve settings structure inline therm_settings_t* flash_getsettings(void) { - return &settings; + return &settings; } inline therm_status_t* runtime_status(void) { - return &status; + return &status; }