From 929fa3de994f3e2d1505b6f21a5a598c5c18a985 Mon Sep 17 00:00:00 2001 From: "Robert C. Helling" Date: Mon, 14 Sep 2015 11:22:32 +0200 Subject: [PATCH] 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 --- planner.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/planner.c b/planner.c index 2cf4054..a94aafb 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; } -- 1.9.5 (Apple Git-50.3)