summaryrefslogtreecommitdiff
path: root/src/plugins/sensors/ios
Commit message (Collapse)AuthorAgeFilesLines
* Use qRadiansToDegrees() and qDegreesToRadians() more widelyEdward Welbourne2017-03-061-3/+4
| | | | | | | | | They document intent more clearly than arithmetic with pi does. Also eliminate some hand-rolled RADIANS_TO_DEGREES constants in favor of calling qRadiansToDegrees(). Change-Id: I7ca5e876b3591433bf681b56ad51c4cb409ac59f Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* Replace Q_DECL_OVERRIDE by overrideAlexander Volkov2016-12-025-13/+13
| | | | | | | 'override' keyword can be used directly since Qt 5.7. Change-Id: Ibf0fc590f7e247a310a833a22ece700ec75199bb Reviewed-by: Lorn Potter <lorn.potter@canonical.com>
* Port the iOS sensors plugin to the other UIKit platformsv5.8.0-beta1Jake Petroules2016-10-0511-29/+76
| | | | | | | | | | | | | watchOS supports accelerometer, gyroscope, and magnetometer. tvOS supports only the proximity sensor. No sensors are available on macOS yet, but the plugin is still built there because many of the underlying APIs are available cross platform and so some macOS sensors can appear here in the future. Change-Id: I1668d81f09c745e60c1906be621a74f969841566 Reviewed-by: Mike Krus <mike.krus@kdab.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-09-179-16/+71
|\ | | | | | | Change-Id: I14345192d06a8a0ac9000feab6daea0f11b41f72
| * iOS: protect OS sensors from being stopped when shared by several Qt sensorsRichard Moe Gustavsen2016-08-258-14/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When a Qt sensor is told to stop, it automatically stops the underlying OS sensor as well. This caused a problem when several Qt sensors were running, since stopping one would stop them all. This patch will add a ref count for each affected sensor, so that we keep track of when it's safe to start and stop the underlying OS sensor. Task-number: QTBUG-54977 Change-Id: If06c4daac22916feef2f4c7bd521363d74f342a6 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Lorn Potter <lorn.potter@canonical.com>
| * IOSCompass: calculate correct calibration levelRichard Moe Gustavsen2016-08-251-2/+2
| | | | | | | | | | | | | | A compass has 360 degrees, not 365. Change-Id: I2f0628fa0151434b1b529fbefd1a4bab9de99a8a Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-03-071-4/+4
|\ \ | |/ | | | | | | | | | | Conflicts: src/sensors/doc/src/compatmap.qdoc Change-Id: I7bd464cbd506f630798091fef3896050ade7b3f8
| * consistently put {qt,qml}_{module,plugin} at the end of project filesOswald Buddenhagen2016-02-251-4/+4
| | | | | | | | | | | | | | | | this fixes static builds by ensuring that all dependencies are exported. Task-number: QTBUG-51071 Change-Id: Ia3c3f69505650fd35982fc76e385e744b877e4df Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Updated license headersAntti Kokko2016-01-2013-182/+260
|/ | | | | | | | | | From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new LGPL header instead of LGPL21 one (in those files which will be under LGPL v3) Change-Id: Id129b1497aa9d61fd16332e3b324f28dcf7bdd5b Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Update copyright headersJani Heikkinen2015-02-1713-193/+137
| | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Change-Id: I141862df4ed2475c05ebbeb8fe447c4a6e736849 Reviewed-by: Antti Kokko <antti.kokko@theqtcompany.com>
* Update license headers and add new licensesJani Heikkinen2014-08-246-112/+64
| | | | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 & LICENSE.GPLv2 - Removed LICENSE.GPL Change-Id: I99c601a398559886c2900f3e04833acfceba8263 Reviewed-by: Antti Kokko <antti.kokko@digia.com> Reviewed-by: BogDan Vatra <bogdan@kde.org> Reviewed-by: Tony Sarajärvi <tony.sarajarvi@digia.com>
* ios: skip accelerometer, gyroscope and magnetomenter updates if NaNFawzi Mohamed2014-04-173-0/+12
| | | | | | Change-Id: I7becfab81d56fc45ec7dc76333383503b8abccfe Reviewed-by: Alex Blasche <alexander.blasche@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* BlackBerry: update plugin keyAndrew Inwood2014-04-071-1/+1
| | | | | | | | | | | | | | The plugin key for both the Generic backend and the BlackBerry backend were set to "notused". This ultimately caused the Generic backend not to be loaded, which is why QTiltSensor wasn't being exposed. The duplicate keys caused a collision in a QMap in QFactoryLoader, making it look like the generic backend had been created, when it hadn't. Tested on a BlackBerry Z10. Change-Id: Ie5e40586751e7c3b9683a94a39b07efd4fc7fc82 Reviewed-by: Bernd Weimer <bweimer@blackberry.com> Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
* Make QtSensors use Q_DECL_OVERRIDESamuel Gaist2013-11-195-13/+13
| | | | | | | | | This patch aims to make QtSensors uses Q_DECL_OVERRIDE uniformly across the module Task-number: QTBUG-27392 Change-Id: I5f814f93307159175f92e29a9990587c03cce96f Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
* iOS: change magnetometer implementation to use Timer base pollingRichard Moe Gustavsen2013-06-122-83/+54
| | | | | | | | | | | Ref change: 102bdf3 We need to change the implementation to use polling rather than callback to achieve full performance together with fine-grained QTimers. Change-Id: Ic3bf978633c56175eeca90cad8ed764a0b1c9b0c Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
* iOS: change gyro implementation to use Timer base pollingRichard Moe Gustavsen2013-06-102-35/+23
| | | | | | | | | | | Ref change: 102bdf3 We need to change the implementation to use polling rather than callback to achieve full performance together with fine-grained QTimers. Change-Id: I895418996b53432642d37279855167d815261d92 Reviewed-by: Lorn Potter <lorn.potter@jollamobile.com>
* iOS: change accelerometer to use QTimer for pollingRichard Moe Gustavsen2013-06-052-37/+24
| | | | | | | | | | | | | | | | | | | 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: implement proximity sensorRichard Moe Gustavsen2013-04-164-2/+215
| | | | | Change-Id: Ia4c2dbe4f81ceda1600f9f642effbc3377cfa94d Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
* iOS: implement compassRichard Moe Gustavsen2013-04-164-3/+210
| | | | | Change-Id: I639a472cd2dfca177282cb4961d589f11f924e36 Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
* iOS: implement magnetometerRichard Moe Gustavsen2013-04-145-2/+238
| | | | | Change-Id: I611e1ccafb0362b78737785e9cc7f4f48278063a Reviewed-by: Lorn Potter <lorn.potter@jollamobile.com>
* iOS: remove unneeded void pointer casting in private headersRichard Moe Gustavsen2013-04-142-4/+5
| | | | | | | | | | The headers in use for the sensor backend are private, and should never be directly included in any .cpp files. As such, we don't need to be careful using obj-c features in the header files. Change-Id: If16a84c88a7e7afc45afe00e668e4582337e4907 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Lorn Potter <lorn.potter@jollamobile.com>
* iOS: add QPointer guard to accelerometer and gyroRichard Moe Gustavsen2013-04-142-20/+34
| | | | | | | | | | 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> Reviewed-by: Lorn Potter <lorn.potter@jollamobile.com>
* iOS: refactor and simplify IOSAccelerometer codeRichard Moe Gustavsen2013-04-142-74/+22
| | | | | | | | | | | | 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> Reviewed-by: Lorn Potter <lorn.potter@jollamobile.com>
* iOS: remove unnecessary test for accelerometer availableRichard Moe Gustavsen2013-04-101-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-04-101-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-04-101-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 gyroscope for iOSRichard Moe Gustavsen2013-04-104-4/+171
| | | | | | Change-Id: I4a46908a4b4e166c489dce4a034ef68698288419 Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Lorn Potter <lorn.potter@jollamobile.com>
* iOS: implement accelerometer for iOSLorn Potter2013-03-127-0/+414
This change implements an accelerometer for iOS. Change-Id: Id6de98427312bc0be42935fd9704117665d1e4a2 Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>