/* ********************************************************************************************************* * IAR Development Kits * on the * * Nano100 * * Filename : dwin_form.h * Version : V1.00 * Programmer(s) : Qian Xianghong ********************************************************************************************************* */ #ifndef USER_DIWN_FORM_PRESENT #define USER_DIWN_FORM_PRESENT #include "type.h" // 初始化 void Form_Open(); // 显示任务主体 void Form_Task(void *p_arg); // 按键任务主体 void Key_Task(void *p_arg); // 允许匿名结构 #pragma anon_unions #pragma pack(push, 1) // 显示刷屏队列 typedef struct // size = 64 { uint8_t oper; // 操作:0x82写,0x83读 uint16_t Addr; // 首地址 uint16_t count; // 长度(以word为单位) union // 内容 { char str[100]; uint8_t byte[100]; uint16_t word[50]; uint32_t dword[25]; }; } form_data_t; typedef struct { int16_t rowCount; // 记录条数 uint16_t hdrAddr; // 表头显示地址 uint16_t rowPtr[10]; // 各行显示地址 uint16_t rowDesc[10]; // 各行描述地址 char rowStr[10][100]; // 各行显示内容 uint8_t bufIdx; // 双缓冲序号 int32_t topPtr; // 分页查询起始位置 } form_grid_t; typedef struct { uint8_t func; // 查询功能(1-储罐,2-数据,3-曲线) // 以下为输入的条件标志 unsigned tgguFlag : 1; unsigned psnFlag : 1; unsigned dateFlag: 1; unsigned : 5; // 以下为输入的条件值 char TGGU[12]; // 罐箱号 uint8_t PSN[6]; int16_t normal; // 是否选择正常状态 int16_t fault; // 是否选择故障状态 int16_t warn; // 是否选择报警状态 int16_t offline;// 是否选择离线状态 int32_t date; // 起始日期 int16_t days; // 查询天数 } form_query_t; #pragma pack(pop) // 首页表格,报警页表格,查询表格 extern form_grid_t gridAll, gridWarn, gridQuery, girdAbout; // 记录查询功能(储罐、数据或曲线)和查询条件 extern form_query_t formQuery; // 清除表格内容 void Form_ClearGrid(form_grid_t *grid); // 刷新表格 void Form_RefreshGrid(form_grid_t *grid); // 滚动表格 void Form_ScrollGrid(form_grid_t *grid); #endif