On Thu, Jun 29, 2017 at 10:06 AM, Dirk Hohndel <[email protected]> wrote:
>
> I finally had a chance to try the latest Android APK to download from my
> Perdix AI.
>
> I bonded with it from the Nordic app. Looking at the AppLog in
> Subsurface-mobile, I see that it is 'paired' (shows up as Perdix).
>
> connecting to Uuid "{00001101-0000-1000-8000-00805f9b34fb}"
>
> but then... connecting via insecure rfcomm - so that's not LE

So I think the mobile scanning code needs to the same thing that the
desktop scanning code does. See commit d0c3ef4c ("Bluetooth: make
LE-only devices add "LE:" as an address prefix").

+               QBluetoothDeviceInfo *deviceInfo =
selectedRemoteDeviceInfo.data();
+               QBluetoothDeviceInfo::CoreConfigurations flags;
+               QString prefix = "";
+
+               flags = deviceInfo->coreConfigurations();
+               if (flags == QBluetoothDeviceInfo::LowEnergyCoreConfiguration)
+                       prefix = "LE:";
+               return prefix + deviceInfo->address().toString();


> So what am I missing to make sure this is using BLE instead of BT?
> Do I need to recognize this as BLE only dive computer during scanning?
> Since it calls itself Perdix (and there is an older BT only Perdix), I
> wonder what the right way would be to do this?

See above: the scanning code already knows whether the devices
supports BT, LE or both.

That "QBluetoothDeviceInfo::LowEnergyCoreConfiguration" means that it
*only* supports LE, so it adds the "LE:" prefix, and that's what
disables rfcomm.

                 Linus
_______________________________________________
subsurface mailing list
[email protected]
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to