BME280にアクセスするためのライブラリ
BME280.h
- Committer:
- j_rocket_boy
- Date:
- 2018-07-10
- Revision:
- 0:95f2b96cdc7f
- Child:
- 1:0dbf59c6e564
File content as of revision 0:95f2b96cdc7f:
#ifndef BME280_LIB_H #define BME280_LIB #include "mbed.h" #include "i2c_general_io.h" //データシートより,補正関数用 typedef long signed int BME280_S32_t; typedef long signed int BME280_U32_t; typedef long long signed int BME280_S64_t; class BME280{ private: #include "BME280_reg.h" //レジスタ関連の定義 public: /** @brief Create a new i2c sensor. @param sda SDA pin name (Defined in PinName.h) @param sck SCK pin name (Defined in PinName.h) */ BME280(PinName sda, PinName scl); /** @brief Create a new i2c sensor. @param &i2c_obj i2c name */ BME280(GEN_I2C &i2c_obj); /** @brief Disable the i2c sensor. @param No parameters. */ virtual ~BME280(); const char hum_reg_value = HUM_OVER_SAMPL1; const char meas_reg_value = TEMP_OVER_SAMPL1 | PRESS_OVER_SAMPL1 | SLEEP_MODE; const char config_reg_value = IIR_OFF; float temp; double press; float hum; void read_sensor(void); bool data_is_ready(void); void set_sleep_mode(void); void set_force_mode(void); void set_normal_mode(void); private: GEN_I2C *i2c_p; GEN_I2C &sensor; BME280_S32_t t_fine; BME280_S32_t BME280_compensate_T_int32(BME280_S32_t adc_T); BME280_U32_t BME280_compensate_P_int64(BME280_S32_t adc_P); BME280_U32_t BME280_compensate_H_int32(BME280_S32_t adc_H); void init(void); //データシートより,補正定数 unsigned short dig_T1; signed short dig_T2; signed short dig_T3; unsigned short dig_P1; signed short dig_P2; signed short dig_P3; signed short dig_P4; signed short dig_P5; signed short dig_P6; signed short dig_P7; signed short dig_P8; signed short dig_P9; unsigned char dig_H1; signed short dig_H2; unsigned char dig_H3; signed short dig_H4; signed short dig_H5; signed char dig_H6; }; #endif