BME280にアクセスするためのライブラリ
BME280_reg.h
- Committer:
- j_rocket_boy
- Date:
- 2018-07-11
- Revision:
- 8:c5f2c8022931
- Parent:
- 4:4c4e3ec9a2c4
File content as of revision 8:c5f2c8022931:
// -*- coding: utf-8 -*- /** @file BME280_reg.h @brief MBE280の内部レジスタのアドレスや入力すべき定数などについての定義 @author D.Nakayama @version 1.0 @date 2018-07-10 D.Nakayama Written for C++/mbed. @see Copyright (C) 2018 D.Nakayama. Released under the MIT license. http://opensource.org/licenses/mit-license.php */ #ifndef BME280_REG_H #define BME280_BME280_REG_H //コンストラクタに入れる定数の定義終わり //測定動作モード #define BME280_SLEEP_MODE 0x00 #define BME280_FORCE_MODE 0x02 #define BME280_NORMAL_MODE 0x03 //気圧のオーバーサンプリング制御 #define BME280_PRESS_SKIP 0x00 #define BME280_PRESS_OVER_SAMPL1 (0x01<<2) #define BME280_PRESS_OVER_SAMPL2 (0x02<<2) #define BME280_PRESS_OVER_SAMPL4 (0x03<<2) #define BME280_PRESS_OVER_SAMPL8 (0x04<<2) #define BME280_PRESS_OVER_SAMPL16 (0x05<<2) //温度のオーバーサンプリング制御 #define BME280_TEMP_SKIP 0x00 #define BME280_TEMP_OVER_SAMPL1 (0x01<<5) #define BME280_TEMP_OVER_SAMPL2 (0x02<<5) #define BME280_TEMP_OVER_SAMPL4 (0x03<<5) #define BME280_TEMP_OVER_SAMPL8 (0x04<<5) #define BME280_TEMP_OVER_SAMPL16 (0x05<<5) //湿度のオーバーサンプリング制御 #define BME280_HUM_SKIP 0x00 #define BME280_HUM_OVER_SAMPL1 0x01 #define BME280_HUM_OVER_SAMPL2 0x02 #define BME280_HUM_OVER_SAMPL4 0x03 #define BME280_HUM_OVER_SAMPL8 0x04 #define BME280_HUM_OVER_SAMPL16 0x05 //IIRフィルタの時定数設定 #define BME280_IIR_OFF 0x00 #define BME280_IIR_2 (0x01<<2) #define BME280_IIR_4 (0x02<<2) #define BME280_IIR_8 (0x03<<2) #define BME280_IIR_16 (0x04<<2) //測定後休止時間設定(ノーマルモードのみ有効) #define BME280_NORMAL_STANBY_0_5 0x00 #define BME280_NORMAL_STANBY_62_5 (0x01<<5) #define BME280_NORMAL_STANBY_125 (0x02<<5) #define BME280_BME280_NORMAL_STANBY_250 (0x03<<5) #define BME280_NORMAL_STANBY_500 (0x04<<5) #define BME280_NORMAL_STANBY_1000 (0x05<<5) #define BME280_NORMAL_STANBY_10 (0x06<<5) #define BME280_NORMAL_STANBY_20 (0x07<<5) //コンストラクタに入れる定数の定義終わり //デバイスアドレス8bit #define BME280_add 0x76<<1 //レジスタアドレス //データ読み込みレジスタ /* #define BME280_HUM_LSB 0xFE #define BME280_HUM_MSB 0xFD #define BME280_TEMP_XLSB 0xFC #define BME280_TEMP_LSB 0xFB #define BME280_TEMP_MSB 0xFA #define BME280_PRESS_XLSB 0xF9 #define BME280_PRESS_LSB 0xF8 */ #define BME280_PRESS_MSB 0xF7 //設定系レジスタ #define BME280_CONFIG 0xF5 #define BME280_CTRL_MEAS 0xF4 #define BME280_STATUS 0xF3 #define BME280_CTRL_HUM 0xF2 #define BME280_RESET_REG 0xE0 #define BME280_ID 0xD0 //補正係数格納レジスタ(読み込みのみ) #define BME280_CALIB00 0x88 #define BME280_CALIB25 0xA1 #define BME280_CALIB26 0xE1 //ID //IDの規定値(BME280_IDを読むといつもこの値,ハードウエアの接続確認用) #define BME280_ID_VALUE 0b01100000 //RESET //リセットをかけるための値(BME280_RESET_REGに書き込むとリセットがかかる) #define BME280_RESET_VALUE 0xB6 //STATUS判定式 //測定中の判定式 #define BME280_STATUS_IS_MEASURING (sensor.read_reg(BME280_add,BME280_STATUS) & 0x08) //コピー中 #define BME280_STATUS_IS_COPYING (sensor.read_reg(BME280_add,BME280_STATUS) & 0x01) #endif