Ultimo: an interface framework based on async iterators #15866
corranwebster
started this conversation in
Show and tell
Replies: 2 comments 2 replies
-
Certain features in MicroPython's uasyncio may not fully align with CPython's asyncio. For example, versions of MicroPython earlier than 1.17 have some differences in how uasyncio behaves (e.g., memory allocation in tasks), so it would be worth testing Ultimo on different MicroPython versions |
Beta Was this translation helpful? Give feedback.
1 reply
-
Is this line of code (above) correct? await asyncio.gather(led_brightness.create_task()) shouldn't it read await asyncio.gather(asyncio.create_task(led_brightness)) ? Re old firmware versions I think it's valid to state "This library requires firmware version or later". Maybe check the version in code and throw if necessary, |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Over the last few weeks I've put together Ultimo a Micropython framework for
uasyncio
-based interface code built around tasks that consume async iterators.For example, you can write code like the following to print temperature and time asynchronously on a Raspberry Pi Pico as follows:
Ultimo also provides convenience decorators and a syntax for building data-flow pipelines from basic building blocks using the bitwise-or (or "pipe" operator):
Because Ultimo is built on top of the standard
asyncio.Task
infrastructure it should interoperate well with standardasyncio
code.Hopefully other people will find this useful.
Github: https://github.com/unital/ultimo
Documentation: https://unital.github.io/ultimo/
Tutorial: https://unital.github.io/ultimo/user_guide/tutorial.html
Examples: https://unital.github.io/ultimo/user_guide/examples.html
Disclaimers:
Beta Was this translation helpful? Give feedback.
All reactions