mirror of
https://github.com/airgradienthq/arduino.git
synced 2025-07-28 07:57:18 +02:00
Update AQI breakpoints to 2024 values (#208)
* Update breakpoints to 2024 standard * Update formula to match Wikipedia https://en.wikipedia.org/wiki/Air_quality_index#Computing_the_AQI --------- Co-authored-by: Samuel Siburian <samuelbles07@gmail.com>
This commit is contained in:
@ -297,20 +297,18 @@ uint8_t PMSBase::getErrorCode(void) { return pms_errorCode; }
|
||||
* @return int
|
||||
*/
|
||||
int PMSBase::pm25ToAQI(int pm02) {
|
||||
if (pm02 <= 12.0)
|
||||
return ((50 - 0) / (12.0 - .0) * (pm02 - .0) + 0);
|
||||
if (pm02 <= 9.0)
|
||||
return ((50 - 0) / (9.0 - .0) * (pm02 - .0) + 0);
|
||||
else if (pm02 <= 35.4)
|
||||
return ((100 - 50) / (35.4 - 12.0) * (pm02 - 12.0) + 50);
|
||||
return ((100 - 51) / (35.4 - 9.1) * (pm02 - 9.0) + 51);
|
||||
else if (pm02 <= 55.4)
|
||||
return ((150 - 100) / (55.4 - 35.4) * (pm02 - 35.4) + 100);
|
||||
else if (pm02 <= 150.4)
|
||||
return ((200 - 150) / (150.4 - 55.4) * (pm02 - 55.4) + 150);
|
||||
else if (pm02 <= 250.4)
|
||||
return ((300 - 200) / (250.4 - 150.4) * (pm02 - 150.4) + 200);
|
||||
else if (pm02 <= 350.4)
|
||||
return ((400 - 300) / (350.4 - 250.4) * (pm02 - 250.4) + 300);
|
||||
else if (pm02 <= 500.4)
|
||||
return ((500 - 400) / (500.4 - 350.4) * (pm02 - 350.4) + 400);
|
||||
return ((150 - 101) / (55.4 - 35.5) * (pm02 - 35.5) + 101);
|
||||
else if (pm02 <= 125.4)
|
||||
return ((200 - 151) / (125.4 - 55.5) * (pm02 - 55.5) + 151);
|
||||
else if (pm02 <= 225.4)
|
||||
return ((300 - 201) / (225.4 - 125.5) * (pm02 - 125.5) + 201);
|
||||
else if (pm02 <= 325.4)
|
||||
return ((500 - 301) / (325.4 - 225.5) * (pm02 - 225.5) + 301);
|
||||
else
|
||||
return 500;
|
||||
}
|
||||
|
Reference in New Issue
Block a user