Improve the detection of unused tanks.
The begin/end pressure for unused tanks is normally zero. But I noticed that in some cases both pressure values are stored as 0xFFFF. Since that corresponds to a pressure of 511.99 bar, this is most likely some special magic value, and not a valid pressure. Tanks where either the begin or end pressure is 0xFFFF are now ignored too.
This commit is contained in:
parent
5381714d08
commit
3ff890b3e2
@ -459,7 +459,8 @@ uwatec_smart_parser_cache (uwatec_smart_parser_t *parser)
|
||||
endpressure = array_uint16_le(data + offset + 2);
|
||||
}
|
||||
}
|
||||
if (beginpressure != 0 || endpressure != 0) {
|
||||
if ((beginpressure != 0 || endpressure != 0) &&
|
||||
(beginpressure != 0xFFFF) && (endpressure != 0xFFFF)) {
|
||||
tank[ntanks].id = id;
|
||||
tank[ntanks].beginpressure = beginpressure;
|
||||
tank[ntanks].endpressure = endpressure;
|
||||
@ -1068,7 +1069,8 @@ uwatec_smart_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callback_t
|
||||
mixidx = idx;
|
||||
}
|
||||
|
||||
if (beginpressure != 0 || endpressure != 0) {
|
||||
if ((beginpressure != 0 || endpressure != 0) &&
|
||||
(beginpressure != 0xFFFF) && (endpressure != 0xFFFF)) {
|
||||
idx = uwatec_smart_find_tank (parser, mixid);
|
||||
if (idx >= parser->ntanks) {
|
||||
if (idx >= NGASMIXES) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user