From 2f5b120d90ce98676447df7fbf27397029d84ebd Mon Sep 17 00:00:00 2001 From: Robert Gustafsson Date: Thu, 28 Sep 2017 13:41:45 +0200 Subject: Add basic fifoqueue to buffer events --- includes/fifoqueue.h | 15 +++++++++++++++ includes/types.h | 29 +++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 includes/fifoqueue.h create mode 100644 includes/types.h (limited to 'includes') diff --git a/includes/fifoqueue.h b/includes/fifoqueue.h new file mode 100644 index 0000000..9ee5c53 --- /dev/null +++ b/includes/fifoqueue.h @@ -0,0 +1,15 @@ +#include +#include +#include "types.h" + +Fifo_q * init_queue(int size); + +boolean is_full(Fifo_q * q); + +boolean is_empty(Fifo_q * q); + +int add_to_queue(Fifo_q * q, Sensor_t * sensor); + +Sensor_t * pop_from_queue(Fifo_q * q); + +void print_queue(Fifo_q * q); diff --git a/includes/types.h b/includes/types.h new file mode 100644 index 0000000..a8fa1cf --- /dev/null +++ b/includes/types.h @@ -0,0 +1,29 @@ +#ifndef TYPES_H +#define TYPES_H + +#define true 1 +#define false 0 + +typedef int boolean; +typedef struct sensor_t Sensor_t; +typedef struct queue_t Queue_t; +typedef struct fifo_q Fifo_q; + +struct sensor_t{ + int uid; + int value; +}; + +struct queue_t{ + Sensor_t * sensor; + Queue_t * next; +}; + +struct fifo_q{ + Queue_t * head; + Queue_t * tail; + int maxSize; + int currentSize; +}; + +#endif -- cgit v1.2.3