Suunto Dive Manager 4 Import

Discussions about Diving Log 6.0 - questions and hints
DutchGeek
Posts: 15
Joined: Sun Sep 11, 2011 11:11
Location: The Netherlands

Suunto Dive Manager 4 Import

Post by DutchGeek »

Hello,

Is there anyway to import my information from Dive manager 4 into Dive log? I see the option for dive manager 2 / 3 but not for 4.

I really dislike version 4, and I would like to get my data into dive log.

Any suggestions?

Thanks in advance!
DutchGeek
Posts: 15
Joined: Sun Sep 11, 2011 11:11
Location: The Netherlands

Re: Suunto Dive Manager 4 Import

Post by DutchGeek »

Anyone? Any thoughts on how to transfer the information?

having a fleeting moment of stupidity, I have removed all the data from my computer as well, so I can't just import from the computer again :(
rene
Posts: 65
Joined: Sun Sep 12, 2010 19:07
Location: France

Re: Suunto Dive Manager 4 Import

Post by rene »

Hello,

I don't have Suunto DM4 (or own a suunto...) but I was told that the logbook and other informations are now stored online on http://www.movescount.com since this version.

Do you have a local file where the logbook could lie ?
DutchGeek
Posts: 15
Joined: Sun Sep 11, 2011 11:11
Location: The Netherlands

Re: Suunto Dive Manager 4 Import

Post by DutchGeek »

I as looking for it, but I havent "seen" it. I did find a file called suunto.db or something like that, and it looks like it might be the file.

I integrated my movescount account, but my data is not transferred. I will try that again tonight to see if I can get the data into the movescount account. I don't understand why they make it so hard to get your data.
divinglog
Site Admin
Posts: 5768
Joined: Sat Feb 08, 2003 21:02
Location: Coburg
Contact:

Re: Suunto Dive Manager 4 Import

Post by divinglog »

Hello

SDM 4 import is planned but unfortunately not yet implemented. It is using a SQLite database now, but I have trouble decrypting the dive date. The database (DM4.db) is located here:

Windows XP:
C:\Documents and Settings\YourUserName\Local Settings\Apps\2.0\Data\XHEHGR06.37N\E538Z07Y.3Y6\suun..tion_63d5c7c889cb2f3a_0001.0000_86dcea765bbcf67e\Data

Windows Vista / 7:
C:\Users\YourUserName\AppData\Local\Apps\2.0\Data\3OEOLBYV.DG5\B6OZCCAE.HX0\suun..tion_63d5c7c889cb2f3a_0001.0000_9760876f70970d3e\Data

Some folders in this path may be different and could change with each installation.

At the moment you can only use the direct download function from the "Universal Downloader" in Diving Log or an import from an old SDM 3 database, sorry!

Kind regards,
Sven
DutchGeek
Posts: 15
Joined: Sun Sep 11, 2011 11:11
Location: The Netherlands

Re: Suunto Dive Manager 4 Import

Post by DutchGeek »

Thanks Sven,

I will give that a try tonight once I am in front of the computer that I installed the software on. I will let you know the results.
rene
Posts: 65
Joined: Sun Sep 12, 2010 19:07
Location: France

Re: Suunto Dive Manager 4 Import

Post by rene »

divinglog wrote: SDM 4 import is planned but unfortunately not yet implemented. It is using a SQLite database now, but I have trouble decrypting the dive date. The database (DM4.db) is located here:
Hi Sven,

DutchGeek (thanks to him!) provided me its DM4 logbook to take a look inside the database.

The dive date field is a the 100-nanosecond interval since January 1, 0001 (UTC).

e.g. like the Win32 FILETIME structure, with an offset of 1600 years. For example:
634512674610000000 => 2011/09/10 16:04:21

Here is a small (and dirty) C code to decode it :

Code: Select all

#include <windows.h>
#include <stdio.h>

main(int a, char *v[])
{
  __int64 ft;		
  SYSTEMTIME st;		
  sscanf(v[1], "%I64d", &ft);	
  FileTimeToSystemTime((const FILETIME *)&ft, &st);	
  printf("%hu/%02hd/%02hd %02hd:%02hd:%02hd\n", st.wYear - 1600, st.wMonth, st.wDay, st.wHour, st.wMinute, st.wSecond);
}
The profiles are much difficult to understand. If you already have the format, I will go to sleep earlier tonight :)

