mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 05:00:20 +00:00
Remove redundant temperature readings
I'm aiming to really differentiate in dive log software by making my XML export files be *clean*, dammit. That means that we don't have random names, we don't have crazy random units, and we don't have redundant information. So when the temperature doesn't change, just don't report it. That's already what "no sample" means, just clean things up. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
23a6607ae7
commit
9961c7f89c
1 changed files with 17 additions and 0 deletions
17
dive.c
17
dive.c
|
@ -37,6 +37,8 @@ struct dive *fixup_dive(struct dive *dive)
|
|||
int starttemp = 0, endtemp = 0;
|
||||
int maxdepth = 0, mintemp = 0;
|
||||
int lastdepth = 0;
|
||||
int lasttemp = 0;
|
||||
temperature_t *redundant_temp = NULL;
|
||||
|
||||
for (i = 0; i < dive->samples; i++) {
|
||||
struct sample *sample = dive->sample + i;
|
||||
|
@ -60,6 +62,21 @@ struct dive *fixup_dive(struct dive *dive)
|
|||
startpress = press;
|
||||
}
|
||||
if (temp) {
|
||||
/*
|
||||
* If we have consecutive identical
|
||||
* temperature readings, throw away
|
||||
* the redundant ones. We care about
|
||||
* the "edges" only.
|
||||
*/
|
||||
if (lasttemp == temp) {
|
||||
if (redundant_temp)
|
||||
redundant_temp->mkelvin = 0;
|
||||
redundant_temp = &sample->temperature;
|
||||
} else {
|
||||
redundant_temp = NULL;
|
||||
lasttemp = temp;
|
||||
}
|
||||
|
||||
endtemp = temp;
|
||||
if (!starttemp)
|
||||
starttemp = temp;
|
||||
|
|
Loading…
Reference in a new issue