Jef Driesen
54695f1022
Fix the freedive mode detection for the Mares Nemo Wide.
2010-03-24 08:08:42 +00:00
Jef Driesen
39b78aa2eb
Allow the first page to be empty.
...
When the Sensus Ultra reaches the end of a memory page while recording
data, the next page is erased to all 0xFF, and the current page cursor
is advanced. With this memory usage scheme, the last page will be empty
if the previous one was just filled.
2010-03-23 14:44:02 +00:00
Jef Driesen
fe511a774c
Recalculate the timeout using the correct variable.
2010-03-23 13:41:13 +00:00
Jef Driesen
b9f7d4e425
Improve the ACK/NAK error recovery to fix more errors.
2010-03-18 09:40:29 +00:00
Jef Driesen
3d1a29e912
Fix the decoding of negative temperatures.
2010-03-15 15:43:11 +00:00
Jef Driesen
419d5a55d5
Autodetect the correct layout at runtime.
2010-03-15 11:08:40 +00:00
Jef Driesen
322577ab8c
Fix the divisor for the compass headings.
2010-03-15 11:07:54 +00:00
Jef Driesen
f14b40e99e
Fix the freedive mode detection.
2010-03-10 12:12:46 +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
33dbf8034f
Modernize the autotools build system.
2010-03-09 15:18:05 +00:00
Jef Driesen
f8ff2852bf
Fix the init sequence for Geo 2 devices.
...
The Geo 2 appears to respond with a single NAK byte instead of three.
The issue is fixed by expecting only a single byte, and flushing the
serial line to discard all other bytes (if there are any).
2010-03-06 11:48:22 +00:00
Jef Driesen
1e7a1b8194
Use the correct freedive mode for each model.
2010-02-26 14:41:25 +00:00
Jef Driesen
9b1a89582c
Add support for the Mares Nemo Air data format.
...
The Nemo Air contains an extra header which can be detected due to the
presence of a three byte marker sequence. The sample size is larger too.
2010-02-26 14:41:10 +00:00
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