BayEOSArduino Library
CO2K33.h
1 // This is a library for the K33 CO2 module connected to Arduino via I2C
2 #ifndef __CO2K33_H__
3 #define __CO2K33_H__
4 
5 #include "Arduino.h"
6 #include <Wire.h>
7 
8 
9 /*=========================================================================
10 I2C ADDRESS/BITS
11 -----------------------------------------------------------------------*/
12 #define CO2K33_ADDRESS (0x68)
13 /*=========================================================================*/
14 
15 class CO2K33
16  {
17  public:
18  CO2K33(void);
19  void begin(void);
20 
21 /*
22  * readRAM Commands
23  *
24  * reads specific RAM address and transforms result into float
25  * returns NAN on checksum error
26  */
27  float readTemperature(void);
28  float readCO2(void);
29  float readHumidity(void);
30  float readABC(void);
31  /*
32  * writeRAM Commands
33  *
34  * returns
35  * 0 on success
36  * 1 on not complete
37  * 2 on checksum error
38  * 3 on other error
39  */
40  uint8_t zeroCalibration(void);
41  uint8_t backgroundCalibration(void);
42  uint8_t triggerMeasurement(void);
43  uint8_t disableABC(void);
44 
45  private:
46  void wakeUp(void);
47  float readRAM(uint8_t memaddr);
48  uint8_t writeRAM(uint8_t memaddr,uint8_t* command, uint8_t length);
49  float readEEPROM(uint8_t memaddr);
50  uint8_t writeEEPROM(uint8_t memaddr,uint8_t* command, uint8_t length);
51  uint8_t i;
52  uint8_t buffer[4];
53  int value;
54 
55  };
56 
57 #endif
Definition: CO2K33.h:16