-
Notifications
You must be signed in to change notification settings - Fork 653
no_std support for a futures executor #1007
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
Comments
This should be quite possible now that async fully works on embedded. Here's a proof of concept from Ferrous Systems (blog post on it). A number of things would have to change about the current single threaded executor to get this to work though. It uses Perhaps a simple, separate bare bones executor would be useful? |
The most basic possible executor requires 2 things that aren't available in
Since these details are platform specific it might be possible to have a generic executor that is capable of having concrete implementations plugged into it for them. But then the generic executor part becomes so trivial I don't see any reason to not just have platform specific executors. |
I think it's reasonable to require an allocator for a generic executor, so things like
Agreed that this is a problem. It could be abstracted as you say, but I suppose you're right, the |
I created a pool based on Should I create PR to discuss it or would it be better for me to publish it in a separate crate? |
Awesome! Either way, I'd be interested to take a look. |
I created a PR containing my work, open for discussion! #2185 |
Maybe this could be integrated in some way? https://github.com/Dirbaio/static-executor |
This comment in #944 gave me some hope that it would soon be possible to use a single-threaded executor with no_std. I would like to be able to use async code for embedded applications. The general-purpose asynchronous CoAP library, mentioned in #860, also sounds very interesting for newer IoT devices. Wouldn't this also require a no_std executor?
The text was updated successfully, but these errors were encountered: