diff options
Diffstat (limited to 'libsensors_iio/src/Accelerometer.cpp')
-rw-r--r-- | libsensors_iio/src/Accelerometer.cpp | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/libsensors_iio/src/Accelerometer.cpp b/libsensors_iio/src/Accelerometer.cpp deleted file mode 100644 index 5c9cadc..0000000 --- a/libsensors_iio/src/Accelerometer.cpp +++ /dev/null @@ -1,59 +0,0 @@ -/* - * STMicroelectronics Accelerometer Sensor Class - * - * Copyright 2013-2015 STMicroelectronics Inc. - * Author: Denis Ciocca - <denis.ciocca@st.com> - * - * Licensed under the Apache License, Version 2.0 (the "License"). - */ - -#include <fcntl.h> -#include <assert.h> -#include <signal.h> - -#include "sensor_cal.h" -#include "Accelerometer.h" - -Accelerometer::Accelerometer(HWSensorBaseCommonData *data, const char *name, - struct iio_sampling_frequency_available *sfa, int handle, - unsigned int hw_fifo_len, int pipe_data_fd, float power_consumption, bool wakeup) : - HWSensorBaseWithPollrate(data, name, sfa, handle, - SENSOR_TYPE_ACCELEROMETER, hw_fifo_len, pipe_data_fd, power_consumption) -{ - sensor_t_data.stringType = SENSOR_STRING_TYPE_ACCELEROMETER; - sensor_t_data.flags = SENSOR_FLAG_CONTINUOUS_MODE; - - if (wakeup) - sensor_t_data.flags |= SENSOR_FLAG_WAKE_UP; - - sensor_t_data.resolution = data->channels[0].scale; - sensor_t_data.maxRange = sensor_t_data.resolution * (pow(2.0, data->channels[0].bits_used - 1.0) - 1); -} - -Accelerometer::~Accelerometer() -{ - -} - -void Accelerometer::ProcessData(SensorBaseData *data) -{ - float tmp_raw_data[num_data_axis]; - - memcpy(tmp_raw_data, data->raw, num_data_axis * sizeof(float)); - - data->raw[0] = SENSOR_X_DATA(tmp_raw_data[0], tmp_raw_data[1], tmp_raw_data[2], CONFIG_ST_HAL_ACCEL_ROT_MATRIX); - data->raw[1] = SENSOR_Y_DATA(tmp_raw_data[0], tmp_raw_data[1], tmp_raw_data[2], CONFIG_ST_HAL_ACCEL_ROT_MATRIX); - data->raw[2] = SENSOR_Z_DATA(tmp_raw_data[0], tmp_raw_data[1], tmp_raw_data[2], CONFIG_ST_HAL_ACCEL_ROT_MATRIX); - - sensor_event.acceleration.x = data->raw[0]; - sensor_event.acceleration.y = data->raw[1]; - sensor_event.acceleration.z = data->raw[2]; - if (accl_cal_data_loaded == true) - sensor_event.acceleration.status = SENSOR_STATUS_ACCURACY_LOW; - else - sensor_event.acceleration.status = SENSOR_STATUS_UNRELIABLE; - sensor_event.timestamp = data->timestamp; - - HWSensorBaseWithPollrate::WriteDataToPipe(); - HWSensorBaseWithPollrate::ProcessData(data); -} |