pub trait AirQualityDriver<'a> {
// Required methods
fn set_client(&self, client: &'a dyn AirQualityClient);
fn specify_environment(
&self,
temp: Option<i32>,
humidity: Option<u32>,
) -> Result<(), ErrorCode>;
fn read_co2(&self) -> Result<(), ErrorCode>;
fn read_tvoc(&self) -> Result<(), ErrorCode>;
}
Expand description
A basic interface for a Air Quality sensor
Required Methods§
Sourcefn set_client(&self, client: &'a dyn AirQualityClient)
fn set_client(&self, client: &'a dyn AirQualityClient)
Set the client to be notified when the capsule has data ready.
Sourcefn specify_environment(
&self,
temp: Option<i32>,
humidity: Option<u32>,
) -> Result<(), ErrorCode>
fn specify_environment( &self, temp: Option<i32>, humidity: Option<u32>, ) -> Result<(), ErrorCode>
Specify the temperature and humidity used in calculating the air quality.
The temperature is specified in degrees Celsius and the humidity is specified as a percentage.
This is an optional call and doesn’t have to be used, but on most hardware can be used to improve the measurement accuracy.
This function might return the following errors:
BUSY
: Indicates that the hardware is busy with an existing operation or initialisation/calibration.NOSUPPORT
: Indicates that this data type isn’t supported.
Sourcefn read_co2(&self) -> Result<(), ErrorCode>
fn read_co2(&self) -> Result<(), ErrorCode>
Read the CO2 or equivalent CO2 (eCO2) from the sensor.
This will trigger the AirQualityClient
co2_data_available()
callback when the data is ready.
This function might return the following errors:
BUSY
: Indicates that the hardware is busy with an existing operation or initialisation/calibration.NOSUPPORT
: Indicates that this data type isn’t supported.
Sourcefn read_tvoc(&self) -> Result<(), ErrorCode>
fn read_tvoc(&self) -> Result<(), ErrorCode>
Read the Total Organic Compound (TVOC) from the sensor.
This will trigger the AirQualityClient
tvoc_data_available()
callback when the data is ready.
This function might return the following errors:
BUSY
: Indicates that the hardware is busy with an existing operation or initialisation/calibration.NOSUPPORT
: Indicates that this data type isn’t supported.