summaryrefslogtreecommitdiffstats
path: root/examples/bluetooth/lowenergyscanner
Commit message (Collapse)AuthorAgeFilesLines
* Modify point when lowenergyscanner remembers found BTLE devicesAlex Blasche2019-08-071-5/+7
| | | | | | | | | | | | | | | Technically speaking, nothing really changes in the application. However devices found, when QBluetoothDeviceInfo::deviceDiscovered() is emitted, may not have the complete set of data for a given device. In particular, rssi and manufacturer data changes happen later. Later changes to the example may want to display these transient types of information at which point this change becomes essential. It makes the app simpler to adopt for testing purposes too. Change-Id: I119b6e80a9a92b16de2d3e6792132ceb06b577a4 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: André de la Rocha <andre.rocha@qt.io>
* Update Bluetooth examples for high-DPI displays and nullptrAndre de la Rocha2019-06-062-6/+7
| | | | | | | | | This change sets the Qt::AA_EnableHighDpiScaling application attribute. It also uses nullptr to initialize pointers and adds a trivial optimization to the low energy scanner example. Change-Id: Ia923573ad78108a2a6a72be4c0948ea97a7ec094 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Merge remote-tracking branch 'origin/5.11' into 5.12Qt Forward Merge Bot2018-08-301-2/+6
|\ | | | | | | Change-Id: I20db491b185972148ad3fbe6953e5d6ce2889a7f
| * Provide more informative error messages in the BLE Scanner exampleShawn Rutledge2018-08-211-2/+6
| | | | | | | | | | | | | | | | | | QMetaEnum helps us avoid writing separate strings for each error description; it's not very verbose but it's way better than saying that most of the errors are "unknown". Change-Id: I61aaf3be6982a2987aabfa6be3192e1afb7df17a Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Cleanup lowenergyscanner example with clang tidy and clazy helpAlex Blasche2018-08-249-45/+37
| | | | | | | | | | Change-Id: Iaaf169b1ac9b3d4c348d9cabf737b395198a921f Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Remove direct usage of QLowEnergyController::ctorAlex Blasche2018-08-211-1/+1
| | | | | | | | | | | | | | | | QLowEnergyController::createCentral() is the official API to do the same. Change-Id: Idbd26d201b24add6697f6f9cdf1194511c160273 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Replace foreach with for loop and set QT_NO_FOREACHOliver Wolff2018-08-152-3/+4
|/ | | | | | | | To avoid unnecessary copies, const is used wherever possible. Change-Id: Ic743716512751cfd24fad5bd37c244b115dd26fe Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Merge remote-tracking branch 'origin/5.9' into 5.11Liang Qi2018-02-181-1/+1
|\ | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I5dcafa278c0c51bc3d540ab46320e5a21ef51115
| * Fix stalling at characteristics updating in Low Energy Scanner exampleDenis Shienkov2018-02-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | The method device.connectToService() can be finished quickly and Device::characteristicsUpdated() can be triggered before than the Characteristics.qml page will be loaded. Therefore we will get stuck in "Scanning for characteristics..." state. So, we need to call the device.connectToService() after loading of the Characteristics.qml page. Change-Id: Ic5c790f6f8dbeeae1e368c8a1c8ad8fb12a57087 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2017-10-3016-45/+205
|\| | | | | | | Change-Id: Iaa053dcb125490ee1e83d7e27cb75d4171297b9f
| * Fix outdated BSD license headerKai Koehne2017-10-1716-45/+205
| | | | | | | | | | Change-Id: I28f5936913a6127806325df34af4bf71a142e72e Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Merge remote-tracking branch 'gerrit/5.9' into 5.10v5.10.0-beta3Alex Blasche2017-10-171-5/+5
|\| | | | | | | Change-Id: I84bfe86751c27eabb4e75912ae3c0b4d3781faf1
| * Fix outdated FDL license headerKai Koehne2017-10-161-5/+5
| | | | | | | | | | Change-Id: Ia26b0bf499f8a0b6040e82bc1d460bee688bfbf6 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Rename qbluetoothglobal.h to qtbluetoothglobal.hOliver Wolff2017-08-302-1/+1
|/ | | | | | | | | | | | | ... and deprecate the former. By doing so we get the header file in line with other modules - see qtnetworkglobal.h for example. The include is not used in the examples so it is removed there. Change-Id: Ie6267738d4a45e45a0350d458a40654d8a952f4a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* lowenergyscanner: Use new connect syntaxOliver Wolff2017-07-041-18/+18
| | | | | | Change-Id: I87047bbc8b777f597ac4843c0c5466489d764f46 Reviewed-by: Alex Blasche <alexander.blasche@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Restrict the BTLE examples to Low Energy use casesAlex Blasche2016-12-071-1/+2
| | | | | | | | This change vastely descreases the search time. There is no need to perform a traditional SDP scan too. Change-Id: I63d7e16dca77fb1b1db42bb330f91e917a9dd054 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Reduce platform specific code linesAlex Blasche2015-05-121-9/+2
| | | | | | | | | | | | QLEController(QBluetoothAddress) ctor is not usable on iOS and OSX. On those platforms we have to use QLECOntroller(QBluetoothDeviceInfo). We mark the QBluetoothAddress based ctors of QLEController obsolete and remove most uses of them. This cleans up some ifdefs throughout the QtBluetooth code base. Change-Id: Ibe1e3fa271a29461e39fc3c0eeba7a910a250077 Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
* Don't remain on Service list page if the BTLE controller disconnectedAlex Blasche2015-03-311-0/+4
| | | | | | | | When a disconnect happened, this change ensures a more consistent UI flow. Change-Id: I0faafd79ac82b701a35d43d43c04bf211d8cd803 Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
* Don't mix pixel and point sizeAlex Blasche2015-03-312-2/+2
| | | | | | | | | | | The view is rather obscured because of this. Every other font size in this example uses point size except for these two elements. This mix of point and pizel size is not permitted. There seems to be a warning and probably related change in Qt 5.5 as well. Change-Id: I36a7e9f1648d23f5bc737393ae735bbc7d04b494 Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
* Update copyright headersJani Heikkinen2015-02-1617-67/+67
| | | | | | | | | 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: I3822a6484e8f7a420330de1cb1aeb0c3d1cf41b7 Reviewed-by: Sergio Ahumada <sahumada@texla.cl>
* Bluetooth example - lowenergyscanner (OS X and iOS)Timur Pocheptsov2014-12-053-0/+15
| | | | | | | | | Core Bluetooth hides addresses and uses unique UUIDs instead. This patch updates/adjusts lowenergyscanner example to work with UUIDs on iOS and OS X instead of (empty on these platforms) device addresses. Change-Id: Iad0b35250f434b736616fe60e356f2088e6dc279 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2014-11-274-10/+10
|\ | | | | | | Change-Id: I6c1eabeea1b3397803e285d13cef147220ff5aa4
| * Improve lowenergyscanner status reportingAlex Blasche2014-11-244-10/+10
| | | | | | | | | | | | Change-Id: If6fccce951c2f3c3787cde2fa593e65da26f4370 Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com> Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* | lowenergyscanned - update example (iOS and OS X)Timur Pocheptsov2014-11-251-0/+4
| | | | | | | | | | | | | | | | With Core Bluetooth low energy controller must be created using device info, not address (which is invalid on OS X and iOS). Change-Id: I30cb3a061e2cd882981d7e65d636c63e57c36f8e Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* | More lowenergyscanner example fixes.Alex Blasche2014-11-112-2/+13
|/ | | | | | | | | This fixes a UI display bug and a hanging UI when the service discovery aborts with an error. Change-Id: Ic84d7b885d777360c8f1396e3973623c1d2c550a Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com> Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* Force lowenergyscanner to show empty list if we did not find servicesAlex Blasche2014-10-301-0/+3
| | | | | | | | | | Previously the UI was only updated when a new service was discovered on a device. In the extremely rare event of no services being found the UI was hanging in the "Searching for services" view. Change-Id: I245216ac4e373a765dea2e182ab541e8830417d0 Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com> Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* Fix lowenergyscanner ui bugs when QLEController connection errorsAlex Blasche2014-10-293-1/+28
| | | | | | | | | | | | | | | | | | 1.) The QLEController may error out during connectToDevice() which does not require the eventloop to run. At the same time the services view is not yet loaded. Subsequently the services view never notices the errors and loads as if the controller is still trying to connect. 2.) The services view can only be left when a disconnect() signal is received. During a connection error the disconnect never happens because the connect never happened. Artificially introduce a disconnect() when the controller is not connected but disconnect was called by the UI. This part should be cleaned up to properly allow tracking of the controller's state in the future. Change-Id: I2cbd90d55b5e70fb275a8f4563d9436419874e6d Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com> Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* Fix lowenergyscanner when dealing with device scan errorsAlex Blasche2014-10-283-4/+16
| | | | | | | | | Previously the error was indicated but other UI elements were still giving the impression that the scan was ongoing. Change-Id: Iafab8f43bff3303eb6ad5e3385db2f81288d2e66 Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com> Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* Remove QLowEnergyServiceInfoAlex Blasche2014-09-031-1/+0
| | | | | | | | There is no need for this class anymore as QBluetoothServiceInfo covers the same information. Change-Id: I411a8abb68b34a3a4893a67ee9fac096f44bbd62 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Add support for random vs public address selection to lowenergyscannerAlex Blasche2014-09-027-10/+70
| | | | | Change-Id: I963f47f0089d072249b73bdfb0c715d43186b08d Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Update and extend the lowenergyscanner example docsAlex Blasche2014-08-258-3/+121
| | | | | Change-Id: I0be30191cbceb963c7e1bfd7e55a1f2f38772d5f Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
* Detect secondary services and display service type in lowenergyscannerAlex Blasche2014-07-233-0/+27
| | | | | | | | QLowEnergyService::ServiceState was converted to a flag because a primary and secondary service can be included by other services. Change-Id: I425ce8e3f39ee07cccee2763b57a049a624f6178 Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
* Characteristic and descriptor value() are no longer hex encodedAlex Blasche2014-07-231-5/+4
| | | | | | | | | | | | | There is no point converting the data to its hex representation. The use case at hand will decide it in the current application context. The returned QByteArray is the raw byte array as it comes from the device. This behavior was legacy (introduced by the previous API) and subsequently it was simply adopted. Change-Id: If662c02a5e3c3d37cccb374add02e75522352894 Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
* Rename QLowEnergyControllerNew -> QLowEnergyControllerAlex Blasche2014-07-232-8/+8
| | | | | | | | Moves the new API into its place and completes the removal of the old API. Change-Id: I10a285e24e288aeb747cb1606574e27a4bf57308 Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
* Minor anchor optimization pointed out during code reviewAlex Blasche2014-07-171-2/+1
| | | | | Change-Id: Ia83faca0a48174e1faf47491b22db636200f5ea8 Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
* Various improvements to lowenergyscanner exampleAlex Blasche2014-07-164-20/+43
| | | | | | | | | 1.) Improves UI flow 2.) Improves error behavior (e.g. device disconnects) 3.) Adds missing signal/model updates whcih caused unexpected UI flow Change-Id: Icc7edf4945df0e964b5c91b407ce5976a1585b81 Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
* Improve qlowenergyscanner example UIAlex Blasche2014-07-157-46/+60
| | | | | | | | This patch improves the UI. The changes will be validated against a high DPI device at a later stage. Change-Id: Iac15941dd983fb65cc5f3ccf6803c2e95d43c3b4 Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
* Port lowenergyscanner example to new APIAlex Blasche2014-07-1513-149/+260
| | | | | | | | Some minor improvements have been incorporated too but the focus is on the port. More code and UI cleanups are required. Change-Id: I56f226b8418b78190d498df04d67686220a3644e Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
* Make lowenergyscanner example compile after recent API changesAlex Blasche2014-06-111-1/+1
| | | | | | | The handle of a characteristic is not longer a string but a number. Change-Id: Ic580ec8e365076704192a466cca9a6bf06786f58 Reviewed-by: Aaron McCarthy <mccarthy.aaron@gmail.com>
* QBluetoothDeviceInfo::coreConfiguration() should return the QFlagAlex Blasche2014-06-041-1/+1
| | | | | | | | | Function name was slightly adjusted to reflect the fact that it's a flag. Change-Id: I9c1a2fe64b93c7ae7bd826d856f8b87f985d7473 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* Rename permission related API in QLowEnergyCharacteristicInfoAlex Blasche2014-06-041-1/+1
| | | | | | | | | | | | | | 1.) Rename QLowEnergyCharacteristicInfo::Property to QLowEnergyCharacteristicInfo::PropertyType 2.) Rename permissions() to properties() 3.) Return PropertyTypes as return value for permissions()/properties() Change-Id: I5c4037876047354fd691cadc54d3ac6098db4522 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* Added and improved error handling in controller classNedim Hadzic2014-03-252-5/+6
| | | | | | | Error enums added and implemented together with examples. Change-Id: I912c396080ee9a6b87f41104eb7e41f8c62abf8b Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* Cleanup of BtLE codeAlex Blasche2014-03-151-0/+2
| | | | | | | | | | 1.) Remove dead pieces of code 2.) Fix warnings 3.) Optimize some code lines Change-Id: I952fe34e8966a501a54c9ef42e9624c1fc46a2a1 Reviewed-by: Nedim Hadzic <nhadzic@blackberry.com> Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* BLE scanner search bar fixNedim Hadzic2014-03-103-4/+17
| | | | | | | | During device scan, search bar was gone after device is added and device scan was not yet done. Change-Id: I39bd7fc1c3f8c22a93921313d818ba1cd00363a0 Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* Lowenergyscanner example improvedNedim Hadzic2014-02-2712-57/+82
| | | | | | | Error handling improved, code styling improved. Change-Id: I1f35c6a6ef9641cb445fdbe55e0127b554e50ebc Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* Renaming QLowEnergyServiceInfo methodsNedim Hadzic2014-02-212-5/+5
| | | | | | | | | Ensures that QLowEnergyServiceInfo and QBluetoothServiceInfo are more alike. Tests and examples updated as well. Change-Id: I0f6a97900891a9673f99578bdc8d156a8c403513 Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* Show characteristic values with proper encoding in LEscanner exampleAlex Blasche2014-02-202-4/+6
| | | | | | Change-Id: I7f5fceae5d47e62d9b26fbced0cf73abe8d18d23 Reviewed-by: Nedim Hadzic <nedimhadzija@gmail.com> Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* Fix incorrect license header.Alex Blasche2014-02-201-1/+1
| | | | | | Change-Id: If58d69ea4afb6418d60b3e0b6e9fef10ae09c055 Reviewed-by: Nedim Hadzic <nhadzic@blackberry.com> Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* Implemented Bluetooth Low Energy: examples documentationNedim Hadzic2014-01-143-0/+40
| | | | | | | | Added documentation for lowenergyscanner example together with two screenshots. Change-Id: I3615ffee26edd5b2ce75e93adc940ba9d272f072 Reviewed-by: Fabian Bumberger <fbumberger@rim.com> Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* Implemented Bluetooth Low Energy: examplesNedim Hadzic2014-01-0918-0/+1504
Examples which illustrate how to use BLE API are implemented. First example is an application for discovering LE devices, services and characteristics. Change-Id: Ic144c78499b74934541837df9a53183b4e7e32f7 Reviewed-by: Alex Blasche <alexander.blasche@digia.com> Reviewed-by: Fabian Bumberger <fbumberger@rim.com>