15 float ENS210_Result_T::TempKelvin()
const 23 float ENS210_Result_T::TempCelsius()
const 30 return t/64 - 273.15F;
32 float ENS210_Result_T::TempFahrenheit()
const 38 return 9*t/320 - 45967/100.0F;
52 const float MOLAR_MASS_OF_WATER = 18.01534F;
53 const float UNIVERSAL_GAS_CONSTANT = 8.21447215F;
59 float degreesC = TempCelsius();
60 return (6.1121F * std::pow(2.718281828F,(17.67F* degreesC)/(degreesC + 243.5F)) *
61 HumidityPercent() *MOLAR_MASS_OF_WATER)/((273.15F+ degreesC )*UNIVERSAL_GAS_CONSTANT);
65 void ENS210_Result_T::DiagPrintf()
const {
67 printf(
"ENS210: Bogus status =%d\n", status);
69 printf(
"ENS210: Temperature degreesCx10 = %d (%.0fF), Humidityx10=%d\n", TempCelsiusX10(), (
double)TempFahrenheit(), HumidityPercentX10());
float AbsoluteHumidityPercent() const
Fetch relative humidity % x10, ie 395 means 39.5% relative humidity.
uint16_t rawHumidity
relative humidity in 1/512RH (ie a value of 51200 means 100% relative humidity)
float HumidityPercent() const
Fetch relative humidity 0% to 100.0%.
The value was read, the CRC matches, and data is valid.
ENS210 measurement-result types and conversion helpers.
uint16_t rawTemperature
temperature in 1/64 Kelvin, corrected for solder offset