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@4:de69851cf725, 2020-04-08 (annotated)
- Committer:
- kabukistarship
- Date:
- Wed Apr 08 11:28:42 2020 +0000
- Revision:
- 4:de69851cf725
- Parent:
- 3:d15b6579b5ae
- Child:
- 6:b2672da545f1
Misc fixes.
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 | 4:de69851cf725 | 14 | #pragma once |
kabukistarship | 4:de69851cf725 | 15 | #ifndef BME280MbedDecl |
kabukistarship | 4:de69851cf725 | 16 | #define BME280MbedDecl |
kabukistarship | 2:1578ecfa9377 | 17 | |
kabukistarship | 3:d15b6579b5ae | 18 | #include <mbedBug.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 | 4:de69851cf725 | 23 | #define BMP280SlaveAddressDefault (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 | 4:de69851cf725 | 33 | // The default I2C slave address. |
kabukistarship | 4:de69851cf725 | 34 | SlaveAddress = BMP280SlaveAddressDefault |
kabukistarship | 2:1578ecfa9377 | 35 | }; |
kabukistarship | 2:1578ecfa9377 | 36 | |
kabukistarship | 2:1578ecfa9377 | 37 | /* Creates a BME280 instance connected to specified I2C pins and address. |
kabukistarship | 2:1578ecfa9377 | 38 | @param SDA I2C-bus SDA pin |
kabukistarship | 2:1578ecfa9377 | 39 | @param SCL I2C-bus SCL pin |
kabukistarship | 2:1578ecfa9377 | 40 | @param SlaveAddress (option) I2C-bus address (default: 0x77) */ |
kabukistarship | 4:de69851cf725 | 41 | BMP280(PinName SDA, PinName SCK, |
kabukistarship | 4:de69851cf725 | 42 | char SlaveAddress = BMP280SlaveAddressDefault); |
kabukistarship | 2:1578ecfa9377 | 43 | |
kabukistarship | 2:1578ecfa9377 | 44 | /* Creates a BME280 instance connected to the I2C pins and address. |
kabukistarship | 2:1578ecfa9377 | 45 | * |
kabukistarship | 2:1578ecfa9377 | 46 | * @param i2c_obj I2C object (instance) |
kabukistarship | 2:1578ecfa9377 | 47 | * @param SlaveAddress (option) I2C-bus address (default: 0x77) |
kabukistarship | 2:1578ecfa9377 | 48 | */ |
kabukistarship | 4:de69851cf725 | 49 | BMP280(I2C &i2c_obj, char SlaveAddress = BMP280SlaveAddressDefault); |
kabukistarship | 2:1578ecfa9377 | 50 | |
kabukistarship | 2:1578ecfa9377 | 51 | ~BMP280(); |
kabukistarship | 2:1578ecfa9377 | 52 | |
kabukistarship | 2:1578ecfa9377 | 53 | /* Initializa BME280 sensor |
kabukistarship | 2:1578ecfa9377 | 54 | Configure sensor setting and read parameters for calibration */ |
kabukistarship | 4:de69851cf725 | 55 | void Initialize(); |
kabukistarship | 2:1578ecfa9377 | 56 | |
kabukistarship | 2:1578ecfa9377 | 57 | /* Read the current temperature value (degree Celsius) from BME280 sensor */ |
kabukistarship | 4:de69851cf725 | 58 | float Temperature(); |
kabukistarship | 2:1578ecfa9377 | 59 | |
kabukistarship | 2:1578ecfa9377 | 60 | /* Read the current pressure value (hectopascal)from BME280 sensor */ |
kabukistarship | 4:de69851cf725 | 61 | float Pressure(); |
kabukistarship | 2:1578ecfa9377 | 62 | |
kabukistarship | 2:1578ecfa9377 | 63 | /* Read the current humidity value (humidity %) from BME280 sensor */ |
kabukistarship | 4:de69851cf725 | 64 | //float HumidityGet(); |
kabukistarship | 2:1578ecfa9377 | 65 | |
kabukistarship | 2:1578ecfa9377 | 66 | private: |
kabukistarship | 2:1578ecfa9377 | 67 | |
kabukistarship | 2:1578ecfa9377 | 68 | I2C *i2c_p; |
kabukistarship | 2:1578ecfa9377 | 69 | I2C &i2c; |
kabukistarship | 2:1578ecfa9377 | 70 | char address; |
kabukistarship | 2:1578ecfa9377 | 71 | uint16_t dig_T1; |
kabukistarship | 2:1578ecfa9377 | 72 | int16_t dig_T2, dig_T3; |
kabukistarship | 2:1578ecfa9377 | 73 | uint16_t dig_P1; |
kabukistarship | 2:1578ecfa9377 | 74 | int16_t dig_P2, dig_P3, dig_P4, dig_P5, dig_P6, dig_P7, dig_P8, dig_P9; |
kabukistarship | 2:1578ecfa9377 | 75 | uint16_t dig_H1, dig_H3; |
kabukistarship | 2:1578ecfa9377 | 76 | int16_t dig_H2, dig_H4, dig_H5, dig_H6; |
kabukistarship | 2:1578ecfa9377 | 77 | int32_t t_fine; |
kabukistarship | 2:1578ecfa9377 | 78 | |
kabukistarship | 2:1578ecfa9377 | 79 | }; |
kabukistarship | 2:1578ecfa9377 | 80 | |
kabukistarship | 2:1578ecfa9377 | 81 | #undef SlaveAddressDefault |
kabukistarship | 4:de69851cf725 | 82 | #endif |