]> git.tdb.fi Git - ext/subsurface.git/commitdiff
Display OTU for dives using air
authorHenrik Brautaset Aronsen <subsurface@henrik.synth.no>
Sat, 31 Dec 2011 16:00:36 +0000 (17:00 +0100)
committerHenrik Brautaset Aronsen <subsurface@henrik.synth.no>
Sat, 31 Dec 2011 16:00:36 +0000 (17:00 +0100)
Zero o2 means 20.9% o2, which can be confusing...

Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no>
divelist.c

index 86e7daf571052104710ce8060ace9af34c11a17f..32dc92b9980dc7bf75573c0880a84e069927b871 100644 (file)
@@ -392,8 +392,10 @@ static int calculate_otu(struct dive *dive)
                struct sample *sample = dive->sample + i;
                struct sample *psample = sample - 1;
                t = sample->time.seconds - psample->time.seconds;
-               po2 = dive->cylinder[sample->cylinderindex].gasmix.o2.permille / 1000.0 *
-                       (sample->depth.mm + 10000) / 10000.0;
+               int o2 = dive->cylinder[sample->cylinderindex].gasmix.o2.permille;
+               if (!o2)
+                       o2 = 209;
+               po2 = o2 / 1000.0 * (sample->depth.mm + 10000) / 10000.0;
                if (po2 >= 0.5)
                        otu += pow(po2 - 0.5, 0.83) * t / 30.0;
        }