LPS22HBのライブラリ

Dependents:   HYBRYD2018_IZU_ROCKET Hybrid_IZU201811_STMBBM_v4 Hybrid_IZU2019

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