From f569f402f22b414abe49b74880eb290c66fd5e61 Mon Sep 17 00:00:00 2001 From: Jef Driesen Date: Sat, 22 May 2010 22:19:34 +0200 Subject: [PATCH] Fix the decoding of negative temperatures. --- src/suunto_eon_parser.c | 2 +- src/suunto_vyper_parser.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/suunto_eon_parser.c b/src/suunto_eon_parser.c index ccb88a5..ac73b08 100644 --- a/src/suunto_eon_parser.c +++ b/src/suunto_eon_parser.c @@ -209,7 +209,7 @@ suunto_eon_parser_samples_foreach (parser_t *abstract, sample_callback_t callbac // Temperature at maximum depth (°C) if (depth == maxdepth) { if (parser->spyder) - sample.temperature = data[marker + 1]; + sample.temperature = (signed char) data[marker + 1]; else sample.temperature = data[marker + 1] - 40; if (callback) callback (SAMPLE_TYPE_TEMPERATURE, sample, userdata); diff --git a/src/suunto_vyper_parser.c b/src/suunto_vyper_parser.c index 6484568..4c96251 100644 --- a/src/suunto_vyper_parser.c +++ b/src/suunto_vyper_parser.c @@ -163,7 +163,7 @@ suunto_vyper_parser_samples_foreach (parser_t *abstract, sample_callback_t callb if (callback) callback (SAMPLE_TYPE_TIME, sample, userdata); // Temperature (°C) - sample.temperature = data[8]; + sample.temperature = (signed char) data[8]; if (callback) callback (SAMPLE_TYPE_TEMPERATURE, sample, userdata); // Tank Pressure (2 bar) @@ -194,7 +194,7 @@ suunto_vyper_parser_samples_foreach (parser_t *abstract, sample_callback_t callb // Temperature at maximum depth (°C) if (depth == maxdepth) { - sample.temperature = data[marker + 1]; + sample.temperature = (signed char) data[marker + 1]; if (callback) callback (SAMPLE_TYPE_TEMPERATURE, sample, userdata); } @@ -252,7 +252,7 @@ suunto_vyper_parser_samples_foreach (parser_t *abstract, sample_callback_t callb } // Temperature (°C) - sample.temperature = data[offset + 2]; + sample.temperature = (signed char) data[offset + 2]; if (callback) callback (SAMPLE_TYPE_TEMPERATURE, sample, userdata); // Tank Pressure (2 bar)