Add support for the Darwin Air tank pressure.
This commit is contained in:
parent
d4b94cb77c
commit
dea1fe358d
@ -185,6 +185,8 @@ mares_darwin_parser_samples_foreach (parser_t *abstract, sample_callback_t callb
|
||||
|
||||
unsigned int time = 0;
|
||||
|
||||
unsigned int pressure = array_uint16_be (abstract->data + 0x17);
|
||||
|
||||
unsigned int offset = parser->headersize;
|
||||
while (offset + parser->samplesize <= abstract->size) {
|
||||
parser_sample_value_t sample = {0};
|
||||
@ -199,6 +201,17 @@ mares_darwin_parser_samples_foreach (parser_t *abstract, sample_callback_t callb
|
||||
sample.depth = depth / 10.0;
|
||||
if (callback) callback (SAMPLE_TYPE_DEPTH, sample, userdata);
|
||||
|
||||
if (parser->samplesize == 3) {
|
||||
unsigned int type = (time / 20 + 2) % 3;
|
||||
if (type == 0) {
|
||||
// Tank Pressure (bar)
|
||||
pressure -= abstract->data[offset + 2];
|
||||
sample.pressure.tank = 0;
|
||||
sample.pressure.value = pressure;
|
||||
if (callback) callback (SAMPLE_TYPE_PRESSURE, sample, userdata);
|
||||
}
|
||||
}
|
||||
|
||||
offset += parser->samplesize;
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user