X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=server%2Fsensor.h;h=018836130ec3c8b3732903b43f5b150fe075aa4a;hb=4a7e2a370cfc471bb80266a3b04b612a88509638;hp=bb2fb9ea697ecb5707a865d0c8691677b4aa40ef;hpb=c931502bda5042411d5757294e3a1ef8df638c44;p=matches%2FMCTX3420.git diff --git a/server/sensor.h b/server/sensor.h index bb2fb9e..0188361 100644 --- a/server/sensor.h +++ b/server/sensor.h @@ -51,14 +51,19 @@ typedef struct InitFn init; /** Function to cleanup the sensor **/ CleanFn cleanup; + /** Function to sanity check the sensor readings **/ + SanityFn sanity; /** Human readable name of the sensor **/ const char * name; - /** Thresholds on the sensor **/ - SensorThreshold thresholds; /** Sampling rate **/ - int sample_us; - /** Averages per DataPoint **/ + struct timespec sample_time; + /** Number of averages per sample **/ int averages; + /** Current data **/ + DataPoint current_data; + /** Number of points read so far before applying average **/ + int num_read; + } Sensor; @@ -73,7 +78,6 @@ extern void Sensor_SetMode(Sensor * s, ControlModes mode, void * arg); extern void * Sensor_Loop(void * args); // Main loop for a thread that handles a Sensor extern bool Sensor_Read(Sensor * s, DataPoint * d); // Read a single DataPoint, indicating if it has changed since the last one -extern void Sensor_CheckData(Sensor * s, double value); // Check a DataPoint extern Sensor * Sensor_Identify(const char * str); // Identify a Sensor from a string extern void Sensor_Handler(FCGIContext *context, char * params); // Handle a FCGI request for Sensor data