From 4c37c9c85fab781d631b5d8f38f533c790a23dcf Mon Sep 17 00:00:00 2001 From: Jef Driesen Date: Mon, 11 May 2009 13:20:58 +0000 Subject: [PATCH] Add support for the Suunto Vyper Air and Cobra 3 to the parser. --- src/suunto_d9_parser.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/suunto_d9_parser.c b/src/suunto_d9_parser.c index d28a122..53b528b 100644 --- a/src/suunto_d9_parser.c +++ b/src/suunto_d9_parser.c @@ -134,6 +134,8 @@ suunto_d9_parser_samples_foreach (parser_t *abstract, sample_callback_t callback case 0x0F: // D6 case 0x10: // Vyper 2 case 0x11: // Cobra 2 + case 0x13: // Vyper Air + case 0x14: // Cobra 3 if (data[0x3E - SKIP] == 0x03 && data[0x3F - SKIP] == 0x07) { pressure_samples = 1; pressure_offset = 0; @@ -181,9 +183,11 @@ suunto_d9_parser_samples_foreach (parser_t *abstract, sample_callback_t callback if (pressure_samples) { assert (offset + 2 <= size); unsigned int pressure = array_uint16_le (data + offset); - sample.pressure.tank = 0; - sample.pressure.value = pressure / 100.0; - if (callback) callback (SAMPLE_TYPE_PRESSURE, sample, userdata); + if (pressure != 0xFFFF) { + sample.pressure.tank = 0; + sample.pressure.value = pressure / 100.0; + if (callback) callback (SAMPLE_TYPE_PRESSURE, sample, userdata); + } offset += 2; }