Struct aht20_driver::AHT20

source ·
pub struct AHT20<I>
where I: Read + Write,
{ /* private fields */ }
Expand description

An AHT20 sensor on the I2C bus I.

The address of the sensor will be SENSOR_ADDRESS from this package, unless there is some kind of special address translating hardware in use.

Implementations§

source§

impl<E, I> AHT20<I>
where I: Read<Error = E> + Write<Error = E>,

source

pub fn new(i2c: I, address: u8) -> Self

Initializes the AHT20 driver.

This consumes the I2C bus I. Before you can get temperature and humidity measurements, you must call the init method which calibrates the sensor. The address will almost always be SENSOR_ADDRESS from this crate.

source

pub fn init( &mut self, delay: &mut (impl DelayUs<u16> + DelayMs<u16>) ) -> Result<AHT20Initialized<'_, I>, Error<E>>

Run the AHT20 init and calibration routines.

This must be called before any other methods except check_status. This method will take at least 40ms to return.

         Start (Power on)
                │
                ▼
            Wait 40 ms
                │
                ▼
          Read  status byte    ◄───    Wait 10 ms
                │                           ▲
                ▼                           │
        Status::Calibrated ──► No ──► Command::Initialize (0xBE)
                │
                ▼
               Yes
source

pub fn destroy(self) -> Self

Destroys this driver and releases the I2C bus I

Auto Trait Implementations§

§

impl<I> Freeze for AHT20<I>
where I: Freeze,

§

impl<I> RefUnwindSafe for AHT20<I>
where I: RefUnwindSafe,

§

impl<I> Send for AHT20<I>
where I: Send,

§

impl<I> Sync for AHT20<I>
where I: Sync,

§

impl<I> Unpin for AHT20<I>
where I: Unpin,

§

impl<I> UnwindSafe for AHT20<I>
where I: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.