📄 main.h
字号:
NET_CFG netcfg;
//远程通信方式定义
unsigned int center_num;//连接中心数量
CENTER center[5];
//污染物定义
unsigned int pollutantnum;
POLLUTANT pollutant[10];//预先支持10种污染物
unsigned int devinfonum;
DEV_INFO devinfo[5];//支持5个设备
DEVINFO_SNAP devsnap;
FLUX_PARAM flux_param;//流量设置
} _SITE_CONF_EXTEND;
/*******************公共函数定义 *********************/
/**************UTIL***********************************/
//4字节转浮点数
extern float convert_char_to_double(unsigned char buf[]);
//浮点数转4字节
extern unsigned char * convert_float_to_char(float val);
//16进制字符串转整形
extern int hexstrtoint(unsigned char buf[]);
//整形转16进制字符串
extern unsigned char * inttohexstr(int val);
//把长为len的ASCII数字字符串转成数字,例如"918"变味918
extern long strtoint(unsigned char *buf, unsigned int len);
//将int转换为3位十进制ASCII字符串
extern void inttoasc(int Data, unsigned char *uData, int len);
/**************时钟函数***********************************/
#define POS_YearH 0
#define POS_YearL 1
#define POS_Month 2
#define POS_Date 3
#define POS_Week 4
#define POS_Hour 5
#define POS_Minute 6
#define POS_Second 7
extern unsigned char READ_RTC_SECOND(void);
extern unsigned char READ_RTC_MINUTE(void);
extern unsigned char READ_RTC_HOUR(void);
extern unsigned char READ_RTC_DAY(void);
extern unsigned char READ_RTC_MONTH(void);
extern unsigned int READ_RTC_YEAR(void);
extern unsigned char * READ_RTC(void);
//-----------延时函数------------------------
extern void delay(unsigned int dly);
extern void delay_xus(unsigned int dly);
extern void delay_xms(unsigned int dly);
/*****************蜂鸣器,LED控制 ***********************************/
extern void enable_beep(void);
extern void disable_beep(void);
extern void OFF_BEEP(void);
extern void ON_BEEP(void);
/******************串口控制************************************/
//////////////////Serial control////////////////////////////////////////////////
extern void set_uart0_to_tx_status(void);
extern void set_uart0_to_rx_status(void);
extern void set_uart1_to_tx_status(void);
extern void set_uart1_to_rx_status(void);
extern void set_uart2_to_tx_status(void);
extern void set_uart2_to_rx_status(void);
extern void set_uart3_to_tx_status(void);
extern void set_uart3_to_rx_status(void);
/*************EEPROM 存储相关函数 ************************/
extern unsigned char read(unsigned int addr,unsigned char *s,unsigned char count);
extern unsigned char write(unsigned int addr,unsigned char *s,unsigned char count);
extern void initeeprom(void);//初始化EEPROM
extern void setinitflg(void);
extern void setNoinitflg(void);
extern BOOL readinitflg(void);//读初始位的状态 0-未初始化
extern void setPassword(char *pw);
extern char * readPassword(void);
extern void setinstantflow(float val);
extern float readinstantflow(void);//读瞬时流量,2个小数位
extern void setmilageflow(float val);
extern float readmilageflow(void);//读累计流量,2个小数位
extern void setinstantvalrecpos(long pos);
extern int readinstantvalrecpos(void);
extern void setinstantvalreclen(int len); //设置瞬间值存储位置
extern void setlastreboottime(char *rt);//设置最后重新启动时间
extern char *readlastreboottime(void);
extern void setlastdayreporttime(char *rt);//设置最后日值上报时间
extern char *readlastdayreporttime(void);
extern void setlasthourreporttime(char *rt);
extern char *readlasthourreporttime(void);
extern void setlastminreporttime(char *rt);//min
extern char *readlastminreporttime(void);
extern void setlastinstantreporttime(char *rt);//instant
extern char *readlastinstantreporttime(void);
extern void setlastlogreporttime(char *rt);
extern char * readlastlogreporttime(void);
extern void setlastreporttime(char *rt);
extern char * readlastreporttime(void);
extern void setlastalarmreporttime(char *rt);
extern char * readlastalarmreporttime(void);
/**************瞬间数据存储,存在EEPROM中 *******************************/
extern void addinstantdata(char *rt, MEASUREDATA *buf, unsigned int len);
extern char * queryinstantdata(char *rt);
/***********SD存储相关**************************************/
//extern void config();//读取配置文件并配置系统
extern void savecfgtofile(_SITE_CONF *site_conf);//保存整个配置文件,保存前先备份原配置文件
extern void addmindata(char *rt, MEASUREDATA *md);//添加一条五分钟历史数据
extern void updatemindata(char *rt, MEASUREDATA *md);
extern void delmindata(char *rt);
extern void addhourdata(char *rt, MEASUREDATA *md);//添加一条小时历史数据
extern void updatehourdata(char *rt, MEASUREDATA *md);//添加一条小时历史数据
extern void delhourdata(char *rt);
extern void adddaydaydata(char *rt, MEASUREDATA *md);
extern void updatedaydata(char *rt, MEASUREDATA *md);//添加一条日历史数据
extern void deldaydata(char *rt);
extern void addlogdata(char *rt, SYS_LOG *syslog);
extern void updatelogdata(char *rt, SYS_LOG *syslog);//添加一条日志历史数据
extern void dellogdata(char *rt);
extern void addalarmdata(char *rt, MEASUREDATA *md); //添加一条报警历史数据
extern void updatealarmdata(char *rt, MEASUREDATA *md);
extern void delalarmdata(char *rt);
extern void addexceptionmsg(char * rt, SYS_LOG *syslog); //加一条异常
extern void updateexceptionmsg(char *rt, SYS_LOG *syslog);
extern void delexceptionmsg(char *rt);
extern void addintervaldata(char * rt, MEASUREDATA_UNIT *_munitd);//加一条间段数据,例如COD
extern void updateintervaldata(char *rt, MEASUREDATA_UNIT *_munitd);
extern void delexcintervaldata(char *rt);
/****************查询相关*****************************/
extern MEASUREDATA * querymindata(char *rt1, char *rt2); //查询某段时间的数据
extern MEASUREDATA * queryhourdata(char *rt1, char *rt2);
extern MEASUREDATA * querydaydata(char *rt1, char *rt2);
extern SYS_LOG * querylogdata(char *rt1, char *rt2);
extern MEASUREDATA * queryalarmdata(char *rt1, char *rt2);
extern SYS_LOG * queryexceptionmsg(char *rt1, char *rt2);
extern MEASUREDATA_UNIT * queryintervaldata(char *rt1, char *rt2);
/****************显示应用层****************************/
extern void showexception(char *rt, char * buf);//显示一条异常信息,按任意键后该信息消失并进入相关页面
//EASUREDATA_UINT还是char *buf? @数据,@数据类型(0分钟,1小时,2日,3月),@显示模式(0表格,1曲线)
//.....
extern void show_start_screent(void);//显示启动界面
extern void showmainwnd_0(void);//运行第1屏,流量 ,COD,PH
extern void showmainwnd_1(void);//显示第2屏,状态
extern void showmainwnd_2(void);//当天COD曲线
extern void showmainwnd_8(void);
extern void showmainwnd_9(void);
//.....
extern void showsetup_flow(void);//流量计算设置
extern void showsetup_pollutant(void);//污染物设置 ->端口设置->协议设置
extern void showsetup_siteprop(void);//站点设置:ID,时间等
extern void showsetup_siteprop_idandtime(void);//ID和时间设置
extern void showsetup_siteprop_remotecenter(void);//设置远程站点
extern void showsetup_siteprop_localnet(void);//本机IP设置
extern void showsetup_debugandquery(void);//调试,控制,查询页面
extern void showsetup_debugandquery_debug(void); //调试
//.....
extern void showquery_historydata(MEASUREDATA_UNIT *muint, BYTE datatype, BYTE dispmode);
extern void showquery_logdata(SYS_LOG *buf);
extern void showquery_exceptiondata(SYS_LOG *buf);
extern void showquerty_alarmdata(MEASUREDATA_UNIT *muint); //显示同一污染物的所有报警
extern void showquery_deviceoperinterface(void);//显示仪器控制界面,例如按某个键可启动COD采样
extern void showquery_dointerface(void);//显示DO控制界面
extern void showquery_diinterface(void);//显示DI界监视面
extern void showquery_adtestinterface(void);//显示AD调试界面
extern void showquery_remotecomminterface(void);//显示远程通信监视往来数据
extern void showquery_portcomminterface(void);//显示串口监视界面
/****************流量计算****************************/
//计算累计流量,@槽型,@槽号,@槽高
extern float calinstant(BYTE gutter_type, BYTE gutter_no, float gutter_high);
/****************************************************************************
*计算累计值@瞬间值(m3/h),@上次累计值(m3),@每次计算的间隔时间(s):累计流量=((瞬间值/3600)*间隔时间)+上次累计值
*支持4~20mA流量的计算,采集器和流量合一的情况
****************************************************************************/
extern float calmilage(float finstant, float flastmilage,int interval);
/*
* 计算/保存瞬间流量,累计流量
* @param unsigned char buf 接收的字串
*/
extern void YunSuan_Data(unsigned char *buf);
/**************仪器操作*****************************************/
extern void sendtorisen();//向Resien探头发数据
extern BOOL sample(DEV_INFO devinfo); //采样
extern MEASUREDATA_UNIT getlastdata(DEV_INFO devinfo); //取得最后数据
extern MEASUREDATA_UNIT * getdata(DEV_INFO devinfo, char *rt1, char *rt2); //取得某段时间数据
extern BOOL settime(DEV_INFO devinfo, char *rt); //时间设置
extern BOOL setreboot(DEV_INFO devinfo);//远程复位
extern BOOL setcalibration(DEV_INFO devinfo);//远程校准
/*******************曲线,表格 函数***************************/
extern void show_drawbox(unsigned int x1, unsigned int y1, unsigned int x2, unsigned int y2);
extern void GUI_XYLine(int x1, int y1, int x2, int y2); //从X1,y1到x2,y2划线
extern void drawaxis(float *axisyval, char *legned, char *Yuint, float *timeaxisseries);//画坐标轴
extern void draw2c3rtable(unsigned char *c1, unsigned char *c2, MEASUREDATA_UNIT *muint1, int len1, MEASUREDATA_UNIT *muint2,int len2);//画2行2列表格
extern void loaddata( MEASUREDATA_UNIT *muint, int len);//muint 数据列,len 数据数量
/**************CSV Help***************************************/
extern unsigned int analyzecsvline(unsigned char *buf, unsigned char analysechar);//返回数据组的个数
extern unsigned char * pickcsvdata(unsigned char *buf, unsigned int len, unsigned char endchar, unsigned char analysechar, unsigned int pos);// 从SCV串的第POS个取得数据
extern unsigned int getcsvlen(unsigned char *buf);
/*************************************************************/
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -