75 Commits

Author SHA1 Message Date
Dirk Hohndel
0bcee519e0 Aeris A300CS: detect the number of cylinders used
The A300CS actually tells us how many of the cylinders it considers "in
use".

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-10-27 12:24:18 +01:00
Dirk Hohndel
7a108f555b Aeris A300CS: add reporting of water type (fresh/salt)
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-10-27 12:24:18 +01:00
Dirk Hohndel
16fb1c1869 Aeris A300CS: add support for NDL / deco data
Encoded in every sample. The depth is in multiples of 10 feet which gives
somewhat odd metric stop depth - but rounding to full meters would take
care of that.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-10-27 12:24:18 +01:00
Dirk Hohndel
d89dd952c9 Add initial support for the Aeris A300CS
This is ignoring a ton of data that the dive computer provides. But it
gives profile, tank pressure and temperatures - so it's a start.

This patch adds a set_dtr and set_rts call to the serial interface prior
to interacting with the device. This change is required for the A300CS to
talk to the computer.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-10-27 12:24:18 +01:00
Jef Driesen
abe2eab976 Fix the date/time for the Oceanic Pro Plus 3.
The day is stored as a binary value, not a BCD encoded value.
2014-10-25 21:21:43 +02:00
Jef Driesen
693bfa3916 Fix the Tusa Zen header size and pressure.
For the Tusa Zen, the header is 16 bytes smaller. With this change, the
gasmixes and the intial temperature are now parsed correctly.

The tank pressure samples have also been disabled manually, because this
is a non-air integrated model that doesn't seem to set the initial tank
pressure to the magic value 10000.
2014-09-14 22:09:48 +02:00
Jef Driesen
6433a45bbc Fix the date/time for the Aeris Elite T3.
Commit d414da70a42afca0096e0402a426c4ac8d2a2881 added support for a
second Aeris Elite T3 variant. But the parser wasn't updated to take
into account this second model number.
2014-06-25 08:44:36 +02:00
Jef Driesen
368c138858 Fix the gas mixes for a few models.
For the Aeris Manta and Sherwood Insight, the header size should be 16
bytes smaller. Due to this mistake not only two samples were missing,
but also the byte offset for the gas mixes were wrong. This resulted in
invalid gas mixes, with oxygen percentages exceeding 100%.
2014-06-25 08:44:27 +02:00
Jef Driesen
48e73babd6 Fix the temperature for the Sherwood Wisdom 2.
The sign bit should be reversed for this model.
2014-06-20 22:22:41 +02:00
Jef Driesen
8eebc0abd8 Add support for the Beuchat Voyager 2G. 2014-06-07 10:08:04 +02:00
Jef Driesen
b4cc491aee Add support for the Aeris A300. 2014-04-22 14:29:58 +02:00
Jef Driesen
148f059bcb Add support for the Hollis TX1.
The Hollis TX1 has several new features compared to the other models. It
supports trimix and up to 6 different gas mixes can be configured. It
also has twice the amount of memory, which requires an extra bit for the
ringbuffer pointers.
2014-04-22 14:28:27 +02:00
Jef Driesen
3c99f55b6f Add support for trimix gas mixes. 2014-04-22 11:33:53 +02:00
Janice McLaughlin
f923ec3889 Fix the gas mixes for the Oceanic OCi.
The Oceanic OCi supports 4 gas mixes instead of just 3, and they are
stored at a different offset.
2014-03-14 09:48:35 +01:00
Jef Driesen
043fc4166c Add support for the Oceanic OCi.
The new Oceanic OCi appears to be almost identical to the already
supported Oceanic OC1. The most important change is the different
location for the logbook ringbuffer.
2013-09-17 13:06:56 +02:00
Jef Driesen
b96780ce75 Add support for the Sherwood Amphos. 2013-09-16 09:57:34 +02:00
Jef Driesen
1bfcb8c3c1 Mark the Oceanic Veo 2.0 as a non air integrated model. 2013-09-05 20:41:46 +02:00
Jef Driesen
6ad8d61253 Fix the date/time for the Oceanic Geo 2.0. 2013-06-15 07:58:59 +02:00
Jef Driesen
890f5f0b5b Fix the temperature for the Aeris Atmos AI 2.
The temperature sign bit is reversed for this model.
2013-05-16 20:16:03 +02:00
Jef Driesen
ee8b4e36ad Merge branch 'release-0.3'
Integrate the bugfixes from the stable branch.
2013-05-13 23:49:37 +02:00
Jef Driesen
1a3c919a82 Fix temperature and tank pressure for the Tusa Element II.
The Tusa Element II is a non air integrated model, and the temperature
is stored at a different location.
2013-05-11 23:00:32 +02:00
Jef Driesen
1572a91f62 Add support for yet another Oceanic OC1 variant.
The only difference with the two other Oceanic OC1 variants is the new
model number. I have absolutely no idea what's the purpose of such a
silly change.
2013-05-11 07:16:25 +02:00
Jef Driesen
6419e189a4 Add a single isinstance function per object type.
Currently, each backend has it's own function to verify whether the
object vtable pointer is the expected one. All these functions can be
removed in favor of a single isintance function in the base class,
which takes the expected vtable pointer as a parameter.

