/** Number of sensors **/
#define NUMSENSORS 6
+/** Sensor ids - there should be correspondence with the names in g_sensor_names **/
typedef enum SensorId
{
ANALOG_TEST0,
DIGITAL_FAIL0
} SensorId;
-
-
/** Human readable names for the sensors **/
extern const char * g_sensor_names[NUMSENSORS];
-
/** Structure to represent a sensor **/
typedef struct
{
pthread_t thread;
/** Most recently recorded data **/
DataPoint newest_data;
-
} Sensor;
// Structure to define the warning and error thresholds of the sensors
double min_error;
double max_warn;
double min_warn;
-} SensorThres;
+} SensorThreshold;
extern void Sensor_Init(); // One off initialisation of *all* sensors
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(SensorId id, DataPoint * d); // Check a DataPoint
+extern void Sensor_CheckData(SensorId id, double value); // Check a DataPoint
extern Sensor * Sensor_Identify(const char * str); // Identify a Sensor from a string Id
extern void Sensor_Handler(FCGIContext *context, char * params); // Handle a FCGI request for Sensor data