Rewrite GPS fix matching code for imports from our webservice

The longer I stared at the existing code the less it made sense.
So instead I rewrote it in a way that seems logical to me. And added a
boatload of debugging output (which needs to be removed, of course).

I tested this against more than a hundred dives and it seemed to always
pick the right fix.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2015-06-24 22:38:44 -07:00
parent e49355dc45
commit e5f4697f91
3 changed files with 46 additions and 10 deletions

5
dive.c
View file

@ -2807,6 +2807,11 @@ struct dive *find_dive_including(timestamp_t when)
return NULL;
}
bool time_during_dive_with_offset(struct dive *dive, timestamp_t when, timestamp_t offset)
{
return dive->when - offset <= when && when <= dive->when + dive->duration.seconds + offset;
}
bool dive_within_time_range(struct dive *dive, timestamp_t when, timestamp_t offset)
{
return when - offset <= dive->when && dive->when + dive->duration.seconds <= when + offset;