diff --git a/src/system/flash.c b/src/system/flash.c --- a/src/system/flash.c +++ b/src/system/flash.c @@ -42,11 +42,11 @@ void flash_savesettings() uint16_t writectr; for(writectr = 0; writectr < 128; writectr++)// 128 bytes data { - HAL_FLASH_Program(TYPEPROGRAM_HALFWORD, eeprom_emulation+writectr,settings.data[writectr]); + HAL_FLASH_Program(TYPEPROGRAM_HALFWORD, (uint32_t)(eeprom_emulation+writectr), settings.data[writectr]); } // Write magic value to flash - HAL_FLASH_Program(TYPEPROGRAM_HALFWORD, eeprom_emulation+FLASH_MAGIC_LOC,FLASH_MAGIC_VALUE); + HAL_FLASH_Program(TYPEPROGRAM_HALFWORD, (uint32_t)(eeprom_emulation+FLASH_MAGIC_LOC),FLASH_MAGIC_VALUE); // Lock flash memory HAL_FLASH_Lock(); @@ -68,14 +68,15 @@ void flash_restoresettings(void) } } // No data in flash! Set defaults here + //TODO: Set all defaults else { - settings.val.k_p = 100; - settings.val.k_i = 2; - settings.val.k_d = 0; - settings.val.windup_guard = 300; + settings.val.k_p = DEFAULT_K_P; + settings.val.k_i = DEFAULT_K_I; + settings.val.k_d = DEFAULT_K_D; + settings.val.windup_guard = DEFAULT_WINDUP_GUARD; settings.val.sensor_type = 1; - //torestore.values.can_id = 22; + settings.val.setpoint_count = DEFAULT_SETPOINT_COUNT; } }