Wakeup Light with touch user interface, anti-aliased Font, SD card access and RTC usage on STM32F746NG-DISCO board
Dependencies: BSP_DISCO_F746NG_patch_fixed LCD_DISCO_F746NG TS_DISCO_F746NG FATFileSystem TinyJpgDec_interwork mbed-src
Config.cpp
- Committer:
- the_sz
- Date:
- 2016-02-21
- Revision:
- 14:2044ad5cd3fe
- Parent:
- 7:dc29f6647486
File content as of revision 14:2044ad5cd3fe:
#include "WakeupLight.h" //#define USE_RTC #define CT_MAGIC_VALUE 0x546865DF // 'Theß' #ifdef USE_RTC uint32_t *rtcBackupRegisters; #else uint32_t configSpace[CT_MAX]; #endif void Config_Init(void) { uint32_t index; #ifdef USE_RTC RTC_TypeDef *rtc; rtc=(RTC_TypeDef *)RTC_BASE; rtcBackupRegisters=(uint32_t *)&rtc->BKP0R; if (rtcBackupRegisters[CT_MAGIC]!=CT_MAGIC_VALUE) { DPrintf("Config_Init: Reset config because of 0x%08X.\r\n",rtcBackupRegisters[CT_MAGIC]); for (index=0;index<=CT_MAX;index++) rtcBackupRegisters[index]=0; rtcBackupRegisters[CT_MAGIC]=CT_MAGIC_VALUE; } #else for (index=0;index<=CT_MAX;index++) configSpace[index]=0; configSpace[CT_MAGIC]=CT_MAGIC_VALUE; #endif } uint32_t Config_Get(CONFIG_TYPE_ENUM type) { if (type>CT_MAX) return 0; DPrintf_("Config_Get: %u -> 0x%X.\r\n",type,configSpace[type]); #ifdef USE_RTC return rtcBackupRegisters[type]; #else return configSpace[type]; #endif } void Config_Set(CONFIG_TYPE_ENUM type,uint32_t value) { if (type>CT_MAX) return; DPrintf_("Config_Set: %u -> 0x%X.\r\n",type,value); #ifdef USE_RTC RTC_TypeDef *rtc; rtc=(RTC_TypeDef *)RTC_BASE; rtc->WPR=0xCA; rtc->WPR=0x53; rtcBackupRegisters[type]=value; rtc->WPR=0xFF; #else configSpace[type]=value; #endif }