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
main.cpp
- Committer:
- the_sz
- Date:
- 2015-11-14
- Revision:
- 9:fe2c9b3a312b
- Parent:
- 8:51e0f01d5c74
- Child:
- 12:a89096944f20
File content as of revision 9:fe2c9b3a312b:
#include "WakeupLight.h" int lastCheckedMinute=-1; void checkForAlarmSpecified(struct tm *tmStruct,CONFIG_TYPE_ENUM typeTime,CONFIG_TYPE_ENUM typeFlags) { uint32_t value; bool checkTime; value=Config_Get(typeFlags); if (value!=0) { checkTime=false; DPrintf("checkForAlarmSpecified: %u.\r\n",tmStruct->tm_wday); if (((value & CONFIG_ALARM_MASK_MONDAY)!=0) && (tmStruct->tm_wday==1)) checkTime=true; if (((value & CONFIG_ALARM_MASK_TUESDAY)!=0) && (tmStruct->tm_wday==2)) checkTime=true; if (((value & CONFIG_ALARM_MASK_WEDNESDAY)!=0) && (tmStruct->tm_wday==3)) checkTime=true; if (((value & CONFIG_ALARM_MASK_THURSDAY)!=0) && (tmStruct->tm_wday==4)) checkTime=true; if (((value & CONFIG_ALARM_MASK_FRIDAY)!=0) && (tmStruct->tm_wday==5)) checkTime=true; if (((value & CONFIG_ALARM_MASK_SATURDAY)!=0) && (tmStruct->tm_wday==6)) checkTime=true; if (((value & CONFIG_ALARM_MASK_SUNDAY)!=0) && (tmStruct->tm_wday==0)) checkTime=true; if (checkTime==true) { value=Config_Get(typeTime); if (value==((tmStruct->tm_hour << 8) | (tmStruct->tm_min))) { DPrintf("checkForAlarmSpecified: Alarm detecetd.\r\n"); LED_StartAnimation(LAE_WAKEUP); } } } } void checkForAlarm(void) { struct tm *tmStruct; time_t timeValue; timeValue=time(NULL); tmStruct=localtime(&timeValue); if (tmStruct->tm_min!=lastCheckedMinute) { lastCheckedMinute=tmStruct->tm_min; // check all alarm against current time checkForAlarmSpecified(tmStruct,CT_ALARM_1_TIME,CT_ALARM_1_MASK); checkForAlarmSpecified(tmStruct,CT_ALARM_2_TIME,CT_ALARM_2_MASK); checkForAlarmSpecified(tmStruct,CT_ALARM_3_TIME,CT_ALARM_3_MASK); checkForAlarmSpecified(tmStruct,CT_ALARM_4_TIME,CT_ALARM_4_MASK); checkForAlarmSpecified(tmStruct,CT_ALARM_5_TIME,CT_ALARM_5_MASK); checkForAlarmSpecified(tmStruct,CT_ALARM_6_TIME,CT_ALARM_6_MASK); } } #include "stm32746g_discovery_audio.h" //uint16_t buffer1[2000]; void BSP_AUDIO_OUT_TransferComplete_CallBack() { DPrintf("***1"); BSP_AUDIO_OUT_Stop(CODEC_PDWN_SW); } void BSP_AUDIO_OUT_HalfTransfer_CallBack() { DPrintf("***2"); BSP_AUDIO_OUT_Stop(CODEC_PDWN_SW); } int main() { debug_Init(); DPrintf("WakeupLight - Hardware v%08X.\r\n",BSP_GetVersion()); OnBoardLED_Init(); LED_Init(); SD_Init(); UI_Init(); Config_Init(); /* // OUTPUT_DEVICE_SPEAKER OUTPUT_DEVICE_BOTH uint8_t xxx=BSP_AUDIO_OUT_Init(OUTPUT_DEVICE_HEADPHONE,100,8000); DPrintf("resilt %u\r\n",xxx); uint32_t index; for (index=0;index<100;index++) { if ((index % 2)==0) buffer1[index]=0x0000; else buffer1[index]=0x7000; } BSP_AUDIO_OUT_Play(buffer1, sizeof(buffer1)*sizeof(uint16_t)); */ for (;;) { checkForAlarm(); UI_Poll(); } }