summaryrefslogtreecommitdiffstats
path: root/src/plugins/sensors/ios/iosgyroscope.mm
diff options
context:
space:
mode:
authorFawzi Mohamed <fawzi.mohamed@digia.com>2014-04-11 14:35:14 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-04-17 13:44:57 +0200
commit8a0da79f058b7ee7cdf4a198fdf088e8a43565fb (patch)
tree3d0e2649fcc452baf782eab2d9b6c1c7ec6880d9 /src/plugins/sensors/ios/iosgyroscope.mm
parentda27dc09c45a236744c482107a7d9f709069381c (diff)
ios: skip accelerometer, gyroscope and magnetomenter updates if NaN
Change-Id: I7becfab81d56fc45ec7dc76333383503b8abccfe Reviewed-by: Alex Blasche <alexander.blasche@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Diffstat (limited to 'src/plugins/sensors/ios/iosgyroscope.mm')
-rw-r--r--src/plugins/sensors/ios/iosgyroscope.mm3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/plugins/sensors/ios/iosgyroscope.mm b/src/plugins/sensors/ios/iosgyroscope.mm
index 8dfa3a4a..751786ef 100644
--- a/src/plugins/sensors/ios/iosgyroscope.mm
+++ b/src/plugins/sensors/ios/iosgyroscope.mm
@@ -75,6 +75,9 @@ void IOSGyroscope::timerEvent(QTimerEvent *)
// Convert NSTimeInterval to microseconds and radians to degrees:
CMGyroData *data = m_motionManager.gyroData;
CMRotationRate rate = data.rotationRate;
+ // skip update if NaN
+ if (rate.x != rate.x || rate.y != rate.y || rate.z != rate.z)
+ return;
m_reading.setTimestamp(quint64(data.timestamp * 1e6));
m_reading.setX((qreal(rate.x) / M_PI) * 180);
m_reading.setY((qreal(rate.y) / M_PI) * 180);