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;
|
offset += table[id].extrabytes + 1;
|
||||||
|
|
||||||
// Fix the sign bit.
|
// Fix the sign bit.
|
||||||
value = uwatec_smart_fixsignbit (value, nbits);
|
signed int svalue = uwatec_smart_fixsignbit (value, nbits);
|
||||||
|
|
||||||
if (complete && table[id].type != TIME) {
|
if (complete && table[id].type != TIME) {
|
||||||
complete = 0;
|
complete = 0;
|
||||||
@ -327,8 +327,8 @@ uwatec_smart_parser_samples_foreach (parser_t *abstract, sample_callback_t callb
|
|||||||
// Parse the value.
|
// Parse the value.
|
||||||
switch (table[id].type) {
|
switch (table[id].type) {
|
||||||
case DELTA_TANK_PRESSURE_DEPTH:
|
case DELTA_TANK_PRESSURE_DEPTH:
|
||||||
pressure += ((signed char) ((value >> NBITS) & 0xFF)) / 4.0;
|
pressure += ((signed char) ((svalue >> NBITS) & 0xFF)) / 4.0;
|
||||||
depth += ((signed char) (value & 0xFF)) / 50.0;
|
depth += ((signed char) (svalue & 0xFF)) / 50.0;
|
||||||
sample.pressure.tank = tank;
|
sample.pressure.tank = tank;
|
||||||
sample.pressure.value = pressure;
|
sample.pressure.value = pressure;
|
||||||
if (callback) callback (SAMPLE_TYPE_PRESSURE, sample, userdata);
|
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;
|
time += 4;
|
||||||
break;
|
break;
|
||||||
case DELTA_RBT:
|
case DELTA_RBT:
|
||||||
rbt += (signed int) value;
|
rbt += svalue;
|
||||||
sample.rbt = rbt;
|
sample.rbt = rbt;
|
||||||
if (callback) callback (SAMPLE_TYPE_RBT, sample, userdata);
|
if (callback) callback (SAMPLE_TYPE_RBT, sample, userdata);
|
||||||
break;
|
break;
|
||||||
case DELTA_TEMPERATURE:
|
case DELTA_TEMPERATURE:
|
||||||
temperature += ((signed int)value) / 2.5;
|
temperature += svalue / 2.5;
|
||||||
sample.temperature = temperature;
|
sample.temperature = temperature;
|
||||||
if (callback) callback (SAMPLE_TYPE_TEMPERATURE, sample, userdata);
|
if (callback) callback (SAMPLE_TYPE_TEMPERATURE, sample, userdata);
|
||||||
break;
|
break;
|
||||||
case DELTA_TANK_PRESSURE:
|
case DELTA_TANK_PRESSURE:
|
||||||
pressure += ((signed int)value) / 4.0;
|
pressure += svalue / 4.0;
|
||||||
sample.pressure.tank = tank;
|
sample.pressure.tank = tank;
|
||||||
sample.pressure.value = pressure;
|
sample.pressure.value = pressure;
|
||||||
if (callback) callback (SAMPLE_TYPE_PRESSURE, sample, userdata);
|
if (callback) callback (SAMPLE_TYPE_PRESSURE, sample, userdata);
|
||||||
break;
|
break;
|
||||||
case DELTA_DEPTH:
|
case DELTA_DEPTH:
|
||||||
depth += ((signed int)value) / 50.0;
|
depth += svalue / 50.0;
|
||||||
sample.depth = depth - depth_calibration;
|
sample.depth = depth - depth_calibration;
|
||||||
if (callback) callback (SAMPLE_TYPE_DEPTH, sample, userdata);
|
if (callback) callback (SAMPLE_TYPE_DEPTH, sample, userdata);
|
||||||
complete = 1;
|
complete = 1;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user