LPS22HBのライブラリ

Dependents:   HYBRYD2018_IZU_ROCKET Hybrid_IZU201811_STMBBM_v4 Hybrid_IZU2019

Committer:
Sigma884
Date:
Mon Jun 26 08:16:14 2017 +0000
Revision:
0:52880f880b81
Child:
1:42cd33e0f174
LPS22HB??????
; ver1???????????????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Sigma884 0:52880f880b81 1 #ifndef PQ_LPS22HB_LIB_H
Sigma884 0:52880f880b81 2 #define PQ_LPS22HB_LIB_H
Sigma884 0:52880f880b81 3
Sigma884 0:52880f880b81 4 #include "mbed.h"
Sigma884 0:52880f880b81 5
Sigma884 0:52880f880b81 6 typedef enum{
Sigma884 0:52880f880b81 7 AD0_LOW = 0xB8,
Sigma884 0:52880f880b81 8 AD0_HIGH = 0xBA
Sigma884 0:52880f880b81 9 }AD0;
Sigma884 0:52880f880b81 10
Sigma884 0:52880f880b81 11 #define WHO_AM_I 0x0F
Sigma884 0:52880f880b81 12
Sigma884 0:52880f880b81 13 #define CTRL_REG1 0x10
Sigma884 0:52880f880b81 14 #define CTRL_REG2 0x11
Sigma884 0:52880f880b81 15 #define CTRL_REG3 0x12
Sigma884 0:52880f880b81 16 #define FIFO_CTRL 0x14
Sigma884 0:52880f880b81 17
Sigma884 0:52880f880b81 18 #define P_XL 0x28
Sigma884 0:52880f880b81 19 #define P_L 0x29
Sigma884 0:52880f880b81 20 #define P_H 0x2A
Sigma884 0:52880f880b81 21
Sigma884 0:52880f880b81 22 #define T_L 0x2B
Sigma884 0:52880f880b81 23 #define T_H 0x2C
Sigma884 0:52880f880b81 24
Sigma884 0:52880f880b81 25 class pqLPS22HB_lib{
Sigma884 0:52880f880b81 26
Sigma884 0:52880f880b81 27 /**********
Sigma884 0:52880f880b81 28 コンストラクタ
Sigma884 0:52880f880b81 29 ・AD0がHIGHかLOWかを選択
Sigma884 0:52880f880b81 30 ・使用するI2Cを選択
Sigma884 0:52880f880b81 31 **********/
Sigma884 0:52880f880b81 32 public:
Sigma884 0:52880f880b81 33 pqLPS22HB_lib(AD0 ad0, I2C &userI2C);
Sigma884 0:52880f880b81 34 private:
Sigma884 0:52880f880b81 35 char slave;
Sigma884 0:52880f880b81 36 I2C *i2c;
Sigma884 0:52880f880b81 37
Sigma884 0:52880f880b81 38 /**********
Sigma884 0:52880f880b81 39 センサー起動(void)
Sigma884 0:52880f880b81 40 ・データ更新レートを選択(1, 10, 25, 50, 75)
Sigma884 0:52880f880b81 41 **********/
Sigma884 0:52880f880b81 42 public:
Sigma884 0:52880f880b81 43 void begin(int drate);
Sigma884 0:52880f880b81 44 private:
Sigma884 0:52880f880b81 45 char cmd_ctrl_reg1[2];
Sigma884 0:52880f880b81 46
Sigma884 0:52880f880b81 47 /**********
Sigma884 0:52880f880b81 48 FIFO設定(void)(未実装)
Sigma884 0:52880f880b81 49 ・モードを選択(したい)
Sigma884 0:52880f880b81 50 ・FIFO ウォーターマークレベルを選択(したい)
Sigma884 0:52880f880b81 51 **********/
Sigma884 0:52880f880b81 52 public:
Sigma884 0:52880f880b81 53 void setFIFO();
Sigma884 0:52880f880b81 54 private:
Sigma884 0:52880f880b81 55 char cmd_ctrl_reg2[2];
Sigma884 0:52880f880b81 56 char cmd_ctrl_reg3[2];
Sigma884 0:52880f880b81 57 char cmd_fifo_ctrl[2];
Sigma884 0:52880f880b81 58
Sigma884 0:52880f880b81 59 /**********
Sigma884 0:52880f880b81 60 Who Am I(int)
Sigma884 0:52880f880b81 61 接続できているかを判定
Sigma884 0:52880f880b81 62 接続OK:0
Sigma884 0:52880f880b81 63 接続NG:-1
Sigma884 0:52880f880b81 64 **********/
Sigma884 0:52880f880b81 65 public:
Sigma884 0:52880f880b81 66 int whoAmI();
Sigma884 0:52880f880b81 67 private:
Sigma884 0:52880f880b81 68 char cmd_who_am_i[1];
Sigma884 0:52880f880b81 69
Sigma884 0:52880f880b81 70 /**********
Sigma884 0:52880f880b81 71 気圧を取得(float)
Sigma884 0:52880f880b81 72 **********/
Sigma884 0:52880f880b81 73 public:
Sigma884 0:52880f880b81 74 float getPres();
Sigma884 0:52880f880b81 75 private:
Sigma884 0:52880f880b81 76 char cmd_p[3];
Sigma884 0:52880f880b81 77 int data_p[3];
Sigma884 0:52880f880b81 78
Sigma884 0:52880f880b81 79 /**********
Sigma884 0:52880f880b81 80 温度を取得(float)
Sigma884 0:52880f880b81 81 **********/
Sigma884 0:52880f880b81 82 public:
Sigma884 0:52880f880b81 83 float getTemp();
Sigma884 0:52880f880b81 84 private:
Sigma884 0:52880f880b81 85 char cmd_t[2];
Sigma884 0:52880f880b81 86 int data_t[2];
Sigma884 0:52880f880b81 87 };
Sigma884 0:52880f880b81 88
Sigma884 0:52880f880b81 89 #endif