| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In such cases a disconnect() call never receives a system callback that
BluetoothGatt is disconnected. Similarly when the timeout hits
the platform sends an unknown error code 133 and again doesn't send
a disconnected status.
This patch works around both issues by preempting the platform behavior.
It seems that subsequent connect attempts are not harmed by this.
Change-Id: I14326c9169f8c1cbbe8aa11de62ca807e79f4975
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
| |
There is no need to go around the event loop. Furthermore there is no
signal "void error(QLEHandle)" in QLEService. The signal is
void error(QLEService::ServiceError)
Change-Id: I53e9eb9b82cff38b15edab524329fa98206ab27b
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|
|
|
|
|
| |
Change-Id: I1c7f0491506c6f0512d097a419660c5f5e7fb144
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
startHandle and endHandle were randomly initialized and thus
QLowEnergyControllerPrivate::serviceForHandle(..) failed at the same
rate.
In addition this adds a few debug logs which turned out useful when
debugging the above issue.
Change-Id: I41b65274213a66fa100d8c69bba02be0bb876b65
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
Currently only the WriteWithResponse mode works and has been tested.
Change-Id: I7947b67f737f5878a01704c09d3a9a532a41b820
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Quick disconnecting and reconnecting caused some bugs and revealed some
unreliabe API behavior on Android.
The internal data structures were never cleaned up when disconnecting
from the remote device. If multiple QLEService objects of the same
QLEController instance requested a service discovery, every request
but the first failed. This was fixed by queueing up the service
discovery requests.
Last but not least, reusing the same BluetoothGatt
instance for the reconnect is very error prone. It may well be caused
by Android API bugs. The reconnect would sometimes fail
or toggle the connect/disconnect flag a couple of times which
is not a problem for the Qt API itself but the stability of the related
unit test (see tst_QLowEnergyController::tst_concurrentDiscovery()).
Therefore we won't reuse the same BluetoothGatt instance but rather
request a new one.
Change-Id: I314f2a30960284b9bcd4926f4944c415a6d75788
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
At the same time this fixes bugs the following bugs:
1.) Non-readable characteristics were not visible
2.) Crashes when descriptor/characteristic values were empty
3.) QLEService::discoverServiceDetails always finished with an
UnknownError
Missing/incorrect are still service details such as included services and
the service type (which currently always defaults to primary service).
Change-Id: Id73013a3784cd3c3f632102f13f5459ab37e95a6
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
Although this makes the lowenergyscanner example functionally complete,
descriptor data and service meta data are still not accessable via the
Qt API.
Change-Id: Ifb84010b4fea054357c07424ac30116d1e4f9de0
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
| |
Primarily the change adds the required data structures and interfaces
on the Java side. What is missing is the reporting of the discovery
details back to Qt.
Change-Id: I37f2e17bb0f87b4c526f1b43a933b9b09b22be72
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|
|
|
|
|
| |
Change-Id: Ia39e2ad21b0e84cb16a355337370ba82a11b75d0
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In addition we restrict the emission of disconnected()
signal on Android to those cases when we had an established
connection.
[ChangeLog][QtBluetooth][QLowEnergyController] QLowEnergyController::ConnectionError
enum value added.
Change-Id: I3602e303e61a872855925a26e695f2bc880cf540
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
|
|
and keep tracking the connection state
Change-Id: If4d05fa18c78802ae06096884fba78eed123e77f
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
|