X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=server%2Fsensor.h;h=da23044cf0809608fc5a28e09eba0e60bd3f578f;hb=0220e4dbe3d105b1a098c8ac2d8476f60a2f7671;hp=e51ab0c5579e7abd0fc2424cb5463044a69c038d;hpb=0b95dfaf594f4e6866ff8e18040c62382cad7d08;p=matches%2FMCTX3420.git diff --git a/server/sensor.h b/server/sensor.h index e51ab0c..da23044 100644 --- a/server/sensor.h +++ b/server/sensor.h @@ -14,11 +14,10 @@ /** Number of data points to keep in sensor buffers **/ #define SENSOR_DATABUFSIZ 10 + /** Number of sensors **/ #define NUMSENSORS 1 -#define FILENAMESIZE 10 - /** Structure to represent data recorded by a sensor at an instant in time **/ typedef struct { @@ -32,15 +31,15 @@ typedef struct typedef struct { /** ID number of the sensor **/ - enum {SENSOR_TEST0=0, SENSOR_TEST1=1} id; + enum {SENSOR_TEST0=0, SENSOR_TEST1=1, SENSOR_NONE} id; /** Buffer to store data from the sensor **/ DataPoint buffer[SENSOR_DATABUFSIZ]; /** Index of last point written in the data buffer **/ int write_index; /** Offset position in binary file for query thread to read from**/ int read_offset; - /** File to write data into when buffer is full **/ - char filename[FILENAMESIZE]; + /** Binary file to write data into when buffer is full **/ + FILE * file; /** Thread running the sensor **/ pthread_t thread; /** Mutex to protect access to stuff **/ @@ -55,6 +54,8 @@ extern Sensor g_sensors[]; extern void Sensor_Init(Sensor * s, int id); // Initialise sensor extern void * Sensor_Main(void * args); // main loop for sensor thread; pass a Sensor* cast to void* +extern int Sensor_Query(Sensor * s, DataPoint * buffer, int bufsiz); // fill buffer with sensor data + #endif //_SENSOR_H