Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
BMP280.h@2:1578ecfa9377, 2020-04-07 (annotated)
- Committer:
- kabukistarship
- Date:
- Tue Apr 07 13:10:45 2020 +0000
- Revision:
- 2:1578ecfa9377
- Child:
- 3:d15b6579b5ae
Almost finished with the change from Flowerbed to a ventilator.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kabukistarship | 2:1578ecfa9377 | 1 | /** |
kabukistarship | 2:1578ecfa9377 | 2 | * BME280 Combined humidity and pressure sensor library |
kabukistarship | 2:1578ecfa9377 | 3 | * |
kabukistarship | 2:1578ecfa9377 | 4 | * @author Toyomasa Watarai |
kabukistarship | 2:1578ecfa9377 | 5 | * @version 1.0 |
kabukistarship | 2:1578ecfa9377 | 6 | * @date 06-April-2015 |
kabukistarship | 2:1578ecfa9377 | 7 | * |
kabukistarship | 2:1578ecfa9377 | 8 | * Library for "BME280 temperature, humidity and pressure sensor module" from Switch Science |
kabukistarship | 2:1578ecfa9377 | 9 | * https://www.switch-science.com/catalog/2236/ |
kabukistarship | 2:1578ecfa9377 | 10 | * |
kabukistarship | 2:1578ecfa9377 | 11 | * For more information about the BME280: |
kabukistarship | 2:1578ecfa9377 | 12 | * http://ae-bst.resource.bosch.com/media/products/dokumente/bme280/BST-BME280_DS001-10.pdf |
kabukistarship | 2:1578ecfa9377 | 13 | */ |
kabukistarship | 2:1578ecfa9377 | 14 | |
kabukistarship | 2:1578ecfa9377 | 15 | #ifndef MbedBME280Decl |
kabukistarship | 2:1578ecfa9377 | 16 | #define MbedBME280Decl |
kabukistarship | 2:1578ecfa9377 | 17 | |
kabukistarship | 2:1578ecfa9377 | 18 | #include "mbed.h" |
kabukistarship | 2:1578ecfa9377 | 19 | |
kabukistarship | 2:1578ecfa9377 | 20 | //#define _DEBUG |
kabukistarship | 2:1578ecfa9377 | 21 | // default address with SDO High 0x77 |
kabukistarship | 2:1578ecfa9377 | 22 | // address with SDO LOW 0x76 |
kabukistarship | 2:1578ecfa9377 | 23 | #define SlaveAddressDefault (0x77) |
kabukistarship | 2:1578ecfa9377 | 24 | |
kabukistarship | 2:1578ecfa9377 | 25 | |
kabukistarship | 2:1578ecfa9377 | 26 | /** A BME280 environmental sensor |
kabukistarship | 2:1578ecfa9377 | 27 | A library to read environmental temperature and pressure using Bosch BME280. */ |
kabukistarship | 2:1578ecfa9377 | 28 | |
kabukistarship | 2:1578ecfa9377 | 29 | class BMP280 { |
kabukistarship | 2:1578ecfa9377 | 30 | public: |
kabukistarship | 2:1578ecfa9377 | 31 | |
kabukistarship | 2:1578ecfa9377 | 32 | enum { |
kabukistarship | 2:1578ecfa9377 | 33 | SlaveAddress = SlaveAddressDefault //< The default I2C slave address. |
kabukistarship | 2:1578ecfa9377 | 34 | }; |
kabukistarship | 2:1578ecfa9377 | 35 | |
kabukistarship | 2:1578ecfa9377 | 36 | /* Creates a BME280 instance connected to specified I2C pins and address. |
kabukistarship | 2:1578ecfa9377 | 37 | @param SDA I2C-bus SDA pin |
kabukistarship | 2:1578ecfa9377 | 38 | @param SCL I2C-bus SCL pin |
kabukistarship | 2:1578ecfa9377 | 39 | @param SlaveAddress (option) I2C-bus address (default: 0x77) */ |
kabukistarship | 2:1578ecfa9377 | 40 | BMP280(PinName SDA, PinName SCK, char SlaveAddress = SlaveAddressDefault); |
kabukistarship | 2:1578ecfa9377 | 41 | |
kabukistarship | 2:1578ecfa9377 | 42 | /* Creates a BME280 instance connected to the I2C pins and address. |
kabukistarship | 2:1578ecfa9377 | 43 | * |
kabukistarship | 2:1578ecfa9377 | 44 | * @param i2c_obj I2C object (instance) |
kabukistarship | 2:1578ecfa9377 | 45 | * @param SlaveAddress (option) I2C-bus address (default: 0x77) |
kabukistarship | 2:1578ecfa9377 | 46 | */ |
kabukistarship | 2:1578ecfa9377 | 47 | BMP280(I2C &i2c_obj, char SlaveAddress = SlaveAddressDefault); |
kabukistarship | 2:1578ecfa9377 | 48 | |
kabukistarship | 2:1578ecfa9377 | 49 | ~BMP280(); |
kabukistarship | 2:1578ecfa9377 | 50 | |
kabukistarship | 2:1578ecfa9377 | 51 | /* Initializa BME280 sensor |
kabukistarship | 2:1578ecfa9377 | 52 | Configure sensor setting and read parameters for calibration */ |
kabukistarship | 2:1578ecfa9377 | 53 | void Initialize(void); |
kabukistarship | 2:1578ecfa9377 | 54 | |
kabukistarship | 2:1578ecfa9377 | 55 | /* Read the current temperature value (degree Celsius) from BME280 sensor */ |
kabukistarship | 2:1578ecfa9377 | 56 | float Temperature(void); |
kabukistarship | 2:1578ecfa9377 | 57 | |
kabukistarship | 2:1578ecfa9377 | 58 | /* Read the current pressure value (hectopascal)from BME280 sensor */ |
kabukistarship | 2:1578ecfa9377 | 59 | float Pressure(void); |
kabukistarship | 2:1578ecfa9377 | 60 | |
kabukistarship | 2:1578ecfa9377 | 61 | /* Read the current humidity value (humidity %) from BME280 sensor */ |
kabukistarship | 2:1578ecfa9377 | 62 | //float HumidityGet(void); |
kabukistarship | 2:1578ecfa9377 | 63 | |
kabukistarship | 2:1578ecfa9377 | 64 | private: |
kabukistarship | 2:1578ecfa9377 | 65 | |
kabukistarship | 2:1578ecfa9377 | 66 | I2C *i2c_p; |
kabukistarship | 2:1578ecfa9377 | 67 | I2C &i2c; |
kabukistarship | 2:1578ecfa9377 | 68 | char address; |
kabukistarship | 2:1578ecfa9377 | 69 | uint16_t dig_T1; |
kabukistarship | 2:1578ecfa9377 | 70 | int16_t dig_T2, dig_T3; |
kabukistarship | 2:1578ecfa9377 | 71 | uint16_t dig_P1; |
kabukistarship | 2:1578ecfa9377 | 72 | int16_t dig_P2, dig_P3, dig_P4, dig_P5, dig_P6, dig_P7, dig_P8, dig_P9; |
kabukistarship | 2:1578ecfa9377 | 73 | uint16_t dig_H1, dig_H3; |
kabukistarship | 2:1578ecfa9377 | 74 | int16_t dig_H2, dig_H4, dig_H5, dig_H6; |
kabukistarship | 2:1578ecfa9377 | 75 | int32_t t_fine; |
kabukistarship | 2:1578ecfa9377 | 76 | |
kabukistarship | 2:1578ecfa9377 | 77 | }; |
kabukistarship | 2:1578ecfa9377 | 78 | |
kabukistarship | 2:1578ecfa9377 | 79 | #undef SlaveAddressDefault |
kabukistarship | 2:1578ecfa9377 | 80 | #endif //< MbedBME280Decl |