Page 1 of 1

AsyncRTOS, a framework for asynchronous programming on ESP-IDF. Feedback welcome!

Posted: Sat Apr 29, 2023 9:36 pm
by maikeriva
Hello everyone!

I am not sure whether this is the right section, thus feel free to move this to a more appropriate one.

I recently published AsyncRTOS, a framework to help develop thread-safe and asynchronous applications on multi-core SMP architectures such as ESP32, and I am looking for feedback from other ESP-IDF developers.

You can find the code here: https://github.com/maikeriva/asyncrtos

Essentially, AsyncRTOS allows to create tasks with isolated contexts and which communicate between them through futures in a thread-safe manner, independently of the core they are running on. Like in other programming languages (C#, C++, Java) futures represent the state of an operation, and can be awaited synchronously for their completion or made to asynchronously invoke a callback (async/await).

This effectively allows to build firmwares as ecosystems of modular microservices which communicate deterministically between them with a standardized pattern.

Together with some essential documentation, I released a few IDF components to demo its use and programming patterns (links in repository):
- An idempotent WiFi client, wrapping ESP-IDF's API.
- A Websocket client reimplementation (as I was unsatisfied by the official client).
- JSON-RPC server, client, and peer modules.

I look forward to some feedback, especially on the documentation as I think it can be quite a novel approach to ESP-IDF development :)

Re: AsyncRTOS, a framework for asynchronous programming on ESP-IDF. Feedback welcome!

Posted: Mon May 01, 2023 1:05 am
by locustcox
This looks really cool! Thanks for sharing, I’ll try it out.