#ifndef __DOC__ #define __DOC__ #include "global.h" //#define MAX_METER_NUM (200) //超过200,写flash会挂,未查明原因 #define MAX_METER_NUM (200) /* 档案 */ struct meter_struct { u16 id; //表序号 BCD 2 u8 addr[7]; //表地址BCD 7 u8 type; //表类型代码BCD 1 u8 pro; //协议类别BCD 1 u8 baud; //波特率BCD 1 u8 password[4]; //表密码HEX 4 u8 colladdr[6]; //采集模块/中继器编号(地址) BCD 6 u8 port; //采集端口BCD 1 u8 state; //开关 u8 isopen; //档案是否关闭 }; void meter_close(u8 * id); void meter_add(u16 id,u8 * addr,u8 type,u8 pro,u8 baud,u8 * pd,u8 * coladdr,u8 port); void meter_read(u8 * id,u8 * val,u16 * len); void doc_write(); void doc_read(); u16 meter_get_count(); bool meter_getfromid(u16 id,u8 * addr); bool meter_get_id(u16 index,u16 * id); bool meter_get_addr(u16 index,u8 * addr); bool meter_find_id(u8 * addr,u16 * id); bool meter_find_addr6(u8 * addr); //直接根据index得到id; bool meter_get_real_id(u16 index,u16 * id); bool is_doctype_ok(u16 index); bool meter_find_id_fromaddr(u8 * addr,u16 * id); bool meter_getaddress_fromid(u16 id,u8 * addr); bool meter_get_addr(u16 index,u8 * addr); bool meter_get_id(u16 index,u16 * id); #endif