Subsurface-mobile dc downloads

Dirk Hohndel dirk at
Wed Jan 6 07:21:37 PST 2016

On Wed, Jan 06, 2016 at 12:27:23PM +0200, Willem Ferguson wrote:
> Dirk,
> Two issues.
> 1) In the old days many phones only acted as mass storage devices and did
> not have the ability to act as USB bus master or host. I did a bit of
> hunting round the Internet and it looks like Android devices after 3.1 can
> act as bus masters or OTG hosts. Do you have more specific information about
> this at all? and iOS? I ask this because I assume that bus mastering is
> critical to communicate with a dive computer.

It's not so much about bus mastering, it's about how the connector is
wired. You need to provide power TO the connector if you want to be a USB
host instead of just a USB gadget. It seems about half of the phones
support this, with a higher share in the higher end phones, but it's
actually fairly random. Search for USB OTG (on the go). You also need a
small adapter cable.
I have a couple of these cables and four out of my five Android devies
support USB OTG.

On iOS I believe the correct term is we are SOL :-)
(but I'll admit that I have never researched this any further).

> 2) I plan to be starting to do some patches on the dc download code starting
> in about a week from now. I had many problems. I could not install ccmake,
> had to unisntall cmake and then reinstall it. A json .so file also caused
> tremendous problems for some reason. Hope it does not affect Subsurface on
> my laptop because I think the html download of dives involved json.

JSON is a data format. Not sure what went wrong there. ccmake is simply
one of the cmake utilities, depending on your distro you just need to
install an additional package.

> Also, I am brushing up my C++. It is such fun to see the increasing
> sophistication of code modularity, having ground my undergraduate teeth
> on Fortran, and having gone through Pascal, C, C++, Java and now the
> fairly extreme module separation as implemented with signals and slots
> in Qt: QML and the Qt .ui file approach differ vastly.  I hope the
> binding of QStringLists inside the C++ with the QML models holds, so
> that when the underlying stringlists are modified, the display is
> updated at the same time. So during the next week I want to get
> Subsurface-mobile to run on my laptop and I want to finalise the C++
> component of the first push of code that does the selection of the dc
> vendor and model.

That sounds excellent.

My experience with QML so far:

Agony, pain, frustration, desire to yell obscenities, followed by awe
about how brilliantly easy things are one you stumble into the correct way
of handling them :-)


More information about the subsurface mailing list