barometric pressure sensor BMP085 http://mbed.org/users/okini3939/notebook/barometric-pressure-sensor-bmp085/ http://mbed.org/users/okini3939/notebook/weatherduino-on-mbed/
Dependents: WeatherPlatform_20110408 WeatherPlatform ENVLogger WeatherStation ... more
Revision 1:80e4c62baf09, committed 2010-12-13
- Comitter:
- okini3939
- Date:
- Mon Dec 13 14:02:24 2010 +0000
- Parent:
- 0:6245372b9179
- Child:
- 2:5e2b1f3c0a6a
- Commit message:
Changed in this revision
BMP085.cpp | Show annotated file Show diff for this revision Revisions of this file |
BMP085.h | Show annotated file Show diff for this revision Revisions of this file |
--- a/BMP085.cpp Thu Oct 14 11:28:45 2010 +0000 +++ b/BMP085.cpp Mon Dec 13 14:02:24 2010 +0000 @@ -4,29 +4,56 @@ * Released under the MIT License: http://mbed.org/license/mit */ +/** @file BMP085.cpp + * @brief mbed library to use a Bosch Sensortec BMP085 sensor + * barometric pressure sensor BMP085 (Bosch Sensortec) + * interface: I2C digital + */ + #include "mbed.h" #include "BMP085.h" #define WEATHER_BMP085 0xee #define xpow(x, y) ((long)1 << y) - +/** + * @brief Initializes interface (private I2C) + * @param p_sda port of I2C SDA + * @param p_scl port of I2C SCL + * @param p_oss parameter of OSS + */ BMP085::BMP085 (PinName p_sda, PinName p_scl, BMP085_oss p_oss) : i2c(p_sda, p_scl) { init(p_oss); } +/** + * @brief Initializes interface (public I2C) + * @param p_i2c instance of I2C class + * @param p_oss parameter of OSS + */ BMP085::BMP085 (I2C& p_i2c, BMP085_oss p_oss) : i2c(p_i2c) { init(p_oss); } +/** + * @brief Get temperature + * @return temperature (`C) + */ float BMP085::get_temperature() { return temperature; } +/** + * @brief Get pressure + * @return pressure (hPa) + */ float BMP085::get_pressure() { return pressure; } +/** + * @brief Update results + */ void BMP085::update () { long t, p, ut, up, x1, x2, x3, b3, b5, b6; unsigned long b4, b7;
--- a/BMP085.h Thu Oct 14 11:28:45 2010 +0000 +++ b/BMP085.h Mon Dec 13 14:02:24 2010 +0000 @@ -4,18 +4,30 @@ * Released under the MIT License: http://mbed.org/license/mit */ +/** @file BMP085.h + * @brief mbed library to use a Bosch Sensortec BMP085 sensor + * barometric pressure sensor BMP085 (Bosch Sensortec) + * interface: I2C digital + */ + #ifndef BMP085_H #define BMP085_H #include "mbed.h" +/** + * @brief over sampling setting + */ enum BMP085_oss { - BMP085_oss1 = 0, - BMP085_oss2 = 1, - BMP085_oss4 = 2, - BMP085_oss8 = 3 + BMP085_oss1 = 0, ///< ultra low power (1 time) + BMP085_oss2 = 1, ///< standard (2 times) + BMP085_oss4 = 2, ///< high resolution (4 times) + BMP085_oss8 = 3 ///< ultra high resolution (8 times) }; +/** + * @brief BMP085 class + */ class BMP085 : public Base { public: BMP085(PinName p_sda, PinName p_scl, BMP085_oss p_oss = BMP085_oss1);