Update Adafruit_BMP085_U.cpp

add new function: float seaLevelForAltitude(float altitude, float atmospheric, float temp);
which converts the measured pressure at a give altitude to sealevel-pressure.
This is useful, when you will use the BMP for weather-reporting.
This commit is contained in:
kunosee
2014-02-26 15:12:07 +01:00
parent 2f673354d1
commit 8192b69576

View File

@@ -364,6 +364,22 @@ float Adafruit_BMP085_Unified::pressureToAltitude(float seaLevel, float atmosphe
* (temp + 273.15F)) / 0.0065F;
}
float Adafruit_BMP085_Unified::seaLevelForAltitude(float altitude, float atmospheric, float temp)
{
/* Hyposometric formula: */
/* */
/* P0=((((h*0.0065)/(temp + 273.15F))+1)^(^/0.190223F))*P */
/* */
/* where: h = height (in meters) */
/* P0 = sea-level pressure (in hPa) */
/* P = atmospheric pressure (in hPa) */
/* T = temperature (in <20>C) */
return (float)pow((((altitude*0.0065)/(temp + 273.15F))+1), (1.0/0.190223F))*atmospheric;
}
/**************************************************************************/
/*!
@brief Provides the sensor_t data for this sensor