> That said.. Maybe there is some equivalent for ESP32? I'm just not aware of it. You can do some other cool stuff with ESP32s. Like run Micropython and Javascript. You can also have wifi and related interrupts on one core and realtime stuff on another core (though I haven't exactly figured out how you'd set this up without using an RTOS)
Nim's async for networking is all there. ESP32's use a modified FreeRTOS with LwIP which Nim has OS level support for now. So Nim provides async http, json libraries, etc all in a about an extra 100kB of flash memory! IMHO, Nim has a nice Pythonic syntax but still lets you do low level real time code. With the ESP32's you can create "tasks" and use either events or data queues (see `rpcsocket_queue_mpack.nim` in Nesper).
Caveat emptor, Nesper is a wrap of the native ESP32 libraries. There's still bugs in wrapping the various apis, but mostly simple ones. Also I'd like to setup async for interrupts...
To shamelessly plug my own project I've been working on to bring Nim to the ESP32: https://github.com/elcritch/nesper/
For an async http example see: https://github.com/elcritch/nesper/blob/master/esp-idf-examp...
Nim's async for networking is all there. ESP32's use a modified FreeRTOS with LwIP which Nim has OS level support for now. So Nim provides async http, json libraries, etc all in a about an extra 100kB of flash memory! IMHO, Nim has a nice Pythonic syntax but still lets you do low level real time code. With the ESP32's you can create "tasks" and use either events or data queues (see `rpcsocket_queue_mpack.nim` in Nesper).
Caveat emptor, Nesper is a wrap of the native ESP32 libraries. There's still bugs in wrapping the various apis, but mostly simple ones. Also I'd like to setup async for interrupts...