Hey guys.
I'm sorry for the delay on looking in to this feature. In the hopes that you are not super mad at me and would still like it implemented, I'm reaching out to request some help in making sure that I can support the various configurations you use. Seeing as I do not dive side mount or CCR, I'm really not an expert - and I also do not have any test data of my own that I'm familiar with.
One of the main reasons I've not done this yet is that it requires me to change the internal MacDive data format. I have been very hesitant to do this as it is not as simple as it was prior to iOS/cloud syncing, so I've put it off. But let's peel the band-aid and just do it. The reason for the change is that right now MacDive cannot represent two tanks being used at the same time. The second tank starts after the first tank is finished, there's no start time, just an ordered list of tanks with durations. The change I am making is to give each tank a start time as well as duration so that this can be represented. This, to my understanding, is important for side mount, manifold setups, or CCR with O2/dil for example, in order to better be able to describe those configurations.
This is my first question: does this make sense to everyone? Is this going to be the best way to describe your setup?
This is my current plan. I have done or am in the middle of various parts of this for macOS (iOS I will do after I'm happy with macOS), but I would like to get some feedback and some test data at this point. The main thing that I haven't done yet is updating the shearwater importer, obviously that's the part that I need some further understanding and test data for.
- Modify how the tank times are described, as above, so that multiple tanks can be active
- Read both transmitter streams from the data, rather than only using one as currently happens (the pressure data is separate from the tanks)
- Show the second transmitter as an overlay over the profile
- Update MacDive to understand that two pressure streams could be active for SAC (eg for side mount, or for manifold setups)
- Add a flag to tanks to say "do not factor this in to SAC", eg for diluent
- Possibly add an association between a tank and a transmitter stream, so you could specify which tank relates to which stream (to aid in SAC calculation). I'm uncertain on this, but I feel it may be helpful.
- Update the shearwater importer to do a little more work to try and figure out how to setup the tanks correctly
- Update shearwater importer to read gradient factors as separate fields as well as part of the deco algorithm
The result of these changes would mean that I could create two tanks for side mount which are both active over the course of the dive. There would be two transmitter streams displayed, and the SAC calculation could deal with both. Manifold setups should be supported as well. You could record O2/Dil as concurrent tanks. The other basic setups (single gas, switching gases etc) mostly work now AFAIK.
Does this sound reasonable? Would this cover all of the various setups you are hoping to use? Am I missing anything? I'd really love any feedback here. I'd also like some sample data from as many configurations as possible. To start, these would be good:
- switching between two gases (eg air and nitrox) with only one transmitter
- switching between two gases (eg air and nitrox) with two transmitters
- side mount switching between tanks, with 2 transmitters (possibly with 1 transmitter as well - does anyone do this?)
- two tanks with two transmitters in a manifold setup (does anyone do this?)
- any CCR setups with one or two transmitters
My goal is to make this as automatic as possible but one of the challenges is that while the shearwater data records two pressure streams for you, there's nothing to describe which tank a transmitter relates to. This makes it tricky to understand what was really happening. I'd really like to ensure that I am understanding how you want to describe these setups so that I can try and make this work as you expect. As well as sample data, please feel free to describe your setup with how you hope it would look in MacDive. For example, for side mount - there would be no gas switch recorded as you're not changing gas. But one transmitter would stop decreasing, and the other would start decreasing - so I need to detect this and then set up the tanks appropriately. This is the hardest part really, so getting some sample data and an understanding of your ideal result in MacDive would help before I start. Perhaps I'm overthinking this or you'd rather it was described in a different way, so that kind of thing is what I want to know.
On a related note, because I am updating the database there is some scope to add some further info. I know someone (JF?) wanted GF high and low added as separate fields, and I have done that. I've added a few other bits and pieces around the place but please let me know if there's anything else that would be useful. I can't promise I'll add everything, but if there's simple things I can add now and implement later then it's a good time to do that.
Anyway, happy new year. Maybe 2021 we can finally sort this out. Please drop me a mail with any sample data you have. Tools > Send Database in MacDive is perfect - just flesh out the email with a description of which dives you're talking about and what the setup is. If you have any feedback, please comment or email me. If I've missed anything please let me know.