diff --git a/lib/iictask/GwIicSensors.h b/lib/iictask/GwIicSensors.h index a9465d5..49fe2fe 100644 --- a/lib/iictask/GwIicSensors.h +++ b/lib/iictask/GwIicSensors.h @@ -108,9 +108,15 @@ void sendN2kEnvironmentalParameters(GwApi *api,CFG &cfg,double tmValue, double h tN2kMsg msg; SetN2kEnvironmentalParameters(msg,1,cfg.tmSrc,tmValue,cfg.huSrc,huValue,prValue); api->sendN2kMessage(msg); - api->increment(counterId,cfg.prefix+String("hum")); - api->increment(counterId,cfg.prefix+String("press")); - api->increment(counterId,cfg.prefix+String("temp")); + if (huValue != N2kDoubleNA){ + api->increment(counterId,cfg.prefix+String("ehum")); + } + if (prValue != N2kDoubleNA){ + api->increment(counterId,cfg.prefix+String("epress")); + } + if (tmValue != N2kDoubleNA){ + api->increment(counterId,cfg.prefix+String("etemp")); + } } #ifndef _GWI_IIC1 diff --git a/lib/iictask/GwQMP6988.cpp b/lib/iictask/GwQMP6988.cpp index 12b648f..1638907 100644 --- a/lib/iictask/GwQMP6988.cpp +++ b/lib/iictask/GwQMP6988.cpp @@ -10,6 +10,8 @@ class QMP6988Config : public IICSensorBase{ String prNam="Pressure"; bool prAct=true; bool sEnv=true; + tN2kTempSource tmSrc=tN2kTempSource::N2kts_InsideTemperature; + tN2kHumiditySource huSrc=tN2kHumiditySource::N2khs_Undef; tN2kPressureSource prSrc=tN2kPressureSource::N2kps_Atmospheric; float prOff=0; QMP6988 *device=nullptr; @@ -40,6 +42,7 @@ class QMP6988Config : public IICSensorBase{ float computed=pressure+prOff; LOG_DEBUG(GwLog::DEBUG,"%s measure %2.0fPa, computed %2.0fPa",prefix.c_str(), pressure,computed); sendN2kPressure(api,*this,computed,counterId); + sendN2kEnvironmentalParameters(api,*this,N2kDoubleNA,N2kDoubleNA,computed,counterId); }