144 lines
5.1 KiB
C
144 lines
5.1 KiB
C
/*
|
||
* File: __GP22LoRa_RTCC_APP_H
|
||
* Author:
|
||
*
|
||
* Created on:2015-5-18
|
||
*/
|
||
|
||
#ifndef __UWater_RTCC_APP_H
|
||
#define __UWater_RTCC_APP_H
|
||
|
||
#include "type.h"
|
||
#include "UWater_rtcc_driver.h"
|
||
#include "UWater_frame_app.h"
|
||
|
||
/************************************RTCC应用层的状态信息************************************************/
|
||
//#define HEATING_STATE 1//采暖季状态信息 BIT0
|
||
#define RTCC_ERROR_STATE 2//RTCC异常 BIT1
|
||
|
||
#define RTCC_APP_SWITCH_ALRM_S0 0
|
||
#define RTCC_APP_SWITCH_ALRM_S1 1
|
||
#define RTCC_APP_SWITCH_ALRM_S2 2
|
||
#define RTCC_APP_SWITCH_ALRM_S3 3
|
||
#define RTCC_APP_SWITCH_ALRM_S4 4
|
||
|
||
/************************************RTCC应用层的消息信息************************************************/
|
||
//#define GP22_SAMPLE_MSG 1//GP22采样消息 BIT0
|
||
|
||
#define RTCC_FIRST_FLAG 0x88
|
||
#define RTCC_TIME_ERROR_HOUR ((long)100*3600)
|
||
#define VALVE_CL_UPLOAD_TIMES 24//上传次数
|
||
//#define EE_FIRST_USE_ADDR 0xB8
|
||
//
|
||
//#define EE_ERROR_HISTORY_ADDR (EE_FIRST_USE_ADDR+sizeof(RTCC_EE_DATA))
|
||
//#define EE_DAY_HISTORY_ADDR (EE_ERROR_HISTORY_ADDR+sizeof(RTCC_HISTORY_DATA))
|
||
//#define EE_MONTH_HISTORY_ADDR (EE_DAY_HISTORY_ADDR+14*31*sizeof(RTCC_HISTORY_DATA))
|
||
//#define EE_OTHER_ADDR (EE_MONTH_HISTORY_ADDR+24*sizeof(RTCC_HISTORY_DATA))
|
||
|
||
//#define EE_FIRST_USE_ADDR 0x100 //累计工作时间+上电标志字,,EEPROM区域:0x100-0x10F 共32字节
|
||
|
||
//#define EE_MONTH_HISTORY_ADDR 0x120 //EEPROM区域: 0x120-0x30F 共496字节
|
||
//#define EE_DAY_HISTORY_ADDR 0x310 //EEPROM区域: 0x310-0x78F 共1152字节
|
||
//#define EE_END_HISTORY_ADDR 0x790 //78F+1
|
||
////#define EE_OTHER_ADDR (EE_END_HISTORY_ADDR - EE_MONTH_HISTORY_ADDR) //1648
|
||
//#define EE_OTHER_ADDR (EE_END_HISTORY_ADDR - EE_MONTH_HISTORY_ADDR + 206) //1648 2015-6-16 连同事件记录一起清
|
||
//#define FRAME_NBIot_ADDR_BASE (EE_OTHER_ADDR + 130)
|
||
|
||
#define EE_FIRST_USE_ADDR EEP_RTCC_APP_USE_ADDR//0x180 //累计工作时间+上电标志字,,EEPROM区域
|
||
|
||
//#define EE_MONTH_HISTORY_ADDR 0x200 //EEPROM区域: EEPROM: 0x200-0x43F 576字节(预留)
|
||
//#define EE_DAY_HISTORY_ADDR EEP_RTCC_APP_HISTORY_ADDR //0x440 //EEPROM区域: 计划26字节*62天 = 1612 EEPROM区域: 0x440-0xC3F 共2048字节
|
||
|
||
//实际存储31天数据,前31天,循环存储,不带时间戳 26字节*31天 = 806字节
|
||
//#define EE_END_HISTORY_ADDR 0x766 //0x440 - 0x765
|
||
|
||
//#define EE_OTHER_ADDR (EE_END_HISTORY_ADDR - EE_MONTH_HISTORY_ADDR + 18) //(1382 +18) / 200 = 7,18字节凑个数
|
||
//#define EE_OTHER_ADDR (EE_END_HISTORY_ADDR - EE_MONTH_HISTORY_ADDR + 206) //1648 2015-6-16 连同事件记录一起清
|
||
#define CLEAR_HIS_BUF_LEN 256//清历史数据缓存长度
|
||
|
||
|
||
#pragma pack(1)
|
||
|
||
typedef union {
|
||
|
||
struct {
|
||
u32 most_high_flow;
|
||
u16 most_high_flow_total_time;
|
||
u32 most_high_flow_begin_time1;
|
||
u32 most_high_flow_begin_time2;
|
||
}s;
|
||
u8 byte[14];
|
||
} RTCC_HISTORY_DATA;
|
||
|
||
typedef union //u32与数组
|
||
{
|
||
u32 rtcc_u32;
|
||
u8 rtcc_u8[4];
|
||
}To_u32_Rtcc;
|
||
|
||
typedef union //强制转化为浮点变量
|
||
{
|
||
u32 gp22_u32;
|
||
float gp22_float;
|
||
u8 buf[4];
|
||
} RTCC_To_Float;
|
||
|
||
typedef union
|
||
{
|
||
struct
|
||
{
|
||
u8 data0;
|
||
u8 data1;
|
||
} datas_map;
|
||
u16 datas;
|
||
} RTCC_UNION_2U8TOU16;
|
||
|
||
#define MINUTE_TO_SECOND 60
|
||
#define HOUR_TO_SECOND 3600
|
||
#define DAY_TO_SECOND 86400
|
||
|
||
typedef enum
|
||
{
|
||
RtccMsg_Search_Card =0,
|
||
RtccMsg_MiJiCaiJi=1,//密集采集时间段内(开始年月日-结束年月日),4h采集完成MSG
|
||
RtccMsg_DataSave=2,//置每日零点时间到(周期上报数据存储)msg
|
||
RtccMsg_UploadInTime = 3, //置定时上传时间到MSG
|
||
RtccMsg_DiftofCalibration = 4,//置定时校准MSG
|
||
RtccMsg_Transducer_Check = 5,//置定时检测表计换能器是否异常的MSG
|
||
RtccMsg_ValveActive = 6,//定时活动阀门MSG
|
||
RtccMsg_OtherProtl=7//抛给其他规约的分钟消息
|
||
} Rtcc_MsgTypeDef;
|
||
|
||
|
||
u8 RtccCheckMsgApp(Rtcc_MsgTypeDef msg_bit);
|
||
void RtccClearMsgApp(Rtcc_MsgTypeDef clear_bit);
|
||
void RtccSetMsgApp(Rtcc_MsgTypeDef set_bit);
|
||
|
||
void RtccInitApp(void);
|
||
void RtccMachineApp(void);
|
||
void RtccResetWorkHourApp(void);
|
||
u32 RtccGetWorkHourApp(void);
|
||
|
||
void RtccStartSampleApp(u8 span);
|
||
void RtccStopSampleApp(void);
|
||
|
||
u8 RtccGetStateApp(void);
|
||
|
||
u8 RtccIfSleepApp(void);
|
||
u16 RtccDayHisAddrApp(void);
|
||
u32 RtccJSDataApp(void);
|
||
|
||
u8 RtccIsError(void);
|
||
void RtccClearError(void);
|
||
//u8 RtccCheckStateApp();
|
||
void Gp30CheckMiJiDataApp(u8 **addr);
|
||
void Gp30CheckJianGeDataApp(u8 **addr);
|
||
void RtccCheck_MAX_MIN_Temprature(u16 **addr);
|
||
//void RtccStartSampleApp(u8 span);
|
||
//void RtccStopSampleApp();
|
||
u8 Rtcc_Check_Upload(void);
|
||
void RtccAppCheckMiJi(DateTime alarm_time);
|
||
void RtccAppCheckMostFloat(DateTime alarm_time);
|
||
|
||
#endif /* __UWater_RTCC_APP_H */
|