wakaranai

Committer:
Calcium
Date:
Tue Nov 01 05:58:46 2016 +0000
Revision:
0:a399ad3155fb
fuck you

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Calcium 0:a399ad3155fb 1 /**
Calcium 0:a399ad3155fb 2 * BME280 Combined humidity and pressure sensor library
Calcium 0:a399ad3155fb 3 *
Calcium 0:a399ad3155fb 4 * @author Toyomasa Watarai
Calcium 0:a399ad3155fb 5 * @version 1.0
Calcium 0:a399ad3155fb 6 * @date 06-April-2015
Calcium 0:a399ad3155fb 7 *
Calcium 0:a399ad3155fb 8 * Library for "BME280 temperature, humidity and pressure sensor module" from Switch Science
Calcium 0:a399ad3155fb 9 * https://www.switch-science.com/catalog/2236/
Calcium 0:a399ad3155fb 10 *
Calcium 0:a399ad3155fb 11 * For more information about the BME280:
Calcium 0:a399ad3155fb 12 * http://ae-bst.resource.bosch.com/media/products/dokumente/bme280/BST-BME280_DS001-10.pdf
Calcium 0:a399ad3155fb 13 */
Calcium 0:a399ad3155fb 14
Calcium 0:a399ad3155fb 15 #ifndef MBED_BME280_H
Calcium 0:a399ad3155fb 16 #define MBED_BME280_H
Calcium 0:a399ad3155fb 17
Calcium 0:a399ad3155fb 18 #include "mbed.h"
Calcium 0:a399ad3155fb 19
Calcium 0:a399ad3155fb 20 //#define _DEBUG
Calcium 0:a399ad3155fb 21 #define DEFAULT_SLAVE_ADDRESS (0x76 << 1)
Calcium 0:a399ad3155fb 22
Calcium 0:a399ad3155fb 23 #ifdef _DEBUG
Calcium 0:a399ad3155fb 24 extern Serial pc;
Calcium 0:a399ad3155fb 25 #define DEBUG_PRINT(...) pc.printf(__VA_ARGS__)
Calcium 0:a399ad3155fb 26 #else
Calcium 0:a399ad3155fb 27 #define DEBUG_PRINT(...)
Calcium 0:a399ad3155fb 28 #endif
Calcium 0:a399ad3155fb 29
Calcium 0:a399ad3155fb 30
Calcium 0:a399ad3155fb 31 /** BME280 class
Calcium 0:a399ad3155fb 32 *
Calcium 0:a399ad3155fb 33 * BME280: A library to correct environmental data using Boshe BME280 device
Calcium 0:a399ad3155fb 34 *
Calcium 0:a399ad3155fb 35 * BME280 is an environmental sensor
Calcium 0:a399ad3155fb 36 * @endcode
Calcium 0:a399ad3155fb 37 */
Calcium 0:a399ad3155fb 38
Calcium 0:a399ad3155fb 39 class BME280
Calcium 0:a399ad3155fb 40 {
Calcium 0:a399ad3155fb 41 public:
Calcium 0:a399ad3155fb 42
Calcium 0:a399ad3155fb 43 /** Create a BME280 instance
Calcium 0:a399ad3155fb 44 * which is connected to specified I2C pins with specified address
Calcium 0:a399ad3155fb 45 *
Calcium 0:a399ad3155fb 46 * @param sda I2C-bus SDA pin
Calcium 0:a399ad3155fb 47 * @param scl I2C-bus SCL pin
Calcium 0:a399ad3155fb 48 * @param slave_adr (option) I2C-bus address (default: 0x76)
Calcium 0:a399ad3155fb 49 */
Calcium 0:a399ad3155fb 50 BME280(PinName sda, PinName sck, char slave_adr = DEFAULT_SLAVE_ADDRESS);
Calcium 0:a399ad3155fb 51
Calcium 0:a399ad3155fb 52 /** Create a BME280 instance
Calcium 0:a399ad3155fb 53 * which is connected to specified I2C pins with specified address
Calcium 0:a399ad3155fb 54 *
Calcium 0:a399ad3155fb 55 * @param i2c_obj I2C object (instance)
Calcium 0:a399ad3155fb 56 * @param slave_adr (option) I2C-bus address (default: 0x76)
Calcium 0:a399ad3155fb 57 */
Calcium 0:a399ad3155fb 58 BME280(I2C &i2c_obj, char slave_adr = DEFAULT_SLAVE_ADDRESS);
Calcium 0:a399ad3155fb 59
Calcium 0:a399ad3155fb 60 /** Destructor of BME280
Calcium 0:a399ad3155fb 61 */
Calcium 0:a399ad3155fb 62 virtual ~BME280();
Calcium 0:a399ad3155fb 63
Calcium 0:a399ad3155fb 64 /** Initializa BME280 sensor
Calcium 0:a399ad3155fb 65 *
Calcium 0:a399ad3155fb 66 * Configure sensor setting and read parameters for calibration
Calcium 0:a399ad3155fb 67 *
Calcium 0:a399ad3155fb 68 */
Calcium 0:a399ad3155fb 69 void initialize(void);
Calcium 0:a399ad3155fb 70
Calcium 0:a399ad3155fb 71 /** Read the current temperature value (degree Celsius) from BME280 sensor
Calcium 0:a399ad3155fb 72 *
Calcium 0:a399ad3155fb 73 */
Calcium 0:a399ad3155fb 74 float getTemperature(void);
Calcium 0:a399ad3155fb 75
Calcium 0:a399ad3155fb 76 /** Read the current pressure value (hectopascal)from BME280 sensor
Calcium 0:a399ad3155fb 77 *
Calcium 0:a399ad3155fb 78 */
Calcium 0:a399ad3155fb 79 float getPressure(void);
Calcium 0:a399ad3155fb 80
Calcium 0:a399ad3155fb 81 /** Read the current humidity value (humidity %) from BME280 sensor
Calcium 0:a399ad3155fb 82 *
Calcium 0:a399ad3155fb 83 */
Calcium 0:a399ad3155fb 84 float getHumidity(void);
Calcium 0:a399ad3155fb 85
Calcium 0:a399ad3155fb 86 private:
Calcium 0:a399ad3155fb 87
Calcium 0:a399ad3155fb 88 I2C *i2c_p;
Calcium 0:a399ad3155fb 89 I2C &i2c;
Calcium 0:a399ad3155fb 90 char address;
Calcium 0:a399ad3155fb 91 uint16_t dig_T1;
Calcium 0:a399ad3155fb 92 int16_t dig_T2, dig_T3;
Calcium 0:a399ad3155fb 93 uint16_t dig_P1;
Calcium 0:a399ad3155fb 94 int16_t dig_P2, dig_P3, dig_P4, dig_P5, dig_P6, dig_P7, dig_P8, dig_P9;
Calcium 0:a399ad3155fb 95 uint16_t dig_H1, dig_H3;
Calcium 0:a399ad3155fb 96 int16_t dig_H2, dig_H4, dig_H5, dig_H6;
Calcium 0:a399ad3155fb 97 int32_t t_fine;
Calcium 0:a399ad3155fb 98
Calcium 0:a399ad3155fb 99 };
Calcium 0:a399ad3155fb 100
Calcium 0:a399ad3155fb 101 #endif // MBED_BME280_H