diff options
Diffstat (limited to 'src/plugins/sensors/winrt/winrtgyroscope.cpp')
-rw-r--r-- | src/plugins/sensors/winrt/winrtgyroscope.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/plugins/sensors/winrt/winrtgyroscope.cpp b/src/plugins/sensors/winrt/winrtgyroscope.cpp index 1e729a16..0b1cbb98 100644 --- a/src/plugins/sensors/winrt/winrtgyroscope.cpp +++ b/src/plugins/sensors/winrt/winrtgyroscope.cpp @@ -142,6 +142,9 @@ WinRtGyroscope::WinRtGyroscope(QSensor *sensor) return; } + addDataRate(1, 1000 / d->minimumReportInterval); // dataRate in Hz + sensor->setDataRate(1); + setReading<QGyroscopeReading>(&d->reading); } @@ -166,7 +169,12 @@ void WinRtGyroscope::start() sensorError(hr); return; } - quint32 reportInterval = qMax(d->minimumReportInterval, quint32(1000/sensor()->dataRate())); + + int dataRate = sensor()->dataRate(); + if (!dataRate) + return; + + quint32 reportInterval = qMax(d->minimumReportInterval, quint32(1000/dataRate)); hr = d->sensor->put_ReportInterval(reportInterval); if (FAILED(hr)) { qCWarning(lcWinRtSensors) << "Unable to attach to set report interval." |