Scubacastor
Contributor
Yep, I am planning to share and document what I'll find
Welcome to ScubaBoard, the world's largest scuba diving community. Registration is not required to read the forums, but we encourage you to join. Joining has its benefits and enables you to participate in the discussions.
Benefits of registering include
I already had figured out the basic structure of the binary data and implemented a basic parser (supporting only the time and depth data) for the libdivecomputer project at the end of 2010. But because I didn't had discovered the xml files yet, the reverse engineering was a lot more time consuming then it is now. Combined with the fact that I was very busy with other stuff (including adding support for the atomics cobalt for which we do get support from the manufacturer), I didn't really continued on the uemis support since my initial success. But due to the uemis bankruptcy I picked up where I left.Yesterday TnT was looking for some xml and binaries to do the correspondance... so it was not exactly - to my understanding - about fine tuning at this point.
Once again I have to say how much I appreciate the responsiveness and proactive support that Sven is giving the UEMIS user community. I hope every UEMIS owner has already bought divinglog - it's a very good tool and with what Sven has posted here at least as long as the UEMIS website is up it is trivial for us to liberate (and keep) our dive information.Finally, the last piece is finished to download dives directly from the Uemis server into your offline logbook without dealing with XML files and IDs manually. First of all I want to thank BB1 and dirkhh for their great help! Without them it would not have been possible to complete this work! Now, the final result:
You can access the new sync dialog from the "Web" menu in Diving Log:
I think we are making very good progress towards complete offline sync. Scubacaster, TnT and nicklesshead have really moved this forward. There are a few pieces still being worked, but it shouldn't be much longer till we are able to extract and parse the dive data directly from the SDA.Hopefully a complete offline sync will be possible in the future, but as long as the Uemis servers are working, you can use this method to transfer your dives to your PC.
Finally, the last piece is finished to download dives directly from the Uemis server into your offline logbook without dealing with XML files and IDs manually. First of all I want to thank BB1 and dirkhh for their great help! Without them it would not have been possible to complete this work! Now, the final result:
View attachment 98535
You can access the new sync dialog from the "Web" menu in Diving Log:
View attachment 98536
Click here to download the update zip file and extract it into the Diving Log program folder. Then login with your Uemis username and password and Diving Log will download the XML files automatically and import the dives you want. If you want to use the XML files directly (e.g. to upload them to your own server), you can find them here:
Windows Vista and 7:
C:\ProgramData\Diving Log\Uemis
Windows XP:
C:\Documents and Settings\All Users\Application Data\Diving Log\Uemis
So you can use this tool also to bulk download all files with one mouse click. Please let me know if you experience any problems and if you have any feedback. Hopefully a complete offline sync will be possible in the future, but as long as the Uemis servers are working, you can use this method to transfer your dives to your PC.
Okay, here's the list of bytes for the header. I am far from done reading it but at least that's a begining . I use the same name than the markers in divelog.xml . I've only done with one dive and it still needs some validation
1 D
2 i
3 v
4 e
5 1 (that's 0x01 - not the ASCII char '1')
6 0 (0x00)
7 0 (0x00)
8 <dive_number>
9 <dive_number>
10 <computer_id>
11 <computer_id>
12 <computer_id>
13 <computer_id>
14 <computer_type>
15 <computer_type>
16 <computer_settings>
17 <computer_settings>
18 <software_version>
19 <software_version>
20 <water>
21 <length>
22 <volume>
23 <pressure>
24 <temperature>
25 <weight>
26 <time>
27 <date>
28 <experience>
29 <gender>
30 <body_weight>
31 <body_weight>
32 <body_height>
33 <body_height>
34 <time_zone>
35 <summer_time>
36 ? likely to be <date_time>
37 ?
38 ?
39 ?
40 ?
41 ?
42 ?
43 ?
44 <air_pressure>
45 <air_pressure>
46 <temperature>
47 <temperature>
48 ? likely to be <longitude><latitude><altitude>
49 ?
50 ?
51 ?
52 ?
53 ?
55 ?
56 ?
57 ?
58 <no_fly_time>
59 <no_fly_time>
60 <no_dive_time>
61 <no_dive_time>
62 <desaturation_time>
63 <desaturation_time>
64 <allowed_altitude>
65 <allowed_altitude>
66 <cns>
67 <interval_time>
68 <interval_time>
69 <main_level>
70 <main_level>
71 <flow_dir>
72 <flow_dir>
73 <sender_1>
74 <sender_2>
75 <sender_3>
77 <level>
78 <deco_level>
79 <deco_level>
80 <deco_level>
81 <deco_level>
82 <deep_stop_level>
83 <deep_stop_level>
84 <deep_stop_level>
85 <deep_stop_level>
86 <stop_time>
87 <stop_time>
88 <stop_time>
89 <stop_time>
90 ? possibly <stop_depth_pressure> for the 4 different settings
91 ?
92 ?
93 ?
94 ?
95 ?
96 ?
97 ?
98 ?
99 ?
100 ?
101 ?
102 ?
103 ?
104 ?
105 ?
106 ?
107 ?
108 ?
109 ?
109 <max_dive_time>
110 <max_dive_time>
111 <max_deco_time>
112 <max_deco_time>
113 <gas_warning_time_rgt>
114 <divetime_info>
if some of you can validate, complete...
Well I guess, we'll need to find a proper plateform to share those info. What about code.google.com ?
In the meantime I am no longer able to sync my dive using the webportal :
START AgentService
Try to open the tunnel...
Setup the SSLContext...
Setup the SSLContext done.
Set up a socket to do tunneling...
Connection failed !
00:28:57
java.net.ConnectException: Connection refused: connect
Not good...