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

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

Who changed what in which revision?

UserRevisionLine numberNew contents of line
j_rocket_boy 0:95f2b96cdc7f 1 #ifndef BME280_REG_H
j_rocket_boy 2:42725d11023b 2 #define BMP280_BME280_REG_H
j_rocket_boy 0:95f2b96cdc7f 3
j_rocket_boy 2:42725d11023b 4 #define BME280_add 0x76<<1
j_rocket_boy 0:95f2b96cdc7f 5 /*
j_rocket_boy 2:42725d11023b 6 #define BMP280_HUM_LSB 0xFE
j_rocket_boy 2:42725d11023b 7 #define BMP280_HUM_MSB 0xFD
j_rocket_boy 2:42725d11023b 8 #define BMP280_TEMP_XLSB 0xFC
j_rocket_boy 2:42725d11023b 9 #define BMP280_TEMP_LSB 0xFB
j_rocket_boy 2:42725d11023b 10 #define BMP280_TEMP_MSB 0xFA
j_rocket_boy 2:42725d11023b 11 #define BMP280_PRESS_XLSB 0xF9
j_rocket_boy 2:42725d11023b 12 #define BMP280_PRESS_LSB 0xF8
j_rocket_boy 0:95f2b96cdc7f 13 */
j_rocket_boy 2:42725d11023b 14 #define BMP280_PRESS_MSB 0xF7
j_rocket_boy 2:42725d11023b 15 #define BMP280_CONFIG 0xF5
j_rocket_boy 2:42725d11023b 16 #define BMP280_CTRL_MEAS 0xF4
j_rocket_boy 2:42725d11023b 17 #define BMP280_STATUS 0xF3
j_rocket_boy 2:42725d11023b 18 #define BMP280_CTRL_HUM 0xF2
j_rocket_boy 2:42725d11023b 19 #define BMP280_RESET_REG 0xE0
j_rocket_boy 2:42725d11023b 20 #define BMP280_ID 0xD0
j_rocket_boy 0:95f2b96cdc7f 21
j_rocket_boy 2:42725d11023b 22 #define BMP280_CALIB00 0x88
j_rocket_boy 2:42725d11023b 23 #define BMP280_CALIB25 0xA1
j_rocket_boy 2:42725d11023b 24 #define BMP280_CALIB26 0xE1
j_rocket_boy 0:95f2b96cdc7f 25
j_rocket_boy 0:95f2b96cdc7f 26
j_rocket_boy 0:95f2b96cdc7f 27 //ID
j_rocket_boy 0:95f2b96cdc7f 28 //IDの規定値
j_rocket_boy 2:42725d11023b 29 #define BMP280_ID_VALUE 0b01100000
j_rocket_boy 0:95f2b96cdc7f 30
j_rocket_boy 0:95f2b96cdc7f 31 //RESET
j_rocket_boy 0:95f2b96cdc7f 32 //リセットをかけるための値
j_rocket_boy 2:42725d11023b 33 #define BMP280_RESET_VALUE 0xB6
j_rocket_boy 0:95f2b96cdc7f 34
j_rocket_boy 0:95f2b96cdc7f 35 //CTRL_HUM
j_rocket_boy 0:95f2b96cdc7f 36 //湿度のオーバーサンプリング制御
j_rocket_boy 2:42725d11023b 37 #define BMP280_HUM_SKIP 0x00
j_rocket_boy 2:42725d11023b 38 #define BMP280_HUM_OVER_SAMPL1 0x01
j_rocket_boy 2:42725d11023b 39 #define BMP280_HUM_OVER_SAMPL2 0x02
j_rocket_boy 2:42725d11023b 40 #define BMP280_HUM_OVER_SAMPL4 0x03
j_rocket_boy 2:42725d11023b 41 #define BMP280_HUM_OVER_SAMPL8 0x04
j_rocket_boy 2:42725d11023b 42 #define BMP280_HUM_OVER_SAMPL16 0x05
j_rocket_boy 0:95f2b96cdc7f 43
j_rocket_boy 0:95f2b96cdc7f 44 //STATUS
j_rocket_boy 0:95f2b96cdc7f 45 //測定中の判定式
j_rocket_boy 2:42725d11023b 46 #define BMP280_STATUS_IS_MEASURING (sensor.read_reg(BME280_add,BMP280_STATUS) & 0x08)
j_rocket_boy 0:95f2b96cdc7f 47 //コピー中
j_rocket_boy 2:42725d11023b 48 #define BMP280_STATUS_IS_COPYING (sensor.read_reg(BME280_add,BMP280_STATUS) & 0x01)
j_rocket_boy 0:95f2b96cdc7f 49 //なにも起きていないときの判定式(測定待ちなどに使う予定)
j_rocket_boy 2:42725d11023b 50 #define BMP280_STATUS_IS_NOTHING (sensor.read_reg(BME280_add,BMP280_STATUS) =0x00)
j_rocket_boy 0:95f2b96cdc7f 51
j_rocket_boy 0:95f2b96cdc7f 52 //CTRL_MEAS
j_rocket_boy 0:95f2b96cdc7f 53 //温度のオーバーサンプリング制御
j_rocket_boy 2:42725d11023b 54 #define BMP280_TEMP_SKIP 0x00
j_rocket_boy 2:42725d11023b 55 #define BMP280_TEMP_OVER_SAMPL1 (0x01<<5)
j_rocket_boy 2:42725d11023b 56 #define BMP280_TEMP_OVER_SAMPL2 (0x02<<5)
j_rocket_boy 2:42725d11023b 57 #define BMP280_TEMP_OVER_SAMPL4 (0x03<<5)
j_rocket_boy 2:42725d11023b 58 #define BMP280_TEMP_OVER_SAMPL8 (0x04<<5)
j_rocket_boy 2:42725d11023b 59 #define BMP280_TEMP_OVER_SAMPL16 (0x05<<5)
j_rocket_boy 0:95f2b96cdc7f 60
j_rocket_boy 0:95f2b96cdc7f 61 //気圧のオーバーサンプリング制御
j_rocket_boy 2:42725d11023b 62 #define BMP280_PRESS_SKIP 0x00
j_rocket_boy 2:42725d11023b 63 #define BMP280_PRESS_OVER_SAMPL1 (0x01<<2)
j_rocket_boy 2:42725d11023b 64 #define BMP280_PRESS_OVER_SAMPL2 (0x02<<2)
j_rocket_boy 2:42725d11023b 65 #define BMP280_PRESS_OVER_SAMPL4 (0x03<<2)
j_rocket_boy 2:42725d11023b 66 #define BMP280_PRESS_OVER_SAMPL8 (0x04<<2)
j_rocket_boy 2:42725d11023b 67 #define BMP280_PRESS_OVER_SAMPL16 (0x05<<2)
j_rocket_boy 0:95f2b96cdc7f 68
j_rocket_boy 0:95f2b96cdc7f 69 //モード選択
j_rocket_boy 2:42725d11023b 70 #define BMP280_SLEEP_MODE 0x00
j_rocket_boy 2:42725d11023b 71 #define BMP280_FORCE_MODE 0x02
j_rocket_boy 2:42725d11023b 72 #define BMP280_NORMAL_MODE 0x03
j_rocket_boy 0:95f2b96cdc7f 73
j_rocket_boy 0:95f2b96cdc7f 74
j_rocket_boy 0:95f2b96cdc7f 75
j_rocket_boy 0:95f2b96cdc7f 76
j_rocket_boy 0:95f2b96cdc7f 77 //CONFIG
j_rocket_boy 0:95f2b96cdc7f 78 //ノーマルモードにおける休止状態の継続時間設定(5.3.4項を参照)
j_rocket_boy 2:42725d11023b 79 #define BMP280_NORMAL_STANBY_0_5 0x00
j_rocket_boy 2:42725d11023b 80 #define BMP280_NORMAL_STANBY_62_5 (0x01<<5)
j_rocket_boy 2:42725d11023b 81 #define BMP280_NORMAL_STANBY_125 (0x02<<5)
j_rocket_boy 2:42725d11023b 82 #define BMP280_BMP280_NORMAL_STANBY_250 (0x03<<5)
j_rocket_boy 2:42725d11023b 83 #define BMP280_NORMAL_STANBY_500 (0x04<<5)
j_rocket_boy 2:42725d11023b 84 #define BMP280_NORMAL_STANBY_1000 (0x05<<5)
j_rocket_boy 2:42725d11023b 85 #define BMP280_NORMAL_STANBY_10 (0x06<<5)
j_rocket_boy 2:42725d11023b 86 #define BMP280_NORMAL_STANBY_20 (0x07<<5)
j_rocket_boy 0:95f2b96cdc7f 87
j_rocket_boy 0:95f2b96cdc7f 88 //IIRフィルタの時定数設定
j_rocket_boy 2:42725d11023b 89 #define BMP280_IIR_OFF 0x00
j_rocket_boy 2:42725d11023b 90 #define BMP280_IIR_2 (0x01<<2)
j_rocket_boy 2:42725d11023b 91 #define BMP280_IIR_4 (0x02<<2)
j_rocket_boy 2:42725d11023b 92 #define BMP280_IIR_8 (0x03<<2)
j_rocket_boy 2:42725d11023b 93 #define BMP280_IIR_16 (0x04<<2)
j_rocket_boy 0:95f2b96cdc7f 94
j_rocket_boy 0:95f2b96cdc7f 95 //SPI線方式選択(4線OR3線) 使わない
j_rocket_boy 0:95f2b96cdc7f 96 /*
j_rocket_boy 2:42725d11023b 97 #define BMP280_SPI4 0x00
j_rocket_boy 2:42725d11023b 98 #define BMP280_SPI3 0x01
j_rocket_boy 0:95f2b96cdc7f 99 */
j_rocket_boy 0:95f2b96cdc7f 100
j_rocket_boy 0:95f2b96cdc7f 101 #endif