ahtx0 0.1.2

An async driver implementation for the AHT10 and AHT20 sensors (no-std)
Documentation
# Introduction

![screenshot of the TUI example program](example-screenshot.png)

This is an async implementation of the ATH10 and ATH20 thermo-hygro sensor
that relies on hardware abstraction crates for platform agnosticism.  It
supports asyncronous using executors such as tokio or Embassy.

# Supported Devices

This has been tested with the Adafruit AHT20 breakout board using the
STEMMA QT/Qwiic connection standard.

# Asynchronous

This driver is based in part on the excellent shtcx-rs crate.  However,
while the shtcx-rs crate includes non-blocking and clocking methods this
crate provides only async methods.  There is a blocking version available
on crates.io: adafruit-aht10.

# Usage

Providing an instance of a Delay type is required for most operations
blocking variant requires a blocking `Delay` type that can be wated upon for
processing time required in the sensor.  In the async variant, an async
`Timer` type must be provided.

An example for the async version follows:
```no_run
use ahtx0::ahtx0;
use linux_embedded_hal::{Delay, I2cdev};
use tokio;

// You're going to need some kind of executor here, either embassy or tokio
#[tokio::main]
async fn main() {
    let i2c0 = I2cdev::new("/dev/i2c-3").unwrap();
    let mut delay = Delay;
    let mut aht = ahtx0(i2c0);

    // We don't care that much if calibration failed
    let _ = aht.calibrate(&mut delay).await;

    // To query the device state from the sensor:
    let device_id = aht.state().await.unwrap();

    // and, finally to get the current sensor values:
    let measurement = aht.measure(&mut delay).await;
}
```

The `destroy` method shouldn't be needed in normal
circumstances, but it can be useful when using a mock
because it'll return the i2c device back, which allows
the `done()` method to be called on it.

# Using the example program

To use the provided example, you may need to change the i2c device
to match the one that you've attached the sensor to.  Control-c
to exit.

# Acknowledgements

Many thanks to the authors of the shtcx-rs, and to the team
at Adafruit who wrote the python implementation.  Both were very
helpful in getting started with this.