mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 13:10:19 +00:00
81603510b2
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
272 lines
8.3 KiB
Text
272 lines
8.3 KiB
Text
Subsurface - an Open Source Divelog
|
||
===================================
|
||
|
||
Subsurface is an open source divelog program that runs on Windows, Mac
|
||
and Linux.
|
||
|
||
With Subsurface the user can download dive information directly from a
|
||
large number of supported dive computers. Subsurface is able to track
|
||
multi-tank dives with air, Nitrox or TriMix, weights and exposure
|
||
protection used, dive masters and dive buddies and allows the user to
|
||
rate dives and provide additional dive notes. Subsurface also allows
|
||
to track dive locations including GPS coordinates and offers a
|
||
convenient map interface to enter these locations directly in the
|
||
program. It calculates a wide variety of statistics of the user’s
|
||
diving and calculates and tracks information like the user's SAC rate,
|
||
partial pressures of O2, N2 and He, calculated deco information, and
|
||
many more.
|
||
|
||
Subsurface allows the user to print out a detailed log book including
|
||
dive profiles and other relevant information. The program is localized
|
||
in more than a dozen languages and well supported by an active
|
||
developer community.
|
||
|
||
You are reading the README file of the latest git version, this file
|
||
is not tracked as actively as might be desirable, so some of the
|
||
information here may be outdated.
|
||
|
||
The latest public version is Subsurface 2.1, released in October of 2012.
|
||
|
||
License: GPLv2
|
||
|
||
Subsurface can be found at http://subsurface.hohndel.org
|
||
|
||
You can get the latest sources from the git repository:
|
||
|
||
git clone git://subsurface.hohndel.org/subsurface.git .
|
||
|
||
or
|
||
|
||
git clone http://subsurface.hohndel.org/subsurface.git .
|
||
|
||
You can also browse the sources via gitweb.
|
||
|
||
|
||
Building subsurface under Linux
|
||
-------------------------------
|
||
You need libxml2-devel, libxslt-devel, gtk2-devel, glib-2.0,
|
||
gconf2-devel, libssl-devel, libsoup-devel to build this (and
|
||
libusb-1.0 if you have libdivecomputer built with it, but then you
|
||
obviously already have it installed). Check with your Linux
|
||
distribution how to install these packages.
|
||
|
||
On Debian the package names are different; try libxml2-dev libgtk2.0-dev
|
||
libglib2.0-dev libgconf2-dev libssl-dev libsoup2.4-dev, but it seems
|
||
the cairo package at least in Squeeze is too old.
|
||
|
||
You also need to have libdivecomputer installed. The current git
|
||
versions of Subsurface assume that you use libdivecomputer version
|
||
0.3, which goes something like this:
|
||
|
||
git clone \
|
||
git://libdivecomputer.git.sourceforge.net/gitroot/libdivecomputer/libdivecomputer
|
||
cd libdivecomputer
|
||
git checkout v0.3.0
|
||
autoreconf --install
|
||
./configure
|
||
make
|
||
sudo make install
|
||
|
||
NOTE! Sometimes you may need to tell the main Subsurface Makefile where
|
||
you installed libdivecomputer; pkg-config for libdivecomputer doesn't
|
||
always work unless the project has been installed by the distro.
|
||
|
||
Just edit the makefile directly.
|
||
|
||
|
||
Building Subsurface under Windows
|
||
---------------------------------
|
||
Subsurface builds nicely with MinGW – the official builds are done as
|
||
cross builds under Linux (currently on Fedora 17). A shell script to do
|
||
that (plus the .nsi file to create the installer with makensis) are
|
||
included in the packaging/Windows directory.
|
||
|
||
The best way to get libdivecomputer to build appears to be
|
||
|
||
mingw32-configure
|
||
mingw32-make
|
||
sudo mingw32-make install
|
||
|
||
Once you have built and installed libdivecomputer you can use
|
||
|
||
sh packaging/Windows/mingw-make.sh
|
||
|
||
to then build subsurface.
|
||
|
||
Building subsurface on a Mac
|
||
----------------------------
|
||
Install MacPorts and install the dependencies from MacPorts:
|
||
sudo port install gtk2 +quartz py27-pygtk +quartz libusb gtk-osx-application \
|
||
automake autoconf libtool libsoup osm-gps-map libzip
|
||
|
||
Install libdivecomputer:
|
||
git clone git://libdivecomputer.git.sourceforge.net/gitroot/libdivecomputer/libdivecomputer
|
||
cd libdivecomputer
|
||
autoreconf --install
|
||
LIBUSB_CFLAGS=-I/opt/local/include ./configure
|
||
make
|
||
sudo make install
|
||
|
||
Install subsurface:
|
||
git clone git://subsurface.hohndel.org/subsurface.git
|
||
cd subsurface
|
||
PKG_CONFIG_PATH="/usr/local/lib/pkgconfig/" make
|
||
sudo make install-macosx
|
||
|
||
More instructions on how to create a Subsurface DMG can be found in
|
||
packaging/macosx/README
|
||
|
||
|
||
Usage:
|
||
======
|
||
|
||
Install and start from the desktop (or you can run it locally from the
|
||
build directory).
|
||
|
||
./subsurface
|
||
|
||
You can give a data file as command line argument, or Subsurface picks a
|
||
default file for you when started from the desktop or with out an
|
||
argument.
|
||
|
||
If you have a dive computer supported by libdivecomputer, you can just
|
||
select "Download from Divecomputer" from the Log menu, tell it what dive
|
||
computer you have (and where it is connected if you need to), and hit
|
||
"OK".
|
||
|
||
NOTE! There are often multiple models of dive computers that import
|
||
exactly the same way. If you have a Suunto Gekko, for example, the
|
||
import function works fine - even if you don't find the Gekko listed
|
||
explicitly. It has the same import engine as the older Suunto Vyper
|
||
(not "Vyper Air").
|
||
|
||
So check the (incomplete?) list of supported dive computers below, and
|
||
see which ones show up together. If you have the "Aeris Elite T3", for
|
||
example, you'd notice that it's in the same group with the "Oceanic Atom
|
||
2", and use that choice to import.
|
||
|
||
Suunto:
|
||
|
||
* Solution
|
||
|
||
* Eon, Solution Alpha and Solution Nitrox/Vario
|
||
|
||
* Vyper, Cobra, Vytec, Vytec DS, D3, Spyder, Gekko, Mosquito, Stinger and Zoop
|
||
|
||
* Vyper2, Cobra2, Cobra3, Vyper Air and HelO2
|
||
|
||
* D9, D6 and D4
|
||
|
||
Uwatec:
|
||
|
||
* Aladin
|
||
|
||
* Memomouse
|
||
|
||
* Smart and Galileo (infrared)
|
||
|
||
Reefnet:
|
||
|
||
* Sensus
|
||
|
||
* Sensus Pro
|
||
|
||
* Sensus Ultra
|
||
|
||
Oceanic, Aeris, Sherwood, Hollis, Genesis and Tusa (Pelagic):
|
||
|
||
* VT Pro, Versa Pro, Pro Plus 2, Wisdom, Atmos 2, Atmos AI, Atmos
|
||
Elite, ...
|
||
|
||
* Veo 250, Veo 180Nx, XR2, React Pro, DG02, Insight, ...
|
||
|
||
* Atom 2.0, VT3, Datamask, Geo, Geo 2.0, Veo 2.0, Veo 3.0, Pro Plus 2.1,
|
||
Compumask, Elite T3, Epic, Manta, IQ-900 (Zen), IQ-950 (Zen Air),
|
||
IQ-750 (Element II), ...
|
||
|
||
Mares:
|
||
|
||
* Nemo, Nemo Excel, Nemo Apneist, ...
|
||
|
||
* Puck, Puck Air, Nemo Air, Nemo Wide, ...
|
||
|
||
* Icon HD
|
||
|
||
Heinrichs Weikamp:
|
||
|
||
* OSTC, OSTC Mk.2 and OSTC 2N
|
||
|
||
Cressi, Zeagle and Mares (Seiko):
|
||
|
||
* Edy, Nemo Sport
|
||
|
||
* N2iTiON3
|
||
|
||
Atomic Aquatics:
|
||
|
||
* Cobalt
|
||
|
||
|
||
More detailed end user instructions can be found at Documentation/user-manual.html
|
||
|
||
|
||
Contributing:
|
||
-------------
|
||
|
||
There is a mailing list for developers: subsurface@hohndel.org
|
||
Go to http://lists.hohndel.org/cgi-bin/mailman/listinfo/subsurface
|
||
to subscribe.
|
||
|
||
If you want to contribute code, please either send signed-off patches or
|
||
a pull request with signed-off commits. If you don't sign off on them,
|
||
we will not accept them. This means adding a line that says
|
||
"Signed-off-by: Name <email>" at the end of each commit, indicating that
|
||
you wrote the code and have the right to pass it on as an open source
|
||
patch.
|
||
|
||
See: http://gerrit.googlecode.com/svn/documentation/2.0/user-signedoffby.html
|
||
|
||
Also, please write good git commit messages. A good commit message
|
||
looks like this:
|
||
|
||
Header line: explaining the commit in one line
|
||
|
||
Body of commit message is a few lines of text, explaining things
|
||
in more detail, possibly giving some background about the issue
|
||
being fixed, etc etc.
|
||
|
||
The body of the commit message can be several paragraphs, and
|
||
please do proper word-wrap and keep columns shorter than about
|
||
74 characters or so. That way "git log" will show things
|
||
nicely even when it's indented.
|
||
|
||
Reported-by: whoever-reported-it
|
||
Signed-off-by: Your Name <youremail@yourhost.com>
|
||
|
||
where that header line really should be meaningful, and really should be
|
||
just one line. That header line is what is shown by tools like gitk and
|
||
shortlog, and should summarize the change in one readable line of text,
|
||
independently of the longer explanation.
|
||
|
||
|
||
|
||
CREDITS:
|
||
========
|
||
|
||
This file was originally started by Linus.
|
||
The initial instructions for building on a Mac were provided by Henrik Brautaset Aronsen
|
||
Jef Driessen helped creating the cross-building instructions for Windows
|
||
|
||
A bit of Subsurface history:
|
||
----------------------------
|
||
|
||
In fall of 2011, when a forced lull in kernel development gave him an
|
||
opportunity to start on a new endeavor, Linus Torvalds decided to tackle
|
||
his frustration with the lack of decent divelog software on Linux.
|
||
|
||
Subsurface is the result of the work of him and a team of developers since
|
||
then. It now supports Linux, Windows and MacOS and allows data import from
|
||
a large number of dive computers and several existing divelog programs. It
|
||
provides advanced visualization of the key information provided by a
|
||
modern dive computer and allows the user to track a wide variety of data
|
||
about their diving.
|