Re: Shearwater imports - phantom cylinders when additional gas mixes are configured
Hi Jef, Thanks for your additional in-depth explanation! On 2023-11-13 19:48, Jef Driesen wrote: 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: Based on previous conversations, I was already aware of the assignment of transmitters to gas mixes on a 1:1 basis, working down from highest-to-lowest mix. Of course without any additional data linking transmitters to mixes there's nothing Subsurface can do to "get it right" (*1). I didn't know (or forgot..) that the "gaschange" event came from the computer reporting the 32% mix at the start of the dive. So that explains that... If Shearwater already reports the on/off status of gas mixes, then it seems adding support for that during the download will solve the vast majority of my issues without needing to add any additional fixes/tweaks. (*1) Of course, if I carry a deco mix as well as my sidemount tanks, Subsurface will still assign T1 to my deco mix and T2 to my sidemount mix.. unless, as you already mentioned, we can use the "sidemount" flag from libdivecomputer. I still think it'd be nice to expose the initial "gaschange" event in the UI so users can edit or delete it if they feel it's wrong. Maybe hide it by default but add a configuration option to show it? I can trivially implement this. @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? What's the best way to provide you with the log data? Attached to the mailing list here? Zipped or as-is? I already have a libdivecomputer log file of my last 5 or so dives, which contain the dives of interest. (*) In libdivecomputer master there is already a sidemount flag that could help subsurface to figure this out too. Adding a "Sidemount" the the "Dive Mode" list would be a nice addition to Subsurface, also for the Planner. Currently when I plan a sidemount dive, it complains I don't have enough gas.. because it only takes the first cylinder into account. Not a huge issue, but still, "nice to have". I guess I can take a look at it. Cheers, - Micha. ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: Shearwater imports - phantom cylinders when additional gas mixes are configured
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
Re: Shearwater imports - phantom cylinders when additional gas mixes are configured
On 10 Nov 2023, 22:41, Hartley Horwitz via subsurface wrote: [HH] I dive the same sidemount configuration, Shearwater Teric and Perdix AI set in tech mode, Sidemount AI feature enabled (you didn't mention if that's the case for you). I also dive with a 3rd cylinder (deco) without a transmitter. I define 2 gases for dives with 3 cylinders, so 2 gases are "ON", 1 gas is "ACTIVE". I've got no idea what you mean between "ON" and "ACTIVE" - as far as I can tell, the Perdix only allows a gas mix to be "on" or "off". To clarify my configuration: * my Shearwater AI is configured in Tec mode. AI is set to "SM1+2" (the new sidemount mode added a firmware update or two back). * OC Gases configured (I dive a variety of configurations, sometimes on the same day, so I don't really feel like constantly deleting/changing gases. I just toggle the ones I dive with to "on" and the remaining ones to "off": 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) During my most recent sidemount dives, I have 2 transmitters, T1 (left), and T2 (right), attached to a tank each of EAN32. I just dive the dive, switching between tanks as necessary during the dive, but I never manually add a gaschange event on the computer (during tec dives I obviously would..). Following the dive, I import using -either- Subsurface on Android, or Subsurface on Linux; the result is the same. I can provide an import log and libdivelog log file (dump didn't work). The resulting imported dives show 3 cylinders in the UI (there are more in the actual log): 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). [HH] I do not get unexpected gas switches like you've described when only dive 2 tanks or choose not to switch to my deco bottle. I import my dives into Subsurface using an iPhone. This leads me to guess that the difference between your experience and mine is either the setup in your Shearwater, or the difference in the app you use to download into Subsurface (android for iOS). Do you manually inspect the log files, or only use the UI? Because the UI does NOT show the initial gas change event.. Like you, I can easily fix the incorrect gas-mixes attached to the transmitters using the UI, but the third cylinder cannot be deleted as it's marked "in-use" by Subsurface. Funnily enough, Cylinders 1 & 2 which actually have transmitter data attached to them can be deleted... The overall result in Subsurface is that it's not displaying gas usage properly - the pressure the graphs are coloured in red instead of by SAC rate, and no SAC overall SAC is calculated or displayed. If I manually edit the dive log and delete the first gas-change event, everything works as expected in Subsurface. Alternatively if I modify the original gas-change event to point to either of my real cylinders, again, it all works as expected. Hence my proposals on how to implement a quick fix and asking which is the preferred approach. 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. 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. Here is a snippet from an imported log file (not modified) for illustrative purposes: duration='4:30 min'> /> diveid='120b5b60'> cylinder='2' o2='32.0%' /> Date: Sun, 12 Nov 2023 15:09:14 + From: Willem Ferguson On the Shearwater the cylinders/gases are defined in a specific order using the System Setup panel. In the equipment tab of Subsurface I define my cylinders in the same order. I have never encountered the The gases configured in the Shearwater can't be ordered; they are always ordered by oxygen percentage. When importing in Subsurface, you can't pre-define cylinders; cylinders are defined by Subsurface during the import process, following which you can do certain modifications on them such as adding, deleting (some), changing their mixes and sizes, etc. So I'm sorry, but I fail to understand what you're getting at here. Wbr, - Micha. ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi
Re: Shearwater imports - phantom cylinders when additional gas mixes are configured (micha
I dive similar configurations, using a Petrel with Subsurface on Linux. Saving a dive using an app can be problematic because the app does not allow several items to be specified. A few pointers when using Linux. I assume the behavior on Mac is identical. On the Shearwater the cylinders/gases are defined in a specific order using the System Setup panel. In the equipment tab of Subsurface I define my cylinders in the same order. I have never encountered the type of problem you describe. Try it out on either Linux or Mac. This will allow you to ascertain whether it is a user problem, an iPhone app problem or a general problem. I suspect an app problem. The app, as far as I can see, does not allow specification of individual cylinders. If cylinders are not explicitly defined beforehand, you have to trust the way that Shearwater defines the cylinders exported to the Subsurface app and this is not guaranteed to be 100% intelligible to the Dive log software. For that reason I save dives using Linux, keep master dive log on Linux, and then synchronize the dive log on the app. I hope this makes sense. Kind regards, willem. Sent from Proton Mail mobile Original Message On 10 Nov 2023, 22:41, Hartley Horwitz via subsurface wrote: >> -- Forwarded message -- >> From: micha >> To: subsurface@subsurface-divelog.org >> Cc: >> Bcc: >> Date: Fri, 10 Nov 2023 08:29:05 +1000 >> Subject: Shearwater imports - phantom cylinders when additional gas mixes >> are configured >> .snip >> >> At the moment I'm diving Sidemount again, and again having issues with >> spurious cylinders due to additional gasses being defined (although >> disabled) on my Shearwater computer. Recreationally I dive with 2 >> cylinders filled with the same gas mix (typically Air or EAN32), and >> both cylinders have a transmitter. I leave my computer in "Tec" mode and >> leave the common mixes I use during other dives disabled instead of >> deleting them. > > [HH] I dive the same sidemount configuration, Shearwater Teric and Perdix AI > set in tech mode, Sidemount AI feature enabled (you didn't mention if that's > the case for you). I also dive with a 3rd cylinder (deco) without a > transmitter. I define 2 gases for dives with 3 cylinders, so 2 gases are > "ON", 1 gas is "ACTIVE". > > I do a gas switch if diving with 3 tanks near the end of the dive even with > no deco obligations > > Upon import, I see a slightly different issue. Firstly, it assumes that only > 1 of my two sidemount tanks has EAN32 (an example) and defaults the 2nd tank > to air. That takes a minor edit on the equipment tab on subsurface > > The gas switch event on Subsurface is switching tank 1 to tank 2 (my 2nd > sidemount tank). Using the desktop UI, I switch that to my 3rd deco tank. > > I do not get unexpected gas switches like you've described when only dive 2 > tanks or choose not to switch to my deco bottle. I import my dives into > Subsurface using an iPhone. This leads me to guess that the difference > between your experience and mine is either the setup in your Shearwater, or > the difference in the app you use to download into Subsurface (android for > iOS). > >> ..snip.. >> I can manually fix the gas mix for Cylinders 1 & 2 using the UI. But >> the only way to currently get rid of the phantom Cylinder 3 is by >> manually editing the log files and deleting the initial gas change >> event. >> >> Now, I see several simple approaches to allow the user to fix this using >> the Subsurface UI: >> >> 1. Don't generate the initial "gaschange" event, which is wrong anyway. >> (At this stage I'm not entirely sure if this is being sent by the dive >> computer, or generated by Subsurface during the import process; still >> investigating). Subsurface doesn't seem to need an initial "gaschange" >> event to render a dive correctly. >> >> >> I also contacted Shearwater about adding gas status (on/off) to their >> protocol, but did not receive a reply. >> >> Thanks, >> - Micha.___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Shearwater imports - phantom cylinders when additional gas mixes are configured (micha
> > > -- Forwarded message -- > From: micha > To: subsurface@subsurface-divelog.org > Cc: > Bcc: > Date: Fri, 10 Nov 2023 08:29:05 +1000 > Subject: Shearwater imports - phantom cylinders when additional gas mixes > are configured > .snip > > At the moment I'm diving Sidemount again, and again having issues with > spurious cylinders due to additional gasses being defined (although > disabled) on my Shearwater computer. Recreationally I dive with 2 > cylinders filled with the same gas mix (typically Air or EAN32), and > both cylinders have a transmitter. I leave my computer in "Tec" mode and > leave the common mixes I use during other dives disabled instead of > deleting them. > [HH] I dive the same sidemount configuration, Shearwater Teric and Perdix AI set in tech mode, Sidemount AI feature enabled (you didn't mention if that's the case for you). I also dive with a 3rd cylinder (deco) without a transmitter. I define 2 gases for dives with 3 cylinders, so 2 gases are "ON", 1 gas is "ACTIVE". I do a gas switch if diving with 3 tanks near the end of the dive even with no deco obligations Upon import, I see a slightly different issue. Firstly, it assumes that only 1 of my two sidemount tanks has EAN32 (an example) and defaults the 2nd tank to air. That takes a minor edit on the equipment tab on subsurface The gas switch event on Subsurface is switching tank 1 to tank 2 (my 2nd sidemount tank). Using the desktop UI, I switch that to my 3rd deco tank. I do not get unexpected gas switches like you've described when only dive 2 tanks or choose not to switch to my deco bottle. I import my dives into Subsurface using an iPhone. This leads me to guess that the difference between your experience and mine is either the setup in your Shearwater, or the difference in the app you use to download into Subsurface (android for iOS). ..snip.. > I can manually fix the gas mix for Cylinders 1 & 2 using the UI. But > the only way to currently get rid of the phantom Cylinder 3 is by > manually editing the log files and deleting the initial gas change > event. > > > Now, I see several simple approaches to allow the user to fix this using > the Subsurface UI: > > 1. Don't generate the initial "gaschange" event, which is wrong anyway. > (At this stage I'm not entirely sure if this is being sent by the dive > computer, or generated by Subsurface during the import process; still > investigating). Subsurface doesn't seem to need an initial "gaschange" > event to render a dive correctly. > > > I also contacted Shearwater about adding gas status (on/off) to their > protocol, but did not receive a reply. > > Thanks, > - Micha. > > ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Shearwater imports - phantom cylinders when additional gas mixes are configured
G'day, (Related background discussion : https://groups.google.com/g/subsurface-divelog/c/aIIr0QJuxFY/m/mtnOfhaDAwAJ) At the moment I'm diving Sidemount again, and again having issues with spurious cylinders due to additional gasses being defined (although disabled) on my Shearwater computer. Recreationally I dive with 2 cylinders filled with the same gas mix (typically Air or EAN32), and both cylinders have a transmitter. I leave my computer in "Tec" mode and leave the common mixes I use during other dives disabled instead of deleting them. The imported dive has 3 cylinders shown, and cannot display or calculate gas usage from the transmitters properly (the transmitter data is plotted in red, no SAC is calculated). Cylinder 1 (can be deleted with a warning) - EAN99 - transmitter 1 data Cylinder 2 (can be deleted with a warning) - EAN51 - transmitter 2 data Cylinder 3 (can NOT be deleted) - EAN32 - initial gaschange event I can manually fix the gas mix for Cylinders 1 & 2 using the UI. But the only way to currently get rid of the phantom Cylinder 3 is by manually editing the log files and deleting the initial gas change event. Now, I see several simple approaches to allow the user to fix this using the Subsurface UI: 1. Don't generate the initial "gaschange" event, which is wrong anyway. (At this stage I'm not entirely sure if this is being sent by the dive computer, or generated by Subsurface during the import process; still investigating). Subsurface doesn't seem to need an initial "gaschange" event to render a dive correctly. 2. Display the initial "gaschange" event on the dive log (it's currently being suppressed). This would allow the user to edit/delete the event using the UI. Having implemented this change in my local build, I can edit the event to point to a "real" cylinder which then automatically deletes (or hides) the phantom cylinder. Problem solved. 3. Allow the user to delete any cylinder. Currently the UI allows deletion of some cylinders which are "in use" (have transmitter data attached) with only a warning being displayed, but not others (such as the one attached to the initial "gaschange" event). I fail to understand why the "gaschange" event is important enough to prevent cylinder deletion, but transmitter data is not. Any other suggestions for "simple" fixes? Any concerns about any of these approaches breaking other functionality? Any preference as to which approach to implement? I also contacted Shearwater about adding gas status (on/off) to their protocol, but did not receive a reply. Thanks, - Micha. ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface