Differences in Dive Log programs on computer

Legacy OSTC's
Post Reply
bogaerbr
Posts: 6
Joined: 29 Feb 2012, 13:53

Differences in Dive Log programs on computer

Post by bogaerbr »

Hallo,

I noticed quite some important differences in the way dive log programs present my dives after importing the data.
Here are some examples from my last dives:
(Time dive started / duration of the dive)

OSTC:
- 10h04 / 26'15''
- 10h40 / 27'29''
SubSurface
- 10h34 / 29'20''
- 11h17 / 37'10''
JDiveLog
- 10h07 / 26'25''
- 10h49 / 27'48''
MacDive
- 10h07 / 26'20''
- 10h49 / 27'30''

Does someone has an idea why the programs have their own ways to report my dives?
And why is SubSurface that different from the others?

Bruno
Bardass
Posts: 290
Joined: 11 Jan 2011, 20:11

Re: Differences in Dive Log programs on computer

Post by Bardass »

what are your versions of Divelog and firmware ?
Bardass
bogaerbr
Posts: 6
Joined: 29 Feb 2012, 13:53

Re: Differences in Dive Log programs on computer

Post by bogaerbr »

The firmware of my OSTC is 2.21
The version of SubSurface is 1.1
The version of JDiveLog is 10.2
The version of MacDive is 2.1.3
tjannes
Posts: 8
Joined: 25 Jul 2011, 15:15

Re: Differences in Dive Log programs on computer

Post by tjannes »

I confirm similar experiences. I was Bruno's buddy for the dives above, bud read the logs independently from my own OSTC (2.21) on a Windows 7 computer:

OSTC (2.21) In: 10:04 / Duration:26:03 / Max Depth: 9.04
OSTC (2.21) In: 10:40 / Duration:26:10 / Max Depth: 18.62

JDiveLog (2.16) In: 10:07 / Duration:26:05 / Max Depth: 8.82
JDiveLog (2.16) In: 10:50 / Duration:26:17 / Max Depth: 18.18

Diving Log (5.0.6) In: 10:08 / Duration:26 / Max Depth: 9
Diving Log (5.0.6) In: 10:51 / Duration:26 / Max Depth: 18.6

Subsurface (1.2) In: 10:34 / Duration:30 / Max Depth: 9.0
Subsurface (1.2) In: 11:17 / Duration:37.4 / Max Depth: 18.6

It looks like Subsurface is keeping Time Out instead of Time In. But still...

Thomas
swissdiving
Posts: 841
Joined: 30 Jul 2011, 07:30

Re: Differences in Dive Log programs on computer

Post by swissdiving »

I don't believe these questions belong in this forum as they are not directly related to the OSTC.

At best you could expect a guess from some of the members here. A definite answer is very unlikely. Maybe Sven from DivingLog has some ideas.
Cheers,

Hansjoerg

--> 2N - 2201 / 3892
--> OSTC4 - 257 / 392 / 424 / 1324 Fischer
--> OSTC5 - 1507 S8

RTFM
Jean-François
Posts: 80
Joined: 16 Jun 2011, 09:42

Re: Differences in Dive Log programs on computer

Post by Jean-François »

I can only speak for MacDive. I've talked to Nick about the discrepancies between what the OSTC recorded and what MacDive would log. It seems it comes down to what is the last sample you take.
He did tweak it down in his latest version and the worst difference I had was 8 seconds, which is perfectly fine for me.
OSTC Mk2N 2287
TnT
Posts: 62
Joined: 24 Jun 2011, 14:05

Re: Differences in Dive Log programs on computer

Post by TnT »

Those differences are quite easy to explain once you know how the data is stored. First of all, the date/time value recorded by the ostc is the exit time instead of the start of the dive. Thus you have to substract the divetime to get the start of the dive.

To get the divetime, you can either use the value that is recorded by the ostc in the dive header, or calculate it manually based on the number of samples in the profile data. Those two are not necessary identical. For example there is CF02 (delay in s for end of dive mode, with a default value of 240 seconds) that causes a number of shallow depth samples recorded at the end of each dive. An application could compensate for that, by substracting the CF value from the divetime. You can even go one step further and ignore all samples with a depth below the configured threshold (CF01). Ignoring such samples is typically done by dive computers to ignore short surface intervals.

