Use the correct setpoint in planner

There is an unfortunate convention that the sample structure contains a setpoint
at its end rather than during its duration which causes the expression
sample[-1].setpoint in several places. This adds another one for the planner
to use the correct setpoint during the manually entered leg of the dive.

Signed-off-by: Robert C. Helling <helling@atdotde.de>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Robert C. Helling 2015-09-14 11:22:32 +02:00 committed by Dirk Hohndel
parent 4d7338fd50
commit 4a19145e04

View file

@ -137,6 +137,13 @@ void tissue_at_end(struct dive *dive, char **cached_datap)
psample = sample = dc->sample;
for (i = 0; i < dc->samples; i++, sample++) {
o2pressure_t setpoint;
if (i)
setpoint = sample[-1].setpoint;
else
setpoint = sample[0].setpoint;
t1 = sample->time;
get_gas_at_time(dive, dc, t0, &gas);
if (i > 0)
@ -165,7 +172,7 @@ void tissue_at_end(struct dive *dive, char **cached_datap)
max_bottom_ceiling_pressure.mbar = ceiling_pressure.mbar;
}
interpolate_transition(dive, t0, t1, lastdepth, sample->depth, &gas, sample->setpoint);
interpolate_transition(dive, t0, t1, lastdepth, sample->depth, &gas, setpoint);
psample = sample;
t0 = t1;
}