summaryrefslogtreecommitdiffstats
path: root/core/profile.c
diff options
context:
space:
mode:
authorGravatar Rick Walsh <rickmwalsh@gmail.com>2017-11-02 19:34:45 +1100
committerGravatar Robert C. Helling <helling@atdotde.de>2017-11-08 15:22:32 +0100
commit4a727c64d9ac56e926eea43ee7be7685ef6d76ec (patch)
treec69b6dc57dc90b02242edb9dfb3c4460c1ea5d4a /core/profile.c
parenta06848c23759d8d8fad5abe19351262eb859e086 (diff)
downloadsubsurface-4a727c64d9ac56e926eea43ee7be7685ef6d76ec.tar.gz
VPMB: calculate deco_time assuming final ascent always takes the same time
If we consider the actual time to ascend from the final stop when calculating deco_time, then slowing the final ascent can lead to the final stop being extended, which is completely nonsensical. For consistency with the original VPMB implementation, we can't ignore the final ascent time completely, but if we assume it is always the same (take default ascent rate of 9m/min) then slower the final ascent won't lead to a longer final stop. Signed-off-by: Rick Walsh <rickmwalsh@gmail.com>
Diffstat (limited to 'core/profile.c')
-rw-r--r--core/profile.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/core/profile.c b/core/profile.c
index 1e717f318..83ff20055 100644
--- a/core/profile.c
+++ b/core/profile.c
@@ -1084,9 +1084,9 @@ void calculate_deco_information(struct dive *dive, struct divecomputer *dc, stru
if (final_tts > 0)
deco_time = pi->maxtime + final_tts - time_deep_ceiling;
else if (time_clear_ceiling > 0)
- /* Consistent with planner, deco_time ends after ascending (20-40s @9m/min from 3-6m)
+ /* Consistent with planner, deco_time ends after ascending (20s @9m/min from 3m)
at end of whole minute after clearing ceiling */
- deco_time = ROUND_UP(time_clear_ceiling, 60) + 30 - time_deep_ceiling;
+ deco_time = ROUND_UP(time_clear_ceiling, 60) + 20 - time_deep_ceiling;
vpmb_next_gradient(deco_time, surface_pressure / 1000.0);
final_tts = 0;
last_ndl_tts_calc_time = 0;