summaryrefslogtreecommitdiffstats
path: root/src/plugins/sensors/eandroid/eandroidrotationsensor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/sensors/eandroid/eandroidrotationsensor.cpp')
-rw-r--r--src/plugins/sensors/eandroid/eandroidrotationsensor.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/plugins/sensors/eandroid/eandroidrotationsensor.cpp b/src/plugins/sensors/eandroid/eandroidrotationsensor.cpp
new file mode 100644
index 0000000..0d9bfde
--- /dev/null
+++ b/src/plugins/sensors/eandroid/eandroidrotationsensor.cpp
@@ -0,0 +1,24 @@
+#include "eandroidrotationsensor.h"
+#include <math.h>
+
+EAndroidRotationSensor::EAndroidRotationSensor(int type, QSensor *sensor)
+ : EAndroidBaseSensor(type, sensor)
+{
+ setReading<QRotationReading>(&m_reading);
+}
+
+EAndroidRotationSensor::~EAndroidRotationSensor()
+{
+}
+
+void EAndroidRotationSensor::processEvent(sensors_event_t &event)
+{
+ m_reading.setTimestamp(event.timestamp / 1000);
+
+ float rz = -event.data[0] * 180 / M_PI;
+ float rx = -event.data[1] * 180 / M_PI;
+ float ry = event.data[2] * 180 / M_PI;
+
+ m_reading.setFromEuler(rx, ry, rz);
+ newReadingAvailable();
+}