diff options
Diffstat (limited to 'src/plugins/sensors/eandroid/eandroidrotationsensor.cpp')
-rw-r--r-- | src/plugins/sensors/eandroid/eandroidrotationsensor.cpp | 24 |
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(); +} |