LPS22HBのライブラリ
Dependents: HYBRYD2018_IZU_ROCKET Hybrid_IZU201811_STMBBM_v4 Hybrid_IZU2019
Diff: pqLPS22HB_lib.h
- Revision:
- 0:52880f880b81
- Child:
- 1:42cd33e0f174
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pqLPS22HB_lib.h Mon Jun 26 08:16:14 2017 +0000 @@ -0,0 +1,89 @@ +#ifndef PQ_LPS22HB_LIB_H +#define PQ_LPS22HB_LIB_H + +#include "mbed.h" + +typedef enum{ + AD0_LOW = 0xB8, + AD0_HIGH = 0xBA +}AD0; + +#define WHO_AM_I 0x0F + +#define CTRL_REG1 0x10 +#define CTRL_REG2 0x11 +#define CTRL_REG3 0x12 +#define FIFO_CTRL 0x14 + +#define P_XL 0x28 +#define P_L 0x29 +#define P_H 0x2A + +#define T_L 0x2B +#define T_H 0x2C + +class pqLPS22HB_lib{ + +/********** +コンストラクタ +・AD0がHIGHかLOWかを選択 +・使用するI2Cを選択 +**********/ + public: + pqLPS22HB_lib(AD0 ad0, I2C &userI2C); + private: + char slave; + I2C *i2c; + +/********** +センサー起動(void) +・データ更新レートを選択(1, 10, 25, 50, 75) +**********/ + public: + void begin(int drate); + private: + char cmd_ctrl_reg1[2]; + +/********** +FIFO設定(void)(未実装) +・モードを選択(したい) +・FIFO ウォーターマークレベルを選択(したい) +**********/ + public: + void setFIFO(); + private: + char cmd_ctrl_reg2[2]; + char cmd_ctrl_reg3[2]; + char cmd_fifo_ctrl[2]; + +/********** +Who Am I(int) +接続できているかを判定 +接続OK:0 +接続NG:-1 +**********/ + public: + int whoAmI(); + private: + char cmd_who_am_i[1]; + +/********** +気圧を取得(float) +**********/ + public: + float getPres(); + private: + char cmd_p[3]; + int data_p[3]; + +/********** +温度を取得(float) +**********/ + public: + float getTemp(); + private: + char cmd_t[2]; + int data_t[2]; +}; + +#endif