From da3adb7335af3b7b8a0da8c453273b8f03fa62dd Mon Sep 17 00:00:00 2001 From: Miguel Angel Califa Urquiza Date: Wed, 4 Jun 2025 17:46:18 -0500 Subject: [PATCH] fix: preserve voltage resolution --- src/MQUnifiedsensor.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/MQUnifiedsensor.cpp b/src/MQUnifiedsensor.cpp index 928210d..05b4492 100644 --- a/src/MQUnifiedsensor.cpp +++ b/src/MQUnifiedsensor.cpp @@ -142,10 +142,11 @@ float MQUnifiedsensor::validateEcuation(float ratioInput) float MQUnifiedsensor::readSensor(bool isMQ303A, float correctionFactor, bool injected) { //More explained in: https://jayconsystems.com/blog/understanding-a-gas-sensor + float voltRes = _VOLT_RESOLUTION; // preserve global resolution if(isMQ303A) { - _VOLT_RESOLUTION = _VOLT_RESOLUTION - 0.45; //Calculations for RS using mq303a sensor look wrong #42 + voltRes = voltRes - 0.45; //Calculations for RS using mq303a sensor look wrong #42 } - _RS_Calc = ((_VOLT_RESOLUTION*_RL)/_sensor_volt)-_RL; //Get value of RS in a gas + _RS_Calc = ((voltRes*_RL)/_sensor_volt)-_RL; //Get value of RS in a gas if(_RS_Calc < 0) _RS_Calc = 0; //No negative values accepted. if(!injected) _ratio = _RS_Calc / this->_R0; // Get ratio RS_gas/RS_air _ratio += correctionFactor;