From e44c271bae88f4327d3eda16d8780ac264d1ebab Mon Sep 17 00:00:00 2001 From: Miguel Grinberg Date: Wed, 31 Jan 2024 23:39:04 +0000 Subject: [PATCH] Circuitpython build --- .github/workflows/tests.yml | 9 + bin/circuitpython | Bin 0 -> 502032 bytes libs/circuitpython/adafruit_ticks.py | 139 ++++++++ libs/circuitpython/asyncio/__init__.py | 41 +++ libs/circuitpython/asyncio/core.py | 430 ++++++++++++++++++++++++ libs/circuitpython/asyncio/event.py | 92 +++++ libs/circuitpython/asyncio/funcs.py | 165 +++++++++ libs/circuitpython/asyncio/lock.py | 87 +++++ libs/circuitpython/asyncio/manifest.py | 24 ++ libs/circuitpython/asyncio/stream.py | 263 +++++++++++++++ libs/circuitpython/asyncio/task.py | 215 ++++++++++++ libs/circuitpython/asyncio/traceback.py | 57 ++++ run_tests.py | 6 +- 13 files changed, 1527 insertions(+), 1 deletion(-) create mode 100755 bin/circuitpython create mode 100644 libs/circuitpython/adafruit_ticks.py create mode 100644 libs/circuitpython/asyncio/__init__.py create mode 100644 libs/circuitpython/asyncio/core.py create mode 100644 libs/circuitpython/asyncio/event.py create mode 100644 libs/circuitpython/asyncio/funcs.py create mode 100644 libs/circuitpython/asyncio/lock.py create mode 100644 libs/circuitpython/asyncio/manifest.py create mode 100644 libs/circuitpython/asyncio/stream.py create mode 100644 libs/circuitpython/asyncio/task.py create mode 100644 libs/circuitpython/asyncio/traceback.py diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 2e39bf2..5bfdc33 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -42,6 +42,15 @@ jobs: - run: python -m pip install --upgrade pip wheel - run: pip install tox tox-gh-actions - run: tox -eupy + tests-circuitpython: + name: tests-circuitpython + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-python@v3 + - run: python -m pip install --upgrade pip wheel + - run: pip install tox tox-gh-actions + - run: tox -ecpy coverage: name: coverage runs-on: ubuntu-latest diff --git a/bin/circuitpython b/bin/circuitpython new file mode 100755 index 0000000000000000000000000000000000000000..aec239c1afa89c0e02f3b624fe1448dca9597583 GIT binary patch literal 502032 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
Bz=Z(46RI#b9W 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 z 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�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

QeCOeJnXJq0= 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 literal 0 HcmV?d00001 diff --git a/libs/circuitpython/adafruit_ticks.py b/libs/circuitpython/adafruit_ticks.py new file mode 100644 index 0000000..5585d2b --- /dev/null +++ b/libs/circuitpython/adafruit_ticks.py @@ -0,0 +1,139 @@ +# SPDX-FileCopyrightText: 2017 Scott Shawcroft, written for Adafruit Industries +# SPDX-FileCopyrightText: Copyright (c) 2021 Jeff Epler for Adafruit Industries +# +# SPDX-License-Identifier: MIT +""" +`adafruit_ticks` +================================================================================ + +Work with intervals and deadlines in milliseconds + + +* Author(s): Jeff Epler + +Implementation Notes +-------------------- + +**Software and Dependencies:** + +* Adafruit CircuitPython firmware for the supported boards: + https://github.com/adafruit/circuitpython/releases + +""" + +# imports +from micropython import const + +__version__ = "0.0.0+auto.0" +__repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_ticks.git" + +_TICKS_PERIOD = const(1 << 29) +_TICKS_MAX = const(_TICKS_PERIOD - 1) +_TICKS_HALFPERIOD = const(_TICKS_PERIOD // 2) + +# Get the correct implementation of ticks_ms. There are three possibilities: +# +# - supervisor.ticks_ms is present. This will be the case starting in CP7.0 +# +# - time.ticks_ms is present. This is the case for MicroPython & for the "unix +# port" of CircuitPython, used for some automated testing. +# +# - time.monotonic_ns is present, and works. This is the case on most +# Express boards in CP6.x, and most host computer versions of Python. +# +# - Otherwise, time.monotonic is assumed to be present. This is the case +# on most non-express boards in CP6.x, and some old host computer versions +# of Python. +# +# Note that on microcontrollers, this time source becomes increasingly +# inaccurate when the board has not been reset in a long time, losing the +# ability to measure 1ms intervals after about 1 hour, and losing the +# ability to meausre 128ms intervals after 6 days. The only solution is to +# either upgrade to a version with supervisor.ticks_ms, or to switch to a +# board with time.monotonic_ns. + +try: + from supervisor import ticks_ms # pylint: disable=unused-import +except (ImportError, NameError): + import time + + if _ticks_ms := getattr(time, "ticks_ms", None): + + def ticks_ms() -> int: + """Return the time in milliseconds since an unspecified moment, + wrapping after 2**29ms. + + The wrap value was chosen so that it is always possible to add or + subtract two `ticks_ms` values without overflow on a board without + long ints (or without allocating any long integer objects, on + boards with long ints). + + This ticks value comes from a low-accuracy clock internal to the + microcontroller, just like `time.monotonic`. Due to its low + accuracy and the fact that it "wraps around" every few days, it is + intended for working with short term events like advancing an LED + animation, not for long term events like counting down the time + until a holiday.""" + return _ticks_ms() & _TICKS_MAX # pylint: disable=not-callable + + else: + try: + from time import monotonic_ns as _monotonic_ns + + _monotonic_ns() # Check that monotonic_ns is usable + + def ticks_ms() -> int: + """Return the time in milliseconds since an unspecified moment, + wrapping after 2**29ms. + + The wrap value was chosen so that it is always possible to add or + subtract two `ticks_ms` values without overflow on a board without + long ints (or without allocating any long integer objects, on + boards with long ints). + + This ticks value comes from a low-accuracy clock internal to the + microcontroller, just like `time.monotonic`. Due to its low + accuracy and the fact that it "wraps around" every few days, it is + intended for working with short term events like advancing an LED + animation, not for long term events like counting down the time + until a holiday.""" + return (_monotonic_ns() // 1_000_000) & _TICKS_MAX + + except (ImportError, NameError, NotImplementedError): + from time import monotonic as _monotonic + + def ticks_ms() -> int: + """Return the time in milliseconds since an unspecified moment, + wrapping after 2**29ms. + + The wrap value was chosen so that it is always possible to add or + subtract two `ticks_ms` values without overflow on a board without + long ints (or without allocating any long integer objects, on + boards with long ints). + + This ticks value comes from a low-accuracy clock internal to the + microcontroller, just like `time.monotonic`. Due to its low + accuracy and the fact that it "wraps around" every few days, it is + intended for working with short term events like advancing an LED + animation, not for long term events like counting down the time + until a holiday.""" + return int(_monotonic() * 1000) & _TICKS_MAX + + +def ticks_add(ticks: int, delta: int) -> int: + "Add a delta to a base number of ticks, performing wraparound at 2**29ms." + return (ticks + delta) % _TICKS_PERIOD + + +def ticks_diff(ticks1: int, ticks2: int) -> int: + """Compute the signed difference between two ticks values, + assuming that they are within 2**28 ticks""" + diff = (ticks1 - ticks2) & _TICKS_MAX + diff = ((diff + _TICKS_HALFPERIOD) & _TICKS_MAX) - _TICKS_HALFPERIOD + return diff + + +def ticks_less(ticks1: int, ticks2: int) -> bool: + """Return true if ticks1 is before ticks2 and false otherwise, + assuming that they are within 2**28 ticks""" + return ticks_diff(ticks1, ticks2) < 0 diff --git a/libs/circuitpython/asyncio/__init__.py b/libs/circuitpython/asyncio/__init__.py new file mode 100644 index 0000000..ce8837d --- /dev/null +++ b/libs/circuitpython/asyncio/__init__.py @@ -0,0 +1,41 @@ +# SPDX-FileCopyrightText: 2019 Damien P. George +# +# SPDX-License-Identifier: MIT +# +# MicroPython uasyncio module +# MIT license; Copyright (c) 2019 Damien P. George +# +# This code comes from MicroPython, and has not been run through black or pylint there. +# Altering these files significantly would make merging difficult, so we will not use +# pylint or black. +# pylint: skip-file +# fmt: off + +from .core import * + +__version__ = "0.0.0+auto.0" +__repo__ = "https://github.com/Adafruit/Adafruit_CircuitPython_asyncio.git" + +_attrs = { + "wait_for": "funcs", + "wait_for_ms": "funcs", + "gather": "funcs", + "Event": "event", + "ThreadSafeFlag": "event", + "Lock": "lock", + "open_connection": "stream", + "start_server": "stream", + "StreamReader": "stream", + "StreamWriter": "stream", +} + +# Lazy loader, effectively does: +# global attr +# from .mod import attr +def __getattr__(attr): + mod = _attrs.get(attr, None) + if mod is None: + raise AttributeError(attr) + value = getattr(__import__(mod, None, None, True, 1), attr) + globals()[attr] = value + return value diff --git a/libs/circuitpython/asyncio/core.py b/libs/circuitpython/asyncio/core.py new file mode 100644 index 0000000..26a97ba --- /dev/null +++ b/libs/circuitpython/asyncio/core.py @@ -0,0 +1,430 @@ +# SPDX-FileCopyrightText: 2019 Damien P. George +# +# SPDX-License-Identifier: MIT +# +# MicroPython uasyncio module +# MIT license; Copyright (c) 2019 Damien P. George +# +# This code comes from MicroPython, and has not been run through black or pylint there. +# Altering these files significantly would make merging difficult, so we will not use +# pylint or black. +# pylint: skip-file +# fmt: off +""" +Core +==== +""" + +from adafruit_ticks import ticks_ms as ticks, ticks_diff, ticks_add +import sys, select + +try: + from traceback import print_exception +except: + from .traceback import print_exception + +# Import TaskQueue and Task, preferring built-in C code over Python code +try: + from _asyncio import TaskQueue, Task +except ImportError: + from .task import TaskQueue, Task + +################################################################################ +# Exceptions + + +# Depending on the release of CircuitPython these errors may or may not +# exist in the C implementation of `_asyncio`. However, when they +# do exist, they must be preferred over the Python code. +try: + from _asyncio import CancelledError, InvalidStateError +except (ImportError, AttributeError): + class CancelledError(BaseException): + """Injected into a task when calling `Task.cancel()`""" + pass + + + class InvalidStateError(Exception): + """Can be raised in situations like setting a result value for a task object that already has a result value set.""" + pass + + +class TimeoutError(Exception): + """Raised when waiting for a task longer than the specified timeout.""" + + pass + + +# Used when calling Loop.call_exception_handler +_exc_context = {"message": "Task exception wasn't retrieved", "exception": None, "future": None} + + +################################################################################ +# Sleep functions + +# "Yield" once, then raise StopIteration +class SingletonGenerator: + def __init__(self): + self.state = None + self.exc = StopIteration() + + def __iter__(self): + return self + + def __await__(self): + return self + + def __next__(self): + if self.state is not None: + _task_queue.push_sorted(cur_task, self.state) + self.state = None + return None + else: + self.exc.__traceback__ = None + raise self.exc + + +# Pause task execution for the given time (integer in milliseconds, uPy extension) +# Use a SingletonGenerator to do it without allocating on the heap +def sleep_ms(t, sgen=SingletonGenerator()): + """Sleep for *t* milliseconds. + + This is a coroutine, and a MicroPython extension. + """ + + assert sgen.state is None, "Check for a missing `await` in your code" + sgen.state = ticks_add(ticks(), max(0, t)) + return sgen + + +# Pause task execution for the given time (in seconds) +def sleep(t): + """Sleep for *t* seconds + + This is a coroutine. + """ + + return sleep_ms(int(t * 1000)) + + +################################################################################ +# "Never schedule" object" +# Don't re-schedule the object that awaits _never(). +# For internal use only. Some constructs, like `await event.wait()`, +# work by NOT re-scheduling the task which calls wait(), but by +# having some other task schedule it later. +class _NeverSingletonGenerator: + def __init__(self): + self.state = None + self.exc = StopIteration() + + def __iter__(self): + return self + + def __await__(self): + return self + + def __next__(self): + if self.state is not None: + self.state = None + return None + else: + self.exc.__traceback__ = None + raise self.exc + +def _never(sgen=_NeverSingletonGenerator()): + # assert sgen.state is None, "Check for a missing `await` in your code" + sgen.state = False + return sgen + + +################################################################################ +# Queue and poller for stream IO + + +class IOQueue: + def __init__(self): + self.poller = select.poll() + self.map = {} # maps id(stream) to [task_waiting_read, task_waiting_write, stream] + + def _enqueue(self, s, idx): + if id(s) not in self.map: + entry = [None, None, s] + entry[idx] = cur_task + self.map[id(s)] = entry + self.poller.register(s, select.POLLIN if idx == 0 else select.POLLOUT) + else: + sm = self.map[id(s)] + assert sm[idx] is None + assert sm[1 - idx] is not None + sm[idx] = cur_task + self.poller.modify(s, select.POLLIN | select.POLLOUT) + # Link task to this IOQueue so it can be removed if needed + cur_task.data = self + + def _dequeue(self, s): + del self.map[id(s)] + self.poller.unregister(s) + + async def queue_read(self, s): + self._enqueue(s, 0) + await _never() + + async def queue_write(self, s): + self._enqueue(s, 1) + await _never() + + def remove(self, task): + while True: + del_s = None + for k in self.map: # Iterate without allocating on the heap + q0, q1, s = self.map[k] + if q0 is task or q1 is task: + del_s = s + break + if del_s is not None: + self._dequeue(s) + else: + break + + def wait_io_event(self, dt): + for s, ev in self.poller.ipoll(dt): + sm = self.map[id(s)] + # print('poll', s, sm, ev) + if ev & ~select.POLLOUT and sm[0] is not None: + # POLLIN or error + _task_queue.push_head(sm[0]) + sm[0] = None + if ev & ~select.POLLIN and sm[1] is not None: + # POLLOUT or error + _task_queue.push_head(sm[1]) + sm[1] = None + if sm[0] is None and sm[1] is None: + self._dequeue(s) + elif sm[0] is None: + self.poller.modify(s, select.POLLOUT) + else: + self.poller.modify(s, select.POLLIN) + + +################################################################################ +# Main run loop + +# Ensure the awaitable is a task +def _promote_to_task(aw): + return aw if isinstance(aw, Task) else create_task(aw) + + +# Create and schedule a new task from a coroutine +def create_task(coro): + """Create a new task from the given coroutine and schedule it to run. + + Returns the corresponding `Task` object. + """ + + if not hasattr(coro, "send"): + raise TypeError("coroutine expected") + t = Task(coro, globals()) + _task_queue.push_head(t) + return t + + +# Keep scheduling tasks until there are none left to schedule +def run_until_complete(main_task=None): + """Run the given *main_task* until it completes.""" + + global cur_task + excs_all = (CancelledError, Exception) # To prevent heap allocation in loop + excs_stop = (CancelledError, StopIteration) # To prevent heap allocation in loop + while True: + # Wait until the head of _task_queue is ready to run + dt = 1 + while dt > 0: + dt = -1 + t = _task_queue.peek() + if t: + # A task waiting on _task_queue; "ph_key" is time to schedule task at + dt = max(0, ticks_diff(t.ph_key, ticks())) + elif not _io_queue.map: + # No tasks can be woken so finished running + return + # print('(poll {})'.format(dt), len(_io_queue.map)) + _io_queue.wait_io_event(dt) + + # Get next task to run and continue it + t = _task_queue.pop_head() + cur_task = t + try: + # Continue running the coroutine, it's responsible for rescheduling itself + exc = t.data + if not exc: + t.coro.send(None) + else: + # If the task is finished and on the run queue and gets here, then it + # had an exception and was not await'ed on. Throwing into it now will + # raise StopIteration and the code below will catch this and run the + # call_exception_handler function. + t.data = None + t.coro.throw(exc) + except excs_all as er: + # Check the task is not on any event queue + assert t.data is None + # This task is done, check if it's the main task and then loop should stop + if t is main_task: + if isinstance(er, StopIteration): + return er.value + raise er + if t.state: + # Task was running but is now finished. + waiting = False + if t.state is True: + # "None" indicates that the task is complete and not await'ed on (yet). + t.state = None + elif callable(t.state): + # The task has a callback registered to be called on completion. + t.state(t, er) + t.state = False + waiting = True + else: + # Schedule any other tasks waiting on the completion of this task. + while t.state.peek(): + _task_queue.push_head(t.state.pop_head()) + waiting = True + # "False" indicates that the task is complete and has been await'ed on. + t.state = False + if not waiting and not isinstance(er, excs_stop): + # An exception ended this detached task, so queue it for later + # execution to handle the uncaught exception if no other task retrieves + # the exception in the meantime (this is handled by Task.throw). + _task_queue.push_head(t) + # Save return value of coro to pass up to caller. + t.data = er + elif t.state is None: + # Task is already finished and nothing await'ed on the task, + # so call the exception handler. + _exc_context["exception"] = exc + _exc_context["future"] = t + Loop.call_exception_handler(_exc_context) + + +# Create a new task from a coroutine and run it until it finishes +def run(coro): + """Create a new task from the given coroutine and run it until it completes. + + Returns the value returned by *coro*. + """ + + return run_until_complete(create_task(coro)) + + +################################################################################ +# Event loop wrapper + + +async def _stopper(): + pass + + +_stop_task = None + + +class Loop: + """Class representing the event loop""" + + _exc_handler = None + + def create_task(coro): + """Create a task from the given *coro* and return the new `Task` object.""" + + return create_task(coro) + + def run_forever(): + """Run the event loop until `Loop.stop()` is called.""" + + global _stop_task + _stop_task = Task(_stopper(), globals()) + run_until_complete(_stop_task) + # TODO should keep running until .stop() is called, even if there're no tasks left + + def run_until_complete(aw): + """Run the given *awaitable* until it completes. If *awaitable* is not a task then + it will be promoted to one. + """ + + return run_until_complete(_promote_to_task(aw)) + + def stop(): + """Stop the event loop""" + + global _stop_task + if _stop_task is not None: + _task_queue.push_head(_stop_task) + # If stop() is called again, do nothing + _stop_task = None + + def close(): + """Close the event loop.""" + + pass + + def set_exception_handler(handler): + """Set the exception handler to call when a Task raises an exception that is not + caught. The *handler* should accept two arguments: ``(loop, context)`` + """ + + Loop._exc_handler = handler + + def get_exception_handler(): + """Get the current exception handler. Returns the handler, or ``None`` if no + custom handler is set. + """ + + return Loop._exc_handler + + def default_exception_handler(loop, context): + """The default exception handler that is called.""" + + exc = context["exception"] + print_exception(None, exc, exc.__traceback__) + + def call_exception_handler(context): + """Call the current exception handler. The argument *context* is passed through + and is a dictionary containing keys: + ``'message'``, ``'exception'``, ``'future'`` + """ + (Loop._exc_handler or Loop.default_exception_handler)(Loop, context) + + +# The runq_len and waitq_len arguments are for legacy uasyncio compatibility +def get_event_loop(runq_len=0, waitq_len=0): + """Return the event loop used to schedule and run tasks. See `Loop`.""" + + return Loop + + +def current_task(): + """Return the `Task` object associated with the currently running task.""" + + return cur_task + + +def new_event_loop(): + """Reset the event loop and return it. + + **NOTE**: Since MicroPython only has a single event loop, this function just resets + the loop's state, it does not create a new one + """ + + global _task_queue, _io_queue, _exc_context, cur_task + # TaskQueue of Task instances + _task_queue = TaskQueue() + # Task queue and poller for stream IO + _io_queue = IOQueue() + cur_task = None + _exc_context['exception'] = None + _exc_context['future'] = None + return Loop + + +# Initialise default event loop +new_event_loop() diff --git a/libs/circuitpython/asyncio/event.py b/libs/circuitpython/asyncio/event.py new file mode 100644 index 0000000..a402d26 --- /dev/null +++ b/libs/circuitpython/asyncio/event.py @@ -0,0 +1,92 @@ +# SPDX-FileCopyrightText: 2019-2020 Damien P. George +# +# SPDX-License-Identifier: MIT +# +# MicroPython uasyncio module +# MIT license; Copyright (c) 2019-2020 Damien P. George +# +# This code comes from MicroPython, and has not been run through black or pylint there. +# Altering these files significantly would make merging difficult, so we will not use +# pylint or black. +# pylint: skip-file +# fmt: off +""" +Events +====== +""" + +from . import core + +# Event class for primitive events that can be waited on, set, and cleared +class Event: + """Create a new event which can be used to synchronize tasks. Events + start in the cleared state. + """ + + def __init__(self): + self.state = False # False=unset; True=set + self.waiting = core.TaskQueue() # Queue of Tasks waiting on completion of this event + + def is_set(self): + """Returns ``True`` if the event is set, ``False`` otherwise.""" + + return self.state + + def set(self): + """Set the event. Any tasks waiting on the event will be scheduled to run. + """ + + # Event becomes set, schedule any tasks waiting on it + # Note: This must not be called from anything except the thread running + # the asyncio loop (i.e. neither hard or soft IRQ, or a different thread). + while self.waiting.peek(): + core._task_queue.push_head(self.waiting.pop_head()) + self.state = True + + def clear(self): + """Clear the event.""" + + self.state = False + + async def wait(self): + """Wait for the event to be set. If the event is already set then it returns + immediately. + + This is a coroutine. + """ + + if not self.state: + # Event not set, put the calling task on the event's waiting queue + self.waiting.push_head(core.cur_task) + # Set calling task's data to the event's queue so it can be removed if needed + core.cur_task.data = self.waiting + await core._never() + return True + + +# MicroPython-extension: This can be set from outside the asyncio event loop, +# such as other threads, IRQs or scheduler context. Implementation is a stream +# that asyncio will poll until a flag is set. +# Note: Unlike Event, this is self-clearing. +try: + import uio + + class ThreadSafeFlag(uio.IOBase): + def __init__(self): + self._flag = 0 + + def ioctl(self, req, flags): + if req == 3: # MP_STREAM_POLL + return self._flag * flags + return None + + def set(self): + self._flag = 1 + + async def wait(self): + if not self._flag: + yield core._io_queue.queue_read(self) + self._flag = 0 + +except ImportError: + pass diff --git a/libs/circuitpython/asyncio/funcs.py b/libs/circuitpython/asyncio/funcs.py new file mode 100644 index 0000000..b1bb24a --- /dev/null +++ b/libs/circuitpython/asyncio/funcs.py @@ -0,0 +1,165 @@ +# SPDX-FileCopyrightText: 2019-2020 Damien P. George +# +# SPDX-License-Identifier: MIT +# +# MicroPython uasyncio module +# MIT license; Copyright (c) 2019-2022 Damien P. George +# +# This code comes from MicroPython, and has not been run through black or pylint there. +# Altering these files significantly would make merging difficult, so we will not use +# pylint or black. +# pylint: skip-file +# fmt: off +""" +Functions +========= +""" + + +from . import core + + +async def _run(waiter, aw): + try: + result = await aw + status = True + except BaseException as er: + result = None + status = er + if waiter.data is None: + # The waiter is still waiting, cancel it. + if waiter.cancel(): + # Waiter was cancelled by us, change its CancelledError to an instance of + # CancelledError that contains the status and result of waiting on aw. + # If the wait_for task subsequently gets cancelled externally then this + # instance will be reset to a CancelledError instance without arguments. + waiter.data = core.CancelledError(status, result) + +async def wait_for(aw, timeout, sleep=core.sleep): + """Wait for the *aw* awaitable to complete, but cancel if it takes longer + than *timeout* seconds. If *aw* is not a task then a task will be created + from it. + + If a timeout occurs, it cancels the task and raises ``asyncio.TimeoutError``: + this should be trapped by the caller. + + Returns the return value of *aw*. + + This is a coroutine. + """ + + aw = core._promote_to_task(aw) + if timeout is None: + return await aw + + # Run aw in a separate runner task that manages its exceptions. + runner_task = core.create_task(_run(core.cur_task, aw)) + + try: + # Wait for the timeout to elapse. + await sleep(timeout) + except core.CancelledError as er: + status = er.args[0] if er.args else None + if status is None: + # This wait_for was cancelled externally, so cancel aw and re-raise. + runner_task.cancel() + raise er + elif status is True: + # aw completed successfully and cancelled the sleep, so return aw's result. + return er.args[1] + else: + # aw raised an exception, propagate it out to the caller. + raise status + + # The sleep finished before aw, so cancel aw and raise TimeoutError. + runner_task.cancel() + await runner_task + raise core.TimeoutError + + +def wait_for_ms(aw, timeout): + """Similar to `wait_for` but *timeout* is an integer in milliseconds. + + This is a coroutine, and a MicroPython extension. + """ + + return wait_for(aw, timeout, core.sleep_ms) + + +class _Remove: + @staticmethod + def remove(t): + pass + + +async def gather(*aws, return_exceptions=False): + """Run all *aws* awaitables concurrently. Any *aws* that are not tasks + are promoted to tasks. + + Returns a list of return values of all *aws* + """ + if not aws: + return [] + + def done(t, er): + # Sub-task "t" has finished, with exception "er". + nonlocal state + if gather_task.data is not _Remove: + # The main gather task has already been scheduled, so do nothing. + # This happens if another sub-task already raised an exception and + # woke the main gather task (via this done function), or if the main + # gather task was cancelled externally. + return + elif not return_exceptions and not isinstance(er, StopIteration): + # A sub-task raised an exception, indicate that to the gather task. + state = er + else: + state -= 1 + if state: + # Still some sub-tasks running. + return + # Gather waiting is done, schedule the main gather task. + core._task_queue.push_head(gather_task) + + ts = [core._promote_to_task(aw) for aw in aws] + for i in range(len(ts)): + if ts[i].state is not True: + # Task is not running, gather not currently supported for this case. + raise RuntimeError("can't gather") + # Register the callback to call when the task is done. + ts[i].state = done + + # Set the state for execution of the gather. + gather_task = core.cur_task + state = len(ts) + cancel_all = False + + # Wait for the a sub-task to need attention. + gather_task.data = _Remove + try: + await core._never() + except core.CancelledError as er: + cancel_all = True + state = er + + # Clean up tasks. + for i in range(len(ts)): + if ts[i].state is done: + # Sub-task is still running, deregister the callback and cancel if needed. + ts[i].state = True + if cancel_all: + ts[i].cancel() + elif isinstance(ts[i].data, StopIteration): + # Sub-task ran to completion, get its return value. + ts[i] = ts[i].data.value + else: + # Sub-task had an exception with return_exceptions==True, so get its exception. + ts[i] = ts[i].data + + # Either this gather was cancelled, or one of the sub-tasks raised an exception with + # return_exceptions==False, so reraise the exception here. + if state is not 0: + raise state + + # Return the list of return values of each sub-task. + return ts diff --git a/libs/circuitpython/asyncio/lock.py b/libs/circuitpython/asyncio/lock.py new file mode 100644 index 0000000..71c972f --- /dev/null +++ b/libs/circuitpython/asyncio/lock.py @@ -0,0 +1,87 @@ +# SPDX-FileCopyrightText: 2019-2020 Damien P. George +# +# SPDX-License-Identifier: MIT +# +# MicroPython uasyncio module +# MIT license; Copyright (c) 2019-2020 Damien P. George +# +# This code comes from MicroPython, and has not been run through black or pylint there. +# Altering these files significantly would make merging difficult, so we will not use +# pylint or black. +# pylint: skip-file +# fmt: off +""" +Locks +===== +""" + +from . import core + +# Lock class for primitive mutex capability +class Lock: + """Create a new lock which can be used to coordinate tasks. Locks start in + the unlocked state. + + In addition to the methods below, locks can be used in an ``async with`` + statement. + """ + + def __init__(self): + # The state can take the following values: + # - 0: unlocked + # - 1: locked + # - : unlocked but this task has been scheduled to acquire the lock next + self.state = 0 + # Queue of Tasks waiting to acquire this Lock + self.waiting = core.TaskQueue() + + def locked(self): + """Returns ``True`` if the lock is locked, otherwise ``False``.""" + + return self.state == 1 + + def release(self): + """Release the lock. If any tasks are waiting on the lock then the next + one in the queue is scheduled to run and the lock remains locked. Otherwise, + no tasks are waiting and the lock becomes unlocked. + """ + + if self.state != 1: + raise RuntimeError("Lock not acquired") + if self.waiting.peek(): + # Task(s) waiting on lock, schedule next Task + self.state = self.waiting.pop_head() + core._task_queue.push_head(self.state) + else: + # No Task waiting so unlock + self.state = 0 + + async def acquire(self): + """Wait for the lock to be in the unlocked state and then lock it in an + atomic way. Only one task can acquire the lock at any one time. + + This is a coroutine. + """ + + if self.state != 0: + # Lock unavailable, put the calling Task on the waiting queue + self.waiting.push_head(core.cur_task) + # Set calling task's data to the lock's queue so it can be removed if needed + core.cur_task.data = self.waiting + try: + await core._never() + except core.CancelledError as er: + if self.state == core.cur_task: + # Cancelled while pending on resume, schedule next waiting Task + self.state = 1 + self.release() + raise er + # Lock available, set it as locked + self.state = 1 + return True + + async def __aenter__(self): + return await self.acquire() + + async def __aexit__(self, exc_type, exc, tb): + return self.release() diff --git a/libs/circuitpython/asyncio/manifest.py b/libs/circuitpython/asyncio/manifest.py new file mode 100644 index 0000000..24082ff --- /dev/null +++ b/libs/circuitpython/asyncio/manifest.py @@ -0,0 +1,24 @@ +# SPDX-FileCopyrightText: 2019 Damien P. George +# +# SPDX-License-Identifier: MIT +# +# +# This code comes from MicroPython, and has not been run through black or pylint there. +# Altering these files significantly would make merging difficult, so we will not use +# pylint or black. +# pylint: skip-file +# fmt: off + +# This list of frozen files doesn't include task.py because that's provided by the C module. +freeze( + "..", + ( + "uasyncio/__init__.py", + "uasyncio/core.py", + "uasyncio/event.py", + "uasyncio/funcs.py", + "uasyncio/lock.py", + "uasyncio/stream.py", + ), + opt=3, +) diff --git a/libs/circuitpython/asyncio/stream.py b/libs/circuitpython/asyncio/stream.py new file mode 100644 index 0000000..44a8cc5 --- /dev/null +++ b/libs/circuitpython/asyncio/stream.py @@ -0,0 +1,263 @@ +# SPDX-FileCopyrightText: 2019-2020 Damien P. George +# +# SPDX-License-Identifier: MIT +# +# MicroPython uasyncio module +# MIT license; Copyright (c) 2019-2020 Damien P. George +# +# This code comes from MicroPython, and has not been run through black or pylint there. +# Altering these files significantly would make merging difficult, so we will not use +# pylint or black. +# pylint: skip-file +# fmt: off +""" +Streams +======= +""" + +from . import core + + +class Stream: + """This represents a TCP stream connection. To minimise code this class + implements both a reader and a writer, and both ``StreamReader`` and + ``StreamWriter`` alias to this class. + """ + + def __init__(self, s, e={}): + self.s = s + self.e = e + self.out_buf = b"" + + def get_extra_info(self, v): + """Get extra information about the stream, given by *v*. The valid + values for *v* are: ``peername``. + """ + + return self.e[v] + + async def __aenter__(self): + return self + + async def __aexit__(self, exc_type, exc, tb): + await self.close() + + def close(self): + pass + + async def wait_closed(self): + """Wait for the stream to close. + + This is a coroutine. + """ + + # TODO yield? + self.s.close() + + async def read(self, n): + """Read up to *n* bytes and return them. + + This is a coroutine. + """ + + await core._io_queue.queue_read(self.s) + return self.s.read(n) + + async def readinto(self, buf): + """Read up to n bytes into *buf* with n being equal to the length of *buf* + + Return the number of bytes read into *buf* + + This is a coroutine, and a MicroPython extension. + """ + + await core._io_queue.queue_read(self.s) + return self.s.readinto(buf) + + async def readexactly(self, n): + """Read exactly *n* bytes and return them as a bytes object. + + Raises an ``EOFError`` exception if the stream ends before reading + *n* bytes. + + This is a coroutine. + """ + + r = b"" + while n: + await core._io_queue.queue_read(self.s) + r2 = self.s.read(n) + if r2 is not None: + if not len(r2): + raise EOFError + r += r2 + n -= len(r2) + return r + + async def readline(self): + """Read a line and return it. + + This is a coroutine. + """ + + l = b"" + while True: + await core._io_queue.queue_read(self.s) + l2 = self.s.readline() # may do multiple reads but won't block + l += l2 + if not l2 or l[-1] == 10: # \n (check l in case l2 is str) + return l + + def write(self, buf): + """Accumulated *buf* to the output buffer. The data is only flushed when + `Stream.drain` is called. It is recommended to call `Stream.drain` + immediately after calling this function. + """ + if not self.out_buf: + # Try to write immediately to the underlying stream. + ret = self.s.write(buf) + if ret == len(buf): + return + if ret is not None: + buf = buf[ret:] + + self.out_buf += buf + + async def drain(self): + """Drain (write) all buffered output data out to the stream. + + This is a coroutine. + """ + + mv = memoryview(self.out_buf) + off = 0 + while off < len(mv): + await core._io_queue.queue_write(self.s) + ret = self.s.write(mv[off:]) + if ret is not None: + off += ret + self.out_buf = b"" + + +# Stream can be used for both reading and writing to save code size +StreamReader = Stream +StreamWriter = Stream + + +# Create a TCP stream connection to a remote host +async def open_connection(host, port): + """Open a TCP connection to the given *host* and *port*. The *host* address will + be resolved using `socket.getaddrinfo`, which is currently a blocking call. + + Returns a pair of streams: a reader and a writer stream. Will raise a socket-specific + ``OSError`` if the host could not be resolved or if the connection could not be made. + + This is a coroutine. + """ + + from uerrno import EINPROGRESS + import usocket as socket + + ai = socket.getaddrinfo(host, port, 0, socket.SOCK_STREAM)[0] # TODO this is blocking! + s = socket.socket(ai[0], ai[1], ai[2]) + s.setblocking(False) + ss = Stream(s) + try: + s.connect(ai[-1]) + except OSError as er: + if er.errno != EINPROGRESS: + raise er + await core._io_queue.queue_write(s) + return ss, ss + + +# Class representing a TCP stream server, can be closed and used in "async with" +class Server: + """This represents the server class returned from `start_server`. It can be used in + an ``async with`` statement to close the server upon exit. + """ + + async def __aenter__(self): + return self + + async def __aexit__(self, exc_type, exc, tb): + self.close() + await self.wait_closed() + + def close(self): + """Close the server.""" + + self.task.cancel() + + async def wait_closed(self): + """Wait for the server to close. + + This is a coroutine. + """ + + await self.task + + async def _serve(self, s, cb): + # Accept incoming connections + while True: + try: + await core._io_queue.queue_read(s) + except core.CancelledError: + # Shutdown server + s.close() + return + try: + s2, addr = s.accept() + except: + # Ignore a failed accept + continue + s2.setblocking(False) + s2s = Stream(s2, {"peername": addr}) + core.create_task(cb(s2s, s2s)) + + +# Helper function to start a TCP stream server, running as a new task +# TODO could use an accept-callback on socket read activity instead of creating a task +async def start_server(cb, host, port, backlog=5): + """Start a TCP server on the given *host* and *port*. The *cb* callback will be + called with incoming, accepted connections, and be passed 2 arguments: reader + writer streams for the connection. + + Returns a `Server` object. + + This is a coroutine. + """ + + import usocket as socket + + # Create and bind server socket. + host = socket.getaddrinfo(host, port)[0] # TODO this is blocking! + s = socket.socket() + s.setblocking(False) + s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + s.bind(host[-1]) + s.listen(backlog) + + # Create and return server object and task. + srv = Server() + srv.task = core.create_task(srv._serve(s, cb)) + return srv + + +################################################################################ +# Legacy uasyncio compatibility + + +async def stream_awrite(self, buf, off=0, sz=-1): + if off != 0 or sz != -1: + buf = memoryview(buf) + if sz == -1: + sz = len(buf) + buf = buf[off : off + sz] + self.write(buf) + await self.drain() + + +Stream.aclose = Stream.wait_closed +Stream.awrite = stream_awrite +Stream.awritestr = stream_awrite # TODO explicitly convert to bytes? diff --git a/libs/circuitpython/asyncio/task.py b/libs/circuitpython/asyncio/task.py new file mode 100644 index 0000000..2e3a6db --- /dev/null +++ b/libs/circuitpython/asyncio/task.py @@ -0,0 +1,215 @@ +# SPDX-FileCopyrightText: 2019-2020 Damien P. George +# +# SPDX-License-Identifier: MIT +# +# MicroPython uasyncio module +# MIT license; Copyright (c) 2019-2020 Damien P. George +# +# This code comes from MicroPython, and has not been run through black or pylint there. +# Altering these files significantly would make merging difficult, so we will not use +# pylint or black. +# pylint: skip-file +# fmt: off +""" +Tasks +===== +""" + +# This file contains the core TaskQueue based on a pairing heap, and the core Task class. +# They can optionally be replaced by C implementations. + +from . import core + + +# pairing-heap meld of 2 heaps; O(1) +def ph_meld(h1, h2): + if h1 is None: + return h2 + if h2 is None: + return h1 + lt = core.ticks_diff(h1.ph_key, h2.ph_key) < 0 + if lt: + if h1.ph_child is None: + h1.ph_child = h2 + else: + h1.ph_child_last.ph_next = h2 + h1.ph_child_last = h2 + h2.ph_next = None + h2.ph_rightmost_parent = h1 + return h1 + else: + h1.ph_next = h2.ph_child + h2.ph_child = h1 + if h1.ph_next is None: + h2.ph_child_last = h1 + h1.ph_rightmost_parent = h2 + return h2 + + +# pairing-heap pairing operation; amortised O(log N) +def ph_pairing(child): + heap = None + while child is not None: + n1 = child + child = child.ph_next + n1.ph_next = None + if child is not None: + n2 = child + child = child.ph_next + n2.ph_next = None + n1 = ph_meld(n1, n2) + heap = ph_meld(heap, n1) + return heap + + +# pairing-heap delete of a node; stable, amortised O(log N) +def ph_delete(heap, node): + if node is heap: + child = heap.ph_child + node.ph_child = None + return ph_pairing(child) + # Find parent of node + parent = node + while parent.ph_next is not None: + parent = parent.ph_next + parent = parent.ph_rightmost_parent + # Replace node with pairing of its children + if node is parent.ph_child and node.ph_child is None: + parent.ph_child = node.ph_next + node.ph_next = None + return heap + elif node is parent.ph_child: + child = node.ph_child + next = node.ph_next + node.ph_child = None + node.ph_next = None + node = ph_pairing(child) + parent.ph_child = node + else: + n = parent.ph_child + while node is not n.ph_next: + n = n.ph_next + child = node.ph_child + next = node.ph_next + node.ph_child = None + node.ph_next = None + node = ph_pairing(child) + if node is None: + node = n + else: + n.ph_next = node + node.ph_next = next + if next is None: + node.ph_rightmost_parent = parent + parent.ph_child_last = node + return heap + + +# TaskQueue class based on the above pairing-heap functions. +class TaskQueue: + def __init__(self): + self.heap = None + + def peek(self): + return self.heap + + def push(self, v, key=None): + assert v.ph_child is None + assert v.ph_next is None + v.data = None + v.ph_key = key if key is not None else core.ticks() + self.heap = ph_meld(v, self.heap) + + def pop(self): + v = self.heap + assert v.ph_next is None + self.heap = ph_pairing(v.ph_child) + v.ph_child = None + return v + + def remove(self, v): + self.heap = ph_delete(self.heap, v) + + # Compatibility aliases, remove after they are no longer used + push_head = push + push_sorted = push + pop_head = pop + +# Task class representing a coroutine, can be waited on and cancelled. +class Task: + """This object wraps a coroutine into a running task. Tasks can be waited on + using ``await task``, which will wait for the task to complete and return the + return value of the task. + + Tasks should not be created directly, rather use ``create_task`` to create them. + """ + + def __init__(self, coro, globals=None): + self.coro = coro # Coroutine of this Task + self.data = None # General data for queue it is waiting on + self.state = True # None, False, True, a callable, or a TaskQueue instance + self.ph_key = 0 # Pairing heap + self.ph_child = None # Paring heap + self.ph_child_last = None # Paring heap + self.ph_next = None # Paring heap + self.ph_rightmost_parent = None # Paring heap + + def __iter__(self): + if not self.state: + # Task finished, signal that is has been await'ed on. + self.state = False + elif self.state is True: + # Allocated head of linked list of Tasks waiting on completion of this task. + self.state = TaskQueue() + elif type(self.state) is not TaskQueue: + # Task has state used for another purpose, so can't also wait on it. + raise RuntimeError("can't wait") + return self + + # CircuitPython needs __await()__. + __await__ = __iter__ + + def __next__(self): + if not self.state: + if self.data is None: + # Task finished but has already been sent to the loop's exception handler. + raise StopIteration + else: + # Task finished, raise return value to caller so it can continue. + raise self.data + else: + # Put calling task on waiting queue. + self.state.push(core.cur_task) + # Set calling task's data to this task that it waits on, to double-link it. + core.cur_task.data = self + + def done(self): + """Whether the task is complete.""" + + return not self.state + + def cancel(self): + """Cancel the task by injecting a ``CancelledError`` into it. The task + may or may not ignore this exception. + """ + + # Check if task is already finished. + if not self.state: + return False + # Can't cancel self (not supported yet). + if self is core.cur_task: + raise RuntimeError("can't cancel self") + # If Task waits on another task then forward the cancel to the one it's waiting on. + while isinstance(self.data, Task): + self = self.data + # Reschedule Task as a cancelled task. + if hasattr(self.data, "remove"): + # Not on the main running queue, remove the task from the queue it's on. + self.data.remove(self) + core._task_queue.push(self) + elif core.ticks_diff(self.ph_key, core.ticks()) > 0: + # On the main running queue but scheduled in the future, so bring it forward to now. + core._task_queue.remove(self) + core._task_queue.push(self) + self.data = core.CancelledError + return True diff --git a/libs/circuitpython/asyncio/traceback.py b/libs/circuitpython/asyncio/traceback.py new file mode 100644 index 0000000..eaf62ea --- /dev/null +++ b/libs/circuitpython/asyncio/traceback.py @@ -0,0 +1,57 @@ +# SPDX-FileCopyrightText: 2019-2020 Damien P. George +# +# SPDX-License-Identifier: MIT +# +# MicroPython uasyncio module +# MIT license; Copyright (c) 2019-2020 Damien P. George +""" +Fallback traceback module if the system traceback is missing. +""" + +try: + from typing import List +except ImportError: + pass + +import sys + + +def _print_traceback(traceback, limit=None, file=sys.stderr) -> List[str]: + if limit is None: + if hasattr(sys, "tracebacklimit"): + limit = sys.tracebacklimit + + n = 0 + while traceback is not None: + frame = traceback.tb_frame + line_number = traceback.tb_lineno + frame_code = frame.f_code + filename = frame_code.co_filename + name = frame_code.co_name + print(' File "%s", line %d, in %s' % (filename, line_number, name), file=file) + traceback = traceback.tb_next + n = n + 1 + if limit is not None and n >= limit: + break + + +def print_exception(exception, value=None, traceback=None, limit=None, file=sys.stderr): + """ + Print exception information and stack trace to file. + """ + if traceback: + print("Traceback (most recent call last):", file=file) + _print_traceback(traceback, limit=limit, file=file) + + if isinstance(exception, BaseException): + exception_type = type(exception).__name__ + elif hasattr(exception, "__name__"): + exception_type = exception.__name__ + else: + exception_type = type(value).__name__ + + valuestr = str(value) + if value is None or not valuestr: + print(exception_type, file=file) + else: + print("%s: %s" % (str(exception_type), valuestr), file=file) diff --git a/run_tests.py b/run_tests.py index c6181a6..09a5cf1 100644 --- a/run_tests.py +++ b/run_tests.py @@ -2,7 +2,11 @@ import sys sys.path.insert(0, 'src') sys.path.insert(2, 'libs/common') -sys.path.insert(3, 'libs/micropython') +if sys.implementation.name == 'circuitpython': + sys.path.insert(3, 'libs/circuitpython') + sys.path.insert(4, 'libs/micropython') +else: + sys.path.insert(3, 'libs/micropython') import unittest