PAS CO2 Sensor  1.0.3
C++ library for Infineon Photoacoustic Spectroscopy (PAS) XENSIV™ CO2 miniaturized sensor
PAS CO2 Types
Collaboration diagram for PAS CO2 Types:

Classes

struct  pasco2::MeasStatus_t
 
struct  pasco2::Diag_t
 

Error codes

enum  pasco2::Error_t {
  pasco2::OK = 0, pasco2::INTF_ERROR = -1, pasco2::RESET_ERROR = -2, pasco2::CONFIG_ERROR = -3,
  pasco2::IC_ERROR = -14, pasco2::IC_POWERON_ERROR = -15, pasco2::IC_POWER12V_ERROR = -16, pasco2::IC_TEMP_ERROR = -17,
  pasco2::IC_COMM_ERROR = -18
}
 

Power status flags

enum  pasco2::StatusFlags_t { pasco2::POWER3V3 = 0x02, pasco2::POWER12V = 0x04 }
 

Sensor status

enum  pasco2::Status_t {
  pasco2::UNINITED = 0x00, pasco2::INITED = 0x01, pasco2::LOGIC_ONLY_ON = INITED | POWER3V3, pasco2::IR_ONLY_ON = INITED | POWER12V,
  pasco2::ON = LOGIC_ONLY_ON | IR_ONLY_ON
}
 

Operation modes

enum  pasco2::OpMode_t { pasco2::MODE_IDLE = 0, pasco2::MODE_SINGLE_SHOT = 1, pasco2::MODE_CONTINUOUS_MEAS = 2 }
 

PWM modes

enum  pasco2::PWMMode_t { pasco2::PWM_SINGLE_PULSE = 0, pasco2::PWM_TRAIN_PULSE = 1 }
 

Automatic baseline compensation modes

enum  pasco2::ABOC_t { pasco2::ABOC_DISABLED = 0, pasco2::ABOC_ENABLED_PERIODIC = 1, pasco2::ABOC_ENABLED_FORCED = 2 }
 

Sensor interfaces

enum  pasco2::Intf_t { pasco2::INTF_PWM, pasco2::INTF_UART, pasco2::INTF_I2C }
 

Interrupt modes

enum  pasco2::Int_t {
  pasco2::INT_DISABLED = 0, pasco2::INT_ALARM_ACTIVE = 1, pasco2::INT_DATA_READY = 2, pasco2::INT_SERIAL_BUS_BUSY = 3,
  pasco2::INT_EARLY_MEAS = 4
}
 

Interrupt output configuration

enum  pasco2::IntIOConf_t { pasco2::INT_IO_PUSH_PULL_ACTIVE_LOW = 0, pasco2::INT_IO_PUSH_PULL_ACTIVE_HIGH = 1 }
 

Alarm threshold modes

enum  pasco2::Alarm_t { pasco2::ALARM_TH_CROSS_DOWN = 0, pasco2::ALARM_TH_CROSS_UP = 1 }
 

Detailed Description

Enumeration Type Documentation

◆ Error_t

Enumerator
OK 

Success. No error

INTF_ERROR 

Interface error

RESET_ERROR 

Reset error

CONFIG_ERROR 

Configuration error

IC_ERROR 

Sensor internal error

IC_POWERON_ERROR 

Power on internal error

IC_POWER12V_ERROR 

IR power internal error

IC_TEMP_ERROR 

Temperature excedded error

IC_COMM_ERROR 

Serial communication interface internal error

◆ StatusFlags_t

Enumerator
POWER3V3 

VDD power 3V3 enabled mask

POWER12V 

IR emitter 12V enabled mask

◆ Status_t

Enumerator
UNINITED 

Controller peripherals not initialized

INITED 

Controller peripherals initialized. Sensor off

LOGIC_ONLY_ON 

Sensor VDD power on

IR_ONLY_ON 

Sensor IR emitter power on

ON 

Sensor and IR emitter power on

◆ OpMode_t

Enumerator
MODE_IDLE 

Idle mode. No measurement is performed

MODE_SINGLE_SHOT 

Single shot. Triggers one measurement and returns to idle

MODE_CONTINUOUS_MEAS 

Periodic measurement mode

◆ PWMMode_t

Enumerator
PWM_SINGLE_PULSE 

PWM Single pulse per measurement

PWM_TRAIN_PULSE 

PWM Train of 160 pulses per measurement

◆ ABOC_t

Enumerator
ABOC_DISABLED 

ABOC disabled

ABOC_ENABLED_PERIODIC 

ABOC enabled (weekly period)

ABOC_ENABLED_FORCED 

ABOC forced for factory calibration. After 10 meas, the ABOC conf changes to periodic mode

◆ Intf_t

Enumerator
INTF_PWM 

PWM interface

INTF_UART 

UART interface

INTF_I2C 

I2C interface

◆ Int_t

Enumerator
INT_DISABLED 

Interrupt disabled

INT_ALARM_ACTIVE 

Interrupt on alarm activation

INT_DATA_READY 

Interrupt on measurement data ready

INT_SERIAL_BUS_BUSY 

Interrupt on serial bus busy

INT_EARLY_MEAS 

Interrupt before starting measurement

◆ IntIOConf_t

Enumerator
INT_IO_PUSH_PULL_ACTIVE_LOW 

Interrupt voltage low enabled

INT_IO_PUSH_PULL_ACTIVE_HIGH 

Interrupt voltage high enabled

◆ Alarm_t

Enumerator
ALARM_TH_CROSS_DOWN 

Cross down threshold mode

ALARM_TH_CROSS_UP 

Cross up threshold mode