diff --git a/src/shearwater_predator_parser.c b/src/shearwater_predator_parser.c index c7a529c..ce71771 100644 --- a/src/shearwater_predator_parser.c +++ b/src/shearwater_predator_parser.c @@ -375,9 +375,11 @@ shearwater_predator_parser_samples_foreach (dc_parser_t *abstract, dc_sample_cal sample.temperature = temperature; if (callback) callback (DC_SAMPLE_TEMPERATURE, sample, userdata); - // PPO2 - sample.ppo2 = data[offset + 6] / 100.0; - if (callback) callback (DC_SAMPLE_PPO2, sample, userdata); + // PPO2 -- only return PPO2 if we are in closed circuit mode + if (data[offset + 11] & 0x10 == 0) { + sample.ppo2 = data[offset + 6] / 100.0; + if (callback) callback (DC_SAMPLE_PPO2, sample, userdata); + } // CNS if (parser->petrel) {