17 Commits

Author SHA1 Message Date
Jef Driesen
bb4a498302 Fix the freedive mode detection for the Mares Puck Air. 2012-04-10 20:53:38 +02:00
Khalid El Fathi
3882827736 Spelling correction. 2012-04-05 20:21:23 +02:00
Jef Driesen
d4b94cb77c Improve the communication with Darwin Air devices.
We received a report of a Darwin Air device which has a very high error
rate. The majority of the echo packets is incorrect, but since this
doesn't seem to have any effect on the actual data packet, we can just
ignore this error. If there happens to be a more serious error, it will
be detect in the data packet.

Sometimes there were also a some garbage bytes received at startup.
Adding a small delay seems to fix this.
2012-03-05 21:20:07 +01:00
Jef Driesen
2abd5164f4 Add a delay between sending the commands.
When trying to send the commands as fast as possible, without any delay,
the failure rate is very high. Almost every single packet fails with a
timeout at first. Retrying the packet works, but those many timeouts
make the download extremely slow. Adding a small delay avoids the much
more expensive timeout and speeds up the transfer significantly.
2012-01-02 08:01:08 +01:00
Jef Driesen
5ef0398c42 Add support for the Dacor Darwin Air. 2011-11-11 11:13:03 +01:00
Jef Driesen
474336a587 Move the low-level communication to the common layer. 2011-11-11 10:42:39 +01:00
Jef Driesen
5410378849 Remove the common device structure for the Mares Nemo.
The common device structure was used only for sharing the fingerprint
and layout descriptor, but the nemo backend doesn't even store a layout
descriptor, and the fingerprint can equally well be passed around as a
function argument.
2011-11-11 07:09:59 +01:00
Jef Driesen
154f767a9c Convert assertions into error codes. 2011-01-08 23:40:15 +01:00
Jef Driesen
5875941641 Add support for the Mares Puck Air. 2010-07-13 09:09:14 +02:00
Jef Driesen
33051dd294 Use different layouts for the Mares Puck and Nemo Wide. 2010-03-25 09:51:00 +00:00
Jef Driesen
54695f1022 Fix the freedive mode detection for the Mares Nemo Wide. 2010-03-24 08:08:42 +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
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
4b590ba5e2 Pass the fingerprint data to the callback function. 2010-02-04 10:46:42 +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