From 75e29a6a8c1353aaf340b87ca04147a5a0e0f139 Mon Sep 17 00:00:00 2001 From: Jef Driesen Date: Thu, 17 Mar 2011 20:35:09 +0100 Subject: [PATCH] Fix the pressure decoding for the Aeris Compumask. --- src/oceanic_atom2_parser.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/oceanic_atom2_parser.c b/src/oceanic_atom2_parser.c index 0260a3f..0266dcb 100644 --- a/src/oceanic_atom2_parser.c +++ b/src/oceanic_atom2_parser.c @@ -34,6 +34,7 @@ #define ATOM2 0x4342 #define GEO 0x4344 #define DATAMASK 0x4347 +#define COMPUMASK 0x4348 #define OC1A 0x434E #define VEO20 0x4359 #define VEO30 0x435A @@ -305,9 +306,9 @@ oceanic_atom2_parser_samples_foreach (parser_t *abstract, sample_callback_t call unsigned int size = abstract->size; unsigned int header = 4 * 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) header -= PAGESIZE; else if (parser->model == ATOM1) header -= 2 * PAGESIZE; @@ -379,7 +380,7 @@ oceanic_atom2_parser_samples_foreach (parser_t *abstract, sample_callback_t call // Check for a tank switch sample. if (data[offset + 0] == 0xAA) { - if (parser->model == DATAMASK) { + if (parser->model == DATAMASK || parser->model == COMPUMASK) { // Tank pressure (1 psi) and number tank = 0; pressure = (((data[offset + 7] << 8) + data[offset + 6]) & 0x0FFF);