Asynchronous programming in MicroPython
CPython supports asynchronous programming via the
uasyncio which is a subset of this, optimised for small
code size and high performance on bare metal targets. This repository provides
documentation, tutorial material and code to aid in its effective use.
uasyncio version 3
Damien has completely rewritten
uasyncio which was released as V3.0. See
PR5332. This is now
incorporated in release build V1.13 and subsequent daily builds.
Resources for V3 may be found in the
v3 directory. These include a guide to
porting applications from V2, an updated tutorial, synchronisation primitives
and various applications and demos.
V2 should now be regarded as obsolete for almost all applications with the possible exception mentioned below.
uasyncio version 2
The official version 2 is entirely superseded by V3, which improves on it in every respect.
I produced a modified
fast_io variant of V2 which is in use for some
specialist purposes. It enables I/O to be scheduled at high priority. Currently
this schedules I/O significantly faster than V3; the maintainers plan to
uasyncio I/O scheduling. When this is complete I intend to delete all
All V2 resources are in the V2 subdirectory: see this README.