Skip to content

Commit 4967b68

Browse files
committed
V3/README.md Move V2 porting guide to end.
1 parent 7f3ffe1 commit 4967b68

File tree

2 files changed

+29
-20
lines changed

2 files changed

+29
-20
lines changed

v3/README.md

Lines changed: 26 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,12 @@ This [lightweight scheduler](./docs/SCHEDULE.md) enables tasks to be scheduled
3131
at future times. These can be assigned in a flexible way: a task might run at
3232
4.10am on Monday and Friday if there's no "r" in the month.
3333

34+
### A monitor
35+
36+
This [monitor](./as_demos/monitor/README.md) enables a running `uasyncio`
37+
application to be monitored using a Pi Pico, ideally with a scope or logic
38+
analyser.
39+
3440
### Asynchronous device drivers
3541

3642
These device drivers are intended as examples of asynchronous code which are
@@ -80,6 +86,26 @@ supported.
8086
The `Future` class is not supported, nor are the `event_loop` methods
8187
`call_soon`, `call_later`, `call_at`.
8288

89+
## 2.1 Outstanding issues with V3
90+
91+
V3 is still a work in progress. The following is a list of issues which I hope
92+
will be addressed in due course.
93+
94+
### 2.1.1 Fast I/O scheduling
95+
96+
There is currently no support for this: I/O is scheduled in round robin fashion
97+
with other tasks. There are situations where this is too slow, for example in
98+
I2S applications and ones involving multiple fast I/O streams, e.g. from UARTs.
99+
In these applications there is still a use case for the `fast_io` V2 variant.
100+
101+
### 2.1.2 Synchronisation primitives
102+
103+
These CPython primitives are outstanding:
104+
* `Semaphore`.
105+
* `BoundedSemaphore`.
106+
* `Condition`.
107+
* `Queue`.
108+
83109
# 3. Porting applications from V2
84110

85111
Many applications using the coding style advocated in the V2 tutorial will work
@@ -182,23 +208,3 @@ New versions are provided in this repository. Classes:
182208
* `Delay_ms` Software retriggerable monostable (watchdog-like object).
183209
* `Switch` Debounced switch with close and open callbacks.
184210
* `Pushbutton` Pushbutton with double-click and long press callbacks.
185-
186-
# 4. Outstanding issues with V3
187-
188-
V3 is still a work in progress. The following is a list of issues which I hope
189-
will be addressed in due course.
190-
191-
## 4.1 Fast I/O scheduling
192-
193-
There is currently no support for this: I/O is scheduled in round robin fashion
194-
with other tasks. There are situations where this is too slow, for example in
195-
I2S applications and ones involving multiple fast I/O streams, e.g. from UARTs.
196-
In these applications there is still a use case for the `fast_io` V2 variant.
197-
198-
## 4.2 Synchronisation primitives
199-
200-
These CPython primitives are outstanding:
201-
* `Semaphore`.
202-
* `BoundedSemaphore`.
203-
* `Condition`.
204-
* `Queue`.

v3/as_demos/monitor/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,3 +207,6 @@ The baudrate of 1Mbps was chosen to minimise latency (10μs per character is
207207
fast in the context of uasyncio). It also ensures that tasks like `hog_detect`,
208208
which can be scheduled at a high rate, can't overflow the UART buffer. The
209209
1Mbps rate seems widely supported.
210+
211+
This project was inspired by
212+
[this GitHub thread](https://github.com/micropython/micropython/issues/7456).

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy