device autoprobing and changig bluetooth handling

Jan Schubert Jan.Schubert at GMX.li
Sat Mar 2 15:24:01 PST 2013


Hey guys, I see a strong need for a more userfriendly handling of
downloading dives from dive computers and would like to start a
discussion about this.

Mainly I'm adressing the need to know the device name which is no issue
for us in here but for "normal" divers this is something as explaining
rebreathers to Linus :-).
In the long run I'd like to see the device name filed dropped completely
or moved to an expert/advanced submenu as there is just no need and it
is not common to use them in other dive log software. In fact,
specifying such technical stuff is for sure an indication that the UI is
driven by developers.

Here are some of my thoughts:

Knowing which connection type to use - USB or Bluetooth, do we also have
IR? - should be defined by the selected divecomputer and easily known to us.

Autoprobing USB ports and devices should be not that tricky!? I guess
there is some way of recognizing active USB ports and autoprobing all of
them, one by one or also in parallel. In rare cases where someone has
connected several dive computers at once we should add a disclaimer
saying he should not do so or have an expert menu for specifying the
port manually (might also be needed in other cases?).

Things gets more complicated when we talk about bluetooth. Autoprobing
of typical Bluetooth ports should also be possible, but as of now there
is a need to do some nasty manual work before the box is setup to use
such a port. Not sure if you have read the corresponding section 4.3 in
the user manual, but IMHO setting up bluetooth is a PITA in Linux. And
also using Windows it is much more complicated to download from
Shearwater Predator to Subsurface than using the Shearwater Desktop
where the user has to specify just nothing at all and also do not have
to pair the unit before. Same is true when using JDiveLog, they seem to
use some Java Bluecove bluetooth stack doing all the work. I've not been
able to get it running so far but it is said, that it is just working
without the need for pairing before. And things go worse in Windows: In
my (only) experience using Subsurface on Windows it turned out that
pairing the Predator with Windows prevents downloading in Shearwater
desktop, so this might fall back to Subsurface as users will for sure
use both application on Windows at least for some time.

So you see, lots of reasons to have to think about this and question is:
Is there some C library or something else which we could use to ease up
using bluetooth devices in Subsurface? In fact I'm not sure if the way I
do it (pairing before...) and also specified as such in the user manual
is the correct one. It works but there has to be an easier way to do so.
So is there are more experienced people around please come up with your
suggestions, I'm more than willing to try other ways.

That said: I also have the feeling that the Shearwater Predator itself
might be at little bit itchy when it comes to bluetooth. There is also
indication from users running Windows that there is a reason for
Shearwater to deliver their own Bluetooth dongle together with their
dive computers.

What do you think?

//Jan


More information about the subsurface mailing list