added getAbsoluteHumidity from Adafruit sgp30test

bp-vhf
alanbjohnston 4 years ago committed by GitHub
parent 16cbfc807e
commit 9463b7b93c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -28,6 +28,7 @@ void blink_setup();
void blink(int length); void blink(int length);
int read_analog(); int read_analog();
void led_set(int ledPin, bool state); void led_set(int ledPin, bool state);
uint32_t getAbsoluteHumidity(float temperature, float humidity);
int first_time = true; int first_time = true;
int first_read = true; int first_read = true;
@ -423,3 +424,10 @@ int read_analog()
#endif #endif
return(sensorValue); return(sensorValue);
} }
uint32_t getAbsoluteHumidity(float temperature, float humidity) {
// approximation formula from Sensirion SGP30 Driver Integration chapter 3.15
const float absoluteHumidity = 216.7f * ((humidity / 100.0f) * 6.112f * exp((17.62f * temperature) / (243.12f + temperature)) / (273.15f + temperature)); // [g/m^3]
const uint32_t absoluteHumidityScaled = static_cast<uint32_t>(1000.0f * absoluteHumidity); // [mg/m^3]
return absoluteHumidityScaled;
}

Loading…
Cancel
Save

Powered by TurnKey Linux.