pub struct AsyncBme680<I2C, D> { /* private fields */ }embedded-hal-async only.Expand description
Asynchronous BME680 sensor driver.
This struct is similar to the Bme680 type, except that it
uses the embedded_hal_async crate’s I2c and Delay traits, rather
than the embedded_hal versions of those traits.
§Notes
The AsyncBme680::new constructor is not asynchronous, and therefore —
unlike the synchronous Bme680::new — it does not initialize the
sensor. Instead, the sensor must be initialized using the
AsyncBme680::initialize method before reading sensor data. Otherwise,
the AsyncBme680::measure method will return BmeError::Uninitialized.
Implementations§
Source§impl<I2C, D> AsyncBme680<I2C, D>
impl<I2C, D> AsyncBme680<I2C, D>
Sourcepub fn new(
i2c_interface: I2C,
device_address: DeviceAddress,
delayer: D,
ambient_temperature: i32,
) -> Self
pub fn new( i2c_interface: I2C, device_address: DeviceAddress, delayer: D, ambient_temperature: i32, ) -> Self
Creates a new instance of the Sensor
§Arguments
delayer- Used to wait for the triggered measurement to finishambient_temperature- Needed to calculate the heater target temperature
§Notes
This constructor is not asynchronous, and therefore — unlike the
synchronous Bme680::new — it does not initialize the sensor.
Instead, the sensor must be initialized using the
AsyncBme680::initialize method before reading sensor data.
Otherwise, the AsyncBme680::measure method will return
BmeError::Uninitialized.
pub async fn initialize( &mut self, sensor_config: &Configuration, ) -> Result<(), BmeError<I2C>>
pub async fn put_to_sleep(&mut self) -> Result<(), BmeError<I2C>>
Sourcepub fn into_inner(self) -> I2C
pub fn into_inner(self) -> I2C
Returns the wrapped i2c interface
pub async fn set_configuration( &mut self, config: &Configuration, ) -> Result<(), BmeError<I2C>>
Sourcepub async fn measure(&mut self) -> Result<MeasurmentData, BmeError<I2C>>
pub async fn measure(&mut self) -> Result<MeasurmentData, BmeError<I2C>>
Trigger a new measurement.
§Errors
If no new data is generated in 5 tries a Timeout error is returned.