[TEST REQUEST] Windows Bluetooth LE build

Dirk Hohndel dirk at hohndel.org
Sat Sep 29 22:56:39 PDT 2018


Latest test binary:
http://subsurface-divelog.org/downloads/test/WINBLE-subsurface-4.8.3-12-g2952cd818617.exe

This basically removes all the Q_OS_WIN code and uses the Linux path for Windows:

Emit:  "DB:3B:75:83:D8:6E"
Starting download from  BT
qt_ble_open( DB:3B:75:83:D8:6E )
connected to the controller for device DB:3B:75:83:D8:6E
  .. discovering services
Found uuid: "{00001800-0000-1000-8000-00805f9b34fb}"
Found service "{00001800-0000-1000-8000-00805f9b34fb}"
 .. created service object QLowEnergyService(0x777bf90)
Found uuid: "{00001801-0000-1000-8000-00805f9b34fb}"
Found service "{00001801-0000-1000-8000-00805f9b34fb}"
 .. created service object QLowEnergyService(0x777bee8)
Found uuid: "{fe25c237-0ece-443c-b0aa-e02033e7029d}"
Found service "{fe25c237-0ece-443c-b0aa-e02033e7029d}"
 .. created service object QLowEnergyService(0x777bde0)
 .. done discovering services
Found service "{00001800-0000-1000-8000-00805f9b34fb}" "Generic Access"
Found service "{00001801-0000-1000-8000-00805f9b34fb}" "Generic Attribute"
Found service "{fe25c237-0ece-443c-b0aa-e02033e7029d}" "Unknown Service"
   c: "{27b7570b-359e-45a3-91bb-cf7e70049bd2}"
        d: "{00002902-0000-1000-8000-00805f9b34fb}"
        d: "{00002901-0000-1000-8000-00805f9b34fb}"
Using service "{fe25c237-0ece-443c-b0aa-e02033e7029d}" as preferred service
 .. enabling notifications
Using read characteristic "{27b7570b-359e-45a3-91bb-cf7e70049bd2}"
now writing "0x0100" to the descriptor "{00002902-0000-1000-8000-00805f9b34fb}"
QTime("22:52:48.325") packet SEND "0100ff010400228010c0"
QTime("22:52:48.325") packet WAIT
QTime("22:53:00.326") packet SEND "0100ff0105002e902000c0"
Deleting BLE object
Finishing download thread: "Dive data import error"


Looks great discovering services and stuff, but then we time out waiting for a response (and the Teric stays in “CMD WAIT” state).
But we find the device and clearly SOME communication is happening.

Subsurface asks us to pair and if we try to pair that fails (the code was hacked to still allow us to save that address). So my guess is that is where we still have problems (and yes, the Windows 10 Bluetooth manager lists the Teric as paired).

/D


From: Dirk Hohndel
Sent: Saturday, September 29, 2018 8:19 PM
To: Lubomir I. Ivanov
Cc: Subsurface Mailing List
Subject: RE: [TEST REQUEST] Windows Bluetooth LE build

Using the dreadful Windows Mail client… but hey, I get to copy and paste :-)

press <enter> to start discovery...

discovery started...
entering main loop...
qt.bluetooth.windows: Emit:  "DB:3B:75:83:D8:6E"
discovery finished
enumerate devices
-------------------------------
device # 0
addr: "DB:3B:75:83:D8:6E"
name: "Teric"
coreConfiguration: QFlags(0x1)
-------------------------------
done enumerating devices

enter a device # to connect to:
0
connecting to device # 0 ; address: "DB:3B:75:83:D8:6E" ...
Unimplemented code.
controller state changed: QLowEnergyController::ControllerState(ConnectingState)
controller state changed: QLowEnergyController::ControllerState(ConnectedState)

I’d call this fully successful :-)

Nice work, Lubomir.

/D

From: Dirk Hohndel
Sent: Saturday, September 29, 2018 6:51 PM
To: Lubomir I. Ivanov
Cc: Subsurface Mailing List
Subject: Re: [TEST REQUEST] Windows Bluetooth LE build


> On Sep 29, 2018, at 6:28 PM, Lubomir I. Ivanov <neolit123 at gmail.com> wrote:
> 
> this is a minimal Qt application that includes BT device discovery.
> 
> 1) it will first ask you to press enter to start
> make sure the BTLE devices are turned on / have battery.
> 2) it might take a while...

It sits there, nothing happens. Forever.

None of the below happens.

> 3) then it should dump a list of found devices each having a name and a #
> configuration legend (QFlags...):
>  - 0x0 -> unknown type
>  - 0x1 -> BTLE
>  - 0x2 -> BT classic
>  - 0x3 -> BT smart (can be either BT or BTLE)
> http://doc.qt.io/qt-5/qbluetoothdeviceinfo.html#CoreConfiguration-enum
> 4) in the console pick a # (e.g. 2) and press enter
> 5) it would then try to connect to the device.
> if it succeeds it should print out "ConnectedState", if it fails it
> should print something else.
> 
> please try your BTLE DCs and report the results.
> 
> this is a mandatory step if we want to continue with our improvements
> and it will narrow our guessing game.
> 
> thanks.
> lubomir
> --

_______________________________________________
subsurface mailing list
subsurface at subsurface-divelog.org
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.subsurface-divelog.org/pipermail/subsurface/attachments/20180929/3c08511c/attachment-0001.html>


More information about the subsurface mailing list