7 Autor documentation: Jacco van Koll <jko@haringstad.com>
9 Scope of this document is the usage of the program.
10 Please read the build manual for instructions how to build the
11 software and (if needed) it's dependencies.
13 Audience: Fun Divers, Tec Divers, Professional Divers
18 Subsurface was started because of a lack of viable dive log software
19 on Linux. It turns out that the resulting software was easily ported
20 to Windows and Mac, but it clearly is a native Linux program first.
21 Right now, the program is under development and from version 1.1 it is
22 already very usable for divers with supported dive-computers.
24 In this manual the Suunto Viper will be used for all examples.
29 Before you are able to import information from your divecomputer into
30 Subsurface, you need some preparation. Do you have the following:
32 1. Your Divecomputer - Compatible with libdivecomputer (see list in Appendix A)
33 2. Communication interface - Cable to connect your divecomputer to your PC/Laptop/Netbook
34 3. Working installation of Subsurface
35 4. If needed, the manual of your divecomputer
38 3. Start using the program:
40 When you start the program for the first time, it shows no information
41 at all. This is because the program does not automatically load the
42 already available dive-log files.
44 There is a menu, containing 'File', 'Log', 'Filter' and Help.
46 The screen is devided in 3 area's:
48 Area with 3 tabs: Dive Notes, Equipment, Info & Stats
49 Area next to the 3 tabs, which will contain the dive profile
50 Area with the dives (usually called dive list), which can be sorted by number, date, etc.
55 Before you start fiddeling around with your divecomputer, note that
56 there are divecomputers that consume more power when they are in the
57 PC-Communication mode. This could drain your battery. Therefor, ensure
58 if your computer is recharging when connecting to the USB port. The
59 Suunto Viper does not recharge trough the USB connection. Please
60 consult the manual of your divecomputer if you are unsure if it will
61 be recharged when connected to the USB port.
63 Now it is time to hook up your divecomputer to your Linux system:
65 Make sure that your OS has the required drivers installed
67 On Linux this means you need to have the correct kernel
68 module loaded. Most distributions will do this automatically
71 On Windows, the OS should offer to download the correct
72 driver when you connect to the USB port.
74 On a Mac you at times have to manually hunt for the correct
75 driver. For example the correct driver for the Mares Puck
76 devices can be found as Mac_OSX_VCP_Driver.zip at
77 http://www.silabs.com/support/pages/support.aspx?ProductFamily=USB+Bridges
79 Connect your interface cable to a free USB port
81 Put your divecomputer into PC Communication mode. (For Suunto Viper, press Mode - 1 Memory - 3 TR-PC)
82 (You should consult the manual of your specific divecomputer for your brand and type)
84 Go in Subsurface to 'File - Import'
85 Within the popup, under Dive computer, choose your brand and type. Here we choose Suunto Vyper.
86 Change the devicename under which your interface is connected.
87 On Linux, default is /dev/ttyUSB0
88 On Windows, default is COM3
89 On Mac, default is ... specific to the dive computer
91 Click the 'OK' button.
93 Now watch how your data is retrieved from your divecomputer!
94 Depending on your type of computer and/or number of dives, this
95 could take some time. Please be patient.
98 5. Viewing and completing your logs
100 When all data from your divecomputer is transferred, you will see a
101 listing of your dives in Area 3.
105 On Sunday Oct 23, 2011 you made a dive.
106 In the log line of this dive, you see the following information:
109 Date: Sun, Oct 23, 2011 10:50 Date and time of your dive
110 *: Your rating (none at this time)
111 m: 12.8 Your maximum depth in meters
112 min: 31:20 Your dive-time in minutes and seconds
113 Deg. C: 13.0 Lowest water temperature during your dive
114 Cyl: Your used cylinder (none at this time)
115 O2%: air What type of mixture
116 SAC: SAC (none at this time)
117 Location: Where you performed your dive (empty)
119 As you can see, some information is already there because it is
120 retrieved from your divecomputer. Some information is waiting for
121 you to be added. By double clicking on this dive, you can view and
125 6. Edit the dive info
127 When you double click on the dive log line, the editor window
128 opens. Now you can add information that is missing. Let start with
129 completing the example:
131 You double clicked on dive #12, as described in 5. Viewing and
132 completing your logs. The Dive Info window pops up and you will see
135 Location: An input where you can enter your new location, or you can choose with the pull-down previous locations
136 Dive Master: An input where you can enter the name of your Dive Master, or you can choose with the pull-down a previous name
137 Buddy: An input where you can enter het name of you Buddy, or you can choose with the pull-down a previous name
138 Rating: A pull-down where you can rate your dive.
139 Notes: A free input where you can enter information about your dive. What you've seen, etc.
141 In this example we use the following information:
143 Location: Oostvoornse Meer
144 Dive Master: S. de Vries
147 Notes: First dive here. Good visibility. Did see the concrete poles, some crab and fish. Very nice and easy dive.
148 Made movie with 'headcam'.
150 Now don't press ok yet!
153 7. Edit equipment info
155 You also want to edit your Cylinder information. And in the previous
156 chapter, this was not edited. There is still another item to edit in
157 the Dive Info screen:
159 Cylinder: A double-click fieldset. Here you can edit your Cylinder information
161 So, when you double click on the cylinder info, you get another
162 popup. This popup gives you the following:
164 Cylinder: Pull-down where you can choose your Cylinder, or add your own
165 Size: The volume if not 'filled'
166 Pressure: The maximum pressure of this Cylinder
168 Start Pressure: What was the pressure starting the dive
169 End Pressure: What was the pressure ending the dive
170 Nitrox: What was the percentage of blend
172 Now we are going to enter the data:
178 Now tick the option for Start & End pressure
184 Now your dive information for this dive is complete. You can now press
185 ok in the Dive Info screen and view the results.
188 8. Adding equipment info
190 In Area with the 3 tabs there is the tab Equipment. With this tab, you
191 can add Cylinders. We are going to add an additional Cylinder:
193 In the main screen, click on the Equipment tab. This shows your Cylinder you added in 7.
194 Now press the Add button and the Cylinder popup comes back.
195 Just like you added your Cylinder information in 7. Edit equipment info, you add your cylinder
196 information for the second Cylinder. Fill in all the information about this Cylinder and press OK.
201 After adding all the information, you can use the tab Info &
202 Stats. This tab will provide you with all the (statistical and
203 calculated) information regarding your dive.
205 The information contains:
209 Date: Date and time of your dive
210 Dive Time: Duration of your dive
211 Surf Intv: Interval between previous dive and this dive
212 Max Depth: Maximum depth of this dive
213 Avg Depth: The average depth of this dive
214 Water Temp: Lowest temperature of the water
215 SAC: The amount of Surface Air Consumption liters per minute
216 OTU: The Oxygen Toxicity Units of this dive
217 O2/He: Amount of Oxygen/Helium
218 Gas Used: The total volume of gas used during this dive
222 Total time: Total time of all your dives together, calculated
223 Avg Time: The average divetime of your dives, calculated
224 Max Depth: The maximum depth of all your dives
225 Avg Depth: The average depth of all your dives, calculated
226 Max SAC: Highest of Surface Air Consumption of all your dives
227 Min SAC: Lowest of Surface Air Consumption of all your dives
228 Avg SAC: Average Surface Air Consuption of all your dives, calculated
231 10. Setting up preferences
233 Subsurface has the ability to modify the preferences you want. By
234 using menu 'File - Preferences' you will be presented a popup with the
235 'Units'. You are free to choose what is your preference, with other
236 words, use Metric or Imperial.
238 You can set the following options:
239 Depth: Your diving depth in Meters or Feet
240 Pressure: The pressure of your tank(s) in Bar/Ato or PSI (Pressure Square Inch)
241 Volume: The volume of your tank(s) in Liter or CuFt (Cubic Feet) (At sea-level pressure)
242 Temperature: The temperature of the water in Celcius or Fahrenheit
244 In the main screen, you did see in Area 3, some information. In the
245 Columns options, you can enable/disable options you would like to show
247 Show Temp: Shows the temperature of your dive
248 Show Cyl: Shows the cylinder(s) of your dive
249 Show O2%: Shows the O2% of your dive
250 Show SAC: Shows the SAC of your dive (Surface Air Consumption)
251 Show OTU: Shows the OTU of your dive (Oxygen Toxicity Units)
253 And, you can change the font usage of the program.
255 I will give an example here:
257 I am a diver in The Netherlands, using the Metric System. Therefor, I
258 go to the menu File, choose Preferences here. In the Units section, I
266 I would like to see the:
272 As a beginning diver, I don't need to track my OTUs. So I leave this
275 Clicking OK on the dialog stores these settings.
278 11. How to find the Device Name
280 When you connect your divecomputer by using an USB connector, most of the
281 time, the default of '/dev/ttyUSB0' should work. But if you have other
282 Serial to USB devices, this can be different because '/dev/ttyUSB0' is
285 One of the ways to find out what your dive name is:
287 Disconnect your usb cable of your dive computer
289 Type the command: 'dmesg' and press enter
290 Plug in your usb cable of your divecomputer
291 Type the command: 'dmesg' and press enter
293 Within your terminal you should see a message similair to this one:
295 usb 2-1.1: new full speed USB device number 14 using ehci_hcd
296 usbcore: registered new interface driver usbserial
297 USB Serial support registered for generic
298 usbcore: registered new interface driver usbserial_generic
299 usbserial: USB Serial Driver core
300 USB Serial support registered for FTDI USB Serial Device
301 ftdi_sio 2-1.1:1.0: FTDI USB Serial Device converter detected
302 usb 2-1.1: Detected FT232BM
303 usb 2-1.1: Number of endpoints 2
304 usb 2-1.1: Endpoint 1 MaxPacketSize 64
305 usb 2-1.1: Endpoint 2 MaxPacketSize 64
306 usb 2-1.1: Setting MaxPacketSize 64
307 usb 2-1.1: FTDI USB Serial Device converter now attached to ttyUSB3
308 usbcore: registered new interface driver ftdi_sio
309 ftdi_sio: v1.6.0:USB FTDI Serial Converters Driver
311 You see that in the third line from the bottom, the usb adapter is
312 detected and is connected to 'ttyUSB3'. Now you use this information in
313 the import settings as '/dev/ttyUSB3'. Your divecomputer interface is
314 connected and you should be able to import your dives.
317 12. Importing dives from JDivelog
319 Maybe you have been using JDivelog and you have a lot of dives logged in
320 this program. You don't have to type all information by hand into
321 Subsurface, because you can import your divelogs from JDivelog.
323 JDivelog stores it's information into files with the extention of .jlb.
324 These .jlb contain all the information that has been stored, except your
325 images in xml format.
327 By using the menu 'File - Import' you get the popup, like described in
328 chapter 4, Importing new dives. Within this popup there is the option
329 to import existing files which are already on your computer. To import
330 your JDivelog file(s) do the following:
332 Open 'File - Import' on the menu
333 Use the file locator under XML file name
334 Browse your directories to the location where your *.jlb file is
335 Select your existing *.jlb file and click 'open'
336 Click the OK button in the popup
338 After a few moments, you see your existing logs in Subsurface. Now you can
339 edit your dives like explained in chapter 6.
341 Information that is imported from JDivelog into the location field:
343 Extended dive location information
345 Information that is merged into the location or notes field:
347 Used amount of weight
353 Alternatively, you can start subsurface with the --import comand line
354 which will have the same effect:
356 subsurface MyDives.xml --import JDivelogDives.jlb
358 will open your divelog (assuming that's called MyDives.xml) and then
359 import the dives from JdivelogDives.jlb. You can now save the combined
360 divelog back as MyDives.xml.
362 Subsurface will similarly import xml exports from DivingLog as well as
365 When importing dives subsurface tries to detect multiple records for
366 the same dive and merges the information as best as it can. So as long
367 as there are no time zone issues (or other reasons that would cause the
368 beginning time of the dives to be substantially different) subsurface
369 will not create duplicate entries.
372 13. Importing dives from Suunto Divemanager 3.*
374 Before you can start importing dives from Suunto Divemanager, you first
375 have to export the dives you want to import. Subsurface does not import
376 directly from the Suunto Divemanager log files. The following procedures
377 unpacking instructions for Linux and Windows.
379 13.1 Export from Suunto Divemanager:
381 Start Suunto Divemanager and login with the name containing the logs
382 Do not start the import wizard to import dives from your computer.
383 In the navigation tree on the left side of the program-window, select your dives.
384 Within the list of dives, select the dives you would like to import later:
385 To select certain dives: hold ctrl and point & click the dive
386 To select all dives: Select the first dive, hold down shift and select the last dive
387 With the dives marked, use the program menu 'File - Export'
388 The export popup will show
389 Within this popup, there is one field called Export Path.
390 Click the button browse next to the field Export Path
391 A file-manager like window pops up
392 Navigate to the directory where you want to store the Divelog.SDE file
393 Optional change the name of the file you want to save
395 You are back in the Export popup. Press the button 'Export'
396 Your dives are now exported to the file Divelogs.SDE.
398 13.2 Unpacking the Divelogs.SDE on Windows
400 Renaming your file to a .zip:
402 Use the filemanager (explorer) and navigate to your Divelogs.SDE file
403 Right click on the Divelogs.SDE file and choose 'Rename'
404 Change the name into Divelogs.SDE.zip
405 Press enter when done. A warning popup shows:
406 The file could be unusable when changing the extension. Are you sure:
408 Your filemanager will show now the filename Divelogs.SDE.zip
410 When you double click your Divelogs.SDE.zip file, your preferred archiving
411 tool will start and show you the list of xml files that are in the zip
412 archive. Select all the xml files and extract them to a place where you
413 can find them later in the process.
415 13.3 Unpacking the Divelogs.SDE on Linux
417 The assumption is that you have exported your Divelogs.SDE on a Windows
418 system. You have to transfer the file to a location where you can read it
419 from within your Linux environment. You can use file-tranfer, shared
420 storage or an USB storage device to do this.
421 The example uses an USB storage:
423 Insert your USB storage into your Windows computer
424 Use the filemanager (explorer) to navigate to the location where your Divelogs.SDE file is located
425 Copy the file to your USB storage:
426 Select the file by 1 click
428 Navigate to your USB Storage
430 Disconnect your USB storage by right clicking your USB storage in the explorer and choose Eject
431 Insert your USB storage into your Linux computer
432 Use your favourite filemanager to navigate to your USB storage
433 Copy the file to /tmp by:
434 Right click on the file
437 press Ctrl+v or use the menu 'Edit - Paste'
438 The file is now transfered to /tmp
440 Now the file is in /tmp, we can extract the xml files from it. You can do
441 this by hand, or use the example script in Appendix B.
443 To extract the xml files, we need to open a terminal and use the following
449 unzip ../Divelogs.SDE
451 Your divelogs have now been extracted from the Divelogs.SDE file and you
452 can import them with the command:
456 And with the menu 'File - Save' you can save your dives into the
462 The use of libdivecomputer provides the support for divecomputers. Within
463 the list of computers in the 'File - import' menu, you will see a listing
464 of divecomputers. This list is covering a compatible set. Please check
465 your users manual to check if your computer will be supported.
467 Supported divecomputers:
520 * OSTC computers are listed in the pull-down menu as OSTC. All 3 types are supported.
527 # Small basic example script to unpack Suunto Export files
528 # for the use with Subsurface
531 echo -n "Enter the directory where you stored your Suunto Divemanager export file: "
534 echo -n "Enter the name of your Suunto Divemanager export file: "
535 read SuuntoExportFile
537 echo "You have entered: $SuuntoExportDir/$SuuntoExportFile"
541 if [ -e ./$SuuntoExportFile ]; then
544 unzip ../$SuuntoExportFile
547 echo "Nothing found! Try again!"