77 Commits

Author SHA1 Message Date
Anton Lundin
52bc5ab7a0 Import Tiny AES128
This imports Tiny AES128 from https://github.com/kokke/tiny-AES128-C for
use in the decoding of OSTC3 firmwares.

This aes-code is released into the public domain.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
2014-12-21 14:52:12 +01:00
Jef Driesen
598377ec44 Add support for the Citizen Hyper Aqualand. 2014-11-30 15:30:16 +01:00
Linus Torvalds
5c967f3382 Suunto EON Steel: support downloading of core dive profile data
Basic Suunto EON Steel downloading copied from my test application.
This parses all the core dive data, including sample data (time, depth,
cylinder pressure, deco information etc).

The deco information returns ceiling and TTS rather than ceiling and
"time at ceiling", because that's what the dive computer has, and I
don't see any other way to return the information.

We don't report any events yet, though.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2014-11-24 11:37:23 +01:00
Florian Klink
fc008312b5 Remove trailing whitespaces
Most of them appear in the disclaimers, but some are in the code as
well.
2014-03-19 09:16:07 +01:00
Jef Driesen
3f7af8c349 Add support for the Dive Rite NiTek Q. 2014-02-06 09:42:06 +01:00
Jef Driesen
c524986175 Add support for the Scubapro/Uwatec Meridian.
The Uwatec Meridian protocol is identical to the Uwatec Smart/Galileo
protocol, except for some additional framing around each data packet,
and the switch from IrDA to usb-serial communication. For parsing, the
data format appears to be identical to the Galileo data format.
2013-10-19 10:11:15 +02:00
Jef Driesen
222ba81157 Add a parser for Intel HEX files. 2013-08-22 09:15:55 +02:00
Jef Driesen
b36ed311c5 Add support for the Heinrichs Weikamp OSTC3.
Although the communication protocol of the OSTC3 is nearly identical to
that of the Frog, the different size parameters make it hard to share
the code easily. On top of that, if we ever implement native bluetooth
communication support, we'll need a completely separate backend anyway.
Therefore the Frog backend is simply duplicated, with a few OSTC3
specific changes applied here and there.

The existing ostc parser is upgraded to support the new OSTC3 data
format.
2013-05-07 22:15:53 +02:00
Jef Driesen
4b541d124f Add support for the native Shearwater Petrel protocol.
The Petrel (with updated firmware) supports an enhanced communication
protocol, which is more efficient and powerfull than the legacy Predator
compatibility mode. The new protocol uses data compression for faster
transfers and supports the ability to selectively download individual
dives. Last but not least, the new protocol isn't limited to the last
128kB of logbook data, but can access the full logbook capacity (16MB).
2013-04-19 21:31:28 +02:00
Jef Driesen
6f3de69f0d Move the low-level communication to a common file.
This is done in preparation for the implementation of the new Petrel
protocol, which shares the low level communication with the existing
Predator protocol.
2013-04-16 22:26:41 +02:00
Jef Driesen
0b20855d56 Add support for the Cressi Leonardo.
This is only a preliminary version. There is certainly some room for
improvement, but the basic functionality is already in place. That
should be sufficient for daily use, and possibles issues can always be
fixed when discovered.
2013-02-04 17:20:23 +01:00
Jef Driesen
f6df407699 Reverse the order of the include directories.
The version.h header file is generated by autoconf and therefore
located in the build directory and not the source directory. If
building out-of-tree, and a version.h header file is accidentally
present in the source tree, the wrong file will be picked up.

By reversing the order of the include directories, the build directory
is searched first, and the correct header file will be used.
2012-12-27 23:00:51 +01:00
Jef Driesen
e2a7d8bb45 Include the git commit SHA1 in the version number.
For bug reports it's very convenient to know the exact version. For
release builds, the standard version triplet (major.minor.micro) is
more than sufficient, but that's not the case for development builds.
Due to the post-release version increment, development builds already
have a version number that is distinct from previous releases, but
including the git commit SHA1 is even more accurate.

On Windows, the git commit SHA1 is also embedded in the version
resource.
2012-12-27 22:00:35 +01:00
Jef Driesen
500fb1e16b Add support for the Shearwater Predator. 2012-12-05 16:08:47 +01:00
Jef Driesen
866e636e8c Move the logging code to the examples.
With the application defined logging function, the actual logging is not
performed by the library anymore, and the code belongs in the
applications.
2012-08-27 23:08:38 +02:00
Jef Driesen
0f6d23757f Add a new library context object.
With the introduction of a context object, library initialization and
shutdown can be performed without requiring any global state. A single
process can use multiple independent contexts without any problems. The
lack of a global state also improves the thread-safety of the library.

