105 lines
2.4 KiB
C
105 lines
2.4 KiB
C
/*
|
||
*********************************************************************************************************
|
||
* 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
|
||
{
|
||
int16_t rowCount; // 记录条数
|
||
uint16_t hdrAddr; // 表头显示地址
|
||
uint16_t rowPtr[30]; // 各行显示地址
|
||
uint16_t rowDesc[30]; // 各行描述地址
|
||
char rowStr[30][30]; // 各行显示内容
|
||
uint8_t bufIdx; // 双缓冲序号
|
||
int32_t topPtr; // 分页查询起始位置
|
||
} form_grid2_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
|