On 13/11/2023 01:44, micha via subsurface wrote:
Option 4 :  Figure out why Subsurface is importing a "gaschange" event
to a third cylinder instead of assigning it to one of the cylinders with
transmitter values attached.

That's easy to answer. You have 4 configured gas mixes:

     1. (off) 99/00
     2. (off) 51/00
     3. (ON) 32/00
     4. (off) 21/00
     5. (off) 0/0  (never configured a fifth mix, so this is still the
original default)

And you also have two transmitters T1 and T2.

Now, because there is no information present to be able to link a transmitter to the corresponding gas mix, subsurface simply links them one to one (e.g. gas 1 with transmitter 1, and so on), and you end up with 4 tanks:

1. EAN99 (with T1 data attached)
2. EAN51 (with T2 data attached)
3. EAN32 (attached to an initial invisible-in-the-UI "gaschange" event
which is in the Subsurface computer dive log at time 0:10, the same time
as the first log event from the dive computer).

But the dive computer does report the dive starts with EAN32, and thus there is also a gaschange to this gas mix present. That's why subsurface considers this cylinder in use. The other two cylinders are not considered in use, because there were no gas changes to EAN99 or EAN51. But there is of course pressure still data for them.

The extra 4th tank will get Air as mix. Depending on your subsurface settings, this one might remain hidden in the UI because it's not used in any way (no gas change and no pressure data).

Of course, if I've done something wrong with configuring Subsurface or
my Dive Computer, I'd be more than happy to fix the errors of my ways,
but long previous discussions have led me to believe it's an issue with
the way Subsurface and libdivecomputer import dives and assign gas mixes
to tanks, in combination with the Shearwater protocol not supplying
information as to which gas mixes are active and which are inactive.

There is nothing wrong on your side. The main problem is indeed the fact there is no direct link between gas mixes and tanks in the Shearwater data format. That means subsurface has to guess, and in some cases that goes wrong.

But what makes this situation even worse here, is that I assumed the on/off status of the gas mixes isn't present in the data. The result is that always all 5 gas mixes are reported (unless their He/02 content is reset to 0/0). Of course, the more gas mixes are present, the higher the chance the linking goes wrong, especially when those excess gas mixes are first in the list.

Looking again at the documentation, it seems the on/off info is actually present. I just never noticed its presence. Probably a feature that was added in a later firmware version? So that means we can hide those EAN99 and EAN51 mixes! That won't solve every case, because subsurface still won't know what gas mix is in your second tank (*), but it should already be a nice improvement.

(*) In libdivecomputer master there is already a sidemount flag that could help subsurface to figure this out too.

@Micha: Can you do a full download of your dives with both the "Force download of all dives" and "Save libdivecomputer logfile" checkboxes enabled, and send me the log? I would like to have a look at your dives to implement this fix. After the download you can simply cancel without re-importing any dives into your logbook.

Jef
_______________________________________________
subsurface mailing list
subsurface@subsurface-divelog.org
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to