BME280
v1.0.4
Arduino Library for Bosch BME280 Temperature, Humidity, and Pressure
|
Class definition header for the Bosch BME280 temperature / humidity / pressure sensor. The sensor is described at https://www.bosch-sensortec.com/bst/products/all_products/bme280 and the datasheet is available from Bosch at https://ae-bst.resource.bosch.com/media/_tech/media/datasheets/BST-BME280_DS001-11.pdf
The BME280 can use either SPI or I2C for communications. The initial library version 1.0.0 defines only I2C while subsequent versions also allow SPI communications
The most recent version of the library is available at https://github.com/Zanduino/BME280 and extensive documentation of the library as well as example programs are described in the project's wiki pages located at https://github.com/Zanduino/BME280/wiki.
The BME280 is a very small package so it is unlikely for an Arduino hobbyist to play around with directly, the hardware used to develop this library is a breakout board from AdaFruit which is well-documented at https://learn.adafruit.com/adafruit-bme280-humidity-barometric-pressure-temperature-sensor-breakout.
This library is built with the standard "Doxyfile", which is located at https://github.com/Zanduino/Common/blob/main/Doxygen. As described on that page, there are only 5 environment variables used, and these are set in the project's actions file, located at https://github.com/Zanduino/BME280/blob/master/.github/workflows/ci-doxygen.yml Edit this file and set the 5 variables - PRETTYNAME, PROJECT_NAME, PROJECT_NUMBER, PROJECT_BRIEF and PROJECT_LOGO so that these values are used in the doxygen documentation. The local copy of the doxyfile should be in the project's root directory in order to do local doxygen testing, but the file is ignored on upload to GitHub.
Part of the GitHub actions for CI is running every source file through "clang-format" to ensure that coding formatting is done the same for all files. The configuration file ".clang-format" is located at https://github.com/Zanduino/Common/tree/main/clang-format and this is used for CI tests when pushing to GitHub. The local file, if present in the root directory, is ignored when committing and uploading.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
Written by Arnd Arnd@ at Zand uino. Comhttps://www.github.com/SV-Zanshin
Version | Date | Developer | Comments |
---|---|---|---|
1.0.5 | 2019-01-31 | wolfbert | Issue #9 - Corrected IIR mask bits |
1.0.3 | 2019-01-31 | SV-Zanshin | Issue #7 - Corrected documentation to Doxygen style |
1.0.2 | 2018-07-22 | SV-Zanshin | Corrected I2C Datatypes |
1.0.2 | 2018-06-30 | SV-Zanshin | Issue #6 - Allow faster I2C bus speeds |
1.0.2a | 2017-08-13 | SV-Zanshin | Removed extraneous I2C wait loop according to bug report #2 |
1.0.2 | 2017-08-04 | SV-Zanshin | Combined iirFilter() overloaded functions |
1.0.1 | 2017-08-03 | SV-Zanshin | All read/writes now use getData() and putData() templates in this header. Changed begin() method for I2C to search for first instance of BME280. Added hardware and software SPI functionality and tested it |
1.0.0 | 2017-08-03 | SV-Zanshin | Initial version with just I2C connectivity |
1.0.0b | 2017-07-31 | SV-Zanshin | Continued development |
1.0.0a | 2017-07-30 | SV-Zanshin | Started coding |