summaryrefslogtreecommitdiffstats
path: root/src/plugins/sensors
Commit message (Collapse)AuthorAgeFilesLines
* JNI: explicitly include qjnitypes.h headerVolker Hilsheimer2023-09-261-0/+1
| | | | | | | | | | The implicit include through QJniObject is gone in qtbase, adapt to that. Change-Id: I3eec44c79b31d2c98ff7f52737e2353a8c85ccd3 Reviewed-by: Zoltan Gera <zoltan.gera@qt.io> Reviewed-by: Petri Virkkunen <petri.virkkunen@qt.io> Reviewed-by: Juha Vuolle <juha.vuolle@qt.io>
* JNI: replace TYPE declarations with CLASS declarationsVolker Hilsheimer2023-09-221-1/+1
| | | | | | | | | | | | That we have two macros to declare a C++ type to represent a Java class is confusing. The TYPE macro as of now allows us to declare array types, but with QJniArray we won't need that anymore, and can just use Class[] as the type instead. Changing that will be a follow-up commit; for now, get rid of TYPE-usages to declare regular classes. Change-Id: I46956bfe1feb658f908a039eb1fb6f6bfde79799 Reviewed-by: Zoltan Gera <zoltan.gera@qt.io> Reviewed-by: Juha Vuolle <juha.vuolle@qt.io>
* Mark the whole repo with QT_NO_CONTEXTLESS_CONNECTAhmad Samir2023-08-237-12/+0
| | | | | | | | | | By adding it to the default build flags via .cmake.conf. This amends commit 2c723b6af7ac6c359916dcd240b1f57057871321. Task-number: QTBUG-116296 Change-Id: Ic485c2f4596f77f59928df960050421d2d08748f Reviewed-by: Juha Vuolle <juha.vuolle@qt.io>
* Build with QT_NO_CONTEXTLESS_CONNECTAhmad Samir2023-07-317-0/+12
| | | | | | | | | | | | This disables the 3-arg QObject::connect() overload: QObject::connect(sender, signal, functor) For details see: https://lists.qt-project.org/pipermail/development/2023-July/044141.html Change-Id: I9e068cacae63f4a5594d712c4fbff25e380da55c Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Juha Vuolle <juha.vuolle@qt.io>
* Avoid enabling the "dummy" sensors plugin by defaultAlexey Edelev2023-05-091-1/+1
| | | | | | | | | | | | | The dummy plugin appears to have adverse effects on performance on linux. It causes constant CPU usage in for example KDE's background daemon, without having any use. The condition should be fixed to only build when dummy was explicitly enabed. Pick-to: 6.5 6.2 Fixes: QTBUG-113435 Change-Id: If10750fb08b1537b0108f09f23cff6af10c33c31 Reviewed-by: Lorn Potter <lorn.potter@gmail.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Exclude files from Unity BuildAmir Masoud Abdol2023-04-231-0/+6
| | | | | | | | | | | `dbusPath()` is defined in several places, and it seems to me that it can be implemented as a private static data member. When resolved, we can remove these files from the exclusion list. Pick-to: 6.5 Task-number: QTBUG-109394 Change-Id: I1f4290fb8495ce1f1c941a46240b60c8fed4bbe4 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Resolve a duplicate symbol issueAmir Masoud Abdol2023-04-031-3/+3
| | | | | | | | | | | | | This was colliding with a similarly named typedef in `winrtrotationsensor.cpp` and it seems to me that the name should have been GyrometerReadingHandler in the first place. This was causing issue for unity build. Pick-to: 6.5 Task-number: QTBUG-109394 Change-Id: I721740caaf994ccf5514cbdc93371a3443378270 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Change from count() to size() with Qt containersJuha Vuolle2022-10-041-1/+1
| | | | | | | | | | As the preferred method. Potentially may be deprecated similar to QString/QByteArray Fixes: QTBUG-107068 Change-Id: I0cfc9d7f8e2e450849f1d22c5b98aa353748ecf6 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* Change the license of all CMakeLists.txt and *.cmake files to BSDLucie Gérard2022-08-238-8/+8
| | | | | | | Task-number: QTBUG-105718 Change-Id: I8e1e210b85a5c02947a259edec14a915fa64cfc5 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* fix dbus interface descriptionLorn Potter2022-08-231-1/+1
| | | | | | | Pick-to: 6.4 Fixes: QTBUG-105848 Change-Id: I7240192d3fbb5b881f52ab4b6cf34f924c164f8e Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
* Unstringify QtSensors Android partsJuha Vuolle2022-08-121-9/+12
| | | | | | | | | | Qt 6.4 introduced the new facilities to reduce the plain strings with Android methods/signatures. Fixes: QTBUG-104185 Change-Id: I28a2d588fdaff2ef6d2e0f55663d741ea6a0c4e5 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* Add license headers to cmake filesLucie Gérard2022-07-078-0/+24
| | | | | | | | | | | | | CMakeLists.txt and .cmake files of significant size (more than 2 lines according to our check in tst_license.pl) now have the copyright and license header. Existing copyright statements remain intact Task-number: QTBUG-88621 Change-Id: If432c07e9205f97f3c256ca2a8e682478d9dd82c Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Use SPDX license identifiersLucie Gérard2022-06-13104-3965/+221
| | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. License files are organized under LICENSES directory. Pick-to: 6.4 Task-number: QTBUG-67283 Change-Id: I114588b3215fecda3a9127931f17a33bd4ef1edb Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Remove extra ".lib" suffix from Windows library linkageJuha Vuolle2022-05-031-1/+1
| | | | | | | | | | | The extra ".lib" can introduce trouble with static linking as the lib can become of the form <>.lib.lib in the Makefile Task-number: QTBUG-102994 Pick-to: 6.2 6.3 Change-Id: I3b1b9490fdca35dfb1e98a396c8a2f573ff5dece Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Make geomagnetic mode the default magnetometer behaviorTamás Martinec2021-12-231-1/+1
| | | | | | | | | | | | | | | Geomagnetic mode uses the iOS API that results in similar values on Android and iOS, therefore this should be the default magnetometer behavior. [ChangeLog][QMagnetometer] The default magnetometer behavior is changed to be geomagnetic mode. Task-number: QTBUG-98978 Pick-to: 6.3 Change-Id: I672c4f3b52c187da8c644e7f20f45dcd740b04b0 Reviewed-by: Alex Blasche <alexander.blasche@qt.io> Reviewed-by: Juha Vuolle <juha.vuolle@insta.fi>
* QtSensors: Fix geomagnetic values modeTamás Martinec2021-12-131-1/+1
| | | | | | | | | | | Using startDeviceMotionUpdatesUsingReferenceFrame instead of startDeviceMotionUpdates that doesn't work at the moment. Task-number: QTBUG-98423 Pick-to: 6.2 Change-Id: If680c2246e9f880a0360273f043fd3716a764626 Reviewed-by: Juha Vuolle <juha.vuolle@insta.fi>
* QtSensors: Implement iOS pressure sensorTamás Martinec2021-11-174-0/+180
| | | | | | | Task-number: QTBUG-70877 Pick-to: 6.2 Change-Id: Ibff63b412a1cc5a8234d3c7600ec70a717acab7d Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Remove linux sysfs backendJuha Vuolle2021-08-266-364/+0
| | | | | | | | | | | | The backend provided accelerometer. The backend has been undocumented since the beginning and has been virtually without any activity during its existence. Pick-to: 6.2 Task-number: QTBUG-95789 Change-Id: I7efb3ed10e68a729bc4c834b6c7c3bab9fd8169f Reviewed-by: Lorn Potter <lorn.potter@gmail.com> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* CMake: Don't give plugins PUBLIC usage requirements part 2Alexandru Croitor2021-08-177-14/+12
| | | | | | | | | | | Plugins shouldn't have public usage requirements. Amends 4686bb97ee8a7159f889e8957537f59d255937c2 Pick-to: 6.2 Task-number: QTBUG-90819 Change-Id: I5adc59533573d7db4ab81873072288f52d3b2b8f Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* CMake: Use renamed qt6_add_plugin PLUGIN_TYPE option on linux backendJuha Vuolle2021-08-131-1/+1
| | | | | | | Task-number: QTBUG-95170 Pick-to: 6.2 Change-Id: Id3956b5712d845405196f23492c36b3f7804c324 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Use renamed qt6_add_plugin PLUGIN_TYPE optionAlexandru Croitor2021-08-107-7/+7
| | | | | | | Task-number: QTBUG-95170 Pick-to: 6.2 Change-Id: Ic988e041d899c3c50c72404c5511a0cb19932dfd Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* CMake: Don't give plugins PUBLIC usage requirementsCraig Scott2021-08-054-4/+4
| | | | | | | Task-number: QTBUG-90819 Pick-to: 6.2 Change-Id: I6390d42881e1038904d551f3d1db871eae303575 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Remove TI Sensor tag supportJuha Vuolle2021-06-2924-2203/+0
| | | | | | | | | | | | | | | | The TI Sensor tag support is specific to a firmware version, and while it could be updated on an ongoing basis, there has not been expressed use for it beyond its initial use cases. As with Qt sensors in general, sensors and platforms can be later reintroduced without compatibility issues should such needs emerge. [ChangeLog][TI Sensor tag] Remove support Pick-to: 6.2 Task-number: QTBUG-92512 Change-Id: I70c8514701787cc1d21195546a48b38d8009434f Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* Fix compilation errors on sensortagsJuha Vuolle2021-06-041-7/+7
| | | | | | | | | | Additionally add find_package() for bluetooth to the top CMakeLists.txt Task-number: QTBUG-94209 Task-number: QTBUG-92502 Task-number: QTBUG-92509 Change-Id: Ied1730e6c3758b2734d8a25d1dcbc43236b997d2 Reviewed-by: Andreas Buhr <andreas.buhr@qt.io>
* Add Co(Un)Initialize call to windows backendJuha Vuolle2021-06-041-0/+10
| | | | | | | | | The sensors are accessed through the COM library which requires that the initialization routines are done. Task-number: QTBUG-92510 Change-Id: Idf65b0076432bebbab0de9f24b5e9711d471d193 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Add missed override markers to the SensorTag pluginAlexey Edelev2021-05-251-2/+2
| | | | | Change-Id: Iaf6367a8605a244762422da2d35011598c05f144 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* Rename subclass static variable which shadowed baseclass methodJuha Vuolle2021-05-199-69/+67
| | | | | | | | | | | The 'type' static variable shadowed the 'QSensors::type()' method of the baseclass. While this is easy to workaround it is better to remove such naming clash. Task-number: QTBUG-60246 Change-Id: Id0ddae978377ea4d4d0202a572c554c2541f9364 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* Android rotation sensor value and datarate fixJuha Vuolle2021-05-172-7/+37
| | | | | | | | | | | | | | There was a breaking change in Android rotation sensor handling in Qt 5.12.4 when migrating to NDK usage: -The unit conversion logic was not transferred as part of the migration. This task reintroduces the unit conversion part. -The datarate interval was misinterpreted as usec, whereas it is Hz Fixes: QTBUG-77423 Change-Id: Ibe51b3dea393e1cbe1502b5611c07f32024daf57 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> (cherry picked from commit edf82b1d6dc7572da93bbdcd5b4ce46fa1dab2ad) Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* Android: use new public jni apisAssam Boudjelthia2021-05-102-21/+28
| | | | | | | | | Replace use of QJNIObjectPrivate with QJniObject. Get context() and sdkVersion() from QNativeInterface::QAndroidApplication. Fixes: QTBUG-92550 Change-Id: I625b2269ef253e1a1f76f82edebac236de184c2c Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Disable PCH on iOS pluginJuha Vuolle2021-04-201-0/+5
| | | | | | | | | | | If a target inherits precompile headers from a different target that has more languages enabled (CXX, OBJCXX), the target will depend on PCH artifacts for a language that is not actually present. Task-number: QTBUG-92502 Change-Id: Ib8d27a63d3f6e0afeb55f4ce3988edd6c0b8ce81 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Compile-config test for winrtJuha Vuolle2021-04-202-2/+6
| | | | | | | | | | | | | While winrt as a "windows phone" is not supported anymore, the APIs are available on windows and can be supported where applicable (bluetooth, positioning, sensors, ...). This commit adds a configuration tests for the presence of these headers and libraries. Task-number: QTBUG-92502 Change-Id: Ia6dcb0a6b8ecdbcf1d1bcf79e42f95ace75f6657 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* QtSensors initial cmake supportLorn Potter2021-04-1942-2004/+336
| | | | | | | | | | | | | | | | | This commit introduces the bare minimum cmake support that should unblock the CI and allow further verification and development on most platforms: macOS, Linux, Win, iOS and Android. Some clarifications: * The support for sensorfw backend is very preliminary and can be enabled later if needed (no Qt6 version of the sensorfw). * The simulator backend is dropped as obsolete / unnecessary. * Three examples are currently commented out and shall be ported with a later commit. Task-number: QTBUG-92502 Change-Id: Id523d43ed3ef177010dc73afc5812ed374cff0dd Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Base commit to make QtSensors runnable on WindowsJuha Vuolle2021-04-1912-148/+134
| | | | | | | | | | | | | | | | | | | | | | | | | | Fair amount of work remains after the commit still, but this should allow further development as a compilable baseline: code compiles, autotests pass, and most example applications at least start. The changes: -Change examples to use QtQuickControls 2 as per removal of v1 -Fix ambiguous conditional expression compilation error -Link against runtimeobject library (previously part of winrt QPA?) -Change the .pro file rule to win32 as winrt moniker does not exist anymore -Remove references to deleted winrt event dispatcher -Fix error handling: getdefault may be successful even if there is no default sensor -Fix QCOMPARE failure output (toString has changed in Qt6) -Remove qtimestamp alias which was deprecated already in Qt5 -Remove unit test hook that does not seem to be used anywhere -From typedef to ‘using’ for readability -Q_ENUMS -> Q_ENUM as the former has been obsoleted by the latter -Add qt6 changes qdoc page Task-number: QTBUG-88616 Change-Id: I92c168228ba76106b2c636c88f54331c76c3d2e6 Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* QAtomicInt load() and store() are removed in Qt6, change to *Relaxed()Juha Vuolle2020-12-171-2/+2
| | | | | | Change-Id: I719afb5243a6e4e8d54a7f82a74a0c6bf0207c98 Reviewed-by: Lorn Potter <lorn.potter@gmail.com> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Use QList instead of QVectorJarek Kobus2020-06-258-20/+19
| | | | | | | Task-number: QTBUG-84469 Change-Id: I4ef3c22412f5978b3474c0ccd90bae08fd7f1297 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Merge remote-tracking branch 'origin/5.13' into devQt Forward Merge Bot2019-07-223-10/+21
|\ | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Ia190d8f7448766e964472599dc1adf5c6f0eabd7
| * Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-07-111-3/+9
| |\ | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Ic691e11af371acfb7706ee218665fb5a9f96a9c3
| | * Android: Don't crash for unsupported accelerometer modeKai Pastor2019-07-031-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | According to documentation, changing the mode shall have no effect when the device does not support a particular mode. Task-number: QTBUG-76862 Change-Id: I805daa3a3f659e8aed25e4b7b6531f804dd654b2 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
| * | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-06-271-1/+1
| |\| | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Ib6ec0928ab14e075b35648ce0da4efc293be9c94
| | * fix typo that breaks android buildLorn Potter2019-06-171-1/+1
| | | | | | | | | | | | | | | | | | | | | Fixes: QTBUG-76384 Change-Id: Ib1977ea1371e3a82ca14d1c7c450984fa40cd71d Reviewed-by: Vyacheslav Koscheev <vok1980@gmail.com> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| * | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-05-111-6/+11
| |\| | | | | | | | | | Change-Id: I71deece5315cb9b29bd9bc72c3198c80c9d14442
| | * Do not register iio sensors if the dbus service is not foundLorn Potter2019-05-081-6/+11
| | | | | | | | | | | | | | | | | | Fixes: QTBUG-74905 Change-Id: I78ca045d2723fa47dc2d0f9cc559320be84e5f32 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | Remove usages of deprecated APIs from QDateTimeSona Kurazyan2019-06-277-14/+14
|/ / | | | | | | | | | | | | | | | | | | | | | | - Replaced QTime by QElapsedTimer, because of the usage of QTime::start() and QTime::elapsed() methods, which are deprecated. - Replaced the deprecated QDateTime::toTime_t() with QDateTime::toSecsSinceEpoch(). Task-number: QTBUG-76491 Change-Id: I625ce6bbc2718cd3c1b4905fecef9d75fdbab618 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* | Merge remote-tracking branch 'origin/5.12' into 5.13v5.13.0-beta3Qt Forward Merge Bot2019-04-1333-1225/+906
|\| | | | | | | Change-Id: Iff501d1162491fafeb9aaf0a68927ade79b3b6e7
| * Say hello to Qt Android Sensors based on NDK APIBogDan Vatra2019-04-1133-1225/+906
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Until Qt 5.9, we had to use JNI way because the NDK sensors API was introduced in API-16. Starting with Qt 5.9 we can safely use the NDK API as API_16 is the minimum API supported by Qt. Using the NDK API instead of JNI boost the performance a lot! The CPU usage dropped 2 to 4 times, from over 60% using the JNI to less than 20%. [ChangeLog][Android] Rewrite Qt Android Sensors using NDK API. Change-Id: If3e3f1e56973e2a189662912b2a6ebfbd71dee14 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* | ios: silence warning (-Wobjc-interface-ivars)Richard Moe Gustavsen2018-11-151-2/+3
|/ | | | | | | | | Move the variable to the implementation section to silence: "warning: declaration of instance variables in the interface is deprecated" Change-Id: I2381995d4fdaea83e0af6687faa140b249da3e3d Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Android: Implement calibrationLevel for QCompassReadingAndy Shaw2018-10-311-6/+10
| | | | | | | | | [ChangeLog][Platform Specific Changes][Android] QCompassReading::calibrationLevel now returns a valid value when possible. Change-Id: Ia7b6af9fc14d4edc4ce04af251eb29c84f08b957 Reviewed-by: Alex Blasche <alexander.blasche@qt.io> Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* sensorfw: Fix initial proximity sensor state evaluationSimo Piiroinen2018-09-042-8/+21
| | | | | | | | | | | | | | | | | | | | | | The sensorfw plugin assumes that both proximity state query and change notifications use the same withinProximity boolean type values. Because the state query actually returns integer distance, the initial value visible in for example QML ProximitySensor is logically reversed from what it should be and it requires one or two sensor state transitions before changes get notified in the expected manner. Evaluate initial proximity state as "distance" value where zero means that the sensor is covered. Also use the initial value to setup the cached previously seen value instead of blindly assuming that sensor is not covered. As suggested in sensorfwd documentation: Switch from deprecated dataAvailable() signal to reflectanceDataAvailable() signal. Signed-off-by: Simo Piiroinen <simo.piiroinen@jollamobile.com> Change-Id: I49e5607134848dc3c72e79733321df6251b7df52 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* Fix device orientation angles provided by QTiltSensorAndre de la Rocha2017-12-271-24/+5
| | | | | | | | | | | | | | | The device orientation angles provided by QTiltSensor were being incorrectly calculated from the accelerator sensor measurements, in all supported devices. This resulted in a restricted range of values reported for the roll angle, thus making non-equivalent device orientations, like a tablet lying horizontally with the screen up, and the flipped configuration with the screen down, report equivalent orientation angles, making it impossible to distinguish between them. Task-number: QTBUG-57898 Change-Id: I82c1d4d2c1eab435f389b89dbb537fa7b349cbf1 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* Merge remote-tracking branch 'origin/5.10' into devLiang Qi2017-11-201-1/+1
|\ | | | | | | Change-Id: I11b81861a0dcd8380374060161550690812ff96d