CO2・TVOCsセンサCCS811を使うためのライブラリ
CCS811_lib.h@0:b0dd8ce53a43, 2019-02-19 (annotated)
- Committer:
- Sigma884
- Date:
- Tue Feb 19 12:36:25 2019 +0000
- Revision:
- 0:b0dd8ce53a43
MODE -> CCS_MODE
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Sigma884 | 0:b0dd8ce53a43 | 1 | #ifndef CCS811_LIB_H_ |
Sigma884 | 0:b0dd8ce53a43 | 2 | #define CCS811_LIB_H_ |
Sigma884 | 0:b0dd8ce53a43 | 3 | |
Sigma884 | 0:b0dd8ce53a43 | 4 | #define CCS_ADDR_LOW 0x5A |
Sigma884 | 0:b0dd8ce53a43 | 5 | #define CCS_ADDR_HIGH 0x5B |
Sigma884 | 0:b0dd8ce53a43 | 6 | |
Sigma884 | 0:b0dd8ce53a43 | 7 | #define CCS_ID 0x20 |
Sigma884 | 0:b0dd8ce53a43 | 8 | |
Sigma884 | 0:b0dd8ce53a43 | 9 | #define CCS_START 0xF4; |
Sigma884 | 0:b0dd8ce53a43 | 10 | |
Sigma884 | 0:b0dd8ce53a43 | 11 | #define CCS_MEAS_MODE 0x01 |
Sigma884 | 0:b0dd8ce53a43 | 12 | #define CCS_DATA 0x02 |
Sigma884 | 0:b0dd8ce53a43 | 13 | |
Sigma884 | 0:b0dd8ce53a43 | 14 | class CCS811_lib{ |
Sigma884 | 0:b0dd8ce53a43 | 15 | |
Sigma884 | 0:b0dd8ce53a43 | 16 | public: |
Sigma884 | 0:b0dd8ce53a43 | 17 | |
Sigma884 | 0:b0dd8ce53a43 | 18 | typedef enum{ |
Sigma884 | 0:b0dd8ce53a43 | 19 | AD0_LOW = CCS_ADDR_LOW, |
Sigma884 | 0:b0dd8ce53a43 | 20 | AD0_HIGH = CCS_ADDR_HIGH |
Sigma884 | 0:b0dd8ce53a43 | 21 | }AD0; |
Sigma884 | 0:b0dd8ce53a43 | 22 | |
Sigma884 | 0:b0dd8ce53a43 | 23 | typedef enum{ |
Sigma884 | 0:b0dd8ce53a43 | 24 | MODE0 = 0x00, |
Sigma884 | 0:b0dd8ce53a43 | 25 | MODE1 = 0x10, |
Sigma884 | 0:b0dd8ce53a43 | 26 | MODE2 = 0x20, |
Sigma884 | 0:b0dd8ce53a43 | 27 | MODE3 = 0x30, |
Sigma884 | 0:b0dd8ce53a43 | 28 | MODE4 = 0x40 |
Sigma884 | 0:b0dd8ce53a43 | 29 | }CCS_MODE; |
Sigma884 | 0:b0dd8ce53a43 | 30 | |
Sigma884 | 0:b0dd8ce53a43 | 31 | CCS811_lib(I2C &user_i2c, AD0 ad0); |
Sigma884 | 0:b0dd8ce53a43 | 32 | |
Sigma884 | 0:b0dd8ce53a43 | 33 | int connectCheck(); |
Sigma884 | 0:b0dd8ce53a43 | 34 | |
Sigma884 | 0:b0dd8ce53a43 | 35 | void changeMeasureMode(CCS_MODE mode); |
Sigma884 | 0:b0dd8ce53a43 | 36 | |
Sigma884 | 0:b0dd8ce53a43 | 37 | void getData(int *CO2, int *TVOCs); |
Sigma884 | 0:b0dd8ce53a43 | 38 | int getCO2(); |
Sigma884 | 0:b0dd8ce53a43 | 39 | int getTVOCs(); |
Sigma884 | 0:b0dd8ce53a43 | 40 | |
Sigma884 | 0:b0dd8ce53a43 | 41 | |
Sigma884 | 0:b0dd8ce53a43 | 42 | private: |
Sigma884 | 0:b0dd8ce53a43 | 43 | I2C *i2c; |
Sigma884 | 0:b0dd8ce53a43 | 44 | char slave; |
Sigma884 | 0:b0dd8ce53a43 | 45 | |
Sigma884 | 0:b0dd8ce53a43 | 46 | char cmd[2]; |
Sigma884 | 0:b0dd8ce53a43 | 47 | char buff[8]; |
Sigma884 | 0:b0dd8ce53a43 | 48 | |
Sigma884 | 0:b0dd8ce53a43 | 49 | void startMeasure(); |
Sigma884 | 0:b0dd8ce53a43 | 50 | |
Sigma884 | 0:b0dd8ce53a43 | 51 | }; |
Sigma884 | 0:b0dd8ce53a43 | 52 | |
Sigma884 | 0:b0dd8ce53a43 | 53 | #endif |