Michael Keller 9a3363dc7d Added detection for bailout to OC / switch back to CC for CCR dives.
As a CCR diver I would like to see the ability to properly track the 'on
loop' / 'bailed out to open circuit' status directly in Subsurface,
because this is an important (or even the most important) bit of status
information during a CCR dive.  This should extend to the use of the
correct ppO2 / gas mix in the deco ceiling / tissue model calculation.

My idea for how to do this would be to track the 'type' ('diluent' / 'OC
bailout') for every gasmix / tank that is reported by the dive computer.

Most CCR capable dive computers that I am familiar with require the user
to enter two different gas lists for diluent and bailout, so this should
work with the existing libdivecomputer API for these.  Unfortunately I
think making this change in Subsurface will require a bit of work, as
the libdivecomputer field capable of tracking the 'type' of a gas or
tank (`cache->tankinfo[]`) does not seem to be consumed at all in
Subsurface.

So this just provides a prerequisite for the change in Subsurface by
populating `tankinfo[]`.  In addition to this it also triggers a message
on every switch from CC to OC and back, at least giving a visual
indication of these diver triggered events.  The messages can probably
be removed from libdivecomputer again once 'loop status' tracking has
been added to Subsurface.

Also included is a fix of the tab expansion mess that I created in
commit 2129403 ("Added facility to detect and interpret manual setpoint
switches for Garmin Descent computers").  Apologies for this, I've
switched to using a custom `.vimrc` for this project now.

[ Edited up the commit message a bit further   - Linus ]

Signed-off-by: Michael Keller <github@ike.ch>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2023-02-09 11:20:34 -08:00
2014-03-19 09:16:07 +01:00
2021-05-07 21:22:36 +02:00

Overview
========

Libdivecomputer is a cross-platform and open source library for
communication with dive computers from various manufacturers.

The official web site is:

  http://www.libdivecomputer.org/

The sourceforge project page is:

  http://sourceforge.net/projects/libdivecomputer/

Installation
============

On UNIX-like systems (including Linux, Mac OS X, MinGW), use the
autotools based build system. Run the following commands from the top
directory (containing this file) to configure, build and install the
library and utilities:

  $ ./configure
  $ make
  $ make install

If you downloaded the libdivecomputer source code directly from the git
source code repository, then you need to create the configure script as
the first step:

  $ autoreconf --install

To uninstall libdivecomputer again, run:

  $ make uninstall

Support
=======

Please send bug reports, feedback or questions to the mailing list:

  http://libdivecomputer.org/cgi-bin/mailman/listinfo/devel

or contact me directly:

  jef@libdivecomputer.org

License
=======

Libdivecomputer is free software, released under the terms of the GNU
Lesser General Public License (LGPL).

You can find a copy of the license in the file COPYING.
Description
No description provided
Readme 4.5 MiB
Languages
C 98.3%
M4 1.2%
Makefile 0.5%