Struct esp_ward::peripherals::sgp30::Sgp30Sensor
source · pub struct Sgp30Sensor {
pub inner: Sgp30<I2C<'static, I2C0>, Delay>,
pub delay: Delay,
}
Expand description
Represents an SGP30 air quality sensor.
Fields§
§inner: Sgp30<I2C<'static, I2C0>, Delay>
The internal SGP30 sensor instance.
delay: Delay
Delay provider for timing-sensitive operations.
Trait Implementations§
source§impl CO2Sensor for Sgp30Sensor
impl CO2Sensor for Sgp30Sensor
source§fn get_co2(&mut self) -> Result<f32, PeripheralError>
fn get_co2(&mut self) -> Result<f32, PeripheralError>
Measures the CO2 concentration in the air.
§Returns
A result containing the CO2 concentration in ppm (parts per million) as
Ok(f32)
if successful, or an error of type PeripheralError
if the
measurement fails.
source§impl I2cPeriph for Sgp30Sensor
impl I2cPeriph for Sgp30Sensor
source§fn create_on_i2c(
bus: I2C<'static, I2C0>,
delay: Delay
) -> Result<Self::Returnable, PeripheralError>
fn create_on_i2c( bus: I2C<'static, I2C0>, delay: Delay ) -> Result<Self::Returnable, PeripheralError>
Creates and initializes an SGP30 sensor over the I2C bus.
Initializes the sensor and starts the air quality measurement process.
§Arguments
bus
- The I2C bus instance to communicate with the sensor.delay
- A delay provider for timing-sensitive operations during initialization.
§Returns
A result containing the initialized Sgp30Sensor
or an error of type
PeripheralError
if initialization fails.
type Returnable = Sgp30Sensor
source§impl UnifiedData for Sgp30Sensor
impl UnifiedData for Sgp30Sensor
source§fn read(&mut self, _delay: Delay) -> Result<Self::Output, PeripheralError>
fn read(&mut self, _delay: Delay) -> Result<Self::Output, PeripheralError>
Reads the CO2 concentration in the air and VOC from the SGP30 sensor.
§Returns
Returns an Ok((f32, f32))
representing the relative
CO2 concentration(ppm) and VOC in the air if the
read is successful, or Err(PeripheralError::ReadError)
if the data
from sensor cannot be read.
type Output = (f32, f32)
source§impl VOCSensor for Sgp30Sensor
impl VOCSensor for Sgp30Sensor
source§fn get_voc(&mut self) -> Result<f32, PeripheralError>
fn get_voc(&mut self) -> Result<f32, PeripheralError>
Measures the VOC in the air.
§Returns
A result containing the VOC as Ok(f32)
if successful, or an error of
type PeripheralError
if the measurement fails.