summaryrefslogtreecommitdiffstats
path: root/60xx/libsensors_iio/SensorBase.h
diff options
context:
space:
mode:
authorScott Warner <Tortel1210@gmail.com>2015-10-11 08:30:01 -0400
committerScott Warner <Tortel1210@gmail.com>2015-10-12 09:40:33 -0400
commit901b63272e2eb758fe2f4a588e6e9f308fe50f6c (patch)
treeeefd9603dc5f829b80bc7bb116e9de5ba4297714 /60xx/libsensors_iio/SensorBase.h
parente0c1691f695f828608c36315fa405db2fa8d153e (diff)
downloadandroid_hardware_invensense-901b63272e2eb758fe2f4a588e6e9f308fe50f6c.tar.gz
android_hardware_invensense-901b63272e2eb758fe2f4a588e6e9f308fe50f6c.tar.bz2
android_hardware_invensense-901b63272e2eb758fe2f4a588e6e9f308fe50f6c.zip
Revert "Remove files for unsupported devices."
This reverts commit f5f584ee173faef40f226c6e0e8580a2ecbe079b. Change-Id: I4e1b41922b5ccaac2314dac7f43df5740e2e9361
Diffstat (limited to '60xx/libsensors_iio/SensorBase.h')
-rw-r--r--60xx/libsensors_iio/SensorBase.h61
1 files changed, 61 insertions, 0 deletions
diff --git a/60xx/libsensors_iio/SensorBase.h b/60xx/libsensors_iio/SensorBase.h
new file mode 100644
index 0000000..fef47c7
--- /dev/null
+++ b/60xx/libsensors_iio/SensorBase.h
@@ -0,0 +1,61 @@
+/*
+* Copyright (C) 2012 Invensense, Inc.
+*
+* 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 ANDROID_SENSOR_BASE_H
+#define ANDROID_SENSOR_BASE_H
+
+#include <stdint.h>
+#include <errno.h>
+#include <sys/cdefs.h>
+#include <sys/types.h>
+
+#define CALL_MEMBER_FN(pobject, ptrToMember) ((pobject)->*(ptrToMember))
+
+#define MAX_SYSFS_NAME_LEN (100)
+#define IIO_BUFFER_LENGTH (480)
+
+/*****************************************************************************/
+
+struct sensors_event_t;
+
+class SensorBase {
+protected:
+ const char *dev_name;
+ const char *data_name;
+ char input_name[PATH_MAX];
+ int dev_fd;
+ int data_fd;
+
+ int openInput(const char* inputName);
+
+ int open_device();
+ int close_device();
+
+public:
+ SensorBase(const char* dev_name, const char* data_name);
+
+ virtual ~SensorBase();
+
+ virtual int readEvents(sensors_event_t* data, int count) = 0;
+ virtual bool hasPendingEvents() const;
+ virtual int getFd() const;
+ virtual int setDelay(int32_t handle, int64_t ns);
+ virtual int enable(int32_t handle, int enabled);
+};
+
+/*****************************************************************************/
+
+#endif // ANDROID_SENSOR_BASE_H