BME280にアクセスするためのライブラリ

Committer:
j_rocket_boy
Date:
Tue Jul 10 07:59:58 2018 +0000
Revision:
2:42725d11023b
Parent:
1:0dbf59c6e564
Child:
3:df1107ddf502
?????????????????????????#define??????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
j_rocket_boy 0:95f2b96cdc7f 1 #ifndef BME280_LIB_H
j_rocket_boy 0:95f2b96cdc7f 2 #define BME280_LIB
j_rocket_boy 0:95f2b96cdc7f 3
j_rocket_boy 0:95f2b96cdc7f 4 #include "mbed.h"
j_rocket_boy 0:95f2b96cdc7f 5 #include "i2c_general_io.h"
j_rocket_boy 0:95f2b96cdc7f 6
j_rocket_boy 2:42725d11023b 7 #include "BME280_reg.h" //レジスタ関連の定義
j_rocket_boy 2:42725d11023b 8
j_rocket_boy 0:95f2b96cdc7f 9 class BME280{
j_rocket_boy 0:95f2b96cdc7f 10
j_rocket_boy 0:95f2b96cdc7f 11 public:
j_rocket_boy 0:95f2b96cdc7f 12 /**
j_rocket_boy 0:95f2b96cdc7f 13 @brief Create a new i2c sensor.
j_rocket_boy 0:95f2b96cdc7f 14 @param sda SDA pin name (Defined in PinName.h)
j_rocket_boy 0:95f2b96cdc7f 15 @param sck SCK pin name (Defined in PinName.h)
j_rocket_boy 0:95f2b96cdc7f 16 */
j_rocket_boy 0:95f2b96cdc7f 17 BME280(PinName sda, PinName scl);
j_rocket_boy 0:95f2b96cdc7f 18 /**
j_rocket_boy 0:95f2b96cdc7f 19 @brief Create a new i2c sensor.
j_rocket_boy 0:95f2b96cdc7f 20 @param &i2c_obj i2c name
j_rocket_boy 0:95f2b96cdc7f 21 */
j_rocket_boy 0:95f2b96cdc7f 22 BME280(GEN_I2C &i2c_obj);
j_rocket_boy 0:95f2b96cdc7f 23
j_rocket_boy 0:95f2b96cdc7f 24 /**
j_rocket_boy 0:95f2b96cdc7f 25 @brief Disable the i2c sensor.
j_rocket_boy 0:95f2b96cdc7f 26 @param No parameters.
j_rocket_boy 0:95f2b96cdc7f 27 */
j_rocket_boy 0:95f2b96cdc7f 28 virtual ~BME280();
j_rocket_boy 0:95f2b96cdc7f 29
j_rocket_boy 2:42725d11023b 30 const char hum_reg_value = BMP280_HUM_OVER_SAMPL1;
j_rocket_boy 2:42725d11023b 31 const char meas_reg_value = BMP280_TEMP_OVER_SAMPL1 | BMP280_PRESS_OVER_SAMPL1 | BMP280_SLEEP_MODE;
j_rocket_boy 2:42725d11023b 32 const char config_reg_value = BMP280_IIR_OFF;
j_rocket_boy 0:95f2b96cdc7f 33
j_rocket_boy 0:95f2b96cdc7f 34 float temp;
j_rocket_boy 0:95f2b96cdc7f 35 double press;
j_rocket_boy 0:95f2b96cdc7f 36 float hum;
j_rocket_boy 0:95f2b96cdc7f 37
j_rocket_boy 0:95f2b96cdc7f 38 void read_sensor(void);
j_rocket_boy 0:95f2b96cdc7f 39 bool data_is_ready(void);
j_rocket_boy 0:95f2b96cdc7f 40 void set_sleep_mode(void);
j_rocket_boy 0:95f2b96cdc7f 41 void set_force_mode(void);
j_rocket_boy 0:95f2b96cdc7f 42 void set_normal_mode(void);
j_rocket_boy 0:95f2b96cdc7f 43
j_rocket_boy 0:95f2b96cdc7f 44 private:
j_rocket_boy 0:95f2b96cdc7f 45
j_rocket_boy 0:95f2b96cdc7f 46 GEN_I2C *i2c_p;
j_rocket_boy 0:95f2b96cdc7f 47 GEN_I2C &sensor;
j_rocket_boy 0:95f2b96cdc7f 48
j_rocket_boy 1:0dbf59c6e564 49 long signed int t_fine;
j_rocket_boy 1:0dbf59c6e564 50 long signed int BME280_compensate_T_int32(long signed int adc_T);
j_rocket_boy 1:0dbf59c6e564 51 long unsigned int BME280_compensate_P_int64(long signed int adc_P);
j_rocket_boy 1:0dbf59c6e564 52 long unsigned int BME280_compensate_H_int32(long signed int adc_H);
j_rocket_boy 0:95f2b96cdc7f 53
j_rocket_boy 0:95f2b96cdc7f 54 void init(void);
j_rocket_boy 0:95f2b96cdc7f 55
j_rocket_boy 0:95f2b96cdc7f 56 //データシートより,補正定数
j_rocket_boy 0:95f2b96cdc7f 57 unsigned short dig_T1;
j_rocket_boy 0:95f2b96cdc7f 58 signed short dig_T2;
j_rocket_boy 0:95f2b96cdc7f 59 signed short dig_T3;
j_rocket_boy 0:95f2b96cdc7f 60
j_rocket_boy 0:95f2b96cdc7f 61 unsigned short dig_P1;
j_rocket_boy 0:95f2b96cdc7f 62 signed short dig_P2;
j_rocket_boy 0:95f2b96cdc7f 63 signed short dig_P3;
j_rocket_boy 0:95f2b96cdc7f 64 signed short dig_P4;
j_rocket_boy 0:95f2b96cdc7f 65 signed short dig_P5;
j_rocket_boy 0:95f2b96cdc7f 66 signed short dig_P6;
j_rocket_boy 0:95f2b96cdc7f 67 signed short dig_P7;
j_rocket_boy 0:95f2b96cdc7f 68 signed short dig_P8;
j_rocket_boy 0:95f2b96cdc7f 69 signed short dig_P9;
j_rocket_boy 0:95f2b96cdc7f 70
j_rocket_boy 0:95f2b96cdc7f 71 unsigned char dig_H1;
j_rocket_boy 0:95f2b96cdc7f 72 signed short dig_H2;
j_rocket_boy 0:95f2b96cdc7f 73 unsigned char dig_H3;
j_rocket_boy 0:95f2b96cdc7f 74 signed short dig_H4;
j_rocket_boy 0:95f2b96cdc7f 75 signed short dig_H5;
j_rocket_boy 0:95f2b96cdc7f 76 signed char dig_H6;
j_rocket_boy 0:95f2b96cdc7f 77
j_rocket_boy 0:95f2b96cdc7f 78 };
j_rocket_boy 0:95f2b96cdc7f 79
j_rocket_boy 0:95f2b96cdc7f 80 #endif