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 :-)
Jef
_______________________________________________
subsurface mailing list
[email protected]
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface