511 Commits

Author SHA1 Message Date
Jef Driesen
bc756d7663 Use the same baudrate on Unix and Windows.
With the support for custom baudrates on all systems, there is no need
anymore to use the nearest standard baudrate. Using the exact baudrate
should make the communication more reliable on Unix systems.
2011-08-12 22:47:07 +02:00
Jef Driesen
088ea6d054 Add support for non standard baudrates. 2011-08-12 22:47:07 +02:00
Jef Driesen
d3e522b070 Add support for the OSTC screenshot feature. 2011-07-24 23:24:20 +02:00
Jef Driesen
57615abc0c Add support for some additinal OSTC features. 2011-07-20 22:08:24 +02:00
Jef Driesen
5942215cda Select the correct memory layout for the Mares Puck Air. 2011-07-09 12:19:46 +02:00
Jef Driesen
608008cd33 Use symbolic constants for the model numbers. 2011-07-09 12:19:10 +02:00
Jef Driesen
7a238281f6 Fix the SetPoint change event. 2011-07-07 20:30:37 +02:00
Jef Driesen
2401731720 Add support for the new data format. 2011-06-23 20:13:51 +02:00
Jef Driesen
b492715ff2 Support firmware versions with 64K of profile data. 2011-06-23 20:13:51 +02:00
Jef Driesen
a10fc9d85e Move duplicated code into a common file. 2011-06-19 14:59:15 +02:00
Jef Driesen
0517a640bf Log a warning message for errors. 2011-05-07 22:21:45 +02:00
Jef Driesen
36e5a75f8e Drop support for older firmware versions.
Some of the older firmware versions contain a critical bug that can
possibly crash the device when trying to download dives, and also a bug
in the checksum calculation. To avoid these problems we simply refuse to
download when an old firmware is detected and require the user to
upgrade the firmware first.

The detection is performed by means of a new version command which
allows to retrieve the device information prior to downloading the
dives, but is only supported by recent firmware versions.

As a side effect, we gain access to the current firmware version, which
may be different from the one recorded during the last dive. And we can
get the info even if there are no dives present.
2011-05-07 22:21:45 +02:00
Jef Driesen
2b77a52e89 Use symbolic constants for the model numbers. 2011-05-06 18:04:40 +02:00
Jef Driesen
6467f6353d Fixed a mistake in the type detection code. 2011-05-05 20:53:08 +02:00
Jef Driesen
a217a0fb80 Fix the datetime parsing for the Aeris Elite T3. 2011-04-29 21:32:23 +02:00
Jef Driesen
ce9459039c Add support for the Aeris Atmos AI (metal buttons). 2011-04-16 08:53:58 +02:00
Jef Driesen
b288e82960 Adjust the profile ringbuffer to exclude the last 512 bytes.
For the devices in the list below, the last 512 bytes of the memory area
are not part of the profile ringbuffer. The real purpose of these bytes
is currently unknown.

Oceanic Atom 2.0 (firmware 3I or greater)
Oceanic Geo 2.0
Oceanic OC1
Oceanic ProPlus 2.1
Oceanic Veo 2.0
Oceanic Veo 3.0
Sherwood Insight
Sherwood Wisdom2
Tusa Element II
Tusa Zen
Tusa Zen Air

