Shearwater: fix (again) per-cell ppO2 reporting
This re-applied commit 902dbf4d6d24 ("shearwater: Fallback to
average/voted ppo2") which got lost in the last merge with upstream when
I synced with Jef's rewrite of the PNF parser.
Reported-by: Martin Long <martin@longhome.co.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
072bef1666
commit
1953d7a5a1
@ -808,19 +808,19 @@ shearwater_predator_parser_samples_foreach (dc_parser_t *abstract, dc_sample_cal
|
||||
if ((status & OC) == 0) {
|
||||
// PPO2
|
||||
if ((status & PPO2_EXTERNAL) == 0) {
|
||||
#ifdef SENSOR_AVERAGE
|
||||
sample.ppo2 = data[offset + pnf + 6] / 100.0;
|
||||
if (callback) callback (DC_SAMPLE_PPO2, sample, userdata);
|
||||
#else
|
||||
sample.ppo2 = data[offset + pnf + 12] * parser->calibration[0];
|
||||
if (callback && (parser->calibrated & 0x01)) callback (DC_SAMPLE_PPO2, sample, userdata);
|
||||
if (!parser->calibrated) {
|
||||
sample.ppo2 = data[offset + pnf + 6] / 100.0;
|
||||
if (callback) callback (DC_SAMPLE_PPO2, sample, userdata);
|
||||
} else {
|
||||
sample.ppo2 = data[offset + pnf + 12] * parser->calibration[0];
|
||||
if (callback && (parser->calibrated & 0x01)) callback (DC_SAMPLE_PPO2, sample, userdata);
|
||||
|
||||
sample.ppo2 = data[offset + pnf + 14] * parser->calibration[1];
|
||||
if (callback && (parser->calibrated & 0x02)) callback (DC_SAMPLE_PPO2, sample, userdata);
|
||||
sample.ppo2 = data[offset + pnf + 14] * parser->calibration[1];
|
||||
if (callback && (parser->calibrated & 0x02)) callback (DC_SAMPLE_PPO2, sample, userdata);
|
||||
|
||||
sample.ppo2 = data[offset + pnf + 15] * parser->calibration[2];
|
||||
if (callback && (parser->calibrated & 0x04)) callback (DC_SAMPLE_PPO2, sample, userdata);
|
||||
#endif
|
||||
sample.ppo2 = data[offset + pnf + 15] * parser->calibration[2];
|
||||
if (callback && (parser->calibrated & 0x04)) callback (DC_SAMPLE_PPO2, sample, userdata);
|
||||
}
|
||||
}
|
||||
|
||||
// Setpoint
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user