E015.D.011-FXLS90230/Drivers/BSP/DataProcess.h

147 lines
5.1 KiB
C
Raw Normal View History

2025-04-24 11:37:10 +08:00
#ifndef __DATAPROCESS_H
#define __DATAPROCESS_H
#include "main.h"
#include "system.h"
//#include "stm32f30x_tim.h"
#define OVER_VALUE_TIMES 4 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define COLLECT_SPEC_TIME 1 //<2F>ɼ<EFBFBD>ʱ<EFBFBD><CAB1>
#define STORE_DATA_SIZE 600 //<2F><EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD>
#define SECTOR_DATA_SIZE 512 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
#define ALLOW_GETDATA_TIMES 30 //ָ<><D6B8><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>ȴ<EFBFBD>30s<30><73><EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD>ɼ<EFBFBD>
#define SECTOR_DATA_SIZE 512 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
#define SECTOR_VIBRATION_GROUPS 64 //<2F>񶯵<EFBFBD><F1B6AFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
#define SECTOR_SPEED_GROUPS 128 //ת<>ٵ<EFBFBD><D9B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
#define VIBRATION_SECTOR_START 10 //<2F>񶯴洢<F1B6AFB4><E6B4A2>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
#define VIBRATION_SECTOR_END 59000000 //<2F>񶯴洢<F1B6AFB4><E6B4A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>񶯴洢<F1B6AFB4><E6B4A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 10-59000000 0x0A
#define SPEED_SECTOR_START 59000100 //ת<><D7AA><EFBFBD>¶ȴ洢<C8B4><E6B4A2>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
#define SPEED_SECTOR_END 61600000 //ת<><D7AA><EFBFBD>¶ȴ洢<C8B4><E6B4A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ת<><D7AA><EFBFBD>¶ȴ洢<C8B4><E6B4A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 59000100-61600000 0x3844524
#define DATA_BIT0 0x01 //<2F><><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD>λ
typedef struct Get_Collect_Data
{
unsigned char Store_Get_Data[STORE_DATA_SIZE]; //<2F><EFBFBD><E6B4A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// unsigned char Collect_Spec_Time; //<2F><>С<EFBFBD><D0A1>ʱʱ<CAB1><CAB1>
uint16_t Store_Data_Count; //<2F><EFBFBD><E6B4A2><EFBFBD>ݼ<EFBFBD>¼
uint16_t GET_Data_times; //<2F>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD>
uint16_t Sampling_Wite_times; //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
uint16_t get_tpd; //<2F><>ѹ<EFBFBD><D1B9>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
uint8_t get_tps; //<2F>񶯷<EFBFBD>Ƶֵ
// u8 Store_Data_Cound; //<2F><EFBFBD><E6B4A2><EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD>
}GET_COLLECT_DATA;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
typedef struct VibrateData
{
float ViaX_Data; //x<><78>
float ViaY_Data; //y<><79>
float ViaZ_Data; //z<><7A>
}VIBRA_DATA;
//typedef struct VibrateData
//{
// int ViaX_Data; //x<><78>
// int ViaY_Data; //y<><79>
// int ViaZ_Data; //z<><7A>
//}VIBRA_DATA;
//#define DATALENG 15 // ?? DATALENG ???25
#define DATALENG 26 // ?? DATALENG ???25
2025-04-24 11:37:10 +08:00
#define ROWS 15
#define COLS_NORMAL 5
#define COLS_ABNORMAL 1
typedef union tuGetDataValue
{
float DataValue[DATALENG];
unsigned char ucDataValueBuf[DATALENG*4];
struct{
float Different_Press; //????
float Mean_InPress; //?????
float Mean_OutPress; //?????
float Energy_InPress; //?????
float Energy_OutPress; //?????
float Mean_WOB; //?????
float Amplitude_WOB; //?????
float Variance_WOB; //????
float Mean_Torque; //?????
float Amplitude_Torque; //?????
float Variance_Torque; //????
float Mean_RPM; //?????
float Amplitude_RPM; //?????
float Variance_RPM; //????
float Min_RPM; //?????
float Max_RPM; //?????
float Variance_Vibration; //??????
float Vibration_AxisX; //X??????
float Vibration_AxisY; //Y??????
float Vibration_AxisZ; //Z??????
int count_greater_than_10; // Z?????10g???
float Mean_InTemprature; //???????
float Mean_OutTemprature; //???????
float Variance_AxisX; //X?????
float Variance_AxisY; //Y?????
float Variance_AxisZ; //Z?????
2025-04-24 11:37:10 +08:00
};
}GetDataValue;
typedef struct {
// <20><EFBFBD><E6B4A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD>غͱ<D8BA>׼<EFBFBD><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
float weights_normal[ROWS][COLS_NORMAL]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><C8A8>
float std_scores_normal[COLS_NORMAL]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>׼<EFBFBD><D7BC><EFBFBD>÷<EFBFBD>
float range_values[COLS_NORMAL]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD>Χֵ
// <20><EFBFBD><EFBFBD><ECB3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD>غͱ<D8BA>׼<EFBFBD><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
float weights_abnormal[ROWS][COLS_ABNORMAL]; // <20><EFBFBD><ECB3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><C8A8>
float std_scores_abnormal[COLS_ABNORMAL]; // <20><EFBFBD><ECB3A3><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>׼<EFBFBD><D7BC><EFBFBD>÷<EFBFBD>
// <20>洢ÿ<E6B4A2>е<EFBFBD><D0B5><EFBFBD>Сֵ<D0A1><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڹ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD>Ȳ<EFBFBD><C8B2><EFBFBD><EFBFBD><EFBFBD>
float min_values[ROWS]; // ÿ<>е<EFBFBD><D0B5><EFBFBD>Сֵ
float max_values[ROWS]; // ÿ<>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>ֵ
}GetFeatureValue;
extern GetDataValue MeasurementData_Nearbit; //<2F><><EFBFBD>˲<EFBFBD><CBB2><EFBFBD>ֵ
extern GetDataValue MeasurementData_Farbit; //Զ<>˲<EFBFBD><CBB2><EFBFBD>ֵ
extern GET_COLLECT_DATA GET_Vibration_Data; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݲɼ<DDB2>
extern GET_COLLECT_DATA GET_Speed_Data; //ת<><D7AA><EFBFBD><EFBFBD><EFBFBD>ݲɼ<DDB2>
extern GET_COLLECT_DATA GET_WobTor_Data; //<2F><>ѹŤ<D1B9><C5A4><EFBFBD><EFBFBD><EFBFBD>ݲɼ<DDB2>
extern VIBRA_DATA Vibrate_Data_Value; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
extern unsigned char Get_MeasureData(GetDataValue DataValeNear);
extern void Get_Data_Process(void); //<2F><><EFBFBD>ݲɼ<DDB2><C9BC><EFBFBD><EFBFBD><EFBFBD>
extern void DataCompute(void); //<2F><><EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD>
//extern void Data_Process(void); //<2F><><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD>
extern void Store_Vibration_Speed_Time(void); //ʱ<><CAB1><EFBFBD>
extern void updatetime (void); //ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
extern void Data_Cllect(void);
extern void Store_Time_Once(void); //<2F>һ<E6B4A2><D2BB>ʱ<EFBFBD><CAB1>
extern void Store_CollVibrateTime_Once(void); //
extern void Store_CollSpeedTime_Once(void); //
//extern int Get_Mid_Data(int data1,int data2,int data3);
//extern int Get_Mid_Data(unsigned int data1,unsigned int data2,unsigned int data3);
//extern void Store_Time_Once(void);
//extern void GET_MaxData(void); //<2F><>ȡƵ<C8A1><EFBFBD><E3BCB0>ֵ
//extern void GET_SpotData(void); //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//extern void GET_MaxData_Gate(void); //<2F><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD>
//extern void GET_Sort(long *DatTab,unsigned int length,unsigned int *DatOrder);
#endif