Some but not all of these devices also have an unreadable last page,
making the autodetection code even more complex.
2011-04-15 20:06:27 +02:00
Jef Driesen
417e7b3894 Use symbolic constants for the model numbers. 2011-03-19 23:07:17 +01:00
Jef Driesen
8c947bd6f7 Fix the parsing of HelO2 dives lacking the additional 12 byte block. 2011-03-19 22:57:10 +01:00
Jef Driesen
75e29a6a8c Fix the pressure decoding for the Aeris Compumask. 2011-03-17 20:35:09 +01:00
Jef Driesen
5588211b7f Add progress and device info events. 2011-03-12 10:37:56 +01:00
Jef Driesen
dcfbcfbb9b Allow building on systems that don't have pkg-config. 2011-03-12 10:37:56 +01:00
Jef Driesen
8fa63eb4a2 Add an option to adjust the depth calibration constants.
When the atmospheric pressure is set to zero (the default value), the
atmosperic pressure stored in the header is used.
2011-03-12 10:37:55 +01:00
Jef Driesen
c15b964b26 Add an option to switch between real and simulated dives. 2011-03-12 10:37:55 +01:00
Jef Driesen
5614aff3ee Add a libusb based implementation. 2011-03-12 10:37:50 +01:00
Jef Driesen
4b887341f3 Add support for the Atomics Cobalt. 2011-03-12 10:31:32 +01:00
Jef Driesen
7fbff73c6b Ignore samples with all 0xFF bytes. 2011-03-08 23:13:22 +01:00
Jef Driesen
c1d05cd8ba Fix the pressure decoding for the Aeris Epic. 2011-03-08 23:01:01 +01:00
Jef Driesen
63f3f6de06 Add support for the Sherwood Insight. 2011-02-24 20:59:52 +01:00
Jef Driesen
95835659dd Improve the progress events by reading the data in smaller blocks. 2011-02-03 21:23:56 +01:00
Jef Driesen
de1f7511ac Do not return an error when no dives are present. 2011-01-19 08:30:00 +01:00
Jef Driesen
104c4d956a Validate the ringbuffer pointers before using them. 2011-01-19 08:30:00 +01:00
Jef Driesen
fbe203993c Ignore timeouts during initialization.
Some Veo devices never respond to the initialization command, but have
no problem to continue the communication. Therefore a timeout with no
data received is ignored. If there happens to be a real problem, it will
be catched when sending one of the other commands afterwards.
2011-01-18 12:01:50 +01:00
Jef Driesen
8425a22dbc Ignore samples below the depth threshold for calculating statistics. 2011-01-13 23:41:55 +01:00
Jef Driesen
0d0c654b27 Use the new field api in the example application. 2011-01-13 23:41:55 +01:00
Jef Driesen
4ea3964c3c Implement the new field api for the Seiko devices. 2011-01-13 23:41:47 +01:00
Jef Driesen
4bce24e5fa Implement the new field api for the Mares devices. 2011-01-13 22:14:53 +01:00
Jef Driesen
04481198e7 Implement the new field api for the Heinrichs Weikamp devices. 2011-01-13 22:14:53 +01:00
Jef Driesen
061e647ecf Implement the new field api for the Oceanic devices. 2011-01-13 22:14:53 +01:00
Jef Driesen
643c04eca3 Implement the new field api for the Uwatec devices. 2011-01-13 22:14:53 +01:00
Jef Driesen
014f7aa420 Implement the new field api for the Suunto devices. 2011-01-13 22:14:53 +01:00
Jef Driesen
7c00b1d74e Implement the new field api for the Reefnet devices. 2011-01-13 22:14:53 +01:00
Jef Driesen
90e60fecee Add a new function to the public api to retrieve the dive metadata. 2011-01-13 22:14:53 +01:00
Jef Driesen
e320791e86 Fix a buffer overflow. 2011-01-13 22:13:33 +01:00
Jef Driesen
1ea4879066 Choose the samplerate based on the model number. 2011-01-13 22:12:45 +01:00
Jef Driesen
a2b9d887a8 Add a devinfo event for the Cressi Edy. 2011-01-13 22:12:44 +01:00
Jef Driesen
154f767a9c Convert assertions into error codes. 2011-01-08 23:40:15 +01:00
Jef Driesen
ec774d3426 Shorten the type detection code with bit manipulations. 2011-01-08 23:40:15 +01:00
Jef Driesen
910521fe80 Add support for the Oceanic Atom 1.0. 2011-01-06 21:04:55 +01:00
Jef Driesen
4fd295b4ac Always prefix the port name with "\\.\" before opening the port.
The "\\.\" prefix allows to access the Win32 device namespace directly,
without going through the file system. This is required to support
non-standard port names, and COMx ports with a number greater than 9.
2011-01-01 23:32:19 +01:00