From 6c2014732ac2b2ccd403ca747fc9f9db0dd8d61d Mon Sep 17 00:00:00 2001 From: Jef Driesen Date: Sun, 22 Apr 2012 22:30:50 +0200 Subject: [PATCH] Fix the gas mix parsing for the Aeris CompuMask. --- src/oceanic_atom2_parser.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/oceanic_atom2_parser.c b/src/oceanic_atom2_parser.c index 3ae3888..38d861b 100644 --- a/src/oceanic_atom2_parser.c +++ b/src/oceanic_atom2_parser.c @@ -248,10 +248,9 @@ oceanic_atom2_parser_get_field (parser_t *abstract, parser_field_type_t type, un unsigned int length = 11 * PAGESIZE / 2; unsigned int header = 4 * PAGESIZE; unsigned int footer = size - PAGESIZE; - if (parser->model == GEO || parser->model == DATAMASK || - parser->model == GEO20 || parser->model == VEO20 || - parser->model == VEO30) - { + if (parser->model == DATAMASK || parser->model == COMPUMASK || + parser->model == GEO || parser->model == GEO20 || + parser->model == VEO20 || parser->model == VEO30) { length -= PAGESIZE; header -= PAGESIZE; } @@ -284,13 +283,13 @@ oceanic_atom2_parser_get_field (parser_t *abstract, parser_field_type_t type, un *((double *) value) = array_uint16_le (data + footer + 4) / 16.0 * FEET; break; case FIELD_TYPE_GASMIX_COUNT: - if (parser->model == DATAMASK) + if (parser->model == DATAMASK || parser->model == COMPUMASK) *((unsigned int *) value) = 1; else *((unsigned int *) value) = 3; break; case FIELD_TYPE_GASMIX: - if (parser->model == DATAMASK) + if (parser->model == DATAMASK || parser->model == COMPUMASK) nitrox = data[header + 3]; else nitrox = data[header + 4 + flags];