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 <[email protected]>
---
 planner.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/planner.c b/planner.c
index 1326f69..722eeb1 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?
-- 
2.4.3

_______________________________________________
subsurface mailing list
[email protected]
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to