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
Jef Driesen
13768188a8
Reduce the amount of data copying.
2009-11-16 08:14:29 +00:00
Jef Driesen
21832851af
Add a function to slice the buffer.
2009-11-16 08:14:19 +00:00
Jef Driesen
12754e05f4
Initialize allocated memory to zero when resizing.
2009-11-16 08:10:53 +00:00
Jef Driesen
8eb3e53b44
Add options to download only the memory dump or the dives.
2009-11-16 08:09:57 +00:00
Jef Driesen
71d8da4f04
Remove some unnecessary functions.
2009-11-12 16:30:13 +00:00
Jef Driesen
7e6a57bd1c
Added the initial implementation for the Heinrichs Weikamp OSTC.
2009-11-12 08:18:16 +00:00
Jef Driesen
a87398b7c6
Implement progress events for the device_dump() function.
...
A helper function is added to simplify implementing the devic_dump()
function on top of the device_read() function, and enable progress
events automatically.
2009-11-12 08:04:34 +00:00
Jef Driesen
e2c6bdf880
Add a single download application for all backends.
2009-11-10 11:38:24 +00:00
Jef Driesen
a49d2c7b36
Changed the device_dump() function to use the new memory buffer class.
...
Using a resizable memory buffer allows to allocate the right amount of
memory inside the backend, avoiding having to know the required buffer
size in advance.
2009-11-10 11:36:10 +00:00
Jef Driesen
69727bf855
Update the msvc project file.
2009-11-10 11:35:39 +00:00
Jef Driesen
a3264bc471
Implement a more efficient buffer growing strategy.
2009-11-10 11:35:29 +00:00
Jef Driesen
74272f4d77
Avoid undefined behaviour with NULL pointers.
...
We accept NULL pointers if the size is zero, but the C standard
library functions memcpy and memmove requires valid pointers, even if
the size is zero.
2009-11-10 11:35:19 +00:00
Jef Driesen
d3028dc2d7
Add a new memory buffer class.
2009-11-10 11:35:09 +00:00
Jef Driesen
36f9fd614e
Write all messages to stderr.
...
Messages written to stdout are undesirable when the output of an
application needs to be passed through a pipe.
2009-11-05 12:36:28 +00:00
Jef Driesen
b59532fffb
Fixed some compiler warnings related to unused variables.
2009-11-02 13:14:42 +00:00