Program Listing for File xensiv_pas_gas_a2l_ino.hpp
↰ Return to documentation for file (src/xensiv_pas_gas_a2l_ino.hpp)
#ifndef PAS_GAS_A2L_INO_HPP_
#define PAS_GAS_A2L_INO_HPP_
#include "corelib/xensiv_pas_gas_a2l.h"
#include "xensiv_pas_gas_ino.hpp"
static const char *XENSIV_PAS_GAS_A2L_GAS_SELECTION_NAMES[] = {"R454b", "R32"};
#define XENSIV_PAS_GAS_A2L_ALARM_HYS_MAX (32767U) // Maximum allowed value for alarm hysteresis
class XENSIV_PAS_GASA2LIno : public XENSIV_PAS_GASIno
{
public:
XENSIV_PAS_GASA2LIno(TwoWire *wire = &Wire, uint8_t intPin = unusedPin)
: XENSIV_PAS_GASIno(SENSOR_A2L, wire, intPin){};
XENSIV_PAS_GASA2LIno(HardwareSerial *serial, uint8_t intPin = unusedPin)
: XENSIV_PAS_GASIno(SENSOR_A2L, serial, intPin){};
~XENSIV_PAS_GASA2LIno();
/******************************** A2L specific functions *****************************/
Error_t getDeviceID(uint8_t &devID);
Error_t getAlarmConfig(bool &activeHigh);
Error_t getABOCCycle(uint8_t &days);
Error_t setABOCCycle(uint8_t days);
Error_t setABOCPrefill(uint8_t hours);
Error_t getDenoiseConfig(uint8_t &smoothing_factor);
Error_t setDenoiseConfig(uint8_t smoothing_factor);
Error_t selfTestErrorClear(bool clear);
String getSelfTestStatusString();
Error_t getAlarmHysteresis(uint16_t &hysteresis);
Error_t setAlarmHysteresis(uint16_t hysteresis);
Error_t getAbsoluteHumidityRef(uint16_t &abs_humidity);
Error_t setAbsoluteHumidityRef(uint16_t abs_humidity);
Error_t enableHumidityCompensation(bool enable);
Error_t isHumidityCompensationEnabled(bool enable);
Error_t setGasSelection(xensiv_pas_gas_a2l_gas_selection_t gas);
Error_t getGasSelection(xensiv_pas_gas_a2l_gas_selection_t &gas);
Error_t getAvailableGases(uint8_t &gas_avail);
/***************************************************************************************/
};
#endif