]> git.tdb.fi Git - ext/subsurface.git/commitdiff
Yes Linus, gas pressure can indeed go up during a dive
authorDirk Hohndel <dirk@hohndel.org>
Fri, 30 Sep 2011 00:45:26 +0000 (17:45 -0700)
committerDirk Hohndel <dirk@hohndel.org>
Fri, 30 Sep 2011 00:45:26 +0000 (17:45 -0700)
At first glance it seems logical to make the ending pressure be the
lowest pressure observed during a dive. But if you do valve shut down
drills with a tech setup (where you have a fully redundant double
tank setup with two valves, two regulators and a manifold in between),
then you continue to breath from what is indeed the same "tank", but still
the valve on which your air pressure transmitter sits does get shut down
and de-pressurized. So your pressure goes down by quite a bit, and then
comes back up when the valve is turned back on.

And the ending pressure of the dive (which is used for things like the SAC
calculation) is indeed potentially higher than the lowest pressure
observed during a dive.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
dive.c

diff --git a/dive.c b/dive.c
index d934d14384f8010a8a9ee22801d06e4f86798a82..9af6449e22215d0004c5399a8e5c609c62186f28 100644 (file)
--- a/dive.c
+++ b/dive.c
@@ -154,8 +154,12 @@ static void fixup_pressure(struct dive *dive, struct sample *sample)
        cyl = dive->cylinder + index;
        if (!cyl->start.mbar)
                cyl->start.mbar = pressure;
-       if (!cyl->end.mbar || pressure < cyl->end.mbar)
-               cyl->end.mbar = pressure;
+       /* we need to handle the user entering beginning and end tank pressures
+        * - maybe even IF we have samples. But for now if we have air pressure
+        * data in the samples, we use that instead of the minimum
+        * if (!cyl->end.mbar || pressure < cyl->end.mbar)
+        */
+        cyl->end.mbar = pressure;
 }
 
 struct dive *fixup_dive(struct dive *dive)