#ifndef _BLV_485_DEV_LCDFUN_H_
#define _BLV_485_DEV_LCDFUN_H_

#include "stdint.h"
#include "BLV_485_Protocol.h"
#include "BLV_All_Dev_Init.h"

#define LCD_RETRY_TIME      0x03        //重发次数

#define DEV_LCDTYPE			((uint8_t)0xF3)    //LCD类型

#define LCD_CMD_GLOBAL      0x30        //设置全局信息
#define LCD_CMD_GLOBAL_R    0x31        //设置全局信息回复
#define LCD_CMD_NETINF      0x40        //设置网络信息
#define LCD_CMD_NETINF_R    0x41        //设置网络信息回复
#define LCD_CMD_DEVINF      0x50        //设置设备信息
#define LCD_CMD_DEVINF_R    0x51        //设置设备信息回复
#define LCD_CMD_INQUIRY     0x60        //询问状态改变
#define LCD_CMD_INQUIRY_R   0x61        //询问状态改变回复
#define LCD_CMD_POLLCHECK   0x70        //巡检状态设置
#define LCD_CMD_POLLCHECK_R 0x71        //巡检状态设置回复




typedef struct
{
	BLV_COMM_RECORD_G comm_record;	    //通讯记录

	uint8_t 	DevSendCnt:4;     			//设备发送计数   计数达到重发次数都没有回复，判为离线  占4位
	uint8_t 	DevOffline:2;       		//设备离线标志 1，设备离线   0，设备在线             占2位
	uint8_t 	DevOfflineLast:2;       	//设备离线标志 1，设备离线   0，设备在线         占2位
	uint8_t     DevSendSN;                  //设备发送SN号
	
	uint8_t 	CtrlCnt;
	
	uint8_t 	G_Set_Flag;                 //全局信息设置标记
	uint8_t 	CardState;                  //插卡状态
	uint8_t 	RoomState;                  //房态
	uint8_t 	NetState;                   //网络状态
	uint8_t     OffLineDevType;             //离线设备类型
	uint8_t     OffLineDevAddr;             //离线设备地址
	uint32_t    UTC_Tick;                   //UTC同步时间戳
	uint16_t 	ProductCode;				//项目编码
	uint8_t 	LockState;                  //锁定状态
	uint8_t     InputType;                  //输入设备类型
	uint8_t     InputAddr;                  //输入设备地址
	uint8_t     InputLoop;                  //输入设备回路
	
	uint8_t     Net_Set_Flag;               //网络信息设置标记
	uint8_t     DHCP_en;                    //DHCP使能标记
	uint8_t     Ip[4];                      //IP缓存
	uint8_t     Mask[4];                    //子网掩码缓存
	uint8_t     Gateway[4];                 //默认网关缓存
	uint8_t     Dns[4];                     //DNS缓存
	uint8_t     Serverip[4];                //服务器IP缓存
	
	uint8_t     Hw_Set_Flag;                //设备信息设置标记
	uint8_t     Fw_ver[20];                 //固件版本缓存
	uint8_t    	Cfg_ver[4];                 //配置版本缓存
    uint8_t     Mac[6];                     //MAC缓存

}__attribute__ ((__packed__))RS485_LCD_INFO;						//LCD的数据与函数




void BLW_RS485_LCD_Data_Init(uint16_t DataLen, uint8_t *Data);
void BLW_RS485_LCD_For_Logic_Init(LOGICFILE_DEVICE_INFO *dev_info,uint8_t *data,uint16_t data_len);

#endif




















