Subsurface interface with libdivecomputer

Dirk Hohndel dirk at
Thu May 21 06:11:43 PDT 2015

> On May 21, 2015, at 2:49 AM, Jef Driesen <jef at> wrote:
> On 2015-05-19 20:57, Salvador Cuñat wrote:
>> 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.

I thought that had been the plan all along…

And once 0.5 is out we should also talk about the things that are currently in the Subsurface-testing branch and haven’t made it into master. I’d love to not need that branch (or at least keep it as small as reasonably possible).


More information about the subsurface mailing list