17 Commits

Author SHA1 Message Date
Jef Driesen
0b20855d56 Add support for the Cressi Leonardo.
This is only a preliminary version. There is certainly some room for
improvement, but the basic functionality is already in place. That
should be sufficient for daily use, and possibles issues can always be
fixed when discovered.
2013-02-04 17:20:23 +01:00
Jef Driesen
1f8cefdedd Add support for the Seemann XP5. 2013-01-29 19:29:26 +01:00
Jef Driesen
d414da70a4 Add support for a second Aeris Elite T3 variant.
This second variant only seems to differ from the first variant in the
different model code and the version string.
2013-01-22 22:22:35 +01:00
Jef Driesen
1e77d92307 Add support for the Mares Puck Pro. 2013-01-06 09:29:33 +01:00
Jef Driesen
59bfb0f318 Add support for the Mares Matrix.
The Matrix uses the same communication protocol as the Nemo Wide 2,
except that the sending the request packets with just a single write
operation doesn't seem to work. That's very surprising because it
caused no problems for the Nemo Wide 2 or the Icon HD!

The first two bytes of each request packet are probably some kind of
command type. These two bytes are answerred immediately with an ACK
byte (0xAA). Once this ACK byte has been received, the payload of the
command (if any) can be sent, and finally the response packet can be
received.

I suspect that when trying to send the entire command at once, the
device somehow doesn't receive the payload bytes correctly. Maybe it's
still busy processing those first two bytes, which causes the remainder
of the packet to get dropped? That might explain why the version
commands is not affected, because it doesn't have any payload bytes!
2013-01-05 23:32:57 +01:00
Jef Driesen
ccaa93a164 Merge branch 'release-0.2'
Integrate the bugfixes from the stable branch.
2012-12-22 21:07:25 +01:00
Jef Driesen
3d3c3f6039 Add support for the Mares Nemo Wide 2.
The Nemo Wide 2 uses the same communication protocol as the Icon HD,
except for two differences:

The Nemo Wide 2 requires a different baudrate and parity setting.
Unfortunately it doesn't seem possible to autodetect the correct
protocol variant at runtime. Attempting to proceed with incorrect
settings will render the device unresponsive and requires a battery
reset to recover.Therefore the model code needs to be provided as an
extra parameter, when opening the connection.

The Nemo Wide 2 also appears to have trouble downloading the entire
memory with a single request. Therefore the single large request is
split into many smaller ones. The offical Mares application uses 256
byte packets, and so do we. The Icon HD keeps using the large packets
because they are significant faster.

The extra model parameter breaks backwards compatibility!
2012-12-22 13:46:24 +01:00
Jef Driesen
74b91f2791 Add support for the Shearwater Petrel.
The Petrel is slightly different from the Predator because the device
reorders the internal ringbuffer before sending the data. The most
recent dive is always the first one, and there is no need to search for
it, like we have to do for the Predator.
2012-12-21 21:44:18 +01:00
Jef Driesen
a046071ad0 Fix a typo in the Sherwood Wisdom 3 model number. 2012-12-21 16:56:31 +01:00
Jef Driesen
f65f808b6c Add support for the Aeris A300 AI. 2012-12-12 20:05:00 +01:00
Jef Driesen
500fb1e16b Add support for the Shearwater Predator. 2012-12-05 16:08:47 +01:00
Jef Driesen
43a518b1d2 Autodetect the three OSTC variants.
The exact OSTC variant can be detected by means of the serial number.
Each of the three variants is now assigned an artifical model number,
and included explicitly in the list of supported models.
2012-12-01 16:48:37 +01:00
Jef Driesen
3803e3c52d Add support for a second Sherwood Insight variant.
There appears to be two very different versions of the Sherwood Insight.
The old Insight needs the veo250 backend, while the newer Insight 2
needs the atom2 backend. Currently only the newer version was included
in the list of supported devices, and to increase the confusion it was
even named after the old version.

With this patch, the old version is added to the list, and the new
version is renamed to "Insight 2".
2012-11-30 09:33:39 +01:00
Jef Driesen
328e929d4b Add support for a second Aeris Epic variant. 2012-11-17 14:33:54 +01:00
Jef Driesen
aaff9c7500 Update the list with supported models. 2012-09-21 21:26:20 +02:00
Jef Driesen
79eade6e06 Add the device enumeration support.
Applications can now enumerate all the supported devices at runtime,
and don't have to maintain their own list anymore. The internal list
does include only those devices that have been confirmed to work at
least once without any major problems.
2012-06-21 21:42:37 +02:00
Jef Driesen
a78cf2f939 Add a new device descriptor object.
As the name already indicates, a device descriptor is lightweight
object which describes a single device. Currently, the api supports
getting the device name (vendor and product) and model number. But
this can extended with other features when necessary.
2012-06-21 21:42:37 +02:00