#ifndef UI_INTERFACE_H #define UI_INTERFACE_H #ifdef __cplusplus /*C++编译环境下兼容C语言*/ extern "C" { #endif /*------ Exported includes(头文件) ----------------------*/ #include "main.h" #include "usart.h" #include "publicdata/type.h" #include "ui/ui_comm_impl.h" #include "meter_calculate\meter_calculate_impl.h" /*------ Exported macro(宏定义) -------------------------*/ /*------ Exported struct(结构体定义) --------------------*/ typedef enum { E_UI_GET_DATA_UI_EN = 0, //UI使能 0不使能 1使能 E_UI_GET_DATA_SCREEN_SAVER_EN, //UI屏保界面显示使能 0不使能 1使能 2使能轮播 E_UI_GET_DATA_GUN_CNT, //枪数量 E_UI_GET_DATA_LALANGGUAGE_TYPE, //语言类型 0中文 1英文 E_UI_GET_DATA_GUN_LINK, //枪连接状态 0未连接 1已连接; E_UI_GET_DATA_TIME_ZONE, //时区偏移量 E_UI_GET_DATA_BS_COMM_FLAG, //平台连接标志 0未连接 1已连接 E_UI_GET_DATA_BS_UPDATE_FLAG, //获取远程升级标志 E_UI_GET_DATA_FLOW_STAET, //充电流程控制状态 0空闲 1充电启动 2绝缘启动 3绝缘计算完成 4绝缘检测模块停止 5开始预充 6预充完成 7充电中 8BMS通讯超时 9充电停止 10充电停止完成 E_UI_GET_DATA_CHAR_VOL, //充电电压 精度 0.1V E_UI_GET_DATA_CHAR_CUR, //充电电流 精度 0.1A E_UI_GET_DATA_CHAR_POWER_H2, //充电电量 高2字节 精度 0.0001 -- 65535 E_UI_GET_DATA_CHAR_POWER_L2, //充电电量 底2字节 精度 0.0001 -- 65535 E_UI_GET_DATA_CHAR_MONEY, //充电金额 0.01元 E_UI_GET_DATA_CHAR_TIME, //充电时间 min E_UI_GET_DATA_CHAR_SOC, //充电soc % E_UI_GET_DATA_BAAT_TYPE, //电池类型 01H,铅酸电池;02H:镍氢电池;03H:磷酸铁锂电池;04H:锰酸锂电池;05H:钴酸锂电池; E_UI_GET_DATA_NEED_VOL, //需求电压 精度 0.1V E_UI_GET_DATA_NEED_CUR, //需求电流 精度 0.1A E_UI_GET_DATA_BATT_ONE_MAX_TEMP, //最高单体温度 度 E_UI_GET_DATA_BATT_ONE_MAX_VOL, //最高单体电压 0.1V E_UI_GET_DATA_BATT_RATED_C10, //电池容量 0.1 E_UI_GET_DATA_RATED_VOL, //额定电压 0.1 E_UI_GET_DATA_MAX_OUT_CUR, //最大充电电流 0.1 E_UI_GET_DATA_STOP_INFO, //充电停止原因 E_UI_GET_DATA_FAULT_NUM, //故障数量 }E_UI_GET_DATA_TYPE; typedef enum { E_UI_GET_STR_PILE_NO = 0, //桩编号 参数区分获取两平台桩编号信息 E_UI_GET_STR_QRcode, //二维码 E_UI_GET_STR_VERSION_INFO, //版本信息 E_UI_GET_STR_MAINTENANCE_PWD, //维护密码 E_UI_GET_STR_PILENO, //平台桩编号 E_UI_GET_STR_DOMAIN, //平台服务器域名 E_UI_GET_STR_QR, //二维码 E_UI_GET_STR_APN, //apn E_UI_GET_STR_OCPP_AUTH_KEY, //OCPP鉴权密钥 }E_UI_GET_STR_TYPE; typedef enum { E_START_VIN = 0, E_START_CARD, E_START_DEBUG, }E_START_TYPE; typedef enum { E_CHARGE_STATUS_AVAILABLE, //空闲 E_CHARGE_STATUS_PREPARING, //准备中 E_CHARGE_STATUS_CHARGING, //充电中 E_CHARGE_STATUS_SUSPENDED_EVSE, //充电暂停(充电桩原因) E_CHARGE_STATUS_SUSPENDED_EV, //充电暂停(车辆原因) E_CHARGE_STATUS_FINISHING, //结束充电 E_CHARGE_STATUS_RESERVED, //预留 E_CHARGE_STATUS_UNAVAILABLE, //不可用 E_CHARGE_STATUS_FAULTED //故障 }E_CHARGE_STATUS; /*------ Exported variables(变量定义) -------------------*/ /*------ Exported function prototypes (函数声明) -------*/ U16_T u16_ui_get_sys_data(U8_T u8_gunNo, E_UI_GET_DATA_TYPE e_dataType , U16_T u16_dataPara); U8_T u8_ui_get_sys_str(U8_T u8_gunNo, E_UI_GET_STR_TYPE e_dataType , U16_T u16_dataPara ,U8_T *u8_str , U16_T u16_len); U16_T u16_ui_get_his_fault_count(void); U8_T u8_ui_get_his_fault_line(U16_T newest_pos, U8_T *u8_str, U16_T u16_len); U16_T u16_ui_get_his_charge_count(void); U8_T u8_ui_get_his_charge_line(U16_T newest_pos, U8_T *u8_str, U16_T u16_len); U8_T u8_ui_ctrl_charge(U8_T u8_gunNo,E_CMD e_cmd, E_START_TYPE e_type); void v_ui_set_comm_timeout(U8_T u8_flag); U8_T u8_ui_gun_work_state(U8_T u8_gunNo); START_REASON e_ui_get_charge_way(U8_T u8_gunNo); void v_set_LCD_rtc(void); //设定液晶rtc时间 E_CHARGE_STATUS e_ui_get_charge_status(U8_T u8_gunNo); /** 非 UI 任务调用:请求界面回到待机/空闲(如 flowctrl FREE 态在线鉴权失败);UI 任务内轮询清标志并跳转 */ void v_ui_request_idle_screen_recover(void); U32_T u32_ui_get_charge_power(U8_T u8_gunNo); //获取充电电量,单位0.0001kWh void v_ui_param_init_by_type(E_UI_PARAM_TYPE_T e_type); void v_ui_param_save_by_type(E_UI_PARAM_TYPE_T e_type); void v_ui_para_str_update(U16_T u16_addr, U8_T *u8_str, U8_T u8_str_len); void v_ui_param_init(void); void v_ui_system_reboot(void); #ifdef __cplusplus } #endif #endif /* UI_INTERFACE_H */