diff options
Diffstat (limited to 'libsensors_iio/src/HWSensorBase.h')
-rw-r--r-- | libsensors_iio/src/HWSensorBase.h | 103 |
1 files changed, 0 insertions, 103 deletions
diff --git a/libsensors_iio/src/HWSensorBase.h b/libsensors_iio/src/HWSensorBase.h deleted file mode 100644 index f9e1113..0000000 --- a/libsensors_iio/src/HWSensorBase.h +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Copyright (C) 2013-2015 STMicroelectronics - * Author: Denis Ciocca - <denis.ciocca@st.com> - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ST_HWSENSOR_BASE_H -#define ST_HWSENSOR_BASE_H - -#include <poll.h> -#include <math.h> - -#include "SensorBase.h" - -extern "C" { - #include "iio_utils.h" - #include "events.h" - #include "sensor_cal.h" -}; - -#define HW_SENSOR_BASE_DEFAULT_IIO_BUFFER_LEN (2) -#define HW_SENSOR_BASE_IIO_SYSFS_PATH_MAX (50) -#define HW_SENSOR_BASE_IIO_DEVICE_NAME_MAX (30) -#define HW_SENSOR_BASE_MAX_CHANNELS (8) - -#define FILENAME_BUFFER_ENABLE "buffer/enable" -#define FILENAME_BUFFER_LENGTH "buffer/length" -#define FILENAME_BUFFER_STORE_LENGTH "buffer/store_length" -#define FILENAME_SAMPLING_FREQ "sampling_frequency" -#define FILENAME_MAX_RATE_DELIVERY "max_delivery_rate" -#define FILENAME_HRTIMER_TRIGGER_FREQ "frequency" -#define FILENAME_FLUSH "flush" - -struct HWSensorBaseCommonData { - char iio_sysfs_path[HW_SENSOR_BASE_IIO_SYSFS_PATH_MAX]; - char device_name[HW_SENSOR_BASE_IIO_DEVICE_NAME_MAX]; - unsigned int iio_dev_num; - - int num_channels; - struct iio_channel_info channels[HW_SENSOR_BASE_MAX_CHANNELS]; - - struct iio_scale_available sa; -} typedef HWSensorBaseCommonData; - - -class HWSensorBase; -class HWSensorBaseWithPollrate; - -/* - * class HWSensorBase - */ -class HWSensorBase : public SensorBase { -protected: - struct pollfd pollfd_iio[2]; - ssize_t scan_size; - uint8_t *sensor_data; - unsigned int current_fifo_len; - HWSensorBaseCommonData common_data; - - int WriteBufferLenght(unsigned int buf_len, unsigned int store_len); - -public: - HWSensorBase(HWSensorBaseCommonData *data, const char *name, - int handle, int sensor_type, unsigned int hw_fifo_len, - int pipe_data_fd, float power_consumption); - virtual ~HWSensorBase(); - - virtual int Enable(int handle, bool enable); - virtual int FlushData(bool need_report_event); - virtual void ThreadTask(); -}; - - -/* - * class HWSensorBaseWithPollrate - */ -class HWSensorBaseWithPollrate : public HWSensorBase { -private: - struct iio_sampling_frequency_available sampling_frequency_available; - -public: - HWSensorBaseWithPollrate(HWSensorBaseCommonData *data, const char *name, - struct iio_sampling_frequency_available *sfa, int handle, - int sensor_type, unsigned int hw_fifo_len, int pipe_data_fd, - float power_consumption); - virtual ~HWSensorBaseWithPollrate(); - - virtual int SetDelay(int handle, int64_t period_ns, int64_t timeout); - virtual void WriteDataToPipe(); -}; - -#endif /* ST_HWSENSOR_BASE_H */ |