気圧センサLPS25HをI2Cで動かすライブラリ
Dependents: rocket_logger_sinkan2018_v1 Shock_Alt_Logger_v2_1
LPS25H_lib.h@0:4b9b28d45e51, 2018-04-24 (annotated)
- Committer:
- Sigma884
- Date:
- Tue Apr 24 12:23:03 2018 +0000
- Revision:
- 0:4b9b28d45e51
2018/4/24 update
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Sigma884 | 0:4b9b28d45e51 | 1 | #ifndef LPS25H_LIB_H |
Sigma884 | 0:4b9b28d45e51 | 2 | #define LPS25H_LIB_H |
Sigma884 | 0:4b9b28d45e51 | 3 | |
Sigma884 | 0:4b9b28d45e51 | 4 | #include "mbed.h" |
Sigma884 | 0:4b9b28d45e51 | 5 | |
Sigma884 | 0:4b9b28d45e51 | 6 | #define WHO_AM_I 0x0F |
Sigma884 | 0:4b9b28d45e51 | 7 | |
Sigma884 | 0:4b9b28d45e51 | 8 | #define CTRL_REG1 0x20 |
Sigma884 | 0:4b9b28d45e51 | 9 | #define CTRL_REG2 0x21 |
Sigma884 | 0:4b9b28d45e51 | 10 | #define FIFO_CTRL 0x2E |
Sigma884 | 0:4b9b28d45e51 | 11 | |
Sigma884 | 0:4b9b28d45e51 | 12 | #define P_XL 0x28 |
Sigma884 | 0:4b9b28d45e51 | 13 | #define P_L 0x29 |
Sigma884 | 0:4b9b28d45e51 | 14 | #define P_H 0x2A |
Sigma884 | 0:4b9b28d45e51 | 15 | |
Sigma884 | 0:4b9b28d45e51 | 16 | #define T_L 0x2B |
Sigma884 | 0:4b9b28d45e51 | 17 | #define T_H 0x2C |
Sigma884 | 0:4b9b28d45e51 | 18 | |
Sigma884 | 0:4b9b28d45e51 | 19 | class LPS25H_lib{ |
Sigma884 | 0:4b9b28d45e51 | 20 | |
Sigma884 | 0:4b9b28d45e51 | 21 | public: |
Sigma884 | 0:4b9b28d45e51 | 22 | typedef enum{ |
Sigma884 | 0:4b9b28d45e51 | 23 | AD0_LOW = 0xB8, |
Sigma884 | 0:4b9b28d45e51 | 24 | AD0_HIGH = 0xBA |
Sigma884 | 0:4b9b28d45e51 | 25 | }AD0; |
Sigma884 | 0:4b9b28d45e51 | 26 | LPS25H_lib(AD0 ad0, I2C &userI2C); |
Sigma884 | 0:4b9b28d45e51 | 27 | private: |
Sigma884 | 0:4b9b28d45e51 | 28 | char slave; |
Sigma884 | 0:4b9b28d45e51 | 29 | I2C *i2c; |
Sigma884 | 0:4b9b28d45e51 | 30 | |
Sigma884 | 0:4b9b28d45e51 | 31 | public: |
Sigma884 | 0:4b9b28d45e51 | 32 | void begin(int drate); |
Sigma884 | 0:4b9b28d45e51 | 33 | private: |
Sigma884 | 0:4b9b28d45e51 | 34 | char cmd_ctrl_reg1[2]; |
Sigma884 | 0:4b9b28d45e51 | 35 | |
Sigma884 | 0:4b9b28d45e51 | 36 | public: |
Sigma884 | 0:4b9b28d45e51 | 37 | void setFIFO(int size); |
Sigma884 | 0:4b9b28d45e51 | 38 | private: |
Sigma884 | 0:4b9b28d45e51 | 39 | char cmd_ctrl_reg2[2]; |
Sigma884 | 0:4b9b28d45e51 | 40 | char cmd_fifo_ctrl[2]; |
Sigma884 | 0:4b9b28d45e51 | 41 | |
Sigma884 | 0:4b9b28d45e51 | 42 | public: |
Sigma884 | 0:4b9b28d45e51 | 43 | int whoAmI(); |
Sigma884 | 0:4b9b28d45e51 | 44 | private: |
Sigma884 | 0:4b9b28d45e51 | 45 | char cmd_who_am_i[1]; |
Sigma884 | 0:4b9b28d45e51 | 46 | |
Sigma884 | 0:4b9b28d45e51 | 47 | public: |
Sigma884 | 0:4b9b28d45e51 | 48 | float getPres(); |
Sigma884 | 0:4b9b28d45e51 | 49 | private: |
Sigma884 | 0:4b9b28d45e51 | 50 | char cmd_p[3]; |
Sigma884 | 0:4b9b28d45e51 | 51 | int data_p[3]; |
Sigma884 | 0:4b9b28d45e51 | 52 | |
Sigma884 | 0:4b9b28d45e51 | 53 | public: |
Sigma884 | 0:4b9b28d45e51 | 54 | float getTemp(); |
Sigma884 | 0:4b9b28d45e51 | 55 | private: |
Sigma884 | 0:4b9b28d45e51 | 56 | char cmd_t[2]; |
Sigma884 | 0:4b9b28d45e51 | 57 | int data_t[2]; |
Sigma884 | 0:4b9b28d45e51 | 58 | |
Sigma884 | 0:4b9b28d45e51 | 59 | public: |
Sigma884 | 0:4b9b28d45e51 | 60 | float getAlt(float P_0, float T_0); |
Sigma884 | 0:4b9b28d45e51 | 61 | private: |
Sigma884 | 0:4b9b28d45e51 | 62 | float pres_0; |
Sigma884 | 0:4b9b28d45e51 | 63 | float temp_0; |
Sigma884 | 0:4b9b28d45e51 | 64 | float pres_now; |
Sigma884 | 0:4b9b28d45e51 | 65 | }; |
Sigma884 | 0:4b9b28d45e51 | 66 | |
Sigma884 | 0:4b9b28d45e51 | 67 | #endif |