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
UI.h
00001 #ifndef __UI_h 00002 #define __UI_h 00003 00004 #define UI_FLAG_TYPE_BOX_LIST (0x01 | UI_FLAG_NEEDS_CHROME) 00005 #define UI_FLAG_TYPE_CLOCK 0x02 00006 #define UI_FLAG_TYPE_CLOCK_IN_WORDS (0x04 | UI_FLAG_NEEDS_CHROME) 00007 #define UI_FLAG_TYPE_VALUE_ADJUST (0x08 | UI_FLAG_NEEDS_CHROME | UI_FLAG_HAS_BACK_BUTTON) 00008 #define UI_FLAG_NEEDS_CHROME 0x10 00009 #define UI_FLAG_HAS_BACK_BUTTON 0x20 00010 #define UI_FLAG_TYPE_SLIDESHOW 0x40 00011 00012 typedef enum 00013 { 00014 UR_CLICK, 00015 UR_TIMER, 00016 UR_SHOW, 00017 00018 } UI_REASON_ENUM; 00019 00020 struct UI_STRUCT_; 00021 typedef void (*UI_HANDLER_CALLBACK)(UI_REASON_ENUM reason,int32_t index,UI_STRUCT_ *ui); 00022 00023 typedef struct 00024 { 00025 char *name; 00026 uint8_t *image; 00027 00028 } UI_BOX_LIST_ITEM_STRUCT; 00029 00030 typedef struct UI_STRUCT_ 00031 { 00032 int8_t flags; // UI_FLAG_... 00033 UI_HANDLER_CALLBACK handler; 00034 00035 union 00036 { 00037 struct 00038 { 00039 UI_BOX_LIST_ITEM_STRUCT *items; 00040 uint8_t count; 00041 00042 } boxList; 00043 00044 struct 00045 { 00046 uint8_t count; 00047 bool isTime; 00048 int32_t values[10]; 00049 00050 } valueAdjust; 00051 00052 } data; 00053 00054 } UI_STRUCT; 00055 00056 extern UI_STRUCT uiClock; 00057 extern UI_STRUCT uiClockInWords; 00058 extern UI_STRUCT uiColorTest; 00059 extern UI_STRUCT uiWakeup; 00060 extern UI_STRUCT uiSlideshow; 00061 extern UI_STRUCT uiMain; 00062 00063 void UI_Init(void); 00064 void UI_Poll(void); 00065 void UI_Show(UI_STRUCT *ui); 00066 00067 void UI_MainHandler(UI_REASON_ENUM reason,int32_t index,UI_STRUCT *ui); 00068 00069 void UI_WakeupHandler(UI_REASON_ENUM reason,int32_t index,UI_STRUCT *ui); 00070 void UI_WakeupShow(void); 00071 00072 void UI_TimeShow(void); 00073 00074 void UI_ColorTestHandler(UI_REASON_ENUM reason,int32_t index,UI_STRUCT *ui); 00075 00076 extern LCD_DISCO_F746NG uiLcd; 00077 00078 #endif
Generated on Tue Jul 12 2022 21:40:04 by 1.7.2