summaryrefslogtreecommitdiff
path: root/src/plugins/sensors/blackberry/bbcompass.cpp
diff options
context:
space:
mode:
authorSergio Ahumada <sergio.ahumada@digia.com>2013-03-19 11:05:55 +0100
committerSergio Ahumada <sergio.ahumada@digia.com>2013-03-19 11:06:33 +0100
commit50c16eab20a6d9884ab3149ef59137a10de63e6d (patch)
tree2684617d911514147283516ddd15803a4049da61 /src/plugins/sensors/blackberry/bbcompass.cpp
parentd2cafb8506b798bad7fa56f19557dd6e1cb25cd7 (diff)
parent879e5536b033302b2ad976750cd2351674e161d6 (diff)
downloadqtsensors-50c16eab20a6d9884ab3149ef59137a10de63e6d.tar.gz
Merge branch 'dev' into stable
This starts Qt 5.1 release cycle Change-Id: Idce0f9b94f9e585abfb6903f554500a06f4f8aaa
Diffstat (limited to 'src/plugins/sensors/blackberry/bbcompass.cpp')
-rw-r--r--src/plugins/sensors/blackberry/bbcompass.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/plugins/sensors/blackberry/bbcompass.cpp b/src/plugins/sensors/blackberry/bbcompass.cpp
index 6e33d1a..df8cc2e 100644
--- a/src/plugins/sensors/blackberry/bbcompass.cpp
+++ b/src/plugins/sensors/blackberry/bbcompass.cpp
@@ -55,19 +55,28 @@ BbCompass::BbCompass(QSensor *sensor)
bool BbCompass::updateReadingFromEvent(const sensor_event_t &event, QCompassReading *reading)
{
+ float azimuth;
#ifdef HAVE_COMPASS_SENSOR
- reading->setAzimuth(event.compass_s.azimuth);
+ azimuth = event.compass_s.azimuth;
#else
float xRad, yRad, zRad;
matrixToEulerZXY(event.rotation_matrix, xRad, yRad, zRad);
- float azimuth = radiansToDegrees(zRad);
+ azimuth = radiansToDegrees(zRad);
if (azimuth < 0)
azimuth = -azimuth;
else
azimuth = 360.0f - azimuth;
- reading->setAzimuth(azimuth);
#endif
+ if (isAutoAxisRemappingEnabled()) {
+ azimuth += orientationForRemapping();
+ if (azimuth >= 360.0f)
+ azimuth -= 360.0f;
+ }
+
+ reading->setAzimuth(azimuth);
+
+
switch (event.accuracy) {
case SENSOR_ACCURACY_UNRELIABLE:
reading->setCalibrationLevel(0.0f);