uasyncio - asyncio-like cooperative multitasking framework for uPy

Discussion about programs, libraries and tools that work with MicroPython. Mostly these are provided by a third party.
Target audience: All users and developers of MicroPython.
Nezra
Posts: 3
Joined: Mon May 13, 2019 10:36 am

Re: uasyncio - asyncio-like cooperative multitasking framework for uPy

Post by Nezra » Mon May 13, 2019 11:04 pm

[quote=pythoncoder post_id=36488 time=1557752450 user_id=265]
You can use [b]uasyncio[/b] with official MicroPython - on many platforms it is pre-installed as frozen bytecode. You might like to look at [url=https://github.com/peterhinch/micropython-async]my uasyncio repo[/url] which contains various resources for running [b]uasyncio[/b] under official MicroPython, including a tutorial. This has an installation guide for any platform which doesn't include it as standard.

The version of [b]uasyncio[/b] which requires Pycopy is version 3.0. The official version is V2.0.

It is also possible to run Picoweb under official firmware with a little simple hacking. See my post in [url=viewtopic.php?f=15&t=5699&p=35303]this thread[/url] which explains how to run one of the Picoweb demos under V2.0 and official firmware.
[/quote]
I actually started there with the tutorial when things simply didn't work. you provide alot of useful information, the problem is that the basic
firmware is missing for too much. when i copied over all of the named git files, it still spits out errors about things like logging missing.
[quote]exec(open('./test.py').read(),globals())
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 16, in <module>
ImportError: no module named 'logging'[/quote]

I tried the picoweb workaround as well, and it no longer works either with the base firmware provided.

for reference, i'm using esp32spiram-20190125-v1.10.bin directly from the micropython download page. i tested the daily build as well, same issues. my issue is there really isn't a completely functional binary out there for us plebs.

User avatar
pythoncoder
Posts: 3501
Joined: Fri Jul 18, 2014 8:01 am
Location: UK
Contact:

Re: uasyncio - asyncio-like cooperative multitasking framework for uPy

Post by pythoncoder » Tue May 14, 2019 9:41 am

If the Picoweb hack no longer works the Picoweb code must have been changed again. I will look at this over the next few days and publish a version which does work with official MicroPython and its associated uasyncio (V2.0).
Peter Hinch

User avatar
pythoncoder
Posts: 3501
Joined: Fri Jul 18, 2014 8:01 am
Location: UK
Contact:

Running picoweb on ESPx and Pyboard D

Post by pythoncoder » Tue May 14, 2019 4:08 pm

This is a FAQ. I have therefore written an installation guide here (see para PicoWeb).

To summarise I ran picoweb on Pyboard D, ESP32 and ESP8266, in each case using official firmware. The guide provides the dependencies and installation details for running on these platforms.

Paul Sokolovsy's picoweb code is unchanged apart from the name of one library. All dependencies including uasyncio, are met from official micropython-lib https://github.com/micropython/micropython-lib.
Peter Hinch

pfalcon
Posts: 1155
Joined: Fri Feb 28, 2014 2:05 pm

Re: uasyncio - asyncio-like cooperative multitasking framework for uPy

Post by pfalcon » Tue May 14, 2019 4:49 pm

To set it straight: the official picoweb works with official uasyncio from the official micropython-lib, all of which work with the official Pycopy project from the author/maintainer of all these 4 things. There're various outdated vendor forks, which I, as the author, do not support.

If you want to hack, patch, or maybe even support and maintain outdated and/or vendor-fork versions, feel free to do so (if you comply with the license, in particular, do not misrepresent the origins and current status of the software), but please do so in some different thread. Thanks.
Awesome MicroPython list
Pycopy - A better MicroPython https://github.com/pfalcon/micropython
MicroPython standard library for all ports and forks - https://github.com/pfalcon/micropython-lib
More up to date docs - http://pycopy.readthedocs.io/

Nezra
Posts: 3
Joined: Mon May 13, 2019 10:36 am

Re: uasyncio - asyncio-like cooperative multitasking framework for uPy

Post by Nezra » Wed May 15, 2019 10:29 am

pfalcon wrote:
Tue May 14, 2019 4:49 pm
To set it straight: the official picoweb works with official uasyncio from the official micropython-lib, all of which work with the official Pycopy project from the author/maintainer of all these 4 things. There're various outdated vendor forks, which I, as the author, do not support.

If you want to hack, patch, or maybe even support and maintain outdated and/or vendor-fork versions, feel free to do so (if you comply with the license, in particular, do not misrepresent the origins and current status of the software), but please do so in some different thread. Thanks.
@Pfalcon, how does one get this micropython lib et Al to work with the only distributed binary to work then? Given every tutorial points to this binary, and clear detailed instructions only point there as well?

The hurdle to adoption is that there is no clearly defined way to get to using it. There's no pycopy binary. There's no clear step by step instructions to make it so it can be used. Pythoncoeder is simply attempting to help bridge the gap so things that aren't available to those of us just getting into it work. The price of admission for anyone to use pycopy exceeds the knowledge allot of us have. If you want an esp32 binary that follows every "getting started" tutorial references, there's only the one, and a slant of "use pycopy instead" forum posts when things don't work, and no explanation of how to get it.

Post Reply