diff --git a/src/packet_tx_handler.c b/src/packet_tx_handler.c index 22883a4..b7380c9 100644 --- a/src/packet_tx_handler.c +++ b/src/packet_tx_handler.c @@ -241,6 +241,16 @@ void packet_tx_handler(void) { case BME280_QF_HUMIDITY_DEGRADED: case BME280_QF_GEN_DEGRADED: humidity_qf = HUMIDITY_QF_DEGRADATED; break; } + + switch (rte_wx_bme280_qf) { + case BME280_QF_FULL: + case BME280_QF_HUMIDITY_DEGRADED: pressure_qf = PRESSURE_QF_FULL; break; + case BME280_QF_UKNOWN: + case BME280_QF_NOT_AVAILABLE: pressure_qf = PRESSURE_QF_NOT_AVALIABLE; break; + case BME280_QF_PRESSURE_DEGRADED: + case BME280_QF_GEN_DEGRADED: pressure_qf = PRESSURE_QF_DEGRADATED; break; + } + } #else pressure_qf = PRESSURE_QF_NOT_AVALIABLE; diff --git a/src/wx_handler.c b/src/wx_handler.c index ed211be..607f23e 100644 --- a/src/wx_handler.c +++ b/src/wx_handler.c @@ -148,7 +148,7 @@ void wx_get_all_measurements(void) { // converting raw values to temperature bme280_get_temperature(&rte_wx_temperature_ms, bme280_get_adc_t(), &rte_wx_bme280_qf); - // if modbus RTU is enabled but the quality factor for RTU-pressure is set to non FULL + // if modbus RTU is enabled but the quality factor for RTU-pressure is set to NOT_AVALIABLE if ((modbus_qf & MODBUS_QF_PRESSURE_FULL) == 0 && (modbus_qf & MODBUS_QF_PRESSURE_DEGR) == 0) { // converting raw values to pressure bme280_get_pressure(&rte_wx_pressure, bme280_get_adc_p(), &rte_wx_bme280_qf); @@ -157,7 +157,7 @@ void wx_get_all_measurements(void) { ; } - // if modbus RTU is enabled but the quality factor for RTU-humidity is set to non FULL + // if modbus RTU is enabled but the quality factor for RTU-humidity is set to NOT_AVALIABLE if ((modbus_qf & MODBUS_QF_HUMIDITY_FULL) == 0 && (modbus_qf & MODBUS_QF_HUMIDITY_DEGR) == 0) { // converting raw values to humidity bme280_get_humidity(&rte_wx_humidity, bme280_get_adc_h(), &rte_wx_bme280_qf);