| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458 |
- /******************************************************************************
- 版权所有: 深圳市金宏威实业发展有限公司
- 文件名称: menudesc.h
- 文件版本: 01.01
- 创建作者: 钟务贵
- 创建日期: 2014-12-16
- 功能说明: 菜单结构
- 其它说明:
- 修改记录:
- */
- #ifndef _MENUDESC_H
- #define _MENUDESC_H
- /*------------------------------- 头文件 --------------------------------------
- */
- /*------------------------------- 宏定义 --------------------------------------
- */
- #define INFO_ERR_QUERY 8
- #define INFO_DEBUG_QUERY 9
- #define INFO_GPRS_QUERY 16
- #define INFO_EQU_QUERY 10 //每屏显示最大行数
- #define MAX_LINE_PER_PAGE 10 //每屏显示最大行数
- // 页面类型
- enum
- {
- MENU_TYPE, // 菜单类型 (2个汉字)
- MENU_TYPE_CH8, // 菜单类型2 (4个汉字)
- SET_TYPE, // 设置类型
- QUERY_PAGE_TYPE, // 查询页面类型
- QUERY_1LINE_TYPE, // 查询1行类型
- ACTION_TYPE, // 动作类型
- };
- // 查询类型
- enum
- {
- QUERY_PUB_KR, // 公共开入
- QUERY_SW_KR, // 开关开入
- QUERY_PUB_AC, // 公共测量
- QUERY_SW_AC, // 开关测量
- QUERY_FLAG, // 标志
- QUERY_VER, // 1页面显示:SOE、信息
- QUERY_CFG, // 配置文件
- QUERY_TIME, // 时间
- QUERY_SJSOE, // 事件记录
- QUERY_CZSOE, // 操作记录
- QUERY_ERR, // 错误信息
- QUERY_DEBUG, // 调试信息
- QUERY_GPRS, // GPRS信息
- QUERY_PASSERR, // 密码错误
- QUERY_SAVERESULT,// 保存结果
- QUERY_SETRANGE, // 定值范围
- QUERY_ADJUSTRESULT,//xj 2015.5.9校准结果
- QUERY_EVENT, // 突发事件
- QUERY_RMTPAIR, // 遥控器配对
- QUERY_DELPAIR, // 遥控器清除配对
- QUERY_EQU, // 查询装置信息
- QUERY_COMM_PARA,// 查询通讯参数
- QUERY_YX, // 查询遥信点表
- QUERY_YC, // 查询遥测点表
- QUERY_CHZ_FLAG, // 重合闸标志
- QUERY_NUM,
- };
- enum
- {
- ACTION_TEST_KC,
- ACTION_TEST_LCD,
- ACTION_TEST_LED,
- ACTION_BAT,
- ACTION_ADJUST_AC,
- ACTION_ADJUST_DC10,
- ACTION_ADJUST_DC50,
- ACTION_CLR_SOE,
- ACTION_SAVE,
- ACTION_RMT_PAIR,
- ACTION_DEL_PAIR,
-
- ACTION_NUM,
- };
- // 固定菜单定义
- enum
- {
- MENU_NULL=0, // 无效菜单
-
- MENU_MAIN, // 主菜单
- MENU_RUNSTU, // 工况
- MENU_SET, // 设置
- MENU_SOE, // 事件
- MENU_DEBUG, // 调试
- MENU_INFO_PARA, // 信息参数
- MENU_TABLE_INFO, // 点表信息
-
- MENU_KR, // 开入
- MENU_AC, // 测量
- MENU_FLAG, // 标志
- MENU_TIME, // 时间
-
- MENU_FIX, // 定值
- MENU_PARA, // 装置参数
- MENU_TIMESET, // 时间设置
- MENU_BAT, // 电池
- MENU_RUN_PARA, // 运行参数(远动参数)
- MENU_FAULT_RESET, //故障复归
- #if SWITCH_NUM_MAX == 16
- MENU_FIX_PUB, // 公共定值
- MENU_FIX_SW1, // 开关定值
- MENU_FIX_SW2,
- MENU_FIX_SW3,
- MENU_FIX_SW4,
- MENU_FIX_SW5,
- MENU_FIX_SW6,
- MENU_FIX_SW7,
- MENU_FIX_SW8,
- MENU_FIX_SW9,
- MENU_FIX_SW10,
- MENU_FIX_SW11,
- MENU_FIX_SW12,
- MENU_FIX_SW13,
- MENU_FIX_SW14,
- MENU_FIX_SW15,
- MENU_FIX_SW16,
- #elif SWITCH_NUM_MAX == 6
- MENU_FIX_PUB, // 公共定值
- MENU_FIX_SW1, // 开关定值
- MENU_FIX_SW2,
- MENU_FIX_SW3,
- MENU_FIX_SW4,
- MENU_FIX_SW5,
- MENU_FIX_SW6,
- #elif SWITCH_NUM_MAX == 8
- MENU_FIX_PUB, // 公共定值
- MENU_FIX_SW1, // 开关定值
- MENU_FIX_SW2,
- MENU_FIX_SW3,
- MENU_FIX_SW4,
- MENU_FIX_SW5,
- MENU_FIX_SW6,
- MENU_FIX_SW7,
- MENU_FIX_SW8,
- #elif SWITCH_NUM_MAX == 4
- MENU_FIX_PUB, // 公共定值
- MENU_FIX_SW1, // 开关定值
- MENU_FIX_SW2,
- MENU_FIX_SW3,
- MENU_FIX_SW4,
- #elif SWITCH_NUM_MAX == 1
- MENU_FIX_PUB, // 公共定值
- MENU_FIX_SW1, // 开关定值
- #endif
- MENU_SJSOE, // 事件
- MENU_CZSOE, // 操作
- MENU_INFO_EQU, // 装置信息 (固有参数)
- MENU_COMM_PARA, // 通讯参数
- MENU_INFO_YX, // 遥信信息
- MENU_INFO_YC, // 遥测信息
- MENU_TEST, // 测试
- MENU_ADJUST, // 校准
- MENU_RMT, // 遥控器
- MENU_INFIX, // 内部定值
- MENU_CODE, // 密码
- MENU_CLR, // 清除记录
- MENU_INFO, // 信息
- MENU_TEST_KC, // 开出测试
- MENU_TEST_HMI, // 人机测试
- MENU_ADJUST_AC, // 交流校准
- MENU_ADJUST_DC, // 直流校准
- MENU_INFO_VER, // 版本信息
- MENU_INFO_CFG, // 配置信息
- MENU_INFO_ERR, // 错误信息
- MENU_INFO_DEBUG,// 调试信息
- MENU_INFO_GPRS, // GPRS信息
- MENU_BH_STATUS, //保护状态
- MENU_GLBH, //过流保护
- MENU_LXBH, //零序保护
- MENU_JDBH, //接地保护
- MENU_RECLOSE, //重合闸
- MENU_HJS, //后加速
- MENU_DLYX, //电流越限
- MENU_PUB_YX, //公共遥信
- MENU_SW_YX, //开关遥信
- MENU_PUB_YC, //公共遥测
- MENU_SW_YC, //开关遥测
- MENU_CHZ_FLAG, //重合闸标志
- MENU_OTHERS_FLAG, //其它标志
- MENU_PASSWORD, // 输入密码
- MENU_PASSERR, // 密码错误
- MENU_SAVE, // 退出保存
- MENU_SAVE_RESULT,// 保存的结果
- MENU_SET_RANGE, // 定值范围
- MENU_ADJUST_RESULT, // xj 2015.5.8校准结果38
- MENU_EVENT, // 突发事件
- MENU_RMT_PAIR, // 遥控器配对
- MENU_DEL_PAIR, // 遥控器配对清除
- MENU_NUM,
- };
- // 固定实体定义
- enum
- {
- ITEM_VER=0, // 版本信息
- ITEM_CRC, // CRC
- ITEM_EQU, // 装置资源
- ITEM_BRD, // 板卡资源
- ITEM_CFG, // 通道配置
- ITEM_IECTABLE, // 转发点表
- ITEM_SETDESC, // 定值描述
- ITEM_SETDATA, // 定值数据
- ITEM_TEST_LCD, // LCD测试
- ITEM_TEST_LED, // LED测试
- ITEM_CLR_SJ, // 清除事件记录
- ITEM_CLR_CZ, // 清除操作记录
- ITEM_ADJUST_AC, // 交流校准
- ITEM_ADJUST_DC10, // DC10V校准
- ITEM_ADJUST_DC50, // DC50V校准
- ITEM_SAVE, // 保存
- ITEM_SAVE_OK, // 确认保存
- ITEM_SAVE_NOK, // 取消保存
- ITEM_RMT_A,
- ITEM_RMT_B,
- ITEM_RMT_C,
- ITEM_RMT_D,
- // ITEM_CHZ_CD, // 重合闸充电标志
- ITEM_RMT_PAIR, // 遥控器配对
- ITEM_DEL_PAIR, // 清除配对
- // ITEM_XDL_CHZ_CD, // 小电流重合闸充电标志
-
- ITEM_NUM,
- };
- // 定值显示顺序定义
- enum
- {
- SET_NAME, // 第一行定值名称
- SET_DATA, // 第二行定值数据
- SET_UNIT, // 定值后面打印单位
- SET_STR_NUM,
- };
- // 液晶的规格
- enum
- {
- SMALL=1,
- MID,
- MID1,
- BIG,
- SIZE_NUM,
- };
- // 特殊类型
- enum
- {
- DISP_NULL=0,
- DISP_IP, // IP类型
- DISP_YMD, // 年月日型
- DISP_HMS, // 时分秒型
- DISP_SPCL_NUM
- };
- /*------------------------------ 类型结构 -------------------------------------
- */
- // 实体描述结构
- struct item
- {
- u8 type; // 类型
- u8 no; //
- u8 x; // 坐标
- u8 y;
- };
- // 页面描述结构,以层级为一页面单位
- struct page_st
- {
- u8 menu_cur; // 当前菜单表索引
- u8 menu_m; // 指向上一个节点(父节点)的指针
- u8 pagetype; // 当前页面类型
- u16 item_num; // 页面的实体数量
- u8 wnd_num; // 根据实际分配的屏数
- u8 wnd_item; // 每屏可容纳的最多实体数
- u8 cur_wnd_item; // 当前屏分配的实体数
- u8 cur_wnd; // 当前屏号
- u8 cur_focus; // 当前屏中的当前聚焦点
- u8 title; // 当前屏是否有标题
- u8 time; // 当前屏是否有时间
- struct item *page_item; // 页面实体
- void (*DispFun)(u8, u8, u8, struct item *);
- };
- // 固定菜单,以“行”为单位定义
- struct menu_table
- {
- char *name; // 名称的内容
- u8 code; // 0x00 无,0x01 用户密码,0x02 超级密码
- u8 save; // 是否保存: 0 无,1 退出时提示保存
- };
- // 实体定义
- struct item_table
- {
- char *name;
- u8 unit;
- u8 *fstdata;
- };
- // 液晶尺寸
- struct lcdsize
- {
- u8 x; // 液晶宽尺寸,以点为单位
- u8 y; // 液晶高尺寸,以点为单位,但必须为8的倍数
- };
- struct slave
- {
- u8 menu_m; // 主菜单
- u8 menu_s[17]; // 子菜单
- };
- // 实体更新标志
- struct item_update
- {
- u8 title;
- u8 time;
- u8 autoback;
- u8 name[10];
- u8 data[10];
- u8 flash[10];
- u32 flash_dly;
- u32 time_dly;
- u32 title_dly;
- u32 autoback_dly;
- u32 kr_dly[10];
- u32 ac_dly[10];
- u32 zf_dly[10];
- u32 name_dly[10];
- };
-
- // 页面查询显示结构
- struct page_dis
- {
- u16 no_cur; // 当前序号
- u16 no_num; // 序号总数
- u16 no_index; // 序号索引,用于SOE读取
- u8 str_num; // 需显示总数
- // u8 str[16][18]; // 显示内容
- u8 str[16][20]; // 显示内容 //2021-06-15
- };
- // 页面设置显示结构
- struct set_dis
- {
- u8 x; // 起始显示横坐标
- u8 list; // 列表类型
- u8 type; // 定值类型,区别于定值定义的类型,针对显示
- u8 spcl_type; // 特殊类型
- int modify; // 当前项是否进入编辑模式
- u8 lenth; // 需设置的数据字符长度
- u8 len; // 单位的长度
- u8 cursor; // 光标位置
- u8 point_mdf; // 小数点可编辑
- void *pdata; // 定值数据
- void *pdata1; // 定值数据
- void *pdata2; // 定值数据
- void *pdata3; // 定值数据
- void *pdata4; // 定值数据
- void *pdesc;
- u8 desc[16]; // 存放定值描述
- u8 str[3][21]; // 显示内容
- u8 list_str[21]; //list定值显示
- };
- struct cfg_index
- {
- u8 pub_di[PUB_DI_NUM];
- u8 sw_di[SWITCH_NUM_MAX * SW_DI_NUM + SWITCH_NUM_MAX*9];//+SWITCH_NUM_MAX*9 //填充补偿
- u8 kc[PUB_DO_NUM + SW_DO_NUM * SWITCH_NUM_MAX][2];
- u8 ac[PUB_AC_NUM_ALL];
- };
- struct action
- {
- u8 action[10];
- };
- struct disp_flag
- {
- u32 chz_cd;
- u32 xdl_chz_cd;
- };
- /*------------------------------ 变量声明 -------------------------------------
- */
- extern const struct menu_table menu_base_table[MENU_NUM];
- extern struct page_st g_page_cur;
- extern struct item_update g_item_update;
- extern struct page_st page_table[];
- extern const struct slave slave_table[];
- extern struct page_dis g_page_dis; // 用于页面类查询显示
- extern struct set_dis g_set_dis[5];
- extern const int slave_menu_num;
- extern struct lcdsize g_lcdsize;
- extern struct cfg_index g_cfg_index;
- extern struct action g_action;
- extern int lcdtype; // 液晶尺寸类型
- extern int g_hmi_type;
- extern struct disp_flag g_disp_flag; // 菜单内的标志
- extern const u8 sw_menu_num;
- // zhl add start
- extern u8 bPubSetMenuShow[SET_PUB_NUM];
- extern u8 bSwSetMenuShow[SET_NUM];
- extern u8 bParaSetMenuShow[PARA_NUM];
- extern u8 bCstSetMenuShow[CSTSET_NUM];
- extern bool g_bVipSoe_show;
- // zhl add end
- //当前页面
- /*------------------------------ 函数声明 -------------------------------------
- */
- int menudesc_init(u8 lcd_size);
- int menudesc_exit(void);
- int menu_disp(void);
- void reset_update_flag(void);
- #endif //_MENUDESC_H
- /*------------------------------ 文件结束 -------------------------------------
- */
|