summaryrefslogtreecommitdiffstats
path: root/src/plugins/sensors/ios/iosaccelerometer.mm
Commit message (Collapse)AuthorAgeFilesLines
* ios: skip accelerometer, gyroscope and magnetomenter updates if NaNFawzi Mohamed2014-04-171-0/+3
| | | | | | Change-Id: I7becfab81d56fc45ec7dc76333383503b8abccfe Reviewed-by: Alex Blasche <alexander.blasche@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* iOS: change accelerometer to use QTimer for pollingRichard Moe Gustavsen2013-06-051-32/+20
| | | | | | | | | | | | | | | | | | | According to the docs (CMMotionManager class reference) there are two ways of interacting with the accelerometer; Either through the callback API (NSOperationQueue), or peridic sampling (polling). Our first implementation of IOSAcceleometer used the former technique, which turns out to have bad performance when using the sensor together with a fine-grained QTimer. And this case is pretty common when using sensors together with e.g QML. Reading through the docs more carefully, they recommend using the polling technique when creating games instead since the NSOperationQueue introduces some overhead. So this patch does that, change the implementation to use QTimer based polling. And this solves the performance issues found. Change-Id: Ifde0d2292302467afb8db90a954ef45f3238350e Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
* iOS: add QPointer guard to accelerometer and gyroRichard Moe Gustavsen2013-03-221-12/+19
| | | | | | | | | Since we process data from the sensors using a callback queued to the application operation queue, we need to check that the qt sensor is still alive before accessing it. Change-Id: I697d72f94aedec34b125006d6405428e282bfc0d Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* iOS: refactor and simplify IOSAccelerometer codeRichard Moe Gustavsen2013-03-221-72/+19
| | | | | | | | | | | The code as it stood made use of an extra obj-c class to listen for sensor readings. This is not needed with the block (lambda) API used by CMMotionManager. This will also make IOSGyroscope and (soon) IOSMagnetometer follow the same code pattern. Change-Id: If945f8616f4cdde98b31382fcd9c555c2b490c4a Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* iOS: remove unnecessary test for accelerometer availableRichard Moe Gustavsen2013-03-211-17/+14
| | | | | | | | | The accelerometer is always available, so no need to check for this. Change-Id: I79411ff023c4350c5b31d4fad048484db2b2fe43 Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Lorn Potter <lorn.potter@jollamobile.com>
* iOS: set data rate on accelerometer before starting itRichard Moe Gustavsen2013-03-211-0/+4
| | | | | | | | | Respect user data rate settings by applying the rate just before the sensor starts Change-Id: I3da37497c574cbf94d57699c941ce2bf3b54373c Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Lorn Potter <lorn.potter@jollamobile.com>
* iOS: bugfix accelerometer timestampRichard Moe Gustavsen2013-03-211-1/+3
| | | | | | | | Convert from NSTimeInterval to microseconds Change-Id: I51fb3791aa72dcc7514c39820e4347a3c1d4039a Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Lorn Potter <lorn.potter@jollamobile.com>
* iOS: implement accelerometer for iOSLorn Potter2013-03-121-0/+143
This change implements an accelerometer for iOS. Change-Id: Id6de98427312bc0be42935fd9704117665d1e4a2 Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>