diff options
author | Jani Heikkinen <jani.heikkinen@digia.com> | 2014-04-23 12:45:40 +0300 |
---|---|---|
committer | Jani Heikkinen <jani.heikkinen@digia.com> | 2014-04-23 12:45:40 +0300 |
commit | 606e40570be5af8d9f05c55affedd6b106889bf7 (patch) | |
tree | c3b9e94d08645081053cc571dba9aed629fceebb /src/plugins/sensors/ios/iosmagnetometer.mm | |
parent | 267a9f4c4ea5ecfd3e0bf1f0149401e7ba8d0c60 (diff) | |
parent | 8a0da79f058b7ee7cdf4a198fdf088e8a43565fb (diff) |
Merge remote-tracking branch 'origin/release' into stable
Change-Id: I0a9d2e3cbcbe5adcbfc1dbcef3a9d3e7f52d4b90
Diffstat (limited to 'src/plugins/sensors/ios/iosmagnetometer.mm')
-rw-r--r-- | src/plugins/sensors/ios/iosmagnetometer.mm | 6 |
1 files changed, 6 insertions, 0 deletions
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); } |