Files
@ c0c52bad69d7
Branch filter:
Location: therm/storage.c - annotation
c0c52bad69d7
2.4 KiB
text/plain
Initial work on flash stuff. Reads and writes weird values...
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(); */
}
|