At the moment, the new context object is primary used to implement an
improved logging system.
2012-08-27 23:02:44 +02:00
Jef Driesen
a78cf2f939 Add a new device descriptor object.
As the name already indicates, a device descriptor is lightweight
object which describes a single device. Currently, the api supports
getting the device name (vendor and product) and model number. But
this can extended with other features when necessary.
2012-06-21 21:42:37 +02:00
Jef Driesen
fbe712fc8f Add a generic iterator interface. 2012-06-21 21:42:37 +02:00
Jef Driesen
e65025b501 Separate private and public headers.
The public header files are moved to a new subdirectory, to separate
the definition of the public interface from the actual implementation.
Using an identical directory layout as the final installation has the
advantage that the example code can be build outside the project tree
without any modifications to the #include statements.
2012-06-21 21:39:24 +02:00
Jef Driesen
781f0db71f Add support for the Heinrichs Weikamp Frog. 2012-04-28 11:18:16 +02:00
Jef Driesen
3d78282cde Rename the backend from darwinair to darwin.
The name change makes it more obvious the backend supports both the
Darwin and the Darwin Air, and it's a shorter name too.
2011-12-31 07:51:52 +01:00
Jef Driesen
5ef0398c42 Add support for the Dacor Darwin Air. 2011-11-11 11:13:03 +01:00
Jef Driesen
5614aff3ee Add a libusb based implementation. 2011-03-12 10:37:50 +01:00
Jef Driesen
4b887341f3 Add support for the Atomics Cobalt. 2011-03-12 10:31:32 +01:00
Jef Driesen
c060f268be Add support for the Zeagle N2iTiON3. 2010-08-28 22:53:48 +02:00
Jef Driesen
aca36ad344 Add a parser for the Mares Icon HD. 2010-06-29 11:42:00 +02:00
Jef Driesen
620775af25 Add support for the Mares Icon HD. 2010-04-12 10:19:38 +02:00
Jef Driesen
13d1badf29 Migrate from Subversion to Git. 2010-05-10 11:30:25 +02:00
Jef Driesen
bec8c5581e Prepare the libtool shared library versioning. 2010-05-03 22:09:52 +00:00
Jef Driesen
6641dda617 Add a parser for the Cressi Edy. 2010-05-03 18:02:43 +00:00
Jef Driesen
996bfb2b48 Move the subversion revision number to a private header. 2010-05-03 14:20:05 +00:00
Jef Driesen
0976932501 Add a function to retrieve the run-time version info. 2010-04-27 14:00:53 +00:00
Jef Driesen
fb9976d24f Add a parser for the Heinrichs Weikamp OSTC. 2010-04-19 13:53:38 +00:00
Jef Driesen
85dd9d8bd3 Add the subversion revision number to the version info. 2010-04-15 14:25:16 +00:00
Jef Driesen
de1bdd456c Add a version resource on Windows. 2010-03-09 15:18:45 +00:00
Jef Driesen
f265c04161 Prepare for a more flexible versioning system. 2010-03-09 15:18:25 +00:00
Jef Driesen
b295f71536 Add a dummy backend for systems without IrDA support. 2010-02-18 09:26:32 +00:00
Jef Driesen
54410dab8d Add a datetime module. 2010-02-01 21:19:55 +00:00
Jef Driesen
098b229bc6 Rename the Suunto Spyder parser as the Eon parser.
Both devices have an almost identical data format. Renaming the parser
backend makes it more consistent with the corresponding device backend.
2010-02-01 13:34:52 +00:00
Jef Driesen
bb08248bd9 Add a parser for the Oceanic VT Pro. 2009-12-28 10:30:53 +00:00
Jef Driesen
778ae70d2e Add a parser for the Oceanic Veo 250. 2009-12-28 10:30:36 +00:00
Jef Driesen
5fa943d685 Added the initial implementation for the Cressi Edy. 2009-11-17 11:02:26 +00:00
Jef Driesen
7e6a57bd1c Added the initial implementation for the Heinrichs Weikamp OSTC. 2009-11-12 08:18:16 +00:00
Jef Driesen
d3028dc2d7 Add a new memory buffer class. 2009-11-10 11:35:09 +00:00
Jef Driesen
8d808e99bb Enable automake silent build rules by default.
Support for silent build rules requires at least automake 1.11.
Disable by either passing --disable-silent-rules to configure or
passing V=1 to make.
2009-11-01 17:27:24 +00:00
Jef Driesen
bf0dd700c1 Add a parser for the Oceanic Atom 2. 2009-10-15 09:14:33 +00:00
Jef Driesen
cc1a99b9c7 Add a common base class for the Mares backends.
The memory layout of the Mares Puck and Nemo devices is very similar, 
which allows to share the parsing code between the backends.
    
The Mares Puck protocol allows for a more efficient implementation, by 
reading only the data that we really need. But as an intermediate 
solution, reusing the Nemo code is good enough.
2009-10-11 13:51:26 +00:00
Jef Driesen
872f5a594d Add a common base class.
The transfer protocol of the Suunto Vyper 2 and D9 devices is very
similar, which allows to share most of the transfer code between the
backends.
2009-08-06 09:52:50 +00:00
Jef Driesen
6132ae2550 Share the parsing code between the backends.
The memory layout of all Oceanic devices is very similar, which allows
to share the parsing code between the different backends. Differences in
the layout are passed by means of a new layout descriptor structure.
Memory buffers are now allocated dynamically to support devices with
different amounts of memory.
2009-05-04 09:03:04 +00:00
Jef Driesen
6abfa9792d Added the initial implementation for the Mares Puck. 2009-03-30 20:30:32 +00:00