This project looks great.
We also have an extensive concept for cooperative, stackless
multitasking, based on Dunkels Protothreads , which we expanded on
with Resumable Functions  which are used in all device drivers to
make communication non-blocking and allow multiple device drivers on
the same bus to safely access it.
This form of multithreading is very resource friendly since it does
not require context switches and only the main call stack (literally 2
bytes of RAM per Protothread).
However, this is quite an advanced topic and there are disadvantages
to this approach compared to a full real-time operating system (power
efficiency, hard real-time), such as mbed os or riot-os, however, they
do not necessarily work well on AVRs.
Could you please expand on the disadvantages to power-efficiency or
hard real-time ? And how bad are those ?
xpcc-dev mailing list