airgradienthq/arduino

PM compensation receiving temperature instead of RH

GuilhermeZimeo opened this issue · 1 comments

Hello, I was currently reviewing where the PM compensation is applied throughout the code, and found something weird:

The script AgValue.cpp is calling the compensate method of the pms5003t objects by passing the temperature as second argument instead of the relative humidity. This seems to happen to all calls throughout that script, except for those related to pms5003, as below:

https://github.com/airgradienthq/arduino/blob/master/src/AgValue.cpp#L133-L136
https://github.com/airgradienthq/arduino/blob/master/src/AgValue.cpp#L174
https://github.com/airgradienthq/arduino/blob/master/src/AgValue.cpp#L215
https://github.com/airgradienthq/arduino/blob/master/src/AgValue.cpp#L256
https://github.com/airgradienthq/arduino/blob/master/src/AgValue.cpp#L294
https://github.com/airgradienthq/arduino/blob/master/src/AgValue.cpp#L335
https://github.com/airgradienthq/arduino/blob/master/src/AgValue.cpp#L377

This seems to have been introduced in this commit: 4b2a5f5#diff-895add7ed334cb3f9057e5fcac8bd90d55016c4968fa98b42dd8a1e697d1df02

I also double checked the definition in the PMS5003T.cpp and PMS5003T.h scripts, but there it seems to be correct: it rather expects the humidity value instead.

Could you please double check this?

@GuilhermeZimeo
Thank for your report. I have add ne commit for that fix. And soon release int in new version.