commCPU_SUPV/code/user/inc/interact_lcd_driver.h
2025-04-30 16:24:29 +08:00

133 lines
3.9 KiB
C

#ifndef INTERACT_LCD_DRIVER_123_INCLUDED
#define INTERACT_LCD_DRIVER_123_INCLUDED
#include "glbtypes.h"
#include "general_defines.h"
#ifdef __cplusplus
extern "C" {
#endif
/* 消息类型 */
#define CMD_TOUCH_PRESS_RETURN 0X01 //触摸屏按下通知
#define CMD_TOUCH_RELEASE_RETURN 0X03 //触摸屏松开通知
#define CMD_TYPE_UPDATE_CONTROL 0XB1 //控件更新通知
#define CMD_TYPE_CHANGE_SCREEN 0XB2 //画面切换通知
#define CMD_TYPE_GET_REV 0XFE //
#define CMD_TYPE_HAND_SHAKE 0x55 //握手
#define CMD_TYPE_RESET 0x07 //复位
#define CMD_FRAME_TYPE 1 //命令类型
#define CMD_FRAME_CTRLTYPE 5 //命令类型
/* 页面编码 */
#define LCD_PAGE_ZHUYE 0 //
#define LCD_PAGE_DINGZHI 1 //
#define LCD_PAGE_KAIGUAN 7 //
#define LCD_PAGE_YUANJIAN 8 //
#define LCD_PAGE_GUZHANG 9 //
#define LCD_PAGE_BAOGAO 10 //
#define LCD_PAGE_GUANYU 11 //
#define LCD_PAGE_START 12 //
#define LCD_PAGE_INFODIALOG 13 //
#define LCD_GY_PAGE_UPDATE 14 //
#define LCD_GY_PAGE_RESTART 15 //
#define LCD_PAGE_WAITMSG 16
#define LCD_ZY_PAGE_BAOGAO 17
#define LCD_ZY_PAGE_GUZHANG 18
#define LCD_ZY_PAGE_JIAOSHI 19
#define LCD_ZY_PAGE_FUGUI 20
#define LCD_ZY_PAGE_TOUTUI 21
#define LCD_PAGE_BAOGAO_TYPE 22
#define LCD_DZ_PAGE_MIMA 2 //
#define LCD_DZ_PAGE_DIAOQU 3 //
#define LCD_DZ_PAGE_JIHUO 4 //
#define LCD_DZ_PAGE_GUHUA 5 //
#define LCD_DZ_PAGE_XIUGAI 6 //
//图片资源id
#define LCD_PIC_ZJXT 80
#define LCD_PIC_ARROW 10
//页面切换按钮id
#define LCD_CHANGE_PAGE_BUTTON_ZY 200
#define LCD_CHANGE_PAGE_BUTTON_DZ 201
#define LCD_CHANGE_PAGE_BUTTON_KG 202
#define LCD_CHANGE_PAGE_BUTTON_YJ 203
#define LCD_CHANGE_PAGE_BUTTON_GZ 204
#define LCD_CHANGE_PAGE_BUTTON_BG 205
#define LCD_CHANGE_PAGE_BUTTON_GY 206
//定值操作页面按钮
#define LCD_DZ_BUTTON_YHDZ 3
#define LCD_DZ_BUTTON_RYB 5
#define LCD_DZ_BUTTON_XTDZ 7
#define LCD_DZ_BUTTON_SYY 13
#define LCD_DZ_BUTTON_XYY 15
#define LCD_DZ_BUTTON_DQ 17
#define LCD_DZ_BUTTON_JH 19
#define LCD_DZ_BUTTON_GH 21
//开关操作页面按钮
#define LCD_KGL_BUTTON_KR 3
#define LCD_KGL_BUTTON_KC 5
#define LCD_KGL_BUTTON_YX 7
#define LCD_KGL_BUTTON_SIO 13
#define LCD_KGL_BUTTON_XIO 15
#define LCD_KGL_BUTTON_SYY 9
#define LCD_KGL_BUTTON_XYY 11
#define LCD_PAGEDATA_NUM_DZ 20
#define LCD_DZ_TYPE_UINT 4 //4字节无符号整数
#define LCD_DZ_TYPE_FLOAT 8 //4字节浮点数
#define LCD_DZ_TYPE_HEX 16 //4字节十六进制数
#define LCD_DZ_TYPE_DKJL 18 //电抗距离
#define LCD_DZ_TYPE_ENUM 44 //4字节枚举型
#define LCD_DZ_TYPE_BYTE 60 //4字节二进制
#define YAOXIN_FEN_STR 1
#define YAOXIN_HE_STR 2
#define PTR2U16(PTR) ((((ST_UCHAR *)(PTR))[0]<<8)|((ST_UCHAR *)(PTR))[1]) //从缓冲区取16位数据
#define SCREEN_PROTECT_TIME 300 //屏保时间/秒
typedef struct
{
ST_UCHAR cmd_head; //帧头
ST_UCHAR cmd_type; //命令类型(UPDATE_CONTROL)
ST_UCHAR ctrl_msg; //CtrlMsgType-指示消息的类型
ST_UINT screen_id; //产生消息的画面ID
ST_UINT control_id; //产生消息的控件ID
ST_UCHAR control_type; //控件类型
ST_UCHAR param[256]; //参数
ST_UCHAR cmd_tail[4]; //帧尾
}CTRL_MSG,*PCTRL_MSG;
/************************************************************************/
ST_RET interact_lcd_driver_send( ST_INT dataLen, ST_UCHAR *sendData );
ST_RET interact_lcd_driver_init( ST_INT comIndex, ST_INT comBaud, ST_INT parity, ST_INT monitoChl );
ST_RET interact_lcd_driver_release( ST_VOID );
ST_RET interact_lcd_driver_handle( ST_VOID );
//其它函数,如向告警窗增加一条输出信息等
//用于显示 突发产生的 事件自检报告 和 故障报告
ST_RET interact_lcd_driver_sjzj_burst( ST_UCHAR sjzj, ST_INT target, const ST_VOID *sjzjData );
ST_RET interact_lcd_driver_gzbg_burst( const ST_VOID *gzbgData, ST_INT faultIndex );
/************************************************************************/
#ifdef __cplusplus
}
#endif
#endif