mirror of
https://github.com/subsurface/subsurface.git
synced 2025-01-31 19:13:24 +00:00
Planner: show mean depth
Almost invisible, mostly looking like an odd bug in the profile code, there was a tiny red line at depth 0 in the planned profile. Turns out that was the missing mean depth. We didn't populate enough data in the dive computer of the dive we generated from the plan (and the length of the depth line was incorrectly determined by the duration of the dive instead of the duration stored in the dive computer). Fixes #570 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
41953c8c46
commit
825eb019ab
4 changed files with 7 additions and 3 deletions
2
dive.c
2
dive.c
|
@ -542,7 +542,7 @@ static void update_temperature(temperature_t *temperature, int new)
|
|||
*
|
||||
* This ignores any surface time in the middle of the dive.
|
||||
*/
|
||||
static void fixup_dc_duration(struct divecomputer *dc)
|
||||
void fixup_dc_duration(struct divecomputer *dc)
|
||||
{
|
||||
int duration, i;
|
||||
int lasttime, lastdepth, depthtime;
|
||||
|
|
1
dive.h
1
dive.h
|
@ -614,6 +614,7 @@ extern bool has_hr_data(struct divecomputer *dc);
|
|||
|
||||
extern void sort_table(struct dive_table *table);
|
||||
extern struct dive *fixup_dive(struct dive *dive);
|
||||
extern void fixup_dc_duration(struct divecomputer *dc);
|
||||
extern int dive_getUniqID(struct dive *d);
|
||||
extern unsigned int dc_airtemp(struct divecomputer *dc);
|
||||
extern unsigned int dc_watertemp(struct divecomputer *dc);
|
||||
|
|
|
@ -924,10 +924,13 @@ void plan(struct diveplan *diveplan, char **cached_datap, bool is_planner, bool
|
|||
}
|
||||
}
|
||||
|
||||
/* We made it to the surface */
|
||||
/* We made it to the surface
|
||||
* Create the final dive, add the plan to the notes and fixup some internal
|
||||
* data that we need to be there when plotting the dive */
|
||||
plan_add_segment(diveplan, clock - previous_point_time, 0, gas, po2, false);
|
||||
create_dive_from_plan(diveplan, is_planner);
|
||||
add_plan_to_notes(diveplan, &displayed_dive, show_disclaimer);
|
||||
fixup_dc_duration(&displayed_dive.dc);
|
||||
|
||||
free(stoplevels);
|
||||
free(gaschanges);
|
||||
|
|
|
@ -481,7 +481,7 @@ void ProfileWidget2::plotDive(struct dive *d, bool force)
|
|||
rulerItem->setPlotInfo(pInfo);
|
||||
meanDepth->setVisible(prefs.show_average_depth);
|
||||
meanDepth->setMeanDepth(pInfo.meandepth);
|
||||
meanDepth->setLine(0, 0, timeAxis->posAtValue(displayed_dive.duration.seconds), 0);
|
||||
meanDepth->setLine(0, 0, timeAxis->posAtValue(currentdc->duration.seconds), 0);
|
||||
Animations::moveTo(meanDepth,3, profileYAxis->posAtValue(pInfo.meandepth));
|
||||
|
||||
dataModel->emitDataChanged();
|
||||
|
|
Loading…
Add table
Reference in a new issue