From 4a19145e04924cfb8460fec42ce54f352d433dd6 Mon Sep 17 00:00:00 2001 From: "Robert C. Helling" Date: Mon, 14 Sep 2015 11:22:32 +0200 Subject: 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 Signed-off-by: Dirk Hohndel --- planner.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'planner.c') diff --git a/planner.c b/planner.c index 2cf405404..a94aafbef 100644 --- a/planner.c +++ b/planner.c @@ -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; } -- cgit v1.2.3-70-g09d2