Fix the freedive mode for the Oceanic Veo 2 and 3.

In freedive mode, the Oceanic Veo 2.0 and 3.0 have samples that are only
4 bytes long, instead of the normal 8 bytes.

The Oceanic VT3 and Hollis DG03 use the same logbook layout, and
although I haven't been able to confirm this with real data, it's very
likely they need the same fix.
This commit is contained in:
Jef Driesen 2015-02-23 22:49:09 +01:00
parent 488c396656
commit 41834a31c7

View File

@ -339,6 +339,9 @@ oceanic_atom2_parser_get_field (dc_parser_t *abstract, dc_field_type_t type, uns
mode = FREEDIVE;
} else if (parser->model == T3B) {
mode = (data[2] & 0xC0) >> 6;
} else if (parser->model == VEO20 || parser->model == VEO30 ||
parser->model == VT3 || parser->model == DG03) {
mode = (data[1] & 0x60) >> 5;
}
if (!parser->cached) {
@ -500,6 +503,9 @@ oceanic_atom2_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callback_
mode = FREEDIVE;
} else if (parser->model == T3B) {
mode = (data[2] & 0xC0) >> 6;
} else if (parser->model == VEO20 || parser->model == VEO30 ||
parser->model == VT3 || parser->model == DG03) {
mode = (data[1] & 0x60) >> 5;
}
unsigned int time = 0;