]> git.tdb.fi Git - ext/subsurface.git/blob - Documentation/user-manual.txt
Fix crash when editing weight system info
[ext/subsurface.git] / Documentation / user-manual.txt
1 Subsurface 1.2 User Manual
2 ==========================
3 Jacco van_Koll <jko@haringstad.com>
4 v0.0.7, January 2012
5 :Author Initials: JKO
6 :toc:
7 :icons:
8 :numbered:
9 :website: http://subsurface.hohndel.org
10
11 Scope of this document is the usage of the program.
12 Please read the build manual for instructions how to build the
13 software and (if needed) its dependencies.
14
15 Audience: Fun Divers, Tec Divers, Professional Divers
16
17
18 [[S_Introduction]]
19 Introduction:
20 -------------
21
22 Subsurface was started because of a lack of viable dive log software
23 on Linux. It turns out that the resulting software was easily ported
24 to Windows and Mac, but it clearly is a native Linux program first.
25 Right now, the program is under development and from version 1.1 it is
26 already very usable for divers with supported dive-computers.
27
28 In this manual the Suunto Viper will be used for all examples.
29
30
31 [[S_Requirements]]
32 Requirements
33 ------------
34
35 Before you are able to import information from your divecomputer into
36 Subsurface, you need some preparation. Do you have the following:
37
38         1. Your Divecomputer - Compatible with libdivecomputer (see list in <<AppendixA,Appendix A>>)
39         2. Communication interface - Cable to connect your divecomputer to your PC/Laptop/Netbook
40         3. Working installation of Subsurface
41         4. If needed, the manual of your divecomputer
42
43
44 [[S_StartUsing]]
45 Start using the program
46 -----------------------
47
48 When you start the program for the first time, it shows no information
49 at all. This is because the program does not automatically load the
50 already available dive-log files.
51
52 There is a menu, containing 'File', 'Log', 'Filter' and Help.
53
54 The screen is devided in 3 area's:
55
56  - Area with 3 tabs: Dive Notes, Equipment, Info & Stats
57  - Area next to the 3 tabs which will contain the dive profile
58  - Area with the dives (usually called dive list) which can be sorted by number, date, etc.
59
60
61 [[S_ImportNewDives]]
62 Import new dives from your divecomputer
63 ---------------------------------------
64
65 Before you start fiddeling around with your divecomputer, note that
66 there are divecomputers that consume more power when they are in the
67 PC-Communication mode. This could drain your battery. Therefor, ensure
68 if your computer is recharging when connecting to the USB port. The
69 Suunto Viper does not recharge trough the USB connection. Please
70 consult the manual of your divecomputer if you are unsure if it will
71 be recharged when connected to the USB port.
72
73 Now it is time to hook up your divecomputer to your Linux system:
74
75  - Make sure that your OS has the required drivers installed
76
77         * On Linux this means you need to have the correct kernel
78           module loaded. Most distributions will do this automatically
79           for you.
80
81         * On Windows, the OS should offer to download the correct
82           driver when you connect to the USB port.
83
84         * On a Mac you at times have to manually hunt for the correct
85           driver. For example the correct driver for the Mares Puck
86           devices can be found as Mac_OSX_VCP_Driver.zip at
87           http://www.silabs.com/support/pages/support.aspx?ProductFamily=USB+Bridges
88
89  - Connect your interface cable to a free USB port
90
91  - Put your divecomputer into PC Communication mode. (For Suunto Viper, press Mode - 1 Memory - 3 TR-PC)
92         (You should consult the manual of your specific divecomputer for your brand and type)
93
94  - Go in Subsurface to 'File - Import'
95         * Within the popup, under Dive computer, choose your brand and type. Here we choose Suunto Vyper.
96         * Change the devicename under which your interface is connected.
97                ** On Linux, default is /dev/ttyUSB0
98                ** On Windows, default is COM3
99                ** On Mac, default is ... specific to the dive computer
100
101         * Click the 'OK' button.
102
103  - Now watch how your data is retrieved from your divecomputer!
104    Depending on your type of computer and/or number of dives, this
105    could take some time. Please be patient.
106
107
108 [[S_ViewingLogs]]
109 Viewing and completing your logs
110 --------------------------------
111
112 When all data from your divecomputer is transferred, you will see a
113 listing of your dives in Area 3.
114
115 An example:
116
117 On Sunday Oct 23, 2011 you made a dive.
118 In the log line of this dive, you see the following information:
119 [width="70%",cols="<5%,10%,<20%,<65%",grid="none",frame="none",style="monospaced"]
120 |===============================================================================
121 || #       | 12                      | Dive number
122 || Date    | Sun, Oct 23, 2011 10:50 | Date and time of your dive
123 || *       |                         | Your rating (none at this time)
124 || m       | 12.8                    | Your maximum depth in meters
125 || min     | 31:20                   | Your dive-time in minutes and seconds
126 || Deg. C   | 13.0                   | Lowest water temperature during your dive
127 || Cyl     |                         | Your used cylinder (none at this time)
128 || O2%     | air                     | What type of mixture
129 || SAC     |                         | SAC (none at this time)
130 || Location |                        | Where you performed your dive (empty)
131 |===============================================================================
132
133 As you can see, some information is already there because it is
134 retrieved from your divecomputer. Some information is waiting for
135 you to be added. By double clicking on this dive, you can view and
136 complete the log.
137
138
139 [[S_EditDiveInfo]]
140 Edit the dive info
141 ------------------
142
143 When you double click on the dive log line, the editor window
144 opens. Now you can add information that is missing. Let start with
145 completing the example:
146
147 You double clicked on dive #12, as described in <<S_ViewingLogs,Viewing and
148 completing your logs>>.  The Dive Info window pops up and you will see
149 the following:
150 [horizontal]
151  *Location*::    An input where you can enter your new location, or you can choose with the pull-down previous locations
152  *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
153  *Buddy*::       An input where you can enter het name of you Buddy, or you can choose with the pull-down a previous name
154  *Rating*::      A pull-down where you can rate your dive.
155  *Notes*::       A free input where you can enter information about your dive. What you've seen, etc.
156
157 In this example we use the following information:
158 [horizontal]
159  *Location*::           Oostvoornse Meer
160  *Dive Master*::        S. de Vries
161  *Buddy*::              S. de Vries
162  *Rating*::             3 stars
163  *Notes*::              First dive here. Good visibility. Did see the concrete poles, some crab and fish. Very nice and easy dive. +
164                         Made movie with headcam.
165
166 Now don't press ok yet!
167
168 [[S_EditEquipmentInfo]]
169 Edit equipment info
170 -------------------
171
172 You also want to edit your Cylinder information. And in the
173 <<S_EditDiveInfo, previous chapter>>, this was not edited. There is
174 still another item to edit in the Dive Info screen:
175
176  - Cylinder:     A double-click fieldset. Here you can edit your Cylinder information
177
178 So, when you double click on the cylinder info, you get another
179 popup. This popup gives you the following:
180
181  - Cylinder:    Pull-down where you can choose your Cylinder, or add your own
182  - Size:        The volume if not `filled'
183  - Pressure:    The maximum pressure of this Cylinder
184  - Optional:
185                 * Start Pressure: What was the pressure starting the dive
186                 * End Pressure: What was the pressure ending the dive
187                 * Nitrox:               What was the percentage of blend
188
189 Now we are going to enter the data:
190
191  - Cylinder:    15.0 l
192  - Size:        15.0
193  - Pressure:    220
194
195 Now tick the option for Start & End pressure
196
197  - Start Pressure:      180
198  - End Pressure:        60
199  - Press Ok
200
201 Now your dive information for this dive is complete. You can now press
202 ok in the Dive Info screen and view the results.
203
204 [[S_AddingEquipment]]
205 Adding equipment info
206 ---------------------
207
208 In Area with the 3 tabs there is the tab Equipment. With this tab, you
209 can add Cylinders.  We are going to add an additional Cylinder:
210
211  - In the main screen, click on the Equipment tab.  This shows your
212    Cylinder you added in 7.
213
214  - Now press the Add button and the Cylinder popup comes back.
215
216  - Just like you added your Cylinder information in 7.  Edit equipment
217    info, you add your cylinder information for the second Cylinder.
218    Fill in all the information about this Cylinder and press OK.
219
220 [[S_ViewInfoStats]]
221 View info & Stats
222 -----------------
223
224 After adding all the information, you can use the tab Info &
225 Stats. This tab will provide you with all the (statistical and
226 calculated) information regarding your dive.
227
228 The information contains:
229
230  - Dive Info:
231
232         ** Date:        Date and time of your dive
233         ** Dive Time:   Duration of your dive
234         ** Surf Intv:   Interval between previous dive and this dive
235         ** Max Depth:   Maximum depth of this dive
236         ** Avg Depth:   The average depth of this dive
237         ** Water Temp:  Lowest temperature of the water
238         ** SAC:         The amount of Surface Air Consumption liters per minute
239         ** OTU:         The Oxygen Toxicity Units of this dive
240         ** O2/He:       Amount of Oxygen/Helium
241         ** Gas Used:    The total volume of gas used during this dive
242
243  - Statistics:
244
245         ** Total time:  Total time of all your dives together, calculated
246         ** Avg Time:    The average divetime of your dives, calculated
247         ** Max Depth:   The maximum depth of all your dives
248         ** Avg Depth:   The average depth of all your dives, calculated
249         ** Max SAC:     Highest of Surface Air Consumption of all your dives
250         ** Min SAC:     Lowest of Surface Air Consumption of all your dives
251         ** Avg SAC:     Average Surface Air Consuption of all your dives, calculated
252
253 [[S_SettingUpPreferences]]
254 Setting up preferences
255 ----------------------
256
257 Subsurface has the ability to modify the preferences you want. By
258 using menu 'File - Preferences' you will be presented a popup with the
259 'Units'. You are free to choose what is your preference, with other
260 words, use Metric or Imperial.
261
262 You can set the following options:
263  - Depth:       Your diving depth in Meters or Feet
264  - Pressure:    The pressure of your tank(s) in Bar/Ato or PSI (Pressure Square Inch)
265  - Volume:      The volume of your tank(s) in Liter or CuFt (Cubic Feet) (At sea-level pressure)
266  - Temperature: The temperature of the water in Celcius or Fahrenheit
267
268 In the main screen, you did see in Area 3, some information. In the
269 Columns options, you can enable/disable options you would like to show
270 there:
271  - Show Temp:   Shows the temperature of your dive
272  - Show Cyl:    Shows the cylinder(s) of your dive
273  - Show O2%:    Shows the O2% of your dive
274  - Show SAC:    Shows the SAC of your dive (Surface Air Consumption)
275  - Show OTU:    Shows the OTU of your dive (Oxygen Toxicity Units)
276
277 And, you can change the font usage of the program.
278
279 I will give an example here:
280
281 I am a diver in The Netherlands, using the Metric System. Therefor, I
282 go to the menu File, choose Preferences here. In the Units section, I
283 use the following:
284
285  - Depth:       Meter
286  - Pressure:    Bar
287  - Volume:      Liter
288  - Temperature: Celcius
289
290 I would like to see the:
291
292  - Temperature
293  - Show Cyl
294  - Show O2%
295  - Show SAC
296
297 As a beginning diver, I don't need to track my OTUs. So I leave this
298 one not enabled.
299
300 Clicking OK on the dialog stores these settings.
301
302 [[S_HowFindDeviceName]]
303 How to find the Device Name
304 ---------------------------
305
306 When you connect your divecomputer by using an USB connector, most of the
307 time, the default of '/dev/ttyUSB0' should work. But if you have other
308 Serial to USB devices, this can be different because '/dev/ttyUSB0' is
309 already in use.
310
311 One of the ways to find out what your dive name is:
312
313  - Disconnect your usb cable of your dive computer
314  - Open a terminal
315  - Type the command: 'dmesg' and press enter
316  - Plug in your usb cable of your divecomputer
317  - Type the command: 'dmesg' and press enter
318
319 Within your terminal you should see a message similair to this one:
320
321         usb 2-1.1: new full speed USB device number 14 using ehci_hcd
322         usbcore: registered new interface driver usbserial
323         USB Serial support registered for generic
324         usbcore: registered new interface driver usbserial_generic
325         usbserial: USB Serial Driver core
326         USB Serial support registered for FTDI USB Serial Device
327         ftdi_sio 2-1.1:1.0: FTDI USB Serial Device converter detected
328         usb 2-1.1: Detected FT232BM
329         usb 2-1.1: Number of endpoints 2
330         usb 2-1.1: Endpoint 1 MaxPacketSize 64
331         usb 2-1.1: Endpoint 2 MaxPacketSize 64
332         usb 2-1.1: Setting MaxPacketSize 64
333         usb 2-1.1: FTDI USB Serial Device converter now attached to ttyUSB3
334         usbcore: registered new interface driver ftdi_sio
335         ftdi_sio: v1.6.0:USB FTDI Serial Converters Driver
336
337 You see that in the third line from the bottom, the usb adapter is
338 detected and is connected to 'ttyUSB3'. Now you use this information in
339 the import settings as '/dev/ttyUSB3'. Your divecomputer interface is
340 connected and you should be able to import your dives.
341
342 [[S_ImportingDivesJDivelog]]
343 Importing dives from JDivelog
344 -----------------------------
345
346 Maybe you have been using JDivelog and you have a lot of dives logged in
347 this program. You don't have to type all information by hand into
348 Subsurface, because you can import your divelogs from JDivelog.
349
350 JDivelog stores its information into files with the extension of .jlb.
351 These .jlb contain all the information that has been stored, except your
352 images in xml format.
353
354 By using the menu 'File - Import' you get the popup, like described in
355 <<S_ImportNewDives, chapter 4>>, Importing new dives. Within this
356 popup there is the option to import existing files which are already
357 on your computer. To import your JDivelog file(s) do the following:
358
359  - Open 'File - Import' on the menu
360  - Use the file locator under XML file name
361  - Browse your directories to the location where your *.jlb file is
362  - Select your existing *.jlb file and click 'open'
363  - Click the OK button in the popup
364
365 After a few moments, you see your existing logs in Subsurface. Now you can
366 edit your dives like explained in <<S_EditDiveInfo, chapter 6>>.
367
368 Information that is imported from JDivelog into the location field:
369
370  - Extended dive location information
371
372 Information that is merged into the location or notes field:
373
374  - Used amount of weight
375  - Used type of suit
376  - Used type of gloves
377  - Type of dive
378  - Dive activity
379
380 Alternatively, you can start subsurface with the --import command line
381 which will have the same effect:
382
383       subsurface MyDives.xml --import JDivelogDives.jlb
384
385 will open your divelog (assuming that's called MyDives.xml) and then
386 import the dives from JdivelogDives.jlb. You can now save the combined
387 divelog back as MyDives.xml.
388
389 Subsurface will similarly import xml exports from DivingLog as well as
390 Suunto DiveManager.
391
392 When importing dives subsurface tries to detect multiple records for
393 the same dive and merges the information as best as it can. So as long
394 as there are no time zone issues (or other reasons that would cause the
395 beginning time of the dives to be substantially different) subsurface
396 will not create duplicate entries.
397
398 [[S_ImportingDivesSuunto]]
399 Importing dives from Suunto Divemanager 3.*
400 -------------------------------------------
401
402 Before you can start importing dives from Suunto Divemanager, you first
403 have to export the dives you want to import. Subsurface does not import
404 directly from the Suunto Divemanager log files. The following procedures
405 unpacking instructions for Linux and Windows.
406
407 Export from Suunto Divemanager
408 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
409
410  - Start Suunto Divemanager and login with the name containing the logs
411  - Do not start the import wizard to import dives from your computer.
412  - In the navigation tree on the left side of the program-window, select your dives.
413  - Within the list of dives, select the dives you would like to import later:
414         * To select certain dives: hold ctrl and point & click the dive
415         * To select all dives:  Select the first dive, hold down shift and select the last dive
416  - With the dives marked, use the program menu 'File - Export'
417  - The export popup will show
418  - Within this popup, there is one field called Export Path.
419         * Click the button browse next to the field Export Path
420                 ** A file-manager like window pops up
421                 ** Navigate to the directory where you want to store the Divelog.SDE file
422                 ** Optional change the name of the file you want to save
423                 ** Click 'Save'
424         * You are back in the Export popup. Press the button 'Export'
425  - Your dives are now exported to the file Divelogs.SDE.
426
427 Unpacking the Divelogs.SDE on Windows
428 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
429
430 Renaming your file to a .zip:
431
432  - Use the filemanager (explorer) and navigate to your Divelogs.SDE file
433  - Right click on the Divelogs.SDE file and choose 'Rename'
434         * Change the name into Divelogs.SDE.zip
435         * Press enter when done. A warning popup shows:
436
437                 The file could be unusable when changing the extension. Are you sure:
438                 Press OK.
439
440         * Your filemanager will show now the filename Divelogs.SDE.zip
441
442 When you double click your Divelogs.SDE.zip file, your preferred archiving
443 tool will start and show you the list of xml files that are in the zip
444 archive. Select all the xml files and extract them to a place where you
445 can find them later in the process.
446
447 Unpacking the Divelogs.SDE on Linux
448 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
449
450 The assumption is that you have exported your Divelogs.SDE on a Windows
451 system. You have to transfer the file to a location where you can read it
452 from within your Linux environment. You can use file-transfer, shared
453 storage or an USB storage device to do this.
454 The example uses an USB storage:
455
456  - Insert your USB storage into your Windows computer
457  - Use the filemanager (explorer) to navigate to the location where your Divelogs.SDE file is located
458  - Copy the file to your USB storage:
459         * Select the file by 1 click
460         * Press Ctrl+c
461         * Navigate to your USB Storage
462         * Press Ctrl+v
463  - Disconnect your USB storage by right clicking your USB storage in the explorer and choose Eject
464  - Insert your USB storage into your Linux computer
465  - Use your favourite filemanager to navigate to your USB storage
466  - Copy the file to /tmp by:
467         * Right click on the file
468         * select copy
469         * navigate to /tmp
470         * press Ctrl+v or use the menu 'Edit - Paste'
471  - The file is now transfered to /tmp
472
473 Now the file is in /tmp, we can extract the xml files from it. You can do
474 this by hand, or use the example script in <<AppendixB,Appendix B>>.
475
476 To extract the xml files, we need to open a terminal and use the following
477 commands:
478
479         cd /tmp
480         mkdir suunto
481         cd suunto
482         unzip ../Divelogs.SDE
483
484 Your divelogs have now been extracted from the Divelogs.SDE file and you
485 can import them with the command:
486
487         subsurface *.xml
488
489 And with the menu 'File - Save' you can save your dives into the
490 Subsurface format.
491
492 [[S_Menu]]
493 The menu and sub-menus
494 ----------------------
495
496 Within Subsurface, there are several menu and sub-menu options. All of
497 those will be described here with their function.
498
499 The file menu
500 ~~~~~~~~~~~~~
501
502 The file menu is used for the following menu options:
503
504  - Open::               Open your saved Subsurface xml file(s)
505  - Save::               Save your current divelogs or changes you made to your divelogs
506  - Print::              Print your current divelog profiles and information about the dive
507  - Import::     Import your dives from your divecomputer, JDivelogs or Suunto Divemanager
508  - Preferences::        Set your preferences as described in <<S_SettingUpPreferences,chapter 10>>
509  - Quit::               Quit the program
510
511 The Log menu
512 ~~~~~~~~~~~~
513
514 Within the Log menu, there are only 2 sub-items:
515
516  - Renumber::   This option provides you with a popup. Within this
517                         popup you can choose what the first number of your dives should be
518                         for this set of dives.
519  - View::               This is a submenu containing:
520         * List::                Show only the list of dives you have made
521         * Profile::     Show only the dive profile of the selected dive
522         * Info::                Show only the 3 tab information screen
523         * Three::               Show the 'default' 3 screen setup
524
525 The Filter menu
526 ~~~~~~~~~~~~~~~
527
528 This menu gives you the choice to enable or disable Events for the
529 selected divelog(s). At this time, you can enable or disable ascent.
530 When you enable ascent for your dives, within the dive profile, a yellow
531 marker with exclamation sign (!) will show on the points where you have
532 ascented.
533
534 The Help menu
535 ~~~~~~~~~~~~~
536
537 The Help menu shows only the About, which contains the version and author
538 information and License button.
539
540
541 [[AppendixA]]
542 Appendix A: Supported Dive Computers
543 ------------------------------------
544
545 The use of libdivecomputer provides the support for divecomputers. Within
546 the list of computers in the 'File - import' menu, you will see a listing
547 of divecomputers. This list is covering a compatible set. Please check
548 your users manual to check if your computer will be supported.
549
550    Supported divecomputers::
551
552         Atomics::
553                 Cobalt
554
555         Cressi::
556                 Edi
557
558         Mares::
559                 Icon HD
560                 Nemo
561                 Puck
562                         Air
563
564         Oceanic::
565                 Veo250
566                 VT Pro
567
568         OSTC::
569                 DR5
570                 2N
571
572         Reefnet::
573                 Sensus
574                 Sensus Pro
575                 Sensus Ultra
576
577         Suunto::
578                 Cobra
579                         2
580                         3
581                 D3
582                 D9
583                         D4
584                         D4i
585                         D6
586                         D6i
587                         D9tx
588                 Eon
589                 Gekko
590                 HelO2
591                 Mosquito
592                 Solution
593                         Alpha
594                         Nitrox/Vario
595                 Stinger
596                 Vyper
597                         2
598                         Air
599                 Vytec
600                         DS
601                 Zoop
602
603         Uwatec::
604                 Aladin
605                 Memo Mouse
606                 Smart
607
608         Zeagle::
609                 N2iTiON 3
610
611 * OSTC computers are listed in the pull-down menu as OSTC. All 3 types are supported.
612
613
614 [[AppendixB]]
615 Appendix B: Suunto Export Unpacking Script
616 ------------------------------------------
617
618         #!/bin/bash
619         #
620         # Small basic example script to unpack Suunto Export files
621         # for the use with Subsurface
622         #
623
624         echo -n "Enter the directory where you stored your Suunto Divemanager export file: "
625         read SuuntoExportDir
626
627         echo -n "Enter the name of your Suunto Divemanager export file: "
628         read SuuntoExportFile
629
630         echo "You have entered: $SuuntoExportDir/$SuuntoExportFile"
631
632         cd $SuuntoExportDir
633
634         if [ -e ./$SuuntoExportFile ]; then
635                 mkdir SuuntoXML
636                 cd SuuntoXML
637                 unzip ../$SuuntoExportFile
638                 subsurface *.xml
639         else
640                 echo "Nothing found! Try again!"
641         fi