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