PAS CO2 Sensor  1.0.3
C++ library for Infineon Photoacoustic Spectroscopy (PAS) XENSIV™ CO2 miniaturized sensor
pas-co2-serial-ino.hpp
Go to the documentation of this file.
1 
10 #ifndef PAS_CO2_SERIAL_INO_HPP_
11 #define PAS_CO2_SERIAL_INO_HPP_
12 
13 #include "pas-co2-conf.hpp"
14 
15 #if IS_INTF(PAS_CO2_INTF_SERIAL)
16 
17 #include <Arduino.h>
18 #include <Wire.h>
19 #include <HardwareSerial.h>
20 #include "pas-co2-serial.hpp"
21 #include "pas-co2-i2c.hpp"
22 #include "pas-co2-uart.hpp"
23 #include "pas-co2-pal-gpio-ino.hpp"
25 #include "pas-co2-pal-i2c-ino.hpp"
26 #include "pas-co2-pal-uart-ino.hpp"
27 #include "pas-co2-platf-ino.hpp"
28 
35 {
36  public:
37 
38  #if IS_INTF(PAS_CO2_INTF_I2C)
39 
40  /* I2C interface */
41  PASCO2SerialIno(TwoWire * wire = nullptr,
42  uint8_t intPin = GPIOIno::unusedPin,
43  uint8_t protoSelectPin = GPIOIno::unusedPin,
44  uint8_t power3V3Pin = GPIOIno::unusedPin,
45  uint8_t power12VPin = GPIOIno::unusedPin);
46 
47  #endif
48 
49  #if IS_INTF(PAS_CO2_INTF_UART)
50 
51  /* UART interface */
52  PASCO2SerialIno(HardwareSerial * serial,
53  uint8_t intPin = GPIOIno::unusedPin,
54  uint8_t protoSelectPin = GPIOIno::unusedPin,
55  uint8_t power3V3Pin = GPIOIno::unusedPin,
56  uint8_t power12VPin = GPIOIno::unusedPin);
57  #endif
58 
60 
72  Error_t begin () { return enable(); };
73 
84  Error_t end () { return disable(); };
85 
86  private:
87 
88  #if IS_INTF(PAS_CO2_INTF_I2C)
89  I2CPALIno * i2cpal;
90  pasco2::I2C * i2c;
91  #endif
92 
93 
94  #if IS_INTF(PAS_CO2_INTF_UART)
95  UARTPALIno * uartpal;
96  pasco2::UART * uart;
97  #endif
98 
99  TimerIno * timer;
100  GPIOIno * interrupt;
101  GPIOIno * protoSelect;
102  GPIOIno * power3V3;
103  GPIOIno * power12V;
104 };
105 
108 #endif
109 #endif
PAS CO2 GPIO Arduino PAL.
PAS CO2 Serial API.
Definition: pas-co2-serial-ino.hpp:34
PAS CO2 Timer Arduino PAL.
PASCO2SerialIno(TwoWire *wire=nullptr, uint8_t intPin=GPIOIno::unusedPin, uint8_t protoSelectPin=GPIOIno::unusedPin, uint8_t power3V3Pin=GPIOIno::unusedPin, uint8_t power12VPin=GPIOIno::unusedPin)
PAS CO2 Serial Arduino Constructor.
Definition: pas-co2-serial-ino.cpp:41
Definition: pas-co2-uart.hpp:31
Error_t
Definition: pas-co2-types.hpp:24
PAS CO2 UART Protocol.
Error_t disable()
Disables the sensor.
Definition: pas-co2-serial.cpp:118
~PASCO2SerialIno()
PAS CO2 Serial Arduino Destructor.
Definition: pas-co2-serial-ino.cpp:107
static const uint8_t unusedPin
Definition: pas-co2-pal-gpio-ino.hpp:32
PAS CO2 UART Arduino PAL.
Error_t end()
Ends the sensor.
Definition: pas-co2-serial-ino.hpp:84
Definition: pas-co2-pal-timer-ino.hpp:22
Error_t begin()
Begins the sensor.
Definition: pas-co2-serial-ino.hpp:72
Definition: pas-co2-i2c.hpp:29
Definition: pas-co2-pal-i2c-ino.hpp:27
PAS CO2 I2C Protocol.
PAS CO2 Arduino Hardware Platforms.
Definition: pas-co2-pal-gpio-ino.hpp:23
PAS CO2 I2C Arduino PAL.
Definition: pas-co2-serial.hpp:27
Definition: pas-co2-pal-uart-ino.hpp:27
Error_t enable()
Enables the sensor.
Definition: pas-co2-serial.cpp:78
PAS CO2 Library Configuration.