From 00c902d66ca114836846132ba775e51e8003ab56 Mon Sep 17 00:00:00 2001 From: "Robert C. Helling" Date: Sun, 8 Sep 2019 16:55:00 +0200 Subject: Show correct notes entry when switching on stops When gas switching only on stops is selected, the notes showed an extra line at the not realized stop depth. This eliminates it. It also makes sure there are no 0 second spurious entries. And gas switching takes more than zero time (otherwise we would have to print a line of zero duration for at the gas switch depth). Reported-by: tormento Signed-off-by: Robert C. Helling --- core/planner.c | 8 ++++---- core/plannernotes.c | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'core') diff --git a/core/planner.c b/core/planner.c index b7bc56eab..fd4ed2c36 100644 --- a/core/planner.c +++ b/core/planner.c @@ -932,10 +932,6 @@ bool plan(struct deco_state *ds, struct diveplan *diveplan, struct dive *dive, i if (gi >= 0 && stoplevels[stopidx] <= gaschanges[gi].depth) { /* We have reached a gas change. * Record this in the dive plan */ - if (is_final_plan) - plan_add_segment(diveplan, clock - previous_point_time, depth, current_cylinder, po2, false, divemode); - previous_point_time = clock; - stopping = true; /* Check we need to change cylinder. * We might not if the cylinder was chosen by the user @@ -946,6 +942,10 @@ bool plan(struct deco_state *ds, struct diveplan *diveplan, struct dive *dive, i if (!prefs.switch_at_req_stop || !trial_ascent(ds, 0, depth, stoplevels[stopidx - 1], avg_depth, bottom_time, dive->cylinder[current_cylinder].gasmix, po2, diveplan->surface_pressure / 1000.0, dive, divemode) || get_o2(dive->cylinder[current_cylinder].gasmix) < 160) { + if (is_final_plan) + plan_add_segment(diveplan, clock - previous_point_time, depth, current_cylinder, po2, false, divemode); + stopping = true; + previous_point_time = clock; current_cylinder = gaschanges[gi].gasidx; gas = dive->cylinder[current_cylinder].gasmix; #if DEBUG_PLAN & 16 diff --git a/core/plannernotes.c b/core/plannernotes.c index 8d1f04731..3ce2b6c65 100644 --- a/core/plannernotes.c +++ b/core/plannernotes.c @@ -292,7 +292,7 @@ void add_plan_to_notes(struct diveplan *diveplan, struct dive *dive, bool show_d (!isascent && (gaschange_before || rebreatherchange_before) && nextdp && dp->depth.mm != nextdp->depth.mm) || ((gaschange_after || rebreatherchange_after) && lastentered) || ((gaschange_after || rebreatherchange_after)&& !isascent) || (isascent && (gaschange_after || rebreatherchange_after) && nextdp && dp->depth.mm != nextdp->depth.mm ) || - (lastentered && !dp->entered)) { + (lastentered && !dp->entered && dp->next->depth.mm == dp->depth.mm)) { // Print a symbol to indicate whether segment is an ascent, descent, constant depth (user entered) or deco stop if (isascent) segmentsymbol = "➚"; // up-right arrow for ascent -- cgit v1.2.3-70-g09d2