mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Fix divemode detection in planner
Signed-off-by: Robert C. Helling <helling@atdotde.de>
This commit is contained in:
parent
5bac32a1b5
commit
09da42f819
2 changed files with 3 additions and 5 deletions
|
@ -250,11 +250,10 @@ enum dive_comp_type get_current_divemode(struct divecomputer *dc, int time, stru
|
||||||
struct event *ev = *evp;
|
struct event *ev = *evp;
|
||||||
if (*divemode == UNDEF_COMP_TYPE) {
|
if (*divemode == UNDEF_COMP_TYPE) {
|
||||||
*divemode = dc->divemode;
|
*divemode = dc->divemode;
|
||||||
ev = dc ? dc->events : NULL;
|
ev = dc ? get_next_event(dc->events, "modechange") : NULL;
|
||||||
}
|
}
|
||||||
while (ev && ev->time.seconds < time) {
|
while (ev && ev->time.seconds < time) {
|
||||||
if (ev != dc->events)
|
*divemode = (enum dive_comp_type) ev->value;
|
||||||
*divemode = (enum dive_comp_type) ev->value;
|
|
||||||
ev = get_next_event(ev->next, "modechange");
|
ev = get_next_event(ev->next, "modechange");
|
||||||
}
|
}
|
||||||
*evp = ev;
|
*evp = ev;
|
||||||
|
|
|
@ -190,7 +190,7 @@ int tissue_at_end(struct deco_state *ds, struct dive *dive, struct deco_state **
|
||||||
ds->max_bottom_ceiling_pressure.mbar = ceiling_pressure.mbar;
|
ds->max_bottom_ceiling_pressure.mbar = ceiling_pressure.mbar;
|
||||||
}
|
}
|
||||||
|
|
||||||
divemode = get_current_divemode(&dive->dc, t0.seconds, &evdm, &divemode);
|
divemode = get_current_divemode(&dive->dc, t0.seconds + 1, &evdm, &divemode);
|
||||||
interpolate_transition(ds, dive, t0, t1, lastdepth, sample->depth, &gas, setpoint, divemode);
|
interpolate_transition(ds, dive, t0, t1, lastdepth, sample->depth, &gas, setpoint, divemode);
|
||||||
psample = sample;
|
psample = sample;
|
||||||
t0 = t1;
|
t0 = t1;
|
||||||
|
@ -367,7 +367,6 @@ static void create_dive_from_plan(struct diveplan *diveplan, struct dive *dive,
|
||||||
}
|
}
|
||||||
dive->dc.last_manual_time.seconds = last_manual_point;
|
dive->dc.last_manual_time.seconds = last_manual_point;
|
||||||
|
|
||||||
dc->divemode = type;
|
|
||||||
#if DEBUG_PLAN & 32
|
#if DEBUG_PLAN & 32
|
||||||
save_dive(stdout, &displayed_dive);
|
save_dive(stdout, &displayed_dive);
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue