Files
@ f1a2d85da29b
Branch filter:
Location: therm/storage.c - annotation
f1a2d85da29b
2.4 KiB
text/plain
Bootloader is now the top menu item, and menu defaults to second item. System resets on flash erase.
149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 0747d846c71e 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 0747d846c71e 0747d846c71e 149610e94cf9 149610e94cf9 149610e94cf9 149610e94cf9 | #include "stm32f0xx_hal.h"
#include "states.h"
void save_settings(therm_settings_t *tosave)
{
// TODO: Rework with FLASH read/write
/*
Minimal_EEPROM_Unlock();
// Try programming a word at an address divisible by 4
Minimal_EEPROM_ProgramWord(EEPROM_BASE_ADDR + EEPROM_ADDR_BOOTTOBREW, boottobrew);
Minimal_EEPROM_ProgramWord(EEPROM_BASE_ADDR + EEPROM_ADDR_WINDUP_GUARD, windup_guard);
Minimal_EEPROM_ProgramWord(EEPROM_BASE_ADDR + EEPROM_ADDR_K_P, k_p);
Minimal_EEPROM_ProgramWord(EEPROM_BASE_ADDR + EEPROM_ADDR_K_I, k_i);
Minimal_EEPROM_ProgramWord(EEPROM_BASE_ADDR + EEPROM_ADDR_K_D, k_d);
Minimal_EEPROM_ProgramWord(EEPROM_BASE_ADDR + EEPROM_ADDR_UNITS, temp_units);
Minimal_EEPROM_Lock();
// TODO: Check for missing settings
*/
}
void save_setpoints(therm_settings_t *tosave)
{
// TODO: Rework with FLASH read/write
/*
Minimal_EEPROM_Unlock();
Minimal_EEPROM_ProgramWord(EEPROM_BASE_ADDR + EEPROM_ADDR_BREWTEMP, setpoint_brew);
Minimal_EEPROM_ProgramWord(EEPROM_BASE_ADDR + EEPROM_ADDR_STEAMTEMP, setpoint_steam);
Minimal_EEPROM_Lock();
*/
}
// TODO: Make a struct that has all settings in it. Pass by ref to this func in a library.
void restore_settings(therm_settings_t *tosave)
{
// TODO: Rework with FLASH read/write
/* Minimal_EEPROM_Unlock();
while(Minimal_FLASH_GetStatus()==FLASH_BUSY);
boottobrew = (*(__IO uint32_t*)(EEPROM_BASE_ADDR + EEPROM_ADDR_BOOTTOBREW));
while(Minimal_FLASH_GetStatus()==FLASH_BUSY);
windup_guard = (*(__IO uint32_t*)(EEPROM_BASE_ADDR + EEPROM_ADDR_WINDUP_GUARD));
while(Minimal_FLASH_GetStatus()==FLASH_BUSY);
k_p = (*(__IO uint32_t*)(EEPROM_BASE_ADDR + EEPROM_ADDR_K_P));
while(Minimal_FLASH_GetStatus()==FLASH_BUSY);
k_i = (*(__IO uint32_t*)(EEPROM_BASE_ADDR + EEPROM_ADDR_K_I));
while(Minimal_FLASH_GetStatus()==FLASH_BUSY);
k_d = (*(__IO uint32_t*)(EEPROM_BASE_ADDR + EEPROM_ADDR_K_D));
while(Minimal_FLASH_GetStatus()==FLASH_BUSY);
setpoint_brew = (*(__IO uint32_t*)(EEPROM_BASE_ADDR + EEPROM_ADDR_BREWTEMP));
while(Minimal_FLASH_GetStatus()==FLASH_BUSY);
setpoint_steam = (*(__IO uint32_t*)(EEPROM_BASE_ADDR + EEPROM_ADDR_STEAMTEMP));
while(Minimal_FLASH_GetStatus()==FLASH_BUSY);
temp_units = (*(__IO uint32_t*)(EEPROM_BASE_ADDR + EEPROM_ADDR_UNITS));
// TODO: Check for missing settings
Minimal_EEPROM_Lock(); */
}
|