summaryrefslogtreecommitdiff
path: root/libsensors_iio/src/CircularBuffer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libsensors_iio/src/CircularBuffer.cpp')
-rw-r--r--libsensors_iio/src/CircularBuffer.cpp79
1 files changed, 0 insertions, 79 deletions
diff --git a/libsensors_iio/src/CircularBuffer.cpp b/libsensors_iio/src/CircularBuffer.cpp
deleted file mode 100644
index 20b4de8..0000000
--- a/libsensors_iio/src/CircularBuffer.cpp
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * STMicroelectronics Circular Buffer Class
- *
- * Copyright 2013-2015 STMicroelectronics Inc.
- * Author: Denis Ciocca - <denis.ciocca@st.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License").
- */
-
-#include "CircularBuffer.h"
-
-#include <stdlib.h>
-#include <string.h>
-#include <cutils/log.h>
-
-CircularBuffer::CircularBuffer(unsigned int num_elements)
-{
- data_sensor = (SensorBaseData *)malloc(num_elements * sizeof(SensorBaseData));
-
- pthread_mutex_init(&data_mutex, NULL);
-
- lenght = num_elements;
- elements_available = 0;
- first_free_element = &data_sensor[0];
- first_available_element = &data_sensor[0];
-}
-
-CircularBuffer::~CircularBuffer()
-{
- delete data_sensor;
-}
-
-void CircularBuffer::writeElement(SensorBaseData *data)
-{
- pthread_mutex_lock(&data_mutex);
-
- if (elements_available == lenght) {
- first_available_element++;
-
- if (first_available_element == (&data_sensor[0] + lenght))
- first_available_element = &data_sensor[0];
- }
-
- memcpy(first_free_element, data, sizeof(SensorBaseData));
- first_free_element++;
-
- if (first_free_element == (&data_sensor[0] + lenght))
- first_free_element = &data_sensor[0];
-
- if (elements_available < lenght)
- elements_available++;
-
- pthread_mutex_unlock(&data_mutex);
-}
-
-int CircularBuffer::readElement(SensorBaseData *data)
-{
- int num_remaining_elements;
-
- pthread_mutex_lock(&data_mutex);
-
- if (elements_available == 0) {
- pthread_mutex_unlock(&data_mutex);
- return -EFAULT;
- }
-
- memcpy(data, first_available_element, sizeof(SensorBaseData));
- first_available_element++;
-
- if (first_available_element == (&data_sensor[0] + lenght))
- first_available_element = &data_sensor[0];
-
- elements_available--;
- num_remaining_elements = elements_available;
-
- pthread_mutex_unlock(&data_mutex);
-
- return num_remaining_elements;
-}