53 template <u
int32_t TLoadResistance>
56 static_assert(TLoadResistance >= 450,
"Minimum load resistance 450 Ohm.");
63 : m_referenceResistance(1.0F)
64 , m_referenceHumidity(65)
65 , m_referenceTemperature(20)
81 static_assert(TLoadResistance <= UINT32_MAX / c_vcc,
82 "Load resistance out of range.");
84 if (vout == 0)
return UINT32_MAX;
85 if (vout >= c_vcc)
return 0;
86 return ((c_vcc * TLoadResistance) / vout) - TLoadResistance;
104 if (sensorResistance == UINT32_MAX)
133 m_referenceHumidity = humidity;
144 m_referenceTemperature = temperature;
154 m_referenceResistance = resistance;
166 return m_calibration;
170 void updateCalibration()
172 m_calibration = 0.024F +
173 0.0072F * m_referenceHumidity +
174 0.0246F * m_referenceTemperature;
178 static const uint16_t c_vcc = 5000;
180 float m_referenceResistance;
181 float m_referenceHumidity;
182 float m_referenceTemperature;
Decodes data from Figaro TGS 2600 air contaminants sensors.
Definition: tgs2600.h:54
void setReferenceHumidity(float humidity)
Sets reference humitidty for sensorResistanceCalibrated() and sensorResistanceRelative() ...
Definition: tgs2600.h:131
uint32_t sensorResistanceCalibrated(uint32_t vout) const
Retrieves the calibrated sensor resistance for a given vout.
Definition: tgs2600.h:100
float sensorResistanceRelative(uint32_t vout) const
Retrieves the calibrated relative sensor resistance for a given vout.
Definition: tgs2600.h:121
void setReferenceTemperature(float temperature)
Sets reference temperature for sensorResistanceCalibrated() and sensorResistanceRelative().
Definition: tgs2600.h:142
Namespace containing all symbols of the Sensors library.
Definition: bitdecoder.h:40
uint32_t sensorResistance(uint16_t vout) const
Retrieves the raw sensor resistance for a given vout.
Definition: tgs2600.h:79
void setReferenceResistance(float resistance)
Sets reference resistance for sensorResistanceRelative().
Definition: tgs2600.h:152
float calibration() const
Returns the calculated calibration factor influenced by reference humidity and reference temperature...
Definition: tgs2600.h:164
Tgs2600()
Initializes the TGS 2600 sensor decoder.
Definition: tgs2600.h:62