Port the changes from r179 to the Uwatec Smart parser.
This commit is contained in:
parent
7d9ffdc3f8
commit
019b807e0f
@ -316,7 +316,7 @@ uwatec_smart_parser_samples_foreach (parser_t *abstract, sample_callback_t callb
|
||||
offset += table[id].extrabytes + 1;
|
||||
|
||||
// Fix the sign bit.
|
||||
value = uwatec_smart_fixsignbit (value, nbits);
|
||||
signed int svalue = uwatec_smart_fixsignbit (value, nbits);
|
||||
|
||||
if (complete && table[id].type != TIME) {
|
||||
complete = 0;
|
||||
@ -327,8 +327,8 @@ uwatec_smart_parser_samples_foreach (parser_t *abstract, sample_callback_t callb
|
||||
// Parse the value.
|
||||
switch (table[id].type) {
|
||||
case DELTA_TANK_PRESSURE_DEPTH:
|
||||
pressure += ((signed char) ((value >> NBITS) & 0xFF)) / 4.0;
|
||||
depth += ((signed char) (value & 0xFF)) / 50.0;
|
||||
pressure += ((signed char) ((svalue >> NBITS) & 0xFF)) / 4.0;
|
||||
depth += ((signed char) (svalue & 0xFF)) / 50.0;
|
||||
sample.pressure.tank = tank;
|
||||
sample.pressure.value = pressure;
|
||||
if (callback) callback (SAMPLE_TYPE_PRESSURE, sample, userdata);
|
||||
@ -338,23 +338,23 @@ uwatec_smart_parser_samples_foreach (parser_t *abstract, sample_callback_t callb
|
||||
time += 4;
|
||||
break;
|
||||
case DELTA_RBT:
|
||||
rbt += (signed int) value;
|
||||
rbt += svalue;
|
||||
sample.rbt = rbt;
|
||||
if (callback) callback (SAMPLE_TYPE_RBT, sample, userdata);
|
||||
break;
|
||||
case DELTA_TEMPERATURE:
|
||||
temperature += ((signed int)value) / 2.5;
|
||||
temperature += svalue / 2.5;
|
||||
sample.temperature = temperature;
|
||||
if (callback) callback (SAMPLE_TYPE_TEMPERATURE, sample, userdata);
|
||||
break;
|
||||
case DELTA_TANK_PRESSURE:
|
||||
pressure += ((signed int)value) / 4.0;
|
||||
pressure += svalue / 4.0;
|
||||
sample.pressure.tank = tank;
|
||||
sample.pressure.value = pressure;
|
||||
if (callback) callback (SAMPLE_TYPE_PRESSURE, sample, userdata);
|
||||
break;
|
||||
case DELTA_DEPTH:
|
||||
depth += ((signed int)value) / 50.0;
|
||||
depth += svalue / 50.0;
|
||||
sample.depth = depth - depth_calibration;
|
||||
if (callback) callback (SAMPLE_TYPE_DEPTH, sample, userdata);
|
||||
complete = 1;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user