Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Road to embedded-hal 1.0 #142

Open
4 of 6 tasks
Finomnis opened this issue Nov 5, 2023 · 5 comments
Open
4 of 6 tasks

Road to embedded-hal 1.0 #142

Finomnis opened this issue Nov 5, 2023 · 5 comments
Labels
help wanted Extra attention is needed

Comments

@Finomnis
Copy link
Contributor

Finomnis commented Nov 5, 2023

This is a tracking issue of our progress and tasks to integrate the upcoming 1.0 version of embedded-hal.

TODO: Link the migration guide here (rust-embedded/embedded-hal#283)

Tasks for embedded-hal (applicable as of RC1):

@mciantyre
Copy link
Member

No preference for or against breaking changes. Folks should feel free to explore new driver designs if they're warranted for embedded-hal 1.0. I'd still like to maintain some kind of embedded-hal 0.2 support. We could implement both traits with our drivers, or we recommend something like embedded-hal-compat.

It might also be nice to support the async embedded-hal traits. My past attempts with async embedded i.MX RT drivers taught me what not to do, so I'm looking for help here. I hope to see approaches that are decoupled from any async runtime, though I'm not sure if that's possible or a good idea.

@mciantyre mciantyre pinned this issue Nov 25, 2023
@mciantyre mciantyre added the help wanted Extra attention is needed label Nov 25, 2023
@Finomnis
Copy link
Contributor Author

My plan is currently to implement purely the async version and convert them to blocking with the cassette crate. I do have quite some experience with async (I'm the owner of tokio-graceful-shutdown and rewrote tokio's CancellationToken), and I'm motivated to answer questions if someone needs help. :)

@Finomnis
Copy link
Contributor Author

Finomnis commented Nov 25, 2023

I do agree with the plan to decouple from a specific runtime, and I don't think it's hard. So far for my lpspi rework I don't have anything that is specific to rtic or similar. E-h 1.0 seems well thought through.

@Finomnis
Copy link
Contributor Author

Finomnis commented Dec 21, 2023

@mciantyre For timer adapters, can't we use rtic-monotonics? While having rtic in its name, it's actually runtime agnostic and supports eh1 and eh1-async. (Disclaimer: I implemented it)

@Finomnis

This comment was marked as resolved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants