X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=server%2Fsensor.h;h=8b200773b23dcbe832140cd3bbdd41b908273085;hb=02921c7605e6aa45242dec345171ab9ba94a9015;hp=a2590365ecf3f484bdef615c9e4ca505ed4a9a40;hpb=519940987ceb9e379c91645daba84dc87680ffb8;p=matches%2FMCTX3420.git diff --git a/server/sensor.h b/server/sensor.h index a259036..8b20077 100644 --- a/server/sensor.h +++ b/server/sensor.h @@ -14,28 +14,29 @@ #define SENSOR_QUERYBUFSIZ 10 /** Number of sensors **/ -#define NUMSENSORS 1 +#define NUMSENSORS 4 + /** Structure to represent data recorded by a sensor at an instant in time **/ typedef struct { /** Time at which data was taken **/ - struct timeval time_stamp; //TODO: Consider; use float instead? + double time_stamp; /** Value of data **/ - float value; + double value; } DataPoint; /** Structure to represent a sensor **/ typedef struct { /** ID number of the sensor **/ - enum {SENSOR_TEST0=0, SENSOR_TEST1=1} id; + enum {ANALOG_TEST0=2, ANALOG_TEST1=0, DIGITAL_TEST0=1, DIGITAL_TEST1=3} 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; + /** Number of points read **/ + long points_read; /** Binary file to write data into when buffer is full **/ FILE * file; /** Thread running the sensor **/ @@ -48,6 +49,7 @@ typedef struct + extern void Sensor_Spawn(); // Initialise sensor extern void Sensor_Join(); //Join sensor threads extern void * Sensor_Main(void * args); // main loop for sensor thread; pass a Sensor* cast to void*