Functions which are called through the vtable, don't need to verify the
vtable pointer, and those checks are removed.
2013-04-16 12:18:54 +02:00
Jef Driesen
007479fc92 Rename the backend structure to vtable.
The term "backend" can be confusing because it can refer to both the
virtual function table and the device/parser backends. The use of the
term "vtable" avoids this.
2013-04-16 12:18:53 +02:00
Jef Driesen
4adac6f5c9 Add support for the Oceanic Pro Plus 3. 2013-03-19 07:48:36 +01:00
Jef Driesen
154fc82da1 Fix the tank pressure decoding for the Hollis DG03. 2013-01-21 22:58:58 +01:00
Jef Driesen
f65f808b6c Add support for the Aeris A300 AI. 2012-12-12 20:05:00 +01:00
Jef Driesen
328e929d4b Add support for a second Aeris Epic variant. 2012-11-17 14:33:54 +01:00
Jef Driesen
b3df32da9d Fix the parser for the Hollis DG03.
The date/time value and the sign bit of the sample temperature were
parsed incorrectly.
2012-11-17 14:30:31 +01:00
Jef Driesen
2f8ec75c7c Merge branch 'release-0.1'
Integrate the bugfixes from the stable branch.
2012-09-21 21:24:04 +02:00
Sascha Kettler
074bee70a2 Fixed date parsing for Oceanic VEO 3.0 2012-09-17 22:04:30 +02:00
Jef Driesen
1b7eaaa831 Add support for the Oceanic OCS. 2012-09-11 20:26:20 +02:00
Jef Driesen
cd31ff9dff Properly store the context pointer internally.
I forgot to update the device and parser initialization functions to
store the context pointer into the objects. As a result, the internal
context pointers were always NULL.
2012-08-28 08:44:47 +02:00
Jef Driesen
53e9d72a40 Integrate the context object in the library.
The public api is changed to require a context object for all
operations. Because other library objects store the context pointer
internally, only the constructor functions need an explicit context
object as a parameter.
2012-08-27 23:08:38 +02:00
Jef Driesen
c821d40144 Introduce a namespace prefix for the high-level public api.
Adding the "dc_" namespace prefix (which is of course an abbreviation
for libdivecomputer) should avoid conflicts with other libraries. For
the time being, only the high-level device and parser layers are
changed.
2012-06-21 21:42:37 +02:00
Jef Driesen
163d383332 Use a common backend type for the device and parser layers. 2012-06-21 21:42:37 +02:00
Jef Driesen
9136a52835 Use common status codes for the device and parser layers. 2012-06-21 21:42:34 +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
0a6e0d93a8 Add support for the Aeris F10. 2012-04-23 21:37:02 +02:00
Jef Driesen
1faea84b5b Fix the gas mix parsing for the Oceanic VT 4.x. 2012-04-23 21:37:02 +02:00
Jef Driesen
2fe695d38e Adjust the header size calculations. 2012-04-23 21:37:01 +02:00
Jef Driesen
414a8053d5 Allow easier disabling of the tank switch and surface samples. 2012-04-23 21:37:01 +02:00
Jef Driesen
2897d1079a Allow easier disabling of the individual sample types. 2012-04-23 21:36:52 +02:00
Jef Driesen
6c2014732a Fix the gas mix parsing for the Aeris CompuMask. 2012-04-22 22:33:52 +02:00
Jef Driesen
5126ef389a Add support for the Oceanic Atom 3.1 2012-04-15 09:45:31 +02:00
Jef Driesen
2b0ef8c0f1 Disable pressure samples for the Oceanic Veo 3.0. 2012-03-15 21:44:25 +01:00
Sam Calhoun
1ccd786493 Fix the temperature for the Oceanic ProPlus 2.1. 2012-03-01 22:05:35 +01:00
Jef Driesen
87397a4ea1 Add support for the Oceanic VT4.1 2012-01-14 06:37:26 +01:00
Jef Driesen
2a26da3737 Add support for the Oceanic Atom 3.0 and VT 4.0. 2011-08-22 23:27:43 +02:00
Jef Driesen
d560e8e1ca Fix the tank pressure for the Tusa Zen Air. 2011-08-22 22:06:38 +02:00