I am slowly working towards providing for bailout in the dive profile display. There are a few decisions that need to be made and I would appreciate any comment.

1) Recording bailout events by dive computers:

On Shearwater, each dive sample has a boolean that indicates whether the sample was during Loop or during Bailout. At the moment this boolean is not exposed by libdivecomputer, but Jef and myself are having discussions about making this information available in the API. I only have access to Shearwater equipment. According to Jef the Ratio/DiveSystem and DiveRite Nitek Q have similar systems of recording bailout, while H-W records discete events. Obviously, if one implements bailout, one would like to do it in a way that is as compatible with what most dive computers do. Anyone using other hardware for ccr/pscr, please comment on how your computer handles bailout events while logging? Given the system for Shearwater, Ratio, etc, it is unavoidable that an additional byte would be needed in the sample structure.

2) Showing bailout events in the Subsurface dive profile. This would have two aspects.

    a) Indicating bailout with an icon on the dive profile. The inclusion of appropriate events is by far the easiest way to implement this. Currently the dive events are closely tied to the libdivecomputer events, so this is somewhat limiting.

    b) Adapting the gas partial pressure graphs to reflect what the diver breathes during bailout. When rendering the dive by creating a plot_info structure for each sample, the easiest mechanism of incorporating bailout would be to use the Shearwater approach: have a byte indicating Loop or Bailout and perform the appropriate calculation for gas partial pressures. Alternatively, it may be possible to reference the linked list of existing events, find the next bailout event and plot the pO2 depending on the type of bailout event (i.e. Bailout or OC->Loop). But this would incur significantly more computational overhead since this lookup will be needed for each plot_info on the dive profile.

What worries me about the above is that it uses a dual system (events as well as sample-wise boolean values).

Is this approach too complex?

Kind regards,

willem


--
This message and attachments are subject to a disclaimer.
Please refer to http://upnet.up.ac.za/services/it/documentation/docs/004167.pdf for full details.
_______________________________________________
subsurface mailing list
[email protected]
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to