mirror of
https://github.com/adafruit/Adafruit_BMP085_Unified.git
synced 2025-08-02 18:34:27 +02:00
Merge pull request #3 from kunosee/master
add another function, which will return seaLevelPressure for a given height
This commit is contained in:
@@ -364,6 +364,22 @@ float Adafruit_BMP085_Unified::pressureToAltitude(float seaLevel, float atmosphe
|
|||||||
* (temp + 273.15F)) / 0.0065F;
|
* (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
|
@brief Provides the sensor_t data for this sensor
|
||||||
|
@@ -99,6 +99,7 @@ class Adafruit_BMP085_Unified : public Adafruit_Sensor
|
|||||||
void getTemperature(float *temp);
|
void getTemperature(float *temp);
|
||||||
void getPressure(float *pressure);
|
void getPressure(float *pressure);
|
||||||
float pressureToAltitude(float seaLevel, float atmospheric, float temp);
|
float pressureToAltitude(float seaLevel, float atmospheric, float temp);
|
||||||
|
float seaLevelForAltitude(float altitude, float atmospheric, float temp);
|
||||||
void getEvent(sensors_event_t*);
|
void getEvent(sensors_event_t*);
|
||||||
void getSensor(sensor_t*);
|
void getSensor(sensor_t*);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user