BME280にアクセスするためのライブラリ
BME280_reg.h@3:df1107ddf502, 2018-07-10 (annotated)
- Committer:
- j_rocket_boy
- Date:
- Tue Jul 10 08:57:26 2018 +0000
- Revision:
- 3:df1107ddf502
- Parent:
- 2:42725d11023b
- Child:
- 4:4c4e3ec9a2c4
???????; ???????????
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
j_rocket_boy | 0:95f2b96cdc7f | 1 | #ifndef BME280_REG_H |
j_rocket_boy | 3:df1107ddf502 | 2 | #define BME280_BME280_REG_H |
j_rocket_boy | 3:df1107ddf502 | 3 | |
j_rocket_boy | 3:df1107ddf502 | 4 | //コンストラクタに入れる定数の定義終わり |
j_rocket_boy | 3:df1107ddf502 | 5 | |
j_rocket_boy | 3:df1107ddf502 | 6 | //測定動作モード |
j_rocket_boy | 3:df1107ddf502 | 7 | #define BME280_SLEEP_MODE 0x00 |
j_rocket_boy | 3:df1107ddf502 | 8 | #define BME280_FORCE_MODE 0x02 |
j_rocket_boy | 3:df1107ddf502 | 9 | #define BME280_NORMAL_MODE 0x03 |
j_rocket_boy | 3:df1107ddf502 | 10 | |
j_rocket_boy | 3:df1107ddf502 | 11 | //気圧のオーバーサンプリング制御 |
j_rocket_boy | 3:df1107ddf502 | 12 | #define BME280_PRESS_SKIP 0x00 |
j_rocket_boy | 3:df1107ddf502 | 13 | #define BME280_PRESS_OVER_SAMPL1 (0x01<<2) |
j_rocket_boy | 3:df1107ddf502 | 14 | #define BME280_PRESS_OVER_SAMPL2 (0x02<<2) |
j_rocket_boy | 3:df1107ddf502 | 15 | #define BME280_PRESS_OVER_SAMPL4 (0x03<<2) |
j_rocket_boy | 3:df1107ddf502 | 16 | #define BME280_PRESS_OVER_SAMPL8 (0x04<<2) |
j_rocket_boy | 3:df1107ddf502 | 17 | #define BME280_PRESS_OVER_SAMPL16 (0x05<<2) |
j_rocket_boy | 3:df1107ddf502 | 18 | |
j_rocket_boy | 3:df1107ddf502 | 19 | //温度のオーバーサンプリング制御 |
j_rocket_boy | 3:df1107ddf502 | 20 | #define BME280_TEMP_SKIP 0x00 |
j_rocket_boy | 3:df1107ddf502 | 21 | #define BME280_TEMP_OVER_SAMPL1 (0x01<<5) |
j_rocket_boy | 3:df1107ddf502 | 22 | #define BME280_TEMP_OVER_SAMPL2 (0x02<<5) |
j_rocket_boy | 3:df1107ddf502 | 23 | #define BME280_TEMP_OVER_SAMPL4 (0x03<<5) |
j_rocket_boy | 3:df1107ddf502 | 24 | #define BME280_TEMP_OVER_SAMPL8 (0x04<<5) |
j_rocket_boy | 3:df1107ddf502 | 25 | #define BME280_TEMP_OVER_SAMPL16 (0x05<<5) |
j_rocket_boy | 0:95f2b96cdc7f | 26 | |
j_rocket_boy | 3:df1107ddf502 | 27 | //湿度のオーバーサンプリング制御 |
j_rocket_boy | 3:df1107ddf502 | 28 | #define BME280_HUM_SKIP 0x00 |
j_rocket_boy | 3:df1107ddf502 | 29 | #define BME280_HUM_OVER_SAMPL1 0x01 |
j_rocket_boy | 3:df1107ddf502 | 30 | #define BME280_HUM_OVER_SAMPL2 0x02 |
j_rocket_boy | 3:df1107ddf502 | 31 | #define BME280_HUM_OVER_SAMPL4 0x03 |
j_rocket_boy | 3:df1107ddf502 | 32 | #define BME280_HUM_OVER_SAMPL8 0x04 |
j_rocket_boy | 3:df1107ddf502 | 33 | #define BME280_HUM_OVER_SAMPL16 0x05 |
j_rocket_boy | 3:df1107ddf502 | 34 | |
j_rocket_boy | 3:df1107ddf502 | 35 | //IIRフィルタの時定数設定 |
j_rocket_boy | 3:df1107ddf502 | 36 | #define BME280_IIR_OFF 0x00 |
j_rocket_boy | 3:df1107ddf502 | 37 | #define BME280_IIR_2 (0x01<<2) |
j_rocket_boy | 3:df1107ddf502 | 38 | #define BME280_IIR_4 (0x02<<2) |
j_rocket_boy | 3:df1107ddf502 | 39 | #define BME280_IIR_8 (0x03<<2) |
j_rocket_boy | 3:df1107ddf502 | 40 | #define BME280_IIR_16 (0x04<<2) |
j_rocket_boy | 3:df1107ddf502 | 41 | |
j_rocket_boy | 3:df1107ddf502 | 42 | //測定後休止時間設定(ノーマルモードのみ有効) |
j_rocket_boy | 3:df1107ddf502 | 43 | #define BME280_NORMAL_STANBY_0_5 0x00 |
j_rocket_boy | 3:df1107ddf502 | 44 | #define BME280_NORMAL_STANBY_62_5 (0x01<<5) |
j_rocket_boy | 3:df1107ddf502 | 45 | #define BME280_NORMAL_STANBY_125 (0x02<<5) |
j_rocket_boy | 3:df1107ddf502 | 46 | #define BME280_BME280_NORMAL_STANBY_250 (0x03<<5) |
j_rocket_boy | 3:df1107ddf502 | 47 | #define BME280_NORMAL_STANBY_500 (0x04<<5) |
j_rocket_boy | 3:df1107ddf502 | 48 | #define BME280_NORMAL_STANBY_1000 (0x05<<5) |
j_rocket_boy | 3:df1107ddf502 | 49 | #define BME280_NORMAL_STANBY_10 (0x06<<5) |
j_rocket_boy | 3:df1107ddf502 | 50 | #define BME280_NORMAL_STANBY_20 (0x07<<5) |
j_rocket_boy | 3:df1107ddf502 | 51 | |
j_rocket_boy | 3:df1107ddf502 | 52 | //コンストラクタに入れる定数の定義終わり |
j_rocket_boy | 3:df1107ddf502 | 53 | |
j_rocket_boy | 3:df1107ddf502 | 54 | |
j_rocket_boy | 3:df1107ddf502 | 55 | //デバイスアドレス8bit |
j_rocket_boy | 2:42725d11023b | 56 | #define BME280_add 0x76<<1 |
j_rocket_boy | 3:df1107ddf502 | 57 | |
j_rocket_boy | 3:df1107ddf502 | 58 | //レジスタアドレス |
j_rocket_boy | 3:df1107ddf502 | 59 | |
j_rocket_boy | 3:df1107ddf502 | 60 | //データ読み込みレジスタ |
j_rocket_boy | 0:95f2b96cdc7f | 61 | /* |
j_rocket_boy | 3:df1107ddf502 | 62 | #define BME280_HUM_LSB 0xFE |
j_rocket_boy | 3:df1107ddf502 | 63 | #define BME280_HUM_MSB 0xFD |
j_rocket_boy | 3:df1107ddf502 | 64 | #define BME280_TEMP_XLSB 0xFC |
j_rocket_boy | 3:df1107ddf502 | 65 | #define BME280_TEMP_LSB 0xFB |
j_rocket_boy | 3:df1107ddf502 | 66 | #define BME280_TEMP_MSB 0xFA |
j_rocket_boy | 3:df1107ddf502 | 67 | #define BME280_PRESS_XLSB 0xF9 |
j_rocket_boy | 3:df1107ddf502 | 68 | #define BME280_PRESS_LSB 0xF8 |
j_rocket_boy | 0:95f2b96cdc7f | 69 | */ |
j_rocket_boy | 3:df1107ddf502 | 70 | #define BME280_PRESS_MSB 0xF7 |
j_rocket_boy | 3:df1107ddf502 | 71 | |
j_rocket_boy | 3:df1107ddf502 | 72 | //設定系レジスタ |
j_rocket_boy | 3:df1107ddf502 | 73 | #define BME280_CONFIG 0xF5 |
j_rocket_boy | 3:df1107ddf502 | 74 | #define BME280_CTRL_MEAS 0xF4 |
j_rocket_boy | 3:df1107ddf502 | 75 | #define BME280_STATUS 0xF3 |
j_rocket_boy | 3:df1107ddf502 | 76 | #define BME280_CTRL_HUM 0xF2 |
j_rocket_boy | 3:df1107ddf502 | 77 | #define BME280_RESET_REG 0xE0 |
j_rocket_boy | 3:df1107ddf502 | 78 | #define BME280_ID 0xD0 |
j_rocket_boy | 3:df1107ddf502 | 79 | |
j_rocket_boy | 3:df1107ddf502 | 80 | //補正係数格納レジスタ(読み込みのみ) |
j_rocket_boy | 3:df1107ddf502 | 81 | #define BME280_CALIB00 0x88 |
j_rocket_boy | 3:df1107ddf502 | 82 | #define BME280_CALIB25 0xA1 |
j_rocket_boy | 3:df1107ddf502 | 83 | #define BME280_CALIB26 0xE1 |
j_rocket_boy | 0:95f2b96cdc7f | 84 | |
j_rocket_boy | 0:95f2b96cdc7f | 85 | |
j_rocket_boy | 0:95f2b96cdc7f | 86 | //ID |
j_rocket_boy | 3:df1107ddf502 | 87 | //IDの規定値(BME280_IDを読むといつもこの値,ハードウエアの接続確認用) |
j_rocket_boy | 3:df1107ddf502 | 88 | #define BME280_ID_VALUE 0b01100000 |
j_rocket_boy | 0:95f2b96cdc7f | 89 | |
j_rocket_boy | 0:95f2b96cdc7f | 90 | //RESET |
j_rocket_boy | 3:df1107ddf502 | 91 | //リセットをかけるための値(BME280_RESET_REGに書き込むとリセットがかかる) |
j_rocket_boy | 3:df1107ddf502 | 92 | #define BME280_RESET_VALUE 0xB6 |
j_rocket_boy | 0:95f2b96cdc7f | 93 | |
j_rocket_boy | 0:95f2b96cdc7f | 94 | |
j_rocket_boy | 3:df1107ddf502 | 95 | //STATUS判定式 |
j_rocket_boy | 3:df1107ddf502 | 96 | //測定中の判定式 |
j_rocket_boy | 3:df1107ddf502 | 97 | #define BME280_STATUS_IS_MEASURING (sensor.read_reg(BME280_add,BME280_STATUS) & 0x08) |
j_rocket_boy | 3:df1107ddf502 | 98 | //コピー中 |
j_rocket_boy | 3:df1107ddf502 | 99 | #define BME280_STATUS_IS_COPYING (sensor.read_reg(BME280_add,BME280_STATUS) & 0x01) |
j_rocket_boy | 0:95f2b96cdc7f | 100 | |
j_rocket_boy | 0:95f2b96cdc7f | 101 | #endif |