#ifndef __RKG_H #define __RKG_H #include "stdint.h" #include "cang.h" #define RKG_BUF_DEP 8 #define ANGLE_DATA_CNT 8 #define ANGLE_DEVICE_CNT 8 typedef struct{ uint16_t RKG_DGData[RKG_BUF_DEP]; //人孔大盖数据 uint16_t RKG_XGData[RKG_BUF_DEP]; //人孔小盖数据other slm uint16_t RKG_JZData[RKG_BUF_DEP]; //人孔基准数据 uint16_t RKDG_StateCnt; //人孔盖开关状态计数 uint16_t RKXG_StateCnt; uint16_t RKDG_State; //人孔盖开关状态 uint16_t RKXG_State; //人孔盖开关状态 uint16_t RKDG_ErrorCnt; //人孔盖错误状态计数 uint16_t RKDG_Error; //人孔盖开关状态 uint16_t RKXG_ErrorCnt; //人孔盖错误状态计数 uint16_t RKXG_Error; //人孔盖开关状态 uint16_t RKG_StateKeepNum; //人孔盖状态判断次数 uint16_t RKG_Threshold; //开关判断门限 uint16_t RTData_Num; }RKG_Inf; typedef struct { int32_t iXG; int32_t iDG; }S_DELTA; typedef struct { uint16_t uiPos; int32_t uiRefrence; int32_t uiXG; int32_t uiDG; S_DELTA sDelta[ANGLE_DATA_CNT]; }S_ANGLEDATA; extern S_ANGLEDATA gs_AngleData[SENSOR_DEEP]; extern RKG_Inf rkg_inf[SENSOR_DEEP]; extern void RKG_Init(void); extern void AGL_AddNewData(uint16_t uiAngle,int32_t rkg_addr); extern void AGL_CalcDeltaAll(int32_t rkg_addr, uint16_t uiDGXGType); extern void AGL_JudgeState(void); extern void Flash_ReadBytes(uint16_t* sorBuf,uint32_t FlashAddr,uint16_t len); extern void Flash_WriteBytes(uint16_t* sorBuf,uint32_t FlashAddr,uint16_t len); #endif