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@9:256989faeb3b, 2020-04-10 (annotated)
- Committer:
- kabukistarship
- Date:
- Fri Apr 10 11:56:58 2020 +0000
- Revision:
- 9:256989faeb3b
- Parent:
- 6:b2672da545f1
Change.GHVentilator.Firmware.Switch to Arduino and mbed compatible format. #74
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 | 9:256989faeb3b | 17 | |
kabukistarship | 3:d15b6579b5ae | 18 | #include <mbedBug.h> |
kabukistarship | 9:256989faeb3b | 19 | |
kabukistarship | 2:1578ecfa9377 | 20 | //#define _DEBUG |
kabukistarship | 9:256989faeb3b | 21 | // default BusAddress with SDO High 0x77 |
kabukistarship | 9:256989faeb3b | 22 | // BusAddress with SDO LOW 0x76 |
kabukistarship | 4:de69851cf725 | 23 | #define BMP280SlaveAddressDefault (0x77) |
kabukistarship | 9:256989faeb3b | 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 | 9:256989faeb3b | 33 | // The default I2C slave BusAddress. |
kabukistarship | 4:de69851cf725 | 34 | SlaveAddress = BMP280SlaveAddressDefault |
kabukistarship | 2:1578ecfa9377 | 35 | }; |
kabukistarship | 9:256989faeb3b | 36 | |
kabukistarship | 9:256989faeb3b | 37 | /* Creates a BME280 instance connected to the I2C pins and BusAddress. |
kabukistarship | 2:1578ecfa9377 | 38 | * |
kabukistarship | 2:1578ecfa9377 | 39 | * @param i2c_obj I2C object (instance) |
kabukistarship | 9:256989faeb3b | 40 | * @param SlaveAddress (option) I2C-bus BusAddress (default: 0x77) |
kabukistarship | 2:1578ecfa9377 | 41 | */ |
kabukistarship | 6:b2672da545f1 | 42 | BMP280(I2C &Bus, char SlaveAddress = BMP280SlaveAddressDefault); |
kabukistarship | 9:256989faeb3b | 43 | |
kabukistarship | 2:1578ecfa9377 | 44 | /* Initializa BME280 sensor |
kabukistarship | 2:1578ecfa9377 | 45 | Configure sensor setting and read parameters for calibration */ |
kabukistarship | 4:de69851cf725 | 46 | void Initialize(); |
kabukistarship | 9:256989faeb3b | 47 | |
kabukistarship | 2:1578ecfa9377 | 48 | /* Read the current temperature value (degree Celsius) from BME280 sensor */ |
kabukistarship | 9:256989faeb3b | 49 | int32_t Temperature(); |
kabukistarship | 9:256989faeb3b | 50 | |
kabukistarship | 2:1578ecfa9377 | 51 | /* Read the current pressure value (hectopascal)from BME280 sensor */ |
kabukistarship | 9:256989faeb3b | 52 | uint32_t Pressure(); |
kabukistarship | 9:256989faeb3b | 53 | |
kabukistarship | 2:1578ecfa9377 | 54 | /* Read the current humidity value (humidity %) from BME280 sensor */ |
kabukistarship | 4:de69851cf725 | 55 | //float HumidityGet(); |
kabukistarship | 9:256989faeb3b | 56 | |
kabukistarship | 2:1578ecfa9377 | 57 | private: |
kabukistarship | 9:256989faeb3b | 58 | |
kabukistarship | 2:1578ecfa9377 | 59 | I2C *i2c_p; |
kabukistarship | 9:256989faeb3b | 60 | I2C &Bus; |
kabukistarship | 9:256989faeb3b | 61 | char BusAddress; |
kabukistarship | 2:1578ecfa9377 | 62 | uint16_t dig_T1; |
kabukistarship | 2:1578ecfa9377 | 63 | int16_t dig_T2, dig_T3; |
kabukistarship | 2:1578ecfa9377 | 64 | uint16_t dig_P1; |
kabukistarship | 2:1578ecfa9377 | 65 | int16_t dig_P2, dig_P3, dig_P4, dig_P5, dig_P6, dig_P7, dig_P8, dig_P9; |
kabukistarship | 2:1578ecfa9377 | 66 | uint16_t dig_H1, dig_H3; |
kabukistarship | 2:1578ecfa9377 | 67 | int16_t dig_H2, dig_H4, dig_H5, dig_H6; |
kabukistarship | 2:1578ecfa9377 | 68 | int32_t t_fine; |
kabukistarship | 9:256989faeb3b | 69 | |
kabukistarship | 2:1578ecfa9377 | 70 | }; |
kabukistarship | 9:256989faeb3b | 71 | |
kabukistarship | 2:1578ecfa9377 | 72 | #undef SlaveAddressDefault |
kabukistarship | 4:de69851cf725 | 73 | #endif |
kabukistarship | 9:256989faeb3b | 74 |