Which protocol to implement on a home brewed diving computer ?

Linus Torvalds torvalds at linux-foundation.org
Mon Mar 16 09:17:34 PDT 2015


On Mon, Mar 16, 2015 at 6:29 AM, Thomas Schrein (mailinglists)
<tsx508 at schrein.de> wrote:
>
> @Linus
> We are using the USB-CDC package from ST for our STM32F4. It comes with a
> driver for the PC that make a COM port, for linux it should work the
> standard linux kernel !? At the moment it is ok for us, but I am looking for
> a way to have the USB also work with PCs standard driver config.

That sounds fine. There are other dive computers that do the USB-CDC
thing, and of the serial alternatives it's probably the best option.
The worry for Subsurface tends to be mostly OS X, where drivers seem
to be spottiest.

I suspect BT would be more _interesting_ than USB, but much more
complicated, so you're likely doing the right thing. Do you have a
sane and non-fiddly connector?

> @Davide
> @Dirk
> I had also the idea to implement the dive computer as USB mass storage, but
> there a some more things to consider. In the moment we are looking for a
> straight forward way.

USB storage is a cool trick, and *can* in theory be done well, but is
much more likely to be a complete disaster. To be practical, you have
to basically look like a virtual FAT filesystem, and you have to set
up the whole thing to basically be read-only and static to be sane.
And it's *really* hard to do well (not because it's fundamentally
hard, but because it's so easy to screw any of a million small details
up). Uemis doesn't do the "read-only and static" part, and the end
result is a complete mess.

                     Linus


More information about the subsurface mailing list