Eon Steel only downloading 16 out of 19 dives

Linus Torvalds torvalds at linux-foundation.org
Tue May 19 11:15:20 PDT 2015

On Tue, May 19, 2015 at 2:38 AM, Anton Lundin <glance at acc.umu.se> wrote:
> I rather thought that you write a custom dump format which where you
> pretend to run a full download of all dives, and write those packages
> into a dump buffer, for you to later debug and verify the download
> process.


I have this hacky thing where I encode the divetime from the dive file
name into the "dive buffer", because libdivecomputer separates out the
"read dives" from "parse dive buffer" phases, and the EON Steel really
ends up spreading out the information (and the time is more
conveniently encoded in the filename, although it *is* also in a very
odd format in the dive data later).

But that just makes each dive one single self-contained blob (with a
magic added-by-me 4-byte dive time at the head).

libdivecomputer could easily save those blobs away, and have the "dive
data" that way.


Those blobs cover *none* of the other communication. In particular,
they do not cover any of the communication with the dive computer to
actually list the dives.

Which is clearly the problem here, if we only get 16 out of the 19 dives.

So there is no metadata in those blobs.

The easiest way to get all that metadata is to just change
src/suunto_eonsteel.c to simply log all the packets sent and received
from the dive computer (the "send_cmd()" and "receive_data()"
functions respectively.

Hmm. In fact, I guess you can already get it. There's left-over
debugging code in there, and you just have to enable logging
(ENABLE_LOGGING during the build) and make sure to set the log level
to enable debug messages.

It's going to be very noisy, but then I could try to figure out what I
missed in the EON Steel directory parsing..


More information about the subsurface mailing list