/** ******************************************************************************************************** * @file loc_graphics.h * @author HZS * @version V1.0.0 * @date 2020.12.24 * @brief c header file ********************************************************************************************************/ #ifndef GUI_H_ #define GUI_H_ #include "TYW_stdint.h" #include "GUI_Interface.h" #include "Watchdog.h" #define Oil_Brake 0 #define Air_Brake 1 #define Brake_Type Oil_Brake /*显示模式*/ typedef enum { DIS_MODE_OFF, DIS_MODE_ON, } EumDisMode; /*数据有效状态枚举*/ typedef enum { DATA_Invaild, /*无效*/ DATA_Vaild, /*有效*/ } EumDataIsVaild; /*主题枚举*/ typedef enum { THEME_1, /*主题1*/ THEME_2, /*主题2*/ THEME_3, /*主题3*/ THEME_NONE, /*无主题*/ } EumTheme; /*负值显示*/ typedef enum { DATA_NEG_DISABLE, /*负号禁用*/ DATA_NEG_ENABLE, /*负号使能*/ } EumDataNegEn; /*档位枚举*/ typedef enum { GEAR_NONE, GEAR_P, GEAR_R, GEAR_N, GEAR_D, } EumGear; /*导航显示*/ typedef enum { NAVI_INFO_DISABLE, /*无导航信息*/ NAVI_INFO_ENABLE, /*显示导航信息*/ } EumNaviInfoEn; /*导航方向类型*/ typedef enum { NAVI_DIR_TYPE_NONE, /*无*/ NAVI_DIR_TYPE_GRAPHIC, /*图形*/ NAVI_DIR_TYPE_ROUND, /*环岛*/ } EumNaviDirType; /*导航结构*/ typedef struct { uint16_t meter; /*上方距离*/ EumDataIsVaild meterVaild; /*距离有效位*/ uint16_t posInfo; /*当前位置图片*/ uint16_t destination; /*目标位置图片*/ EumNaviDirType dirType; /*方向类型*/ uint16_t directImg; /*方向图片*/ uint16_t remDistan; /*剩余距离*/ EumDataIsVaild remDistanVaild; /*剩余公里有效位*/ uint8_t remHour; /*剩余时间-小时*/ uint8_t remMinute; /*剩余时间-分钟*/ EumDataIsVaild remTimeVaild; /*剩余时间有效位*/ uint8_t planHour; /*预计到达小时*/ uint8_t planMinute; /*预计到达分钟*/ EumDataIsVaild planTimeVaild; /*预计时间有效位*/ } StuNavi; /*音乐源枚举*/ typedef enum { MUSIC_SRC_NONE, /*无*/ MUSIC_SRC_IPOD, /*ipod*/ MUSIC_SRC_USB, /*USB*/ MUSIC_SRC_LOCAL, /*本地存储*/ MUSIC_SRC_BLUETOOTH, /*蓝牙音乐*/ MUSIC_SRC_ONLINE, /*在线音乐*/ } EumMusicSrc; /*视频源枚举*/ typedef enum { VIDEO_SRC_NONE, /*无*/ VIDEO_SRC_IPOD, /*ipod*/ VIDEO_SRC_USB, /*USB*/ VIDEO_SRC_LOCAL, /*本地存储*/ VIDEO_SRC_BLUETOOTH, /*蓝牙视频*/ VIDEO_SRC_ONLINE, /*在线视频*/ } EumVideoSrc; /*多媒体类型枚举*/ typedef enum { MEDIA_TYPE_NONE, /*无*/ MEDIA_TYPE_PHONE, /*电话*/ MEDIA_TYPE_RADIO, /*电台*/ MEDIA_TYPE_VIDEO, /*视频*/ MEDIA_TYPE_MUSIC, /*音乐*/ } EumMediaType; /*电话状态枚举*/ typedef enum { PHONE_STS_NONE, /*无*/ PHONE_STS_CALLING, /*呼叫中*/ PHONE_STS_INCOMING_CALL, /*来电*/ PHONE_STS_CALL_ENDED, /*通话结束*/ PHONE_STS_IN_LINE, /*通话中*/ } EumPhoneSts; /*电话结构*/ typedef struct { EumPhoneSts phoneSts; /*电话状态*/ uint8_t hour; /*通话小时*/ uint8_t minute; /*通话分钟*/ uint8_t second; /*通话秒数*/ } StuPhone; /*电台类型枚举*/ typedef enum { RADIO_TYPE_NONE, /*无*/ RADIO_TYPE_AM, /*AM*/ RADIO_TYPE_FM, /*FM*/ RADIO_TYPE_ONLINE, /*在线电台*/ } EumRadioType; /*AM结构*/ typedef struct { uint16_t freBand; /*频段*/ } StuRadioAM; /*FM电台搜索结果枚举*/ typedef enum { FM_SEARCH_STS_NONE, /*未搜索到*/ FM_SEARCH_STS_PROCESS, /*搜索中*/ FM_SEARCH_STS_FINISH /*搜索完成*/ } EumFMSearchSts; /*FM结构*/ typedef struct { uint16_t freBand; /*频段*/ EumFMSearchSts searchSts; /*搜索状态*/ } StuRadioFM; /*在线电台结构*/ typedef struct { uint16_t headtitle; /*大标题*/ uint16_t subtitle; /*小标题*/ } StuRadioOnline; /*电台结构*/ typedef struct { EumRadioType type; /*类型*/ StuRadioAM radioAM; /*AM*/ StuRadioFM radioFM; /*FM*/ StuRadioOnline radioOnline; /*在线电台*/ } StuRadio; /*视频结构*/ typedef struct { EumVideoSrc videoSrc; /*视频源*/ uint16_t videoName; /*视频名称*/ } StuVideo; /*音乐结构*/ typedef struct { EumMusicSrc musicSrc; /*音乐源*/ uint16_t musicName; /*歌曲名*/ uint16_t singer; /*歌手*/ } StuMusic; /********************** 多媒体 |——电话 |——电台 | |——AM | |——FM | |——在线电台 |——视频 |——音乐 ***********************/ /*多媒体结构*/ typedef struct { StuPhone phone; /*电话*/ StuRadio radio; /*电台*/ StuVideo video; /*视频*/ StuMusic music; /*音乐*/ } StuMedia; /*导航条*/ typedef enum { TITLE_BAR_TIRE, /*胎压*/ TITLE_BAR_MUSIC, /*音乐*/ TITLE_BAR_HOME, /*主页*/ TITLE_BAR_NAVI, /*导航*/ TITLE_BAR_ENERGY_FLOW, /*能量流*/ } EumTitleBar; typedef struct { float SetSpeed; float ActualSpeed; float err; float err_next; float err_last; float kp, ki, kd; } _pid; /********************************************函数声明********************************************/ void Bottom_Display_Service0(void); void Bottom_Display_Service(void); void GUI_Left(void); void GUI_Middle(void); void GUI_Right(void); void GUI_Top1(void); void GUI_Top2(void); //void GUI_AirP1(void); //void GUI_Clock(void); void GUI_Top4(void); void GUI_Top5(void); //void GUI_AirP2(void); void GUI_Top6(void); void GUI_Top7(void); void GUI_Bottm1(void); void GUI_Bottm2(void); void GUI_Bottm2P(void); void GUI_Bottm3(void); void GUI_Bottm4(void); void GUI_Bottm5(void); void GUI_Bottm6(void); void GUI_Bottm7(void); void GUI_Bottm8(void); void GUI_Bottm9(void); void GUI_Bottm10(void); void GUI_Bottm11(void); void GUI_Stop(void); void GUI_Park(void); void GUI_Charge(void); void PID_Parameters_Init(void); float PID_Realize(float spd, _pid *speed); uint16_t Speed_Get_CurDisp(void); void GUI_DisplUpdTimRst(void); /****************************************************************************** * IGN OFF 清图层 *******************************************************************************/ extern unsigned char GUI_IGNIN_InitSprite_Flag; void GUI_IGNOFF_ClearSprite_KL30Init(void); void GUI_IGNOFF_ClearSprite_Enable(void); void GUI_IGNOFF_DelSprite(void); void GUI_IGNOFF_ClearSprite(void); unsigned char GUI_IGNOFF_ClearSpriteFinish(void); unsigned char GUI_IGNOFF_ClearingSprite(void); #endif