371 lines
12 KiB
C
371 lines
12 KiB
C
|
|
|||
|
#ifndef __UWater_SY_STORE_APP_H
|
|||
|
#define __UWater_SY_STORE_APP_H
|
|||
|
|
|||
|
#ifdef __cplusplus
|
|||
|
extern "C" {
|
|||
|
#endif
|
|||
|
|
|||
|
/* Includes ------------------------------------------------------------------*/
|
|||
|
#include "sys_config.h"
|
|||
|
#if PRODUCT_SY
|
|||
|
#include "UWater_frame_app.h"
|
|||
|
#include "UWater_Rtcc_driver.h"
|
|||
|
|
|||
|
#define STORE_SIZE_DATA_CIRCLE 16 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define STORE_SIZE_DATA_FROZEN 32 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
#define EEP_DATA_LEN_CIRCLE (STORE_SIZE_DATA_CIRCLE*24*6)//2352//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ洢<DDB4><E6B4A2>ָ<EFBFBD>볤<EFBFBD><EBB3A4>
|
|||
|
|
|||
|
#define EEP_ADDR_SY_STORE_CIRCLE FRAME_SHENYANG_STORE_ADD //0x7300~0x7C00 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>16*24*6=2304=0x900
|
|||
|
#define EEP_ADDR_SY_STORE_INDEX_CIRCLE (EEP_ADDR_SY_STORE_CIRCLE + STORE_SIZE_DATA_CIRCLE*24*6) //<2F><><EFBFBD>ݴ洢ָ<E6B4A2><D6B8>_<EFBFBD><5F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_48BYTE
|
|||
|
#define EEP_ADDR_SY_STORE_INDEX_DAILY (EEP_ADDR_SY_STORE_INDEX_CIRCLE + 66)////<2F><><EFBFBD>ݴ洢ָ<E6B4A2><D6B8>_<EFBFBD>ն<EFBFBD><D5B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_1BYTE
|
|||
|
#define EEP_ADDR_SY_STORE_INDEX_MONTH (EEP_ADDR_SY_STORE_INDEX_DAILY + 1)////<2F><><EFBFBD>ݴ洢ָ<E6B4A2><D6B8>_<EFBFBD>¶<EFBFBD><C2B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_1BYTE
|
|||
|
#define EEP_ADDR_SY_STORE_INDEX_YEAR (EEP_ADDR_SY_STORE_INDEX_MONTH + 1)////<2F><><EFBFBD>ݴ洢ָ<E6B4A2><D6B8>_<EFBFBD>궳<EFBFBD><EAB6B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_1BYTE
|
|||
|
#define EEP_ADDR_SY_FIRST_PWON (EEP_ADDR_SY_STORE_INDEX_YEAR + 1)
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>洢<EFBFBD><E6B4A2>ַ
|
|||
|
#define EEP_ADDR_SY_TLVDATA (EEP_ADDR_SY_FIRST_PWON+1) //104<30>ֽ<EFBFBD>
|
|||
|
|
|||
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|||
|
#define EEP_DATA_LEN_FROZEN (STORE_SIZE_DATA_FROZEN*31)//995//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ洢<DDB4><E6B4A2>ָ<EFBFBD>볤<EFBFBD><EBB3A4>
|
|||
|
|
|||
|
#define EEP_ADDR_SY_STORE_FROZEN_DAILY EEP_RTCC_APP_HISTORY_ADDR //0x440 <20>ն<EFBFBD><D5B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(32*7)
|
|||
|
#define EEP_ADDR_SY_STORE_FROZEN_MONTH (EEP_ADDR_SY_STORE_FROZEN_DAILY + STORE_SIZE_DATA_FROZEN*7) //<2F>¶<EFBFBD><C2B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(32*18)
|
|||
|
#define EEP_ADDR_SY_STORE_FROZEN_YEAR (EEP_ADDR_SY_STORE_FROZEN_MONTH + STORE_SIZE_DATA_FROZEN*18) //<2F>궳<EFBFBD><EAB6B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(32*6)
|
|||
|
|
|||
|
#define SY_FIRST_POWERON_FLAG 0x56
|
|||
|
|
|||
|
typedef union //ǿ<><C7BF>ת<EFBFBD><D7AA>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
u32 gp22_u32;
|
|||
|
float gp22_float;
|
|||
|
u8 buf[4];
|
|||
|
}SY_U32_To_Float;
|
|||
|
|
|||
|
//<2F><><EFBFBD>ݴ洢ָ<E6B4A2><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
typedef enum
|
|||
|
{
|
|||
|
SY_StoreCurIndex_Daily = 0,//<2F>ն<EFBFBD><D5B6><EFBFBD><EFBFBD>洢ָ<E6B4A2><D6B8>
|
|||
|
SY_StoreCurIndex_Month = 1,//<2F>¶<EFBFBD><C2B6><EFBFBD><EFBFBD>洢ָ<E6B4A2><D6B8>
|
|||
|
SY_StoreCurIndex_Year = 2//<2F>¶<EFBFBD><C2B6><EFBFBD><EFBFBD>洢ָ<E6B4A2><D6B8>
|
|||
|
} SY_ParaTypeDef;
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽṹ<DDBD><E1B9B9>
|
|||
|
typedef union
|
|||
|
{
|
|||
|
struct
|
|||
|
{
|
|||
|
u32 CurrentFlow;//<2F><><EFBFBD><EFBFBD><EFBFBD>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
u32 CurrentFlowReverse;//<2F><><EFBFBD><EFBFBD><EFBFBD>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
u32 InstantaneousFlow;//˲ʱ<CBB2><CAB1><EFBFBD><EFBFBD>
|
|||
|
u16 Presure;//ѹ<><D1B9>
|
|||
|
u16 Temprature;//<2F>¶<EFBFBD>
|
|||
|
}Data;
|
|||
|
u8 data_buf[STORE_SIZE_DATA_CIRCLE];
|
|||
|
}UNION_SY_STORE_CIRCLE;
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ洢<DDB4><E6B4A2><EFBFBD><EFBFBD><EFBFBD>ṹ<EFBFBD><E1B9B9>
|
|||
|
typedef union
|
|||
|
{
|
|||
|
struct
|
|||
|
{
|
|||
|
DateTime CircleDataTime;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ(<28><><EFBFBD><EFBFBD>),<2C><><EFBFBD><EFBFBD>Ϊ0,ʹ<><CAB9>DateTime<6D><65>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DateTime_noweek<65><6B>ʽ,<2C>ѱ<EFBFBD><D1B1>ڼ<EFBFBD><DABC><EFBFBD>
|
|||
|
u8 CircleCntStart;
|
|||
|
u8 CircleCntEnd;
|
|||
|
u8 ReadStart; //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱʹ<CAB1><CAB9>
|
|||
|
u8 ReadEnd;
|
|||
|
}Data;
|
|||
|
u8 data_buf[11];
|
|||
|
}TYPE_CIRCLE_INDEX;
|
|||
|
|
|||
|
typedef union
|
|||
|
{
|
|||
|
TYPE_CIRCLE_INDEX CircleIndex[6];
|
|||
|
u8 data_buf[66];
|
|||
|
}UNION_SY_STORE_CIRCLE_INDEX;
|
|||
|
|
|||
|
//<2F><><EFBFBD>ݴ洢ָ<E6B4A2><D6B8>
|
|||
|
#define SIZE_SY_STORE_INDEX (11*6+3+1)//70
|
|||
|
typedef union
|
|||
|
{
|
|||
|
struct
|
|||
|
{
|
|||
|
UNION_SY_STORE_CIRCLE_INDEX Circle;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ洢ָ<E6B4A2><D6B8>
|
|||
|
u8 Daily;//<2F>ն<EFBFBD><D5B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ洢ָ<E6B4A2><D6B8>
|
|||
|
u8 Month;//<2F>¶<EFBFBD><C2B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ洢ָ<E6B4A2><D6B8>
|
|||
|
u8 Year;//<2F>궳<EFBFBD><EAB6B3><EFBFBD><EFBFBD><EFBFBD>ݴ洢ָ<E6B4A2><D6B8>
|
|||
|
u8 firstPowerOn;//<2F><>һ<EFBFBD><D2BB><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>־
|
|||
|
}Data;
|
|||
|
u8 data_buf[SIZE_SY_STORE_INDEX];
|
|||
|
}UNION_SY_STORE_INDEX;
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽṹ<DDBD><E1B9B9>
|
|||
|
/**
|
|||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 3
|
|||
|
ʱ<EFBFBD><EFBFBD> 3
|
|||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 4
|
|||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 4
|
|||
|
<EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 4
|
|||
|
<EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD> 3
|
|||
|
<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ѹ 6
|
|||
|
ˮ<EFBFBD><EFBFBD>״̬ 1
|
|||
|
ˮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1
|
|||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬ 1
|
|||
|
Ԥ<EFBFBD><EFBFBD> 1
|
|||
|
У<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1
|
|||
|
<EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><EFBFBD><EFBFBD> 32
|
|||
|
*/
|
|||
|
typedef union
|
|||
|
{
|
|||
|
struct
|
|||
|
{
|
|||
|
DateTime_noweek FrozenDataTime; //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> 6
|
|||
|
u32 CurrentFlow;//<2F><><EFBFBD><EFBFBD><EFBFBD>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD> 4
|
|||
|
u32 CurrentFlowReverse;//<2F><><EFBFBD><EFBFBD><EFBFBD>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD> 4
|
|||
|
u32 PeakCurrentFlow;//<2F><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD> 4
|
|||
|
u8 PeakCurrentFlowTime[3];//ʱ<><CAB1><EFBFBD><EFBFBD> 3
|
|||
|
u8 BatPower[6];//<2F><><EFBFBD>ص<EFBFBD>ѹ 6
|
|||
|
u8 MeterState;//ˮ<><CBAE>״̬ 1
|
|||
|
u8 MeterFault;//ˮ<><CBAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1
|
|||
|
u8 ValveState;//<2F><><EFBFBD><EFBFBD>״̬ 1
|
|||
|
u8 Reverse; //Ԥ<><D4A4> 1
|
|||
|
u8 CheckSum;// 1
|
|||
|
}Data;
|
|||
|
u8 data_buf[STORE_SIZE_DATA_FROZEN];
|
|||
|
}UNION_SY_STORE_FROZEN;
|
|||
|
|
|||
|
/**TLV <20><><EFBFBD>ݸ<EFBFBD>ʽ<EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>**/
|
|||
|
typedef enum
|
|||
|
{
|
|||
|
TagWarningId = 0, //<2F><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ID
|
|||
|
TagOverFlowCurrent = 1, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>λ0.1L/H
|
|||
|
TagOverFlowMinute = 2, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
TagReverseFlowCurrent = 3, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>λ0.1L/H
|
|||
|
TagReverseFlowMinute = 4, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
TagLeakFlowMinute = 5, //©ˮ<C2A9><CBAE><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
TagPowerLow001V = 6, //<2F><>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|||
|
TagNoWaterMinute = 7, //<2F>չܱ<D5B9><DCB1><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
TagValveState = 8, //<2F><><EFBFBD><EFBFBD>״̬
|
|||
|
TagUploadStartTime = 12, //<2F><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD>ʼʱ<CABC><CAB1>a
|
|||
|
TagCircleData5Minutes = 13,//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>a
|
|||
|
TagDataFrozenTimeDailay = 14,//<2F>ն<EFBFBD><D5B6><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
TagDataFrozenTimeMonth = 15, //<2F>¶<EFBFBD><C2B6><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
TagUploadRetryTimes = 16,//<2F>ϱ<EFBFBD><CFB1>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
TagUploadRetryDelayMinite = 17,//<2F>ط<EFBFBD><D8B7><EFBFBD>ʱʱ<CAB1><CAB1>
|
|||
|
TagUploadIntervalHour = 18,//<2F><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>a
|
|||
|
TagServerIpPort = 21, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַa
|
|||
|
TagAPN = 22, //APN<50><4E>Ϣ
|
|||
|
TagWorkTime = 31 //ˮ<><CBAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
|||
|
}TypeDef_TLVTag;
|
|||
|
|
|||
|
typedef enum
|
|||
|
{
|
|||
|
LenWarningId = 2, //<2F><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ID-----------------------------2
|
|||
|
LenOverFlowCurrent = 4, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>λ0.1L/H-------4
|
|||
|
LenOverFlowMinute = 1, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>----------------------1
|
|||
|
LenReverseFlowCurrent = 4, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>λ0.1L/H----4
|
|||
|
LenReverseFlowMinute = 1, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>---------------1
|
|||
|
LenLeakFlowMinute = 1, //©ˮ<C2A9><CBAE><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>----------------------1
|
|||
|
LenPowerLow001V = 2, //<2F><>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ------------------------2
|
|||
|
LenNoWaterMinute = 1, //<2F>չܱ<D5B9><DCB1><EFBFBD>ʱ<EFBFBD><CAB1>-----------------------1
|
|||
|
LenValveState = 7, //<2F><><EFBFBD><EFBFBD>״̬---------------------------7
|
|||
|
LenUploadStartTime = 4, //<2F><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD>ʼʱ<CABC><CAB1>a-------------4
|
|||
|
LenCircleData5Minutes = 1, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>a-------------1
|
|||
|
LenDataFrozenTimeDailay = 1, //<2F>ն<EFBFBD><D5B6><EFBFBD>ʱ<EFBFBD><CAB1>------------------1
|
|||
|
LenDataFrozenTimeMonth = 2, //<2F>¶<EFBFBD><C2B6><EFBFBD>ʱ<EFBFBD><CAB1>----------------2
|
|||
|
LenUploadRetryTimes = 1, //<2F>ϱ<EFBFBD><CFB1>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD>--------------------1
|
|||
|
LenUploadRetryDelayMinite = 1, //<2F>ط<EFBFBD><D8B7><EFBFBD>ʱʱ<CAB1><CAB1>--------------1
|
|||
|
LenUploadIntervalHour = 1, //<2F><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>a-------------1
|
|||
|
LenServerIpPort = 32, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַa--------------------32
|
|||
|
LenAPN = 32, //APN<50><4E>Ϣ---------------------------------32
|
|||
|
LenWorkTime = 6 //ˮ<><CBAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>-------------------------6
|
|||
|
}TypeDef_TLVDataLen;
|
|||
|
|
|||
|
//ˮ<><CBAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define TLV_VALUE_LEN 104
|
|||
|
typedef union
|
|||
|
{
|
|||
|
struct
|
|||
|
{
|
|||
|
u8 ValueWarningId[2];//<2F><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ID--------------------------2
|
|||
|
u8 ValueOverFlowCurrent[4];//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>λ0.1L/H----4
|
|||
|
u8 ValueOverFlowMinute;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>----------------------1
|
|||
|
u8 ValueReverseFlowCurrent[4];//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>λ0.1L/H-4
|
|||
|
u8 ValueReverseFlowMinute;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>---------------1
|
|||
|
u8 ValueLeakFlowMinute;//©ˮ<C2A9><CBAE><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>----------------------1
|
|||
|
u8 ValuePowerLow001V[2];//<2F><>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ---------------------2
|
|||
|
u8 ValueNoWaterMinute;//<2F>չܱ<D5B9><DCB1><EFBFBD>ʱ<EFBFBD><CAB1>-----------------------1
|
|||
|
u8 ValueValveState[7];//<2F><><EFBFBD><EFBFBD>״̬---------------------------7
|
|||
|
u8 ValueUploadStartTime[4];//<2F><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD>ʼʱ<CABC><CAB1>a-------------4
|
|||
|
u8 ValueCircleData5Minutes;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>a-------------1
|
|||
|
u8 ValueDataFrozenTimeDailay;//<2F>ն<EFBFBD><D5B6><EFBFBD>ʱ<EFBFBD><CAB1>------------------1
|
|||
|
u8 ValueDataFrozenTimeMonth[2];//<2F>¶<EFBFBD><C2B6><EFBFBD>ʱ<EFBFBD><CAB1>----------------2
|
|||
|
u8 ValueUploadRetryTimes;//<2F>ϱ<EFBFBD><CFB1>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD>--------------------1
|
|||
|
u8 ValueUploadRetryDelayMinite;//<2F>ط<EFBFBD><D8B7><EFBFBD>ʱʱ<CAB1><CAB1>--------------1
|
|||
|
u8 ValueUploadIntervalHour;//<2F><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>a-------------1
|
|||
|
u8 ValueServerIpPort[32];//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַa--------------------32
|
|||
|
u8 ValueAPN[32];//APN<50><4E>Ϣ---------------------------------32
|
|||
|
u8 ValueWorkTime[6];//ˮ<><CBAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>-------------------------6
|
|||
|
}s;
|
|||
|
u8 data_buf[TLV_VALUE_LEN];
|
|||
|
}Type_TLVValue;
|
|||
|
|
|||
|
typedef enum
|
|||
|
{
|
|||
|
AddrWarningId = 0, //<2F><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ID-----------------------------2
|
|||
|
AddrOverFlowCurrent = 2, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>λ0.1L/H-------4
|
|||
|
AddrOverFlowMinute = 6, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>----------------------1
|
|||
|
AddrReverseFlowCurrent = 7, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>λ0.1L/H----4
|
|||
|
AddrReverseFlowMinute = 11,//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>---------------1
|
|||
|
AddrLeakFlowMinute = 12,//©ˮ<C2A9><CBAE><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>----------------------1
|
|||
|
AddrPowerLow001V = 13,//<2F><>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ------------------------2
|
|||
|
AddrNoWaterMinute = 15,//<2F>չܱ<D5B9><DCB1><EFBFBD>ʱ<EFBFBD><CAB1>-----------------------1
|
|||
|
AddrValveState = 16,//<2F><><EFBFBD><EFBFBD>״̬---------------------------7
|
|||
|
AddrUploadStartTime = 23, //<2F><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD>ʼʱ<CABC><CAB1>a-------------4
|
|||
|
AddrCircleData5Minutes = 27,//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>a-------------1
|
|||
|
AddrDataFrozenTimeDailay = 28,//<2F>ն<EFBFBD><D5B6><EFBFBD>ʱ<EFBFBD><CAB1>------------------1
|
|||
|
AddrDataFrozenTimeMonth = 29, //<2F>¶<EFBFBD><C2B6><EFBFBD>ʱ<EFBFBD><CAB1>----------------2
|
|||
|
AddrUploadRetryTimes = 31,//<2F>ϱ<EFBFBD><CFB1>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD>--------------------1
|
|||
|
AddrUploadRetryDelayMinite = 32,//<2F>ط<EFBFBD><D8B7><EFBFBD>ʱʱ<CAB1><CAB1>--------------1
|
|||
|
AddrUploadIntervalHour = 33,//<2F><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>a-------------1
|
|||
|
AddrServerIpPort = 34, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַa--------------------32
|
|||
|
AddrAPN = 66, //APN<50><4E>Ϣ---------------------------------32
|
|||
|
AddrWorkTime = 98 //ˮ<><CBAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>-------------------------6
|
|||
|
}TypeDef_TLVDataAddr;
|
|||
|
|
|||
|
typedef struct
|
|||
|
{
|
|||
|
const TypeDef_TLVTag Tag;
|
|||
|
const TypeDef_TLVDataLen Len;
|
|||
|
TypeDef_TLVDataAddr ValueAddr;
|
|||
|
u8 EditFlag;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD>,0<><30><EFBFBD><EFBFBD>, 1<><EFBFBD>
|
|||
|
} TypeDef_TLVStruct;
|
|||
|
|
|||
|
#define TLV_STR_BUF_LEN 19
|
|||
|
static TypeDef_TLVStruct TlvStrBuf[TLV_STR_BUF_LEN]={
|
|||
|
{TagWarningId, LenWarningId, AddrWarningId, 0},
|
|||
|
{TagOverFlowCurrent, LenOverFlowCurrent, AddrOverFlowCurrent, 0},
|
|||
|
{TagOverFlowMinute, LenOverFlowMinute, AddrOverFlowMinute, 0},
|
|||
|
{TagReverseFlowCurrent, LenReverseFlowCurrent, AddrReverseFlowCurrent, 0},
|
|||
|
{TagReverseFlowMinute, LenReverseFlowMinute, AddrReverseFlowMinute, 0},
|
|||
|
{TagLeakFlowMinute, LenLeakFlowMinute, AddrLeakFlowMinute, 0},
|
|||
|
{TagPowerLow001V, LenPowerLow001V, AddrPowerLow001V, 0},
|
|||
|
{TagNoWaterMinute, LenNoWaterMinute, AddrNoWaterMinute, 0},
|
|||
|
{TagValveState, LenValveState, AddrValveState, 0},
|
|||
|
{TagUploadStartTime, LenUploadStartTime, AddrUploadStartTime, 0},
|
|||
|
{TagCircleData5Minutes, LenCircleData5Minutes, AddrCircleData5Minutes, 0},
|
|||
|
{TagDataFrozenTimeDailay, LenDataFrozenTimeDailay, AddrDataFrozenTimeDailay, 0},
|
|||
|
{TagDataFrozenTimeMonth, LenDataFrozenTimeMonth, AddrDataFrozenTimeMonth, 0},
|
|||
|
{TagUploadRetryTimes, LenUploadRetryTimes, AddrUploadRetryTimes, 0},
|
|||
|
{TagUploadRetryDelayMinite, LenUploadRetryDelayMinite, AddrUploadRetryDelayMinite,0},
|
|||
|
{TagUploadIntervalHour, LenUploadIntervalHour, AddrUploadIntervalHour, 0},
|
|||
|
{TagServerIpPort, LenServerIpPort, AddrServerIpPort, 0},
|
|||
|
{TagAPN, LenAPN, AddrAPN, 0},
|
|||
|
{TagWorkTime, LenWorkTime, AddrWorkTime, 0}
|
|||
|
};
|
|||
|
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD>־λ
|
|||
|
0 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
1 <EFBFBD>չܱ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
2 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
3 ©ˮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
4 <EFBFBD>͵<EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
5 <EFBFBD>¶ȳ<EFBFBD><EFBFBD><EFBFBD>Χ
|
|||
|
6 <EFBFBD>ϸDZ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
7 <EFBFBD><EFBFBD><EFBFBD>Ŷ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
8-11 Ԥ<EFBFBD><EFBFBD>
|
|||
|
12-15 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
typedef enum
|
|||
|
{
|
|||
|
UPLOAD_OVER_FLOW = 0,//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>--
|
|||
|
UPLOAD_NO_WATER, //<2F>չܱ<D5B9><DCB1><EFBFBD>--
|
|||
|
UPLOAD_REVERSE_FLOW, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>--
|
|||
|
UPLOAD_LEAK_FLOW,//©ˮ<C2A9><CBAE><EFBFBD><EFBFBD>--
|
|||
|
UPLOAD_LOW_POWER,//<2F>͵<EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>---
|
|||
|
UPLOAD_TEMP_OVER,//<2F>¶ȳ<C2B6><C8B3><EFBFBD>Χ--
|
|||
|
UPLOAD_SHELL_OPEN,//<2F>ϸDZ<CFB8><C7B1><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
UPLOAD_VALVE_CHANGE//<2F><><EFBFBD>Ŷ<EFBFBD><C5B6><EFBFBD>--
|
|||
|
}TypeDef_UploadWarning;
|
|||
|
/*״̬<D7B4><CCAC>*/
|
|||
|
typedef enum{
|
|||
|
SY_STATE_S0 = 0,
|
|||
|
SY_STATE_S1,
|
|||
|
SY_STATE_S2,
|
|||
|
SY_STATE_S3,
|
|||
|
SY_STATE_S4,
|
|||
|
SY_STATE_S5,
|
|||
|
SY_STATE_S6,
|
|||
|
SY_STATE_S7,
|
|||
|
SY_STATE_S8,
|
|||
|
SY_STATE_S9,
|
|||
|
SY_STATE_S10,
|
|||
|
SY_STATE_S11,
|
|||
|
SY_STATE_S12,
|
|||
|
SY_STATE_S13,
|
|||
|
SY_STATE_S20,
|
|||
|
SY_STATE_S21,
|
|||
|
SY_STATE_S22,
|
|||
|
SY_STATE_S30,
|
|||
|
SY_STATE_S31,
|
|||
|
SY_STATE_S32,
|
|||
|
SY_STATE_S40,
|
|||
|
SY_STATE_S41,
|
|||
|
SY_STATE_S42,
|
|||
|
SY_STATE_S50,
|
|||
|
SY_STATE_S51,
|
|||
|
SY_STATE_S52,
|
|||
|
SY_STATE_S60,
|
|||
|
SY_STATE_S61,
|
|||
|
SY_STATE_S62,
|
|||
|
SY_STATE_S70,
|
|||
|
SY_STATE_S71,
|
|||
|
SY_STATE_S72,
|
|||
|
SY_STATE_S80,
|
|||
|
SY_STATE_S81,
|
|||
|
SY_STATE_S82,
|
|||
|
SY_STATE_S90,
|
|||
|
SY_STATE_S91,
|
|||
|
SY_STATE_S92
|
|||
|
}TYP_STATE_SY;
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
void ShenYang_Store_InitApp(void);
|
|||
|
void ShenYang_Store_Machine(void);
|
|||
|
void ShenYang_SOE_Machine(void);
|
|||
|
u8 get_SY_StorePara(SY_ParaTypeDef paraType);
|
|||
|
u8 ShenYangStore_IfSleep(void);
|
|||
|
//int NB_SY_Frame_Upload_Warning(u8 *pBuf);
|
|||
|
|
|||
|
u8 getSY_StoreCircleIndex(void);
|
|||
|
u8 getSY_CircleUploadPackets(void);
|
|||
|
u8 getSY_ThisCirclePacket_Index(u8 current_packet);
|
|||
|
int NB_SY_Frame_Upload_Data(u8 index, u8 *pBuf);
|
|||
|
int NB_SY_Frame_Upload_CurrentData(u8 *pBuf);
|
|||
|
void SY_GetCircleDateTime(DateTime *pDT, u8 index, u8 UploadOrRead);
|
|||
|
u8 SY_GetCircleReadStartEnd(u8 index, u8 StartOrEnd);
|
|||
|
int ShenYang_CircleDataStore_ClearUploadIndex(u8 index);
|
|||
|
void ShenYang_TlvDataStoreMachine(void);
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ں<EFBFBD>ʱ<EFBFBD><CAB1>,<2C><><EFBFBD><EFBFBD>
|
|||
|
DateTime getBackDateTime(u8 backDays);
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ں<EFBFBD>ʱ<EFBFBD><CAB1>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
DateTime_noweek getBackDateTimeNoWeek(u8 backDays);
|
|||
|
u8 getSY_CircleDataPackets(u8 readDays, u8 *pIndexBuf);
|
|||
|
u8 checkWarningUploadState(TypeDef_UploadWarning tWarningType);
|
|||
|
u8 GetTLVData(u8 Tag, u8 Len, u8* pValue);
|
|||
|
u8 SetTLVData(u8 Tag, u8 Len, u8* pValue);
|
|||
|
u8 getTlvTagIndex(u8 inTag);
|
|||
|
u8 getWaterState(void);
|
|||
|
|
|||
|
#endif
|
|||
|
|
|||
|
#ifdef __cplusplus
|
|||
|
}
|
|||
|
#endif
|
|||
|
|
|||
|
#endif /* __UWater_JIANGXISTORE_APP_H */
|
|||
|
|
|||
|
/***************************************************************END OF FILE****/
|