361 Commits

Author SHA1 Message Date
Jef Driesen
6b09bdb7ef Autodetect the Mares Nemo Air. 2010-02-26 14:40:58 +00:00
Jef Driesen
cb0a9c6c81 Store the layout descriptor in the device handle. 2010-02-26 14:40:36 +00:00
Jef Driesen
293b45b77c Use the common fingerprint function directly. 2010-02-26 14:40:16 +00:00
Jef Driesen
6f622030eb Add some more HelO2 events. 2010-02-26 14:38:54 +00:00
Jef Driesen
10edb943ff Fix the HelO2 fingerprint, datetime and sample interval offsets. 2010-02-23 13:43:57 +00:00
Jef Driesen
b295f71536 Add a dummy backend for systems without IrDA support. 2010-02-18 09:26:32 +00:00
Jef Driesen
1983e2c008 Parse the dive data and output an xml file. 2010-02-16 14:57:52 +00:00
Jef Driesen
ba1bd5d688 Use the userdata parameter to pass the device data back to the caller. 2010-02-16 14:57:37 +00:00
Jef Driesen
ff55a4a82d Use the userdata parameter to pass the dive data to the callback. 2010-02-16 14:57:26 +00:00
Jef Driesen
f6d35fa2c2 Add cancellation support.
To be able to cancel an operation, an application should register a
callback function that returns a non-zero value whenever the active
operaton should be cancelled. A backend can invoke this callback function
to query the application for a pending cancellation request.
2010-02-15 13:16:26 +00:00
Jef Driesen
de889f9d46 Return the right type of error code. 2010-02-11 08:26:35 +00:00
Jef Driesen
82a315ddc5 Add an option to provide fingerprint data. 2010-02-04 10:47:13 +00:00
Jef Driesen
4b590ba5e2 Pass the fingerprint data to the callback function. 2010-02-04 10:46:42 +00:00
Jef Driesen
80352feee8 Add a workaround for the year 2010 problem. 2010-02-03 08:42:53 +00:00
Jef Driesen
f5759d11c9 Use the year stored in the dive header. 2010-02-03 08:42:28 +00:00
Jef Driesen
a8116a0aec Add datetime support to the parsers. 2010-02-02 15:04:46 +00:00
Jef Driesen
fab15b19a7 Add a clock synchronization event. 2010-02-01 21:20:30 +00:00
Jef Driesen
b392a49045 Update the code to use the new datetime support. 2010-02-01 21:20:11 +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
ceeee5b2fa Removed the handshake and version functions.
The handshake function is now called internally (even if it doesn't seem
to be required at all), and the version function can be called through
the public api. The format of the version data is changed too.
2010-01-30 21:27:43 +00:00
Jef Driesen
f8b465fba1 Use the common fingerprint function directly. 2010-01-25 19:46:39 +00:00
Jef Driesen
ce84e85bb6 Do not ignore the return value when writing data. 2010-01-25 19:46:24 +00:00
Jef Driesen
87236f505a Remove a number of unnecessary functions. 2010-01-25 19:46:09 +00:00
Jef Driesen
a14b0b7b98 Do not ignore errors during initialization. 2010-01-25 14:08:01 +00:00
Jef Driesen
898f27ad2e Use multipage reads for downloading dives too. 2010-01-22 13:42:16 +00:00
Jef Driesen
61257a8628 Use multipage read commands for faster transfers.
Multipage read commands can reduce the transfer time significantly,
because the overhead of processing each single page read command is
eliminated.
2010-01-22 13:42:03 +00:00
Jef Driesen
5589770f30 Add a small delay before sending the version command.
Trying to send the version command immediately after the initialization
of the data cable doesn't work very well. Adding a small delay before
sending the version commands turns out to be much more reliable.
2010-01-19 14:57:06 +00:00
Jef Driesen
45f51fedfb Store the layout descriptor in the device handle. 2010-01-15 10:16:49 +00:00
Jef Driesen
32fd37df2c Keep only a single PAGESIZE macro. 2010-01-15 09:51:15 +00:00
Jef Driesen
cf009cf18b Use the ACK/NAK error correction for all commands. 2010-01-15 09:32:16 +00:00
Jef Driesen
067a6c630a Add a devinfo event for the Mares backends. 2010-01-08 14:38:04 +00:00
Jef Driesen
f33b298b3a Handle the special case of a full ringbuffer correctly.
When using the ringbuffer pointers to traverse the linked list, a full
ringbuffer appears as an empty one. This is probably a very rare
condition, but a very annoying one if you run into it it. Using byte
counts and the number of dives in the header avoids the problem.
2010-01-07 15:02:27 +00:00
Jef Driesen
a6f9df16ac Make the empty/full ringbuffer interpretation configurable.
In a ringbuffer implementation with only two begin/end pointers, it's
impossible to distinguish between an empty and a full ringbuffer. The
correct interpretation mode needs to be specified by the user.
2010-01-07 15:02:14 +00:00
Jef Driesen
c4931623b6 Add support for the Suunto HelO2. 2010-01-07 14:54:57 +00:00
Jef Driesen
b5bc493e0b Reduce the number of hardcoded offsets. 2010-01-07 14:54:38 +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
fb947c6906 Fix the serial number for Veo compatible devices. 2009-12-28 10:30:18 +00:00
Jef Driesen
97652c6c62 Make the bcd2dec() function available to all backends. 2009-12-08 14:51:32 +00:00
Jef Driesen
1d69b8c021 Fix the spyder fingerprint offset. 2009-12-08 11:24:52 +00:00
Jef Driesen
0edeed162a Skip dives without a footer marker.
Due to the internal memory buffering scheme of the Sensus Ultra, the
last page might contain a partial dive. Skipping this dive is more
apropriate than returning an error.
2009-12-08 08:43:59 +00:00
Jef Driesen
7f983e29fe Rewrite the incremental parser function. 2009-12-03 12:43:29 +00:00
Jef Driesen
421f4ed1d6 Add functions to search for markers in an array. 2009-12-03 12:43:19 +00:00
Jef Driesen
12d0a73abf Rewrite the code to use buffer objects internally. 2009-12-03 12:43:09 +00:00
Jef Driesen
e4108a3b33 Fixed an off-by-one error. 2009-12-02 13:55:50 +00:00
Jef Driesen
5fa943d685 Added the initial implementation for the Cressi Edy. 2009-11-17 11:02:26 +00:00
Jef Driesen
094b70aa03 Use the memory buffer class for downloading individual dives. 2009-11-16 08:17:30 +00:00
Jef Driesen
e883843fca Use pointers to the layout structure for simplicity. 2009-11-16 08:17:20 +00:00
Jef Driesen
54daa9b580 Remove the debugging code. 2009-11-16 08:17:09 +00:00