126 lines
2.2 KiB
C
126 lines
2.2 KiB
C
#ifndef WATERMETER_MANAGER_H__
|
|
#define WATERMETER_MANAGER_H__
|
|
|
|
|
|
#include "include.h"
|
|
|
|
#define SHUANGJIA_MANAGERUNIT_VALID (0x12345679)
|
|
#define ADDRESS_LENGTH (7)
|
|
#define METER_DATA_MAX_SIZE (4)
|
|
#define ADDR_LIST_LENGTH (0xFF)
|
|
|
|
#define VALID_FLAG (0xAA)
|
|
#define INVALID_FLAG (0x55)
|
|
|
|
#pragma pack(1)
|
|
|
|
typedef struct
|
|
{
|
|
u8 AddrValidFlag;
|
|
u8 Address[ADDRESS_LENGTH];
|
|
}METER_ADDR_UNITTYPE,* LPMETER_ADDR_UNITTYPE;
|
|
|
|
typedef struct
|
|
{
|
|
//u8 Data[METER_DATA_MAX_SIZE];
|
|
u8 DataValidFlag;
|
|
u8 BCD_Decimal;
|
|
u8 BCD_Integer_L;
|
|
u8 BCD_Integer_M;
|
|
u8 BCD_Integer_H;
|
|
|
|
|
|
u8 FailCount;//抄表失败计数
|
|
|
|
u8 StateFlag0;
|
|
u8 StateFlag1;
|
|
|
|
u8 TSec;
|
|
u8 TMin;
|
|
u8 THour;
|
|
u8 TDay;
|
|
u8 TMonth;
|
|
u8 TYaer;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}METER_DATA_UNITTYPE,* LPMETER_DATA_UNITTYPE;
|
|
|
|
typedef struct
|
|
{
|
|
u8 Index;
|
|
METER_ADDR_UNITTYPE Addr;
|
|
METER_DATA_UNITTYPE Data;
|
|
u16 CRCV;
|
|
}METER_STRUCT_UNITTYPE, * LPMETER_STRUCT_UNITTYPE;
|
|
|
|
|
|
|
|
|
|
typedef enum
|
|
{
|
|
NKNOW = 0x00, //未知
|
|
EXIST_ADDR_DATA_INVALID, //存在地址但是数据无效
|
|
EXIST_ADDR_DATA_VALID, //存在地址但是数据有效
|
|
EXIST_ADDR_CRC_ERROR, //存在地址但数据CRC校验错误
|
|
|
|
ADDR_OVERFLOW,
|
|
NO_EXIST_ADDR, //不存在地址
|
|
}RETURN_TYPE;
|
|
//新天采集器地址档案数据管理单元
|
|
typedef struct
|
|
{
|
|
u32 ValidFlag;
|
|
u8 AddrSum; //地址总长度
|
|
|
|
METER_STRUCT_UNITTYPE Info[ADDR_LIST_LENGTH]; //当前数据存储信息
|
|
|
|
}SJ_ADDRLIST_MANUNIT_TYPE,* SP_SJ_ADDRLIST_MANUNIT_TYPE;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#pragma pack()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void SJMeterInfoInit( void );
|
|
bool UpdateRFReceiveData(u8* addr,u8* data,u8* status);
|
|
RETURN_TYPE ReadAddrListDataInfo( LPMETER_STRUCT_UNITTYPE Pload ,bool Save);
|
|
void ClearMeterDataTimeOuttime( void );
|
|
bool UpdataWMRMFailCounterProcess(u8* addr);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif //WATERMETER_MANAGER_H__
|