@HW: How is the divetime in the header calculated in the ostc firmware? Does it ignore the tail of the dive and/or shallow samples during a dive?

Thus the final date/time and divetime that is reported by an application will depend on how the duration is calculated. The value used in the correction of the date/time value isn't necessary the same as the divetime. For example if your divetime ignores shallow samples, you shouldn't really ignore those samples when calculating the start date/time value.

If I had to make a guess, I would say this is what happens:

OSTC: Substracts the full profile duration from the exit time, but divetime ignores shallow samples.
Subsurface: Uses exit time, and full duration as the divetime.
JDiveLog and MacDive: Uses a single divetime, ignoring shallow samples.

BTW, the fact that subsurface displays the exit time is a bug in the libdivecomputer library.
--
libdivecomputer developer
http://www.libdivecomputer.org/
divinglog
Posts: 181
Joined: 15 Jan 2008, 00:14

Re: Differences in Dive Log programs on computer

Post by divinglog »

Jef (TnT) explained it already very well. Diving Log takes the dive time from the dive header (not from the profile) and substracts it from the exit time to get the entry time. That's a very simple calculation and as long as the dive time in the header is correct, the entry time is correct.

If the header dive time is compensated and zero depth values are removed from the dive time, the entry time would vary by a few minutes (the time your OSTC stays in dive mode after you've surfaced).

Edit: To find out which calculation is correct, someone needs to note or remember the time displayed on the OSTC when the dive starts. Then compare it after the dive with the OSTC logbook and dive log programs.
Diving Log 6.0 - https://www.divinglog.de/
TnT
Posts: 62
Joined: 24 Jun 2011, 14:05

Re: Differences in Dive Log programs on computer

Post by TnT »

I have been looking at how the OSTC calculates the dive start time. For dives in the new format (0x21), there are 10 extra bytes. One of the new fields is the "total dive time in seconds" (bytes 47-48), which in contrast to the normal divetime (bytes 10-12, does include the shallow parts of the dive. This is the value that is substracted from the exit time by the ostc firmware. See this commit for the details:

https://bitbucket.org/heinrichsweikamp/ ... da3e962e98

The ostc seems to drop the seconds (e.g. rounding down to the nearest minute) before substracting the value from the exit time. Thus if the desktop application doesn't drop the seconds, there will be a small difference (max 1 minute) between the time shown by the ostc and the desktop application.

Now, as a question for the end-users, what would you prefer? An exact match with the date/time shown by the ostc (e.g. dropping the seconds), or take into account the seconds too (e.g. allow a small difference in the dive start time)?
--
libdivecomputer developer
http://www.libdivecomputer.org/
Rob
Posts: 368
Joined: 12 May 2011, 18:12

Re: Differences in Dive Log programs on computer

Post by Rob »

Hi TnT,

TnT Wrote:
-------------------------------------------------------
Now, as a question for the end-users, what would
> you prefer? An exact match with the date/time
> shown by the ostc (e.g. dropping the seconds), or
> take into account the seconds too (e.g. allow a
> small difference in the dive start time)?

The exit time in the ostc logbook doesn't have seconds!
So you win nothing if you are calculating the "exact" time.

regards
Rob
Home: http://www.angermayr.eu
email: ostctools@angermayr.eu
Home of OSTC Tools: http://ostctools.angermayr.eu
HWOSConfig for Android: https://play.google.com/store/apps/details?id=eu.angermayr.hwosconfig
TnT
Posts: 62
Joined: 24 Jun 2011, 14:05

Re: Differences in Dive Log programs on computer

Post by TnT »

Rob Wrote:
-------------------------------------------------------
> The exit time in the ostc logbook doesn't have seconds!
> So you win nothing if you are calculating the "exact" time.

I'm aware the exit time doesn't have seconds. But the divetime does have seconds. I just wondered whether users would prefer to have the time as "correct" as possible (using the data that is available), or just prefer to match with the time displayed by the ostc.

I'm not claiming one is better than the other. In fact the seconds are not very relevant at all. Chances are high the ostc clock (or any other dive computer clock) isn't perfectly synchronized, and that error alone is already greater. So my question is all about preference, not correctness.
--
libdivecomputer developer
http://www.libdivecomputer.org/
Post Reply