CO2・TVOCsセンサCCS811を使うためのライブラリ

Dependents:   SWAN_IZU2019_v1

Committer:
Sigma884
Date:
Tue Feb 19 12:36:25 2019 +0000
Revision:
0:b0dd8ce53a43
MODE -> CCS_MODE

Who changed what in which revision?

UserRevisionLine numberNew 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