From 899427079e16aebf5961cfe3bffda044f10207f1 Mon Sep 17 00:00:00 2001 From: Rick Walsh Date: Sun, 20 Sep 2015 18:22:24 +1000 Subject: VPMB: Reset ceiling pressures at start of planned dive We do not want to remember max_bottom_ceiling_pressure from the previous planned dive - it makes the Boyle's law compensation incorrect if the previous planned dive was a deeper deep-to-shallow multi-level dive. E.g. Plan these dives (without applying this patch) with VPM-B nominal conservatism: Plan 30 m for 20 min (total run time = 28 min) Now plan 100 m for 20 min, followed by 70 m @ 23 min and 70 m at 30 min Re-plan 30 m for 20 min (total run time = 50 min) With this change, the re-planned dive run time is 28 min, as it should be. We probably don't have to reset first_ceiling_pressure too, but it's cleaner if we do. Signed-off-by: Rick Walsh Signed-off-by: Dirk Hohndel --- planner.c | 1 + 1 file changed, 1 insertion(+) (limited to 'planner.c') diff --git a/planner.c b/planner.c index 1326f69dd..722eeb12e 100644 --- a/planner.c +++ b/planner.c @@ -992,6 +992,7 @@ bool plan(struct diveplan *diveplan, char **cached_datap, bool is_planner, bool diveplan->surface_pressure = SURFACE_PRESSURE; displayed_dive.surface_pressure.mbar = diveplan->surface_pressure; clear_deco(displayed_dive.surface_pressure.mbar / 1000.0); + max_bottom_ceiling_pressure.mbar = first_ceiling_pressure.mbar = 0; create_dive_from_plan(diveplan, is_planner); // Do we want deco stop array in metres or feet? -- cgit v1.2.3-70-g09d2