Skip to content

[pull] master from peterhinch:master #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 34 commits into from
Feb 22, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
36503b3
pushbutton.py: Fix iss 115.
peterhinch Jan 27, 2024
d5edede
pushbutton.py: Fix iss 115.
peterhinch Jan 27, 2024
ccc21a0
events.py: Add ELO class.
peterhinch Feb 8, 2024
99421dc
TUTORIAL: Remove task groups. A wish unfulfilled...
peterhinch Feb 8, 2024
e7a4752
Remove obsolete V2. Add StreamReader timeout demo and tutorial text.
peterhinch Feb 16, 2024
6549e81
Finish removal of V2 relics.
peterhinch Feb 16, 2024
0fb2f22
Docs and code: Remove all references to uasyncio.
peterhinch May 9, 2024
65b2f75
Update TUTORIAL.md
mishal Jun 18, 2024
86125af
Merge pull request #123 from 2000cubits/mishal-iowr-patch-1
peterhinch Jun 19, 2024
af12a3c
v3/README.md: Fix author notes.
peterhinch Aug 13, 2024
b305739
Tutorial: Correct error in section 7.6 re select.poll.
peterhinch Aug 28, 2024
9b6f58d
SCHEDULE.md: Add note re DST under Unix build.
peterhinch Sep 5, 2024
c79fb00
SCHEDULE.md: Correct notes on DST under Unix build.
peterhinch Sep 9, 2024
f0054be
Tutorial: Impove section on Lock primitive.
peterhinch Sep 23, 2024
d533d81
Tutorial: Impove section on Lock primitive.
peterhinch Sep 23, 2024
5575954
Tutorial: Impove section on Lock primitive.
peterhinch Sep 23, 2024
977f0ad
Tutorial: Fix indentation error in ThreadSafe flag example.
peterhinch Oct 19, 2024
51f0bc0
Tutorial: ThreadSafeFlag add clear method.
peterhinch Oct 19, 2024
f1fff20
primitives/encoder.py: Simplify code.
peterhinch Oct 19, 2024
b4becb1
Tutorial: Improve section on polling ThreadSafeFlag.
peterhinch Oct 19, 2024
22a695e
encoder.py: Fix declaration of __anext__.
peterhinch Oct 20, 2024
12f0be6
Docs: Add official RingIO class.
peterhinch Oct 30, 2024
d059887
Primitives: Add Broker class.
peterhinch Nov 29, 2024
7d0b3d3
DRIVERS.md: Broker - clarify Queue becoming full.
peterhinch Nov 30, 2024
709663d
broker: Prior to adding args.
peterhinch Dec 1, 2024
596e463
broker.py: Agents can have args.
peterhinch Dec 1, 2024
dac5b88
broker.py: Validate subscriptions.
peterhinch Dec 2, 2024
e6f4a33
Docs: improve Broker coverage.
peterhinch Dec 15, 2024
3838e1f
htu21d: I2C address is constructor arg (iss #130)
peterhinch Dec 20, 2024
88a0446
DRIVERS.md: Improvements to Broker docs.
peterhinch Dec 29, 2024
6c59025
set dirty to false sooner
n1kdo Jan 2, 2025
e2aae43
Merge pull request #132 from n1kdo/fix-alcd-race-condition
peterhinch Jan 3, 2025
cd56ee0
Tutorial: add link to event based programming doc.
peterhinch Jan 10, 2025
197c2b5
Broker: add wildcard subscriptions.
peterhinch Jan 11, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 10 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,34 +1,24 @@
# Asynchronous programming in MicroPython

CPython supports asynchronous programming via the `asyncio` library.
MicroPython provides `uasyncio` which is a subset of this, optimised for small
MicroPython provides `asyncio` 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
# asyncio version 3

Damien has completely rewritten `uasyncio` which was released as V3.0. See
[PR5332](https://github.com/micropython/micropython/pull/5332). This is now
incorporated in release build V1.13 and subsequent daily builds.
Damien has completely rewritten `asyncio` which was released as V3.0. This is
incorporated in all recent firmware builds. The resources in this repo may be found in the
`v3` directory. These include a tutorial, synchronisation primitives, drivers,
applications and demos.

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.
# Concurrency

V2 should now be regarded as obsolete for almost all applications with the
possible exception mentioned below.
Other documents provide hints on asynchronous programming techniques including
threading and multi-core coding.

### [Go to V3 docs](./v3/README.md)

# 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
improve `uasyncio` I/O scheduling. When this is complete I intend to delete all
V2 material.

All V2 resources are in the V2 subdirectory: [see this README](./v2/README.md).
This is obsolete: code and docs have been removed.
231 changes: 0 additions & 231 deletions aswitch.py

This file was deleted.

Loading