Mares M1 data format

Jef Driesen jefdriesen at telenet.be
Tue Mar 27 09:56:44 UTC 2012


On 2012-03-27 10:47, Björn Spruck wrote:
> Am 27.03.2012 10:28, schrieb Jef Driesen:
>> Please note that the events as they exist now, are deprecated and 
>> will
>> be removed in the near future.
>
> "near" is order(month) or order(year)?

Usually I don't give time frames, because it greatly depends on the 
amount of spare time I have available to work on the libdivecomputer. 
And as many people, I'm always short of free time. Need to reserve some 
time to go diving/photography too :-)

But it should be closer to months.

> Anyway I think its worth adding this even so it will be removed 
> lateron.

I agree. If it's already in the code, it's less likely I'll forget to 
port it to the new api, whatever that will be :-)

> Is there some documentation of the internal formats (beside the
> decoding/parser sourcecode) yet?

Some formats were already documented, and I maintain links here:

http://www.divesoftware.org/libdc/links.html

I intend to cleanup and publish my internal notes on the 
libdivecomputer website some day, but at the moment I simply don't have 
the time for it. Anyway, the result should be something like this page I 
made for the Uemis:

http://www.divesoftware.org/libdc/uemis.html

> PS: for debugging it would be nice if one can re-parse an already
> downloaded dump. Is this foreseen somehow?

This is already possible today. I have written a dive computer 
simulator tool that emulates the communication protocol and serves a 
memory dump loaded from a file to an application. This is a great aid 
during development because it allows me to work without needing any real 
hardware. At the moment the simulator isn't available from the website, 
because it started live for internal purpose only, which means ugly (but 
functional) code. But if there is a demand, I don't mind sending it on 
request or even making it available for download as-is.

To use it you'll have to setup your development environment according 
to these instructions:

http://www.divesoftware.org/libdc/simulator.html

An alternative is to use the xxx_extract_dives() functions. These 
functions parse a full memory dump and extract the individual dives, 
like the device_foreach() does. In fact if an xxx_extract_dives() 
function is present, that means the device_foreach() function will call 
it internally. These functions were never intended to be used by 
applications, but they ended up in the public api for testing purposes. 
At some point these functions will be removed from the public api, 
because applications shouldn't use them. But we could always provide 
some configuration option to export them anyway for debugging builds, or 
something like that.

Jef




More information about the Devel mailing list