Maintain sensor index for uemis and liquivision

Previosuly they always used index 0 for the active sensor, use
add_sample_pressure instead.

Signed-off-by: Michael Andreen <michael@andreen.dev>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Michael Andreen 2022-03-06 11:34:12 +01:00 committed by Dirk Hohndel
parent 9b4263aa87
commit 4e92cb2567
2 changed files with 4 additions and 9 deletions

View file

@ -343,8 +343,7 @@ static void parse_dives(int log_version, const unsigned char *buf, unsigned int
sample->time.seconds = event.time;
sample->depth.mm = array_uint16_le(ds + (d - 1) * 2) * 10; // cm->mm
sample->temperature.mkelvin = C_to_mkelvin((float) array_uint16_le(ts + (d - 1) * 2) / 10); // dC->mK
sample->sensor[0] = event.pressure.sensor;
sample->pressure[0].mbar = event.pressure.mbar;
add_sample_pressure(sample, event.pressure.sensor, event.pressure.mbar);
finish_sample(dc);
break;
@ -361,16 +360,14 @@ static void parse_dives(int log_version, const unsigned char *buf, unsigned int
sample->time.seconds = sample_time;
sample->depth.mm = depth_mm;
sample->temperature.mkelvin = temp_mk;
sample->sensor[0] = event.pressure.sensor;
sample->pressure[0].mbar = event.pressure.mbar;
add_sample_pressure(sample, event.pressure.sensor, event.pressure.mbar);
finish_sample(dc);
d++;
break;
} else { // Event is prior to sample
sample->time.seconds = event.time;
sample->sensor[0] = event.pressure.sensor;
sample->pressure[0].mbar = event.pressure.mbar;
add_sample_pressure(sample, event.pressure.sensor, event.pressure.mbar);
if (last_time == sample_time) {
sample->depth.mm = depth_mm;
sample->temperature.mkelvin = temp_mk;

View file

@ -359,9 +359,7 @@ void uemis_parse_divelog_binary(char *base64, void *datap)
sample->time.seconds = u_sample->dive_time;
sample->depth.mm = rel_mbar_to_depth(u_sample->water_pressure, dive);
sample->temperature.mkelvin = C_to_mkelvin(u_sample->dive_temperature / 10.0);
sample->sensor[0] = active;
sample->pressure[0].mbar =
(u_sample->tank_pressure_high * 256 + u_sample->tank_pressure_low) * 10;
add_sample_pressure(sample, active, (u_sample->tank_pressure_high * 256 + u_sample->tank_pressure_low) * 10);
sample->cns = u_sample->cns;
uemis_event(dive, dc, sample, u_sample);
finish_sample(dc);