diff options
author | Robert Gustafsson <robg@student.chalmers.se> | 2017-10-14 11:18:03 +0200 |
---|---|---|
committer | Robert Gustafsson <robg@student.chalmers.se> | 2017-10-14 11:18:03 +0200 |
commit | d12ef314dfcd9bafd370669fc47e5ee443767b28 (patch) | |
tree | b8e8ecfca859d1adedbc783d4a936b91cd25c074 /broccoli/src/midbro.c | |
parent | 89d12d836a0e34d7d2c55a1f96d947de48933813 (diff) | |
download | midbro-d12ef314dfcd9bafd370669fc47e5ee443767b28.tar.gz midbro-d12ef314dfcd9bafd370669fc47e5ee443767b28.tar.bz2 |
Rename midbropasad -> midbro in C impl..
* files in script/ are not changed
Diffstat (limited to 'broccoli/src/midbro.c')
-rw-r--r-- | broccoli/src/midbro.c | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/broccoli/src/midbro.c b/broccoli/src/midbro.c new file mode 100644 index 0000000..6c83207 --- /dev/null +++ b/broccoli/src/midbro.c @@ -0,0 +1,48 @@ +#include <pthread.h> +#include <unistd.h> +#include "fifoqueue.h" +#include "broevent.h" +#include "midbro.h" +#ifdef BROCCOLI +#include <broccoli.h> +#endif + +Fifo_q * queue; + + void +request_n_values(int number, int arrayOfValues[]) +{ + int i; + Sensor_t * sensor; + for(i=0; i<number; ++i){ + sensor = pop_from_queue(queue); + arrayOfValues[i] = sensor->value; + free(sensor); + } + printf("Release %d sensor data values\n", number); +} + int +request_value() +{ + int value; + Sensor_t * sensor; + sensor = pop_from_queue(queue); + value = sensor->value; + free(sensor); + printf("Release 1 sensor data value\n"); + return value; +} + + void +start_data_capture() +{ + int res; + queue = init_queue(500000); /* Initiate queue with fixed size */ + pthread_t event_listener; + /* Create producer thread that listen for bro events */ + res = pthread_create(&event_listener, NULL, bro_event_listener, queue); + if(res){ + perror("Unable to create thread"); + exit(-1); + } +} |