From 2175226580a523a9a3abba3723991b003eee5a2a Mon Sep 17 00:00:00 2001 From: Henrik Brautaset Aronsen Date: Sat, 31 Dec 2011 17:00:36 +0100 Subject: [PATCH] Display OTU for dives using air Zero o2 means 20.9% o2, which can be confusing... Signed-off-by: Henrik Brautaset Aronsen --- divelist.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/divelist.c b/divelist.c index 86e7daf..32dc92b 100644 --- a/divelist.c +++ b/divelist.c @@ -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; } -- 2.43.0