R2UWaterRS485UW500/app/UWater_QZ_Store_App.h

132 lines
2.8 KiB
C
Raw Normal View History

2024-06-03 15:49:39 +08:00
#ifndef __UWater_QZ_STORE_APP_H
#define __UWater_QZ_STORE_APP_H
#ifdef __cplusplus
extern "C" {
#endif
/* Includes ------------------------------------------------------------------*/
#include "type.h"
#include "UWater_frame_app.h"
#define STORE_SIZE_DATA_DAILY 128 //<2F>ն<EFBFBD><D5B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define STORE_SIZE_DATA_MONTH 6 //<2F><EFBFBD><C2B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define EEP_ADDR_QZ_STORE_DAY FRAME_QUANZHOU_STORE_ADD //0x4000<30>ն<EFBFBD><D5B6><EFBFBD><EFBFBD><EFBFBD>Ϣ(128*100<30><30>=12800)
#define EEP_ADDR_QZ_STORE_MONTH (EEP_ADDR_QZ_STORE_DAY + STORE_SIZE_DATA_DAILY*100) //0x7200<30><EFBFBD><C2B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(6*24=144)
#define EEP_ADDR_QZ_STORE_INDEX_WRITE (EEP_ADDR_QZ_STORE_MONTH + STORE_SIZE_DATA_MONTH*24) //0x7290 <20><><EFBFBD>ݴ洢ָ<E6B4A2><D6B8> 2<>ֽ<EFBFBD>
typedef union //ǿ<><C7BF>ת<EFBFBD><D7AA>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
u32 gp22_u32;
float gp22_float;
u8 buf[4];
}QZ_U32_To_Float;
//<2F><><EFBFBD>ݴ洢ָ<E6B4A2><D6B8>
typedef union
{
struct
{
u8 DailyStore;
u8 MonthStore;
}Data;
u8 data_buf[2];
}UNION_QZ_STORE_INDEX;
//<2F><><EFBFBD>ݴ洢ָ<E6B4A2><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
typedef enum
{
QZ_StoreCurIndex_Daily = 0, //<2F>ն<EFBFBD><D5B6><EFBFBD><EFBFBD>洢ָ<E6B4A2><D6B8>
QZ_StoreCurIndex_Month = 1,//<2F><EFBFBD><C2B6><EFBFBD><EFBFBD>洢ָ<E6B4A2><D6B8>
} QZ_ParaTypeDef;
//<2F>ն<EFBFBD><D5B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽṹ<DDBD><E1B9B9>
typedef union
{
struct
{
u8 Head;// 1
QZ_U32_To_Float DailyFlowData;//<2F>ն<EFBFBD><D5B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 4
u8 StepFlowDataBuf[96];//<2F><>¼ÿ<C2BC><C3BF><EFBFBD><EFBFBD>Сʱ<D0A1><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 96
u8 HighestFlowDataBuf[14];//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ټ<EFBFBD><D9BC><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> 14
u16 HighestTemp;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2
u16 LowestTemp;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2
u8 MetState[4];//״̬<D7B4><CCAC> 4
u8 Year;// 3
u8 Month;
u8 Day;
u8 CheckSum;// 1
u8 End;// 1
}Data;
u8 data_buf[STORE_SIZE_DATA_DAILY];
}UNION_QZ_STORE_DAY;
//<2F><EFBFBD><C2B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽṹ<DDBD><E1B9B9>
typedef union
{
struct
{
QZ_U32_To_Float FlowData;
u8 Year;
u8 Month;
}Data;
u8 data_buf[STORE_SIZE_DATA_MONTH];
}UNION_QZ_STORE_MONTH;
typedef enum{
QZ_STATE_S0 = 0,
QZ_STATE_S1,
QZ_STATE_S2,
QZ_STATE_S3,
QZ_STATE_S4,
QZ_STATE_S5,
QZ_STATE_S6,
QZ_STATE_S7,
QZ_STATE_S8,
QZ_STATE_S9,
QZ_STATE_S10,
QZ_STATE_S11,
QZ_STATE_S12,
QZ_STATE_S20,
QZ_STATE_S21,
QZ_STATE_S22,
QZ_STATE_S30,
QZ_STATE_S31,
QZ_STATE_S32,
QZ_STATE_S40,
QZ_STATE_S41,
QZ_STATE_S42,
QZ_STATE_S50,
QZ_STATE_S51,
QZ_STATE_S52,
QZ_STATE_S60,
QZ_STATE_S61,
QZ_STATE_S62,
QZ_STATE_S70,
QZ_STATE_S71,
QZ_STATE_S72,
QZ_STATE_S80,
QZ_STATE_S81,
QZ_STATE_S82,
QZ_STATE_S90,
QZ_STATE_S91,
QZ_STATE_S92
}TYP_STATE_QZ;
void Quanzhou_Store_InitApp(void);
void Quanzhou_Store_Machine(void);
u8 get_QZ_StorePara(QZ_ParaTypeDef paraType);
u8 QuanzhouStore_IfSleep(void);
#ifdef __cplusplus
}
#endif
#endif /* __UWater_JIANGXISTORE_APP_H */
/***************************************************************END OF FILE****/