Subsurface interface with libdivecomputer

Jef Driesen jef at libdivecomputer.org
Thu May 21 02:49:09 PDT 2015


On 2015-05-19 20:57, Salvador Cuñat wrote:
> 2015-05-19 10:50 GMT+02:00 Willem Ferguson 
> <willemferguson at zoology.up.ac.za>
>> Dirk you are absolutely correct. I ran universal after your last mail,
>> above, and the events are not shown in the xml, even though I see them
>> clearly in the binary dump. So the problem is on the libdivecomputer 
>> side.
>> At least I have eliminated Subsurface as the cause of the problem. I 
>> should
>> have run universal earlier.
> 
> Back in march Jef introduced some changes in uwatec_smart_parser.c,
> specifically, he turned off gasmix support for galileo devices with 
> trimix
> firmware, so, if your DCs are trimix you won't have gasmix events 
> althoug
> recorded by the galileo.

That may indeed be the problem. The good news is that I already do know 
where the gas mixes are stored for the trimix. They are no longer in the 
header, but in one of the unknown sample types. This is still work in 
progress.

> There is another posibility, as far as had understood libdc code.  I 
> think
> you have to set more than one mix in the galileo, (even although they 
> were
> the same mix) for libdc to detect them.  So, if you were doing, e.g., a
> sidemount dive with the same mix in both tanks and you have set only 
> one
> mix you won't have gaschange events too.

That's another thing. Internally Uwatec stores the id of the gasmix, but 
currently the libdivecomputer api delivers only the o2/he percentages, 
so you can distinguish between two identical mixes.

This mistake will be fixed in the near future. The implementation is 
already done, but I haven't applied it yet, because it breaks backwards 
compatibility.

An intermediate solution might be to introduce the new DC_SAMPLE_GASMIX 
api right now, but maintain the old gaschange events in parallel. The 
old gaschange events will become deprecated, but applications using them 
will continue to work as before. And once v0.5 is out, we can finally 
remove the old events.

Jef


More information about the subsurface mailing list