From 8a0da79f058b7ee7cdf4a198fdf088e8a43565fb Mon Sep 17 00:00:00 2001 From: Fawzi Mohamed Date: Fri, 11 Apr 2014 14:35:14 +0200 Subject: ios: skip accelerometer, gyroscope and magnetomenter updates if NaN Change-Id: I7becfab81d56fc45ec7dc76333383503b8abccfe Reviewed-by: Alex Blasche Reviewed-by: Richard Moe Gustavsen --- src/plugins/sensors/ios/iosmagnetometer.mm | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/plugins/sensors/ios/iosmagnetometer.mm') diff --git a/src/plugins/sensors/ios/iosmagnetometer.mm b/src/plugins/sensors/ios/iosmagnetometer.mm index 95f85ae1..3cd8b10e 100644 --- a/src/plugins/sensors/ios/iosmagnetometer.mm +++ b/src/plugins/sensors/ios/iosmagnetometer.mm @@ -91,6 +91,9 @@ void IOSMagnetometer::timerEvent(QTimerEvent *) CMDeviceMotion *deviceMotion = m_motionManager.deviceMotion; CMCalibratedMagneticField calibratedField = deviceMotion.magneticField; field = calibratedField.field; + // skip update if NaN + if (field.x != field.x || field.y != field.y || field.z != field.z) + return; m_reading.setTimestamp(quint64(deviceMotion.timestamp * 1e6)); switch (calibratedField.accuracy) { @@ -110,6 +113,9 @@ void IOSMagnetometer::timerEvent(QTimerEvent *) } else { CMMagnetometerData *data = m_motionManager.magnetometerData; field = data.magneticField; + // skip update if NaN + if (field.x != field.x || field.y != field.y || field.z != field.z) + return; m_reading.setTimestamp(quint64(data.timestamp * 1e6)); m_reading.setCalibrationLevel(1.0); } -- cgit v1.2.3