BME280にアクセスするためのライブラリ
BME280.h@0:95f2b96cdc7f, 2018-07-10 (annotated)
- Committer:
- j_rocket_boy
- Date:
- Tue Jul 10 07:38:08 2018 +0000
- Revision:
- 0:95f2b96cdc7f
- Child:
- 1:0dbf59c6e564
???????; ????????; ??????????
Who changed what in which revision?
User | Revision | Line number | New 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 | 0:95f2b96cdc7f | 7 | typedef long signed int BME280_S32_t; |
j_rocket_boy | 0:95f2b96cdc7f | 8 | typedef long signed int BME280_U32_t; |
j_rocket_boy | 0:95f2b96cdc7f | 9 | typedef long long signed int BME280_S64_t; |
j_rocket_boy | 0:95f2b96cdc7f | 10 | |
j_rocket_boy | 0:95f2b96cdc7f | 11 | class BME280{ |
j_rocket_boy | 0:95f2b96cdc7f | 12 | |
j_rocket_boy | 0:95f2b96cdc7f | 13 | private: |
j_rocket_boy | 0:95f2b96cdc7f | 14 | #include "BME280_reg.h" //レジスタ関連の定義 |
j_rocket_boy | 0:95f2b96cdc7f | 15 | |
j_rocket_boy | 0:95f2b96cdc7f | 16 | public: |
j_rocket_boy | 0:95f2b96cdc7f | 17 | /** |
j_rocket_boy | 0:95f2b96cdc7f | 18 | @brief Create a new i2c sensor. |
j_rocket_boy | 0:95f2b96cdc7f | 19 | @param sda SDA pin name (Defined in PinName.h) |
j_rocket_boy | 0:95f2b96cdc7f | 20 | @param sck SCK pin name (Defined in PinName.h) |
j_rocket_boy | 0:95f2b96cdc7f | 21 | */ |
j_rocket_boy | 0:95f2b96cdc7f | 22 | BME280(PinName sda, PinName scl); |
j_rocket_boy | 0:95f2b96cdc7f | 23 | /** |
j_rocket_boy | 0:95f2b96cdc7f | 24 | @brief Create a new i2c sensor. |
j_rocket_boy | 0:95f2b96cdc7f | 25 | @param &i2c_obj i2c name |
j_rocket_boy | 0:95f2b96cdc7f | 26 | */ |
j_rocket_boy | 0:95f2b96cdc7f | 27 | BME280(GEN_I2C &i2c_obj); |
j_rocket_boy | 0:95f2b96cdc7f | 28 | |
j_rocket_boy | 0:95f2b96cdc7f | 29 | /** |
j_rocket_boy | 0:95f2b96cdc7f | 30 | @brief Disable the i2c sensor. |
j_rocket_boy | 0:95f2b96cdc7f | 31 | @param No parameters. |
j_rocket_boy | 0:95f2b96cdc7f | 32 | */ |
j_rocket_boy | 0:95f2b96cdc7f | 33 | virtual ~BME280(); |
j_rocket_boy | 0:95f2b96cdc7f | 34 | |
j_rocket_boy | 0:95f2b96cdc7f | 35 | const char hum_reg_value = HUM_OVER_SAMPL1; |
j_rocket_boy | 0:95f2b96cdc7f | 36 | const char meas_reg_value = TEMP_OVER_SAMPL1 | PRESS_OVER_SAMPL1 | SLEEP_MODE; |
j_rocket_boy | 0:95f2b96cdc7f | 37 | const char config_reg_value = IIR_OFF; |
j_rocket_boy | 0:95f2b96cdc7f | 38 | |
j_rocket_boy | 0:95f2b96cdc7f | 39 | float temp; |
j_rocket_boy | 0:95f2b96cdc7f | 40 | double press; |
j_rocket_boy | 0:95f2b96cdc7f | 41 | float hum; |
j_rocket_boy | 0:95f2b96cdc7f | 42 | |
j_rocket_boy | 0:95f2b96cdc7f | 43 | void read_sensor(void); |
j_rocket_boy | 0:95f2b96cdc7f | 44 | bool data_is_ready(void); |
j_rocket_boy | 0:95f2b96cdc7f | 45 | void set_sleep_mode(void); |
j_rocket_boy | 0:95f2b96cdc7f | 46 | void set_force_mode(void); |
j_rocket_boy | 0:95f2b96cdc7f | 47 | void set_normal_mode(void); |
j_rocket_boy | 0:95f2b96cdc7f | 48 | |
j_rocket_boy | 0:95f2b96cdc7f | 49 | private: |
j_rocket_boy | 0:95f2b96cdc7f | 50 | |
j_rocket_boy | 0:95f2b96cdc7f | 51 | GEN_I2C *i2c_p; |
j_rocket_boy | 0:95f2b96cdc7f | 52 | GEN_I2C &sensor; |
j_rocket_boy | 0:95f2b96cdc7f | 53 | |
j_rocket_boy | 0:95f2b96cdc7f | 54 | BME280_S32_t t_fine; |
j_rocket_boy | 0:95f2b96cdc7f | 55 | BME280_S32_t BME280_compensate_T_int32(BME280_S32_t adc_T); |
j_rocket_boy | 0:95f2b96cdc7f | 56 | BME280_U32_t BME280_compensate_P_int64(BME280_S32_t adc_P); |
j_rocket_boy | 0:95f2b96cdc7f | 57 | BME280_U32_t BME280_compensate_H_int32(BME280_S32_t adc_H); |
j_rocket_boy | 0:95f2b96cdc7f | 58 | |
j_rocket_boy | 0:95f2b96cdc7f | 59 | void init(void); |
j_rocket_boy | 0:95f2b96cdc7f | 60 | |
j_rocket_boy | 0:95f2b96cdc7f | 61 | //データシートより,補正定数 |
j_rocket_boy | 0:95f2b96cdc7f | 62 | unsigned short dig_T1; |
j_rocket_boy | 0:95f2b96cdc7f | 63 | signed short dig_T2; |
j_rocket_boy | 0:95f2b96cdc7f | 64 | signed short dig_T3; |
j_rocket_boy | 0:95f2b96cdc7f | 65 | |
j_rocket_boy | 0:95f2b96cdc7f | 66 | unsigned short dig_P1; |
j_rocket_boy | 0:95f2b96cdc7f | 67 | signed short dig_P2; |
j_rocket_boy | 0:95f2b96cdc7f | 68 | signed short dig_P3; |
j_rocket_boy | 0:95f2b96cdc7f | 69 | signed short dig_P4; |
j_rocket_boy | 0:95f2b96cdc7f | 70 | signed short dig_P5; |
j_rocket_boy | 0:95f2b96cdc7f | 71 | signed short dig_P6; |
j_rocket_boy | 0:95f2b96cdc7f | 72 | signed short dig_P7; |
j_rocket_boy | 0:95f2b96cdc7f | 73 | signed short dig_P8; |
j_rocket_boy | 0:95f2b96cdc7f | 74 | signed short dig_P9; |
j_rocket_boy | 0:95f2b96cdc7f | 75 | |
j_rocket_boy | 0:95f2b96cdc7f | 76 | unsigned char dig_H1; |
j_rocket_boy | 0:95f2b96cdc7f | 77 | signed short dig_H2; |
j_rocket_boy | 0:95f2b96cdc7f | 78 | unsigned char dig_H3; |
j_rocket_boy | 0:95f2b96cdc7f | 79 | signed short dig_H4; |
j_rocket_boy | 0:95f2b96cdc7f | 80 | signed short dig_H5; |
j_rocket_boy | 0:95f2b96cdc7f | 81 | signed char dig_H6; |
j_rocket_boy | 0:95f2b96cdc7f | 82 | |
j_rocket_boy | 0:95f2b96cdc7f | 83 | |
j_rocket_boy | 0:95f2b96cdc7f | 84 | }; |
j_rocket_boy | 0:95f2b96cdc7f | 85 | |
j_rocket_boy | 0:95f2b96cdc7f | 86 | |
j_rocket_boy | 0:95f2b96cdc7f | 87 | |
j_rocket_boy | 0:95f2b96cdc7f | 88 | #endif |