hl: add async
- [x] requires #200
- [x] need to test on both stable & nightly to maintain compatibility
- [ ] test very basics (mock async UDP write)
- [x] update changelog
Not Useful
This is not a useful implementation as-is because the interrupt line needs to be managed for true async... Manage the interrupt line with the EHA0 GPIO traits, those should register wakers with the associated framework. Still need to think about if mutexing for separate socket structures is (sanely) possible with async.
Are there any updates on the async api? What needs to be done for the registers interrupts to be handled asynchronously?
async interrupts are easy enough with the embedded-hal-async abstraction for GPIOs. Aside from that not much has been done since this PR, other projects have been taking my time away from this.
async interrupts are easy enough with the embedded-hal-async abstraction for GPIOs. Aside from that not much has been done since this PR, other projects have been taking my time away from this.
Would you be interested in guiding me on how to finish it up?
embedded-hal-async sounds perfect since embassy-embedded-hal also relies on in for e.g. sharing an SPI bus.
The async portion of this requires a significant departure from the synchronous API to be useful, and I don't have a clear enough picture in my mind of what the final product would look like to guide someone, sorry.
A couple of people have messaged me on matrix about this as well, maybe they're subscribed to this issue and offer some guidance.