dbrgn/shtcx-rs

Async implementation

elpiel opened this issue · 6 comments

I would like to ask if there is interest in making an async version of the crate?

I'm using the sensor in an embassy project and while some other sensors use async version of the I2C bus and I can use embassy_embedded_hal::shared_bus::asynch::i2c::I2cDevice to share the bus across multiple tasks, it's not possible to use a driver crate with a blocking I2C impl.

So far I haven't yet played with embassy. I assume it uses the traits from embedded-hal-async, right?

Yes, indeed. There's already a RC version for -async so it might get stabilised especially with AFIT (async fn. In traits) hitting 1.75

@dbrgn both embedded-hal and embedded-hal-async are on v1.0.0
It would be amazing to update the crate and support the stable version of the hal crates.

Support for e-h 1.0 is tracked in #31. Once that's in, it probably makes sense to add an optional feature for embedded-hal-async as well.

Can you expect an async version soon?

Can you expect an async version soon?

Only if somebody steps up and contributes an initial implementation.

Something that should be taken into account is that #38 should probably be handled before adding async support (since it might have interactions, potentially even benefits).