embeddedLibrary/include/dataAcquisition.h

44 lines
956 B
C
Raw Normal View History

#ifndef DATA_ACQUISITION_H
#define DATA_ACQUISITION_H
#include <stdbool.h>
#include <math.h>
#include <stdlib.h>
2024-12-03 12:31:45 +01:00
typedef struct {
float mean;
float standardDeviation;
int possibleFaultySensor;
} Metrics;
typedef struct {
int sensorsNumber;
int slidingWindowSize;
} Matrix;
void initializeReadings(int numSensors, float deltaTime);
bool freeReadings();
int getSensorsNumber();
int getSlidingWindowSize();
bool isFull(int sensorIndex);
void addReading(float value);
float getAverageOnSensor(int sensorIndex);
float getAverageOnAllSensors();
float getOverallAverage();
float getStandardDeviationOnSensor(int sensorIndex);
float getStandardDeviationOnAllSensors();
float getOverallStandardDeviation();
float getLastReading(int sensorIndex);
2024-12-03 13:25:10 +01:00
void anomalyDetect(float average, float standardDeviation);
int getOutlierCount();
2024-12-03 12:31:45 +01:00
Metrics getMetrics(float **readings, int sensorNumber, int slidingWindow);
#endif // DATA_ACQUISITION_H