summaryrefslogtreecommitdiffstats
path: root/planner.c
diff options
context:
space:
mode:
authorGravatar Rick Walsh <rickmwalsh@gmail.com>2015-09-20 18:22:24 +1000
committerGravatar Dirk Hohndel <dirk@hohndel.org>2015-09-20 08:00:09 -0700
commit899427079e16aebf5961cfe3bffda044f10207f1 (patch)
treef20e887c0c851499150859e425429c27c69cefdb /planner.c
parent28c1dc754d1e0ef6212982a32d620a564f22ac3d (diff)
downloadsubsurface-899427079e16aebf5961cfe3bffda044f10207f1.tar.gz
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 <rickmwalsh@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'planner.c')
-rw-r--r--planner.c1
1 files changed, 1 insertions, 0 deletions
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?