GSoC Project: Native Bluetooth support for Linux and/or Windows

Dirk Hohndel dirk at hohndel.org
Mon Mar 9 07:38:48 PDT 2015


> On Mar 9, 2015, at 7:36 AM, Jef Driesen <jef at libdivecomputer.org> wrote:
> 
> On 2015-03-09 14:12, Lubomir I. Ivanov wrote:
>> i'm not very familiar with this GSoC idea and bluetooth in general.
>> "Subsurface and the underlying libdivecomputer today use the rfcomm
>> emulation to communicate with Bluetooth enabled dive computers. We
>> should use native Bluetooth instead"
>> https://msdn.microsoft.com/en-us/library/windows/desktop/aa362932(v=vs.85).aspx
>> you probably know that BTLE support is Win8 or newer, BT2.1 is since
>> Vista SP2, while we need to support Windows XP (SP1 first introduced
>> BT) in Subsurface which has to be done with things like the WinSock /
>> RFCOMM API, i'd say.
>> hmm, so i wonder what is "native Bluetooth support", does that imply
>> writing a device driver for Windows that is installed by Subsurface.
>> for instance i don't think that BNEP and L2CAP are accessible from user space...
> 
> On the libdivecomputer side, "native bluetooth support" means using the operating system' native bluetooth api instead of relying on the serial emulation. My main motivation behind that (besides the improved user-experience of no longer having to setup the virtual serial ports) is that the serial emulation isn't always working very well. I have received several reports (including from personal experience) where downloading always fails for unknown reasons. Those problems disappear completely when switching to native bluetooth communication. I suspect this might be a driver problem, but I don't know for sure.
> 
> Linux and Windows provide a socket based api, which is exactly what I used in my prototype. Right now we only need SPP/RFCOMM (Serial Port Profile). That's what the bluetooth enabled dive computers (Shearwater Petrel, Heinrichs Weikamp OSTC Sport) use today. It's also the protocol used underneath the serial emulation.
> 
> I don't have any experience with Bluetooth Low Energy (BLE). But as far as I'm concerned that's not a priority. Let's go step by step and take care of "normal" bluetooth first :-)

The first dive computers with BLE are out, more are coming. I haven’t seen one, yet, that is BLE only, but I wouldn’t be surprised if those were “just around the corner”.

/D


More information about the subsurface mailing list