Merge branch 'master' into codex/resolver-issues-del-repositorio

This commit is contained in:
Miguel Angel Califa Urquiza 2025-06-04 17:52:12 -05:00 committed by GitHub
commit f7fae4e03c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 15 additions and 4 deletions

View File

@ -246,6 +246,15 @@ test(MQ303A_Ethanol)
assertEqual(PPM,ppmExp); assertEqual(PPM,ppmExp);
} }
test(MQ303A_VoltResolution)
{
float vRes = 4.7;
MQ303A.setVoltResolution(vRes);
MQ303A.setADC(100); // provide dummy ADC value
MQ303A.readSensor(true); // dummy read for MQ303A
assertEqualFloat(MQ303A.getVoltResolution(), vRes);
}
test(MQ309A_CO) test(MQ309A_CO)
{ {
MQ309A.setRegressionMethod(1); //_PPM = a*ratio^b MQ309A.setRegressionMethod(1); //_PPM = a*ratio^b

View File

@ -152,8 +152,10 @@ float MQUnifiedsensor::validateEcuation(float ratioInput)
float MQUnifiedsensor::readSensor(bool isMQ303A, float correctionFactor, bool injected) float MQUnifiedsensor::readSensor(bool isMQ303A, float correctionFactor, bool injected)
{ {
//More explained in: https://jayconsystems.com/blog/understanding-a-gas-sensor //More explained in: https://jayconsystems.com/blog/understanding-a-gas-sensor
float voltRes = _VOLT_RESOLUTION; // preserve global resolution
if(isMQ303A) { 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 = ((_VCC*_RL)/_sensor_volt)-_RL; //Get value of RS in a gas _RS_Calc = ((_VCC*_RL)/_sensor_volt)-_RL; //Get value of RS in a gas
if(_RS_Calc < 0) _RS_Calc = 0; //No negative values accepted. if(_RS_Calc < 0) _RS_Calc = 0; //No negative values accepted.