Files
@ 3dc8ab4e2928
Branch filter:
Location: therm/storage.c - annotation
3dc8ab4e2928
2.4 KiB
text/plain
Fix stupid thermocouple error issue finally. Temporarily disable CDC transmit. Move PID calcs into a different loop for fun and profit.
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(); */
}
|