summaryrefslogtreecommitdiffstats
path: root/services/sensorservice/legacy/LegacyGravitySensor.h
diff options
context:
space:
mode:
authorRicardo Cerqueira <cyanogenmod@cerqueira.org>2013-04-21 06:43:33 -0700
committerGerrit Code Review <gerrit@cyanogenmod.org>2013-04-21 06:43:33 -0700
commit8c4be653e9e412ed9425e843e40a8037d084fd6d (patch)
treefd327d1a5bef0ceae9b4ad538d9960cb1c50fe4e /services/sensorservice/legacy/LegacyGravitySensor.h
parent6eebd8b63762e7515ca1953e0bd23d15557cb621 (diff)
parentab764de51f6f903deacfc1556fe8498fc4f73088 (diff)
downloadframeworks_native-8c4be653e9e412ed9425e843e40a8037d084fd6d.zip
frameworks_native-8c4be653e9e412ed9425e843e40a8037d084fd6d.tar.gz
frameworks_native-8c4be653e9e412ed9425e843e40a8037d084fd6d.tar.bz2
Merge "sensorservice: Add legacy sensors fusion." into cm-10.1
Diffstat (limited to 'services/sensorservice/legacy/LegacyGravitySensor.h')
-rw-r--r--services/sensorservice/legacy/LegacyGravitySensor.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/services/sensorservice/legacy/LegacyGravitySensor.h b/services/sensorservice/legacy/LegacyGravitySensor.h
new file mode 100644
index 0000000..afe37a9
--- /dev/null
+++ b/services/sensorservice/legacy/LegacyGravitySensor.h
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * 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_LEGACY_GRAVITY_SENSOR_H
+#define ANDROID_LEGACY_GRAVITY_SENSOR_H
+
+#include <stdint.h>
+#include <sys/types.h>
+
+#include <gui/Sensor.h>
+
+#include "../SensorInterface.h"
+#include "SecondOrderLowPassFilter.h"
+
+// ---------------------------------------------------------------------------
+namespace android {
+// ---------------------------------------------------------------------------
+
+class SensorDevice;
+class SensorFusion;
+
+class LegacyGravitySensor : public SensorInterface {
+ SensorDevice& mSensorDevice;
+ SensorFusion& mSensorFusion;
+ Sensor mAccelerometer;
+ double mAccTime;
+
+ SecondOrderLowPassFilter mLowPass;
+ CascadedBiquadFilter mX, mY, mZ;
+
+public:
+ LegacyGravitySensor(sensor_t const* list, size_t count);
+ virtual bool process(sensors_event_t* outEvent,
+ const sensors_event_t& event);
+ virtual status_t activate(void* ident, bool enabled);
+ virtual status_t setDelay(void* ident, int handle, int64_t ns);
+ virtual Sensor getSensor() const;
+ virtual bool isVirtual() const { return true; }
+};
+
+// ---------------------------------------------------------------------------
+}; // namespace android
+
+#endif // ANDROID_LEGACY_GRAVITY_SENSOR_H