From 59d9791446c8b2dd728960876b05f7f108445e7e Mon Sep 17 00:00:00 2001 From: Jef Driesen Date: Mon, 10 Feb 2020 22:52:55 +0100 Subject: [PATCH] Limit the depth value to 11 bits The depth value is encoded with only 11 bits instead of 12 bits. The extra bit contains the gas mix index. This resulted in wrong depths, with values larger than 204.8m. --- src/cressi_goa_parser.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cressi_goa_parser.c b/src/cressi_goa_parser.c index cc99d2c..bd89a54 100644 --- a/src/cressi_goa_parser.c +++ b/src/cressi_goa_parser.c @@ -190,7 +190,7 @@ cressi_goa_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callback_t c if (type == DEPTH) { // Depth (1/10 m). - unsigned int depth = value & 0x0FFF; + unsigned int depth = value & 0x07FF; sample.depth = depth / 10.0; if (callback) callback (DC_SAMPLE_DEPTH, sample, userdata); complete = 1;