From da96f0211acf775cf73827bcc6a5557c65a965f1 Mon Sep 17 00:00:00 2001 From: Jef Driesen Date: Tue, 3 Mar 2015 14:44:01 +0100 Subject: [PATCH] Fix the freedive mode for the DG03 and VT3. The freedive/gauge bits for the Hollis DG03 and Oceanic VT3 are stored at another location than our initial assumption. --- src/oceanic_atom2_parser.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/oceanic_atom2_parser.c b/src/oceanic_atom2_parser.c index c7d1b46..efe4635 100644 --- a/src/oceanic_atom2_parser.c +++ b/src/oceanic_atom2_parser.c @@ -337,10 +337,10 @@ oceanic_atom2_parser_get_field (dc_parser_t *abstract, dc_field_type_t type, uns unsigned int mode = NORMAL; if (parser->model == F10 || parser->model == F11) { mode = FREEDIVE; - } else if (parser->model == T3B) { + } else if (parser->model == T3B || parser->model == VT3 || + parser->model == DG03) { mode = (data[2] & 0xC0) >> 6; - } else if (parser->model == VEO20 || parser->model == VEO30 || - parser->model == VT3 || parser->model == DG03) { + } else if (parser->model == VEO20 || parser->model == VEO30) { mode = (data[1] & 0x60) >> 5; } @@ -501,10 +501,10 @@ oceanic_atom2_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callback_ unsigned int mode = NORMAL; if (parser->model == F10 || parser->model == F11) { mode = FREEDIVE; - } else if (parser->model == T3B) { + } else if (parser->model == T3B || parser->model == VT3 || + parser->model == DG03) { mode = (data[2] & 0xC0) >> 6; - } else if (parser->model == VEO20 || parser->model == VEO30 || - parser->model == VT3 || parser->model == DG03) { + } else if (parser->model == VEO20 || parser->model == VEO30) { mode = (data[1] & 0x60) >> 5; }