Fix Uemis temperature conversion

In commit 3fd39a7a87 ("Remove some constants and use helpers instead")
Anton missed the fact that the Uemis gives temperatures in the handy unit
of "centi degree C". Now things work again.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2014-01-03 16:00:28 -08:00
parent 32d26b751a
commit 04aa563cca

View file

@ -293,7 +293,7 @@ void uemis_parse_divelog_binary(char *base64, void *datap) {
datalen = uemis_convert_base64(base64, &data); datalen = uemis_convert_base64(base64, &data);
dive->dc.airtemp.mkelvin = C_to_mkelvin(*(uint16_t *)(data + 45)); dive->dc.airtemp.mkelvin = C_to_mkelvin((*(uint16_t *)(data + 45)) / 10.0);
dive->dc.surface_pressure.mbar = *(uint16_t *)(data + 43); dive->dc.surface_pressure.mbar = *(uint16_t *)(data + 43);
if (*(uint8_t *)(data + 19)) if (*(uint8_t *)(data + 19))
dive->dc.salinity = SEAWATER_SALINITY; /* avg grams per 10l sea water */ dive->dc.salinity = SEAWATER_SALINITY; /* avg grams per 10l sea water */
@ -351,7 +351,7 @@ void uemis_parse_divelog_binary(char *base64, void *datap) {
sample = prepare_sample(dc); sample = prepare_sample(dc);
sample->time.seconds = u_sample->dive_time; sample->time.seconds = u_sample->dive_time;
sample->depth.mm = rel_mbar_to_depth(u_sample->water_pressure, dive); sample->depth.mm = rel_mbar_to_depth(u_sample->water_pressure, dive);
sample->temperature.mkelvin = C_to_mkelvin(u_sample->dive_temperature); sample->temperature.mkelvin = C_to_mkelvin(u_sample->dive_temperature / 10.0);
sample->sensor = active; sample->sensor = active;
sample->cylinderpressure.mbar = sample->cylinderpressure.mbar =
(u_sample->tank_pressure_high * 256 + u_sample->tank_pressure_low) * 10; (u_sample->tank_pressure_high * 256 + u_sample->tank_pressure_low) * 10;