edit:
TemperatureBlob : one byte per sample interval : temperature in celsius degrees


Regards,
rené
divinglog
Site Admin
Posts: 5768
Joined: Sat Feb 08, 2003 21:02
Location: Coburg
Contact:

Re: Suunto Dive Manager 4 Import

Post by divinglog »

Hi René

Wow, thank you, that helped me a lot! I have not yet looked at the profile format which seems to be binary.

Best regards,
Sven
rene
Posts: 65
Joined: Sun Sep 12, 2010 19:07
Location: France

Re: Suunto Dive Manager 4 Import

Post by rene »

Well, I'm now able to read all the columns of the Dive table. Most fields are explicit. More difficult ones are:
* StartTime : see above (nano seconds from 1/1/0001)
* ProfileBlob : 4 bytes per sample interval, cast to float (4 byte real number)
* TemperatureBlob : 1 byte/interval : temperature in °C
* PressureBlob : 4 bytes/interval, cast to a int32 : pressure in millibars
There are two other BLOBs: TissuePressuresNitrogenStartBlob TissuePressuresHeliumStartBlob . In my database, both are empty.

In the table Mark, Type is an enum:
19 surfaced
257 dive active
4 mandatory safety stop
1 ascent warning
etc.
Values can easily be retrieved by comparing database and DM4.

rené
divinglog
Site Admin
Posts: 5768
Joined: Sat Feb 08, 2003 21:02
Location: Coburg
Contact:

Re: Suunto Dive Manager 4 Import

Post by divinglog »

Hi René

Thank you very much, it's now no problem to finish the SDM 4 import. Great work!

Best regards,
Sven
DutchGeek
Posts: 15
Joined: Sun Sep 11, 2011 11:11
Location: The Netherlands

Re: Suunto Dive Manager 4 Import

Post by DutchGeek »

Whoo hooo!

This makes life great for me, and I am sure other Suunto users. I can't say that I really like the functionality of the DM4 now, and the fact that you cant even edit / delete a dive really just boggles me.

Great work guys!
DutchGeek
Posts: 15
Joined: Sun Sep 11, 2011 11:11
Location: The Netherlands

Re: Suunto Dive Manager 4 Import

Post by DutchGeek »

Just a quick question, any idea of how long it will take to make an importer for the data?
divinglog
Site Admin
Posts: 5768
Joined: Sat Feb 08, 2003 21:02
Location: Coburg
Contact:

Re: Suunto Dive Manager 4 Import

Post by divinglog »

Maybe in September, but I cannot promise it.
divinglog
Site Admin
Posts: 5768
Joined: Sat Feb 08, 2003 21:02
Location: Coburg
Contact:

Re: Suunto Dive Manager 4 Import

Post by divinglog »

I've uploaded an update with SDM 4 support (there is a separate Suunto DM 4 import, do not use the SDM 3 import). Download this zip file and extract it into the Diving Log program folder. Make sure that you have version 5.0.5 installed before applying this update. Let me know if it works.

Kind regards,
Sven
rene
Posts: 65
Joined: Sun Sep 12, 2010 19:07
Location: France

Re: Suunto Dive Manager 4 Import

Post by rene »

Hello Sven,

Yes, it works :)

Tested with the logbook of my Suunto Vyper Air and its pressure transmitter.


By the way and for those who are interested, I have rewritten in C# the little program that reads the DM4.db file:

Code: Select all

cmd.CommandText = "SELECT DiveID,StartTime,SampleInterval,ProfileBlob,Note FROM Dive order by DiveID";
using (DbDataReader reader = cmd.ExecuteReader())
{
    while (reader.Read())
    {
        dive d = new dive();

        d.DiveID = (long)reader["DiveID"];
        d.StartTime = new DateTime((long)reader["StartTime"]);
        d.SampleInterval = (short)reader["SampleInterval"];
        d.Note = reader["Note"] as string;

        byte[] ProfileBlob = reader["ProfileBlob"] as byte[];
        d.Profile = new float[ProfileBlob.Length / 4];
        for (int i = 0; i < ProfileBlob.Length / 4; ++i)
        {
            d.Profile[i] = System.BitConverter.ToSingle(ProfileBlob, i * 4);
        }

        dives.Add(d);
    }
}
Much simplier than in C or C++...
Post Reply