mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Remove code that zeroes out duplicate oxygen sensor and temperature values
Remove the code that changes all duplicate oxygen sensor, setpoint and temperature values from a dive log to zero. One of the motivations is that a zero setpoint value indicates an Open Circuit dive segment, not Closed Circuit Rebreather. The code in dive.c is removed and the comments for the corresponding restoration code that restores the last known values into sensor or temperature with zero values is [fill_o2_values() in profile.c] is changed to apply to the present situation. Signed-off-by: willem ferguson <willemferguson@zoology.up.ac.za> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
c9b4562a45
commit
6cf3787a0e
2 changed files with 13 additions and 40 deletions
26
dive.c
26
dive.c
|
@ -1098,15 +1098,14 @@ static void fixup_dc_events(struct divecomputer *dc)
|
|||
|
||||
static void fixup_dive_dc(struct dive *dive, struct divecomputer *dc)
|
||||
{
|
||||
int i, j, o2val;
|
||||
int i, j;
|
||||
double depthtime = 0;
|
||||
int lasttime = 0;
|
||||
int lastindex = -1;
|
||||
int maxdepth = dc->maxdepth.mm;
|
||||
int mintemp = 0;
|
||||
int lastdepth = 0;
|
||||
int lasto2val[3] = { 0, 0, 0 };
|
||||
int lasttemp = 0, lastpressure = 0, lastdiluentpressure = 0;
|
||||
int lastpressure = 0, lastdiluentpressure = 0;
|
||||
int pressure_delta[MAX_CYLINDERS] = { INT_MAX, };
|
||||
int first_cylinder;
|
||||
|
||||
|
@ -1164,31 +1163,10 @@ static void fixup_dive_dc(struct dive *dive, struct divecomputer *dc)
|
|||
fixup_pressure(dive, sample);
|
||||
|
||||
if (temp) {
|
||||
/*
|
||||
* If we have consecutive identical
|
||||
* temperature readings, throw away
|
||||
* the redundant ones.
|
||||
*/
|
||||
if (lasttemp == temp)
|
||||
sample->temperature.mkelvin = 0;
|
||||
else
|
||||
lasttemp = temp;
|
||||
|
||||
if (!mintemp || temp < mintemp)
|
||||
mintemp = temp;
|
||||
}
|
||||
|
||||
// If there are consecutive identical O2 sensor readings, throw away the redundant ones.
|
||||
for (j = 0; j < dc->no_o2sensors; j++) { // for CCR oxygen sensor data:
|
||||
o2val = sample->o2sensor[j].mbar;
|
||||
if (o2val) {
|
||||
if (lasto2val[j] == o2val)
|
||||
sample->o2sensor[j].mbar = 0;
|
||||
else
|
||||
lasto2val[j] = o2val;
|
||||
}
|
||||
}
|
||||
|
||||
update_min_max_temperatures(dive, sample->temperature);
|
||||
|
||||
depthtime += (time - lasttime) * (lastdepth + depth) / 2;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue