3
3
This repository comprises the following parts.
4
4
1 . A modified [ fast_io] ( ./FASTPOLL.md ) version of ` uasyncio ` . This is a "drop
5
5
in" replacement for the official version providing additional functionality.
6
- 2 . A module enabling the ` fast_io ` version to run with very low power draw.
7
- 3 . Resources for users of official or ` fast_io ` versions:
6
+ 2 . A module enabling the [ fast_io] ( ./FASTPOLL.md ) version to run with very low
7
+ power draw.
8
+ 3 . Resources for users of official or [ fast_io] ( ./FASTPOLL.md ) versions:
8
9
9
10
* [ A tutorial] ( ./TUTORIAL.md ) An introductory tutorial on asynchronous
10
11
programming and the use of the ` uasyncio ` library (asyncio subset).
@@ -98,6 +99,11 @@ provides a facility for reducing I/O latency which can substantially improve
98
99
the performance of stream I/O drivers. It provides other features aimed at
99
100
providing greater control over scheduling behaviour.
100
101
102
+ To take advantage of the reduced latency device drivers should be written to
103
+ employ stream I/O. To operate at low latency they are simply run under the
104
+ ` fast_io ` version. The [ tutorial] ( ./TUTORIAL.md#54-writing-streaming-device-drivers )
105
+ has details of how to write streaming drivers.
106
+
101
107
## 4.1 A Pyboard-only low power module
102
108
103
109
This is documented [ here] ( ./lowpower/README.md ) . In essence a Python file is
@@ -107,12 +113,14 @@ using `uasyncio` in battery powered projects.
107
113
108
114
## 4.2 Historical note
109
115
110
- This repo formerly included ` asyncio_priority.py ` which is replaced . Its main
116
+ This repo formerly included ` asyncio_priority.py ` which is obsolete . Its main
111
117
purpose was to provide a means of servicing fast hardware devices by means of
112
- coroutines running at a high priority. The official firmware now includes
118
+ coroutines running at a high priority. This was essentially a workround.
119
+
120
+ The official firmware now includes
113
121
[ this major improvement] ( https://github.com/micropython/micropython/pull/3836 )
114
- which offers a much more efficient way of achieving this end. The tutorial has
115
- details of how to use this .
122
+ which offers a much more efficient way of achieving the same end using stream
123
+ I/O and efficient polling using ` select.poll ` .
116
124
117
125
# 5. The asyn.py library
118
126
0 commit comments