Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: micropython/micropython
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: pybricks/micropython
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: pybricks-v3.x
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 18 commits
  • 29 files changed
  • 3 contributors

Commits on Jun 29, 2025

  1. ports/unix/modummap: add new ummap module

    This adds a newu mmap module to the unix port. This is modeled after the
    standard mmap module and just contains minimal functionality to read and
    write to a mmap.
    dlech committed Jun 29, 2025
    Configuration menu
    Copy the full SHA
    622b478 View commit details
    Browse the repository at this point in the history
  2. ports/unix/modufcntl: new ufcntl module

    This provides the ioctl function similar to the Python standard library
    dlech committed Jun 29, 2025
    Configuration menu
    Copy the full SHA
    bda0112 View commit details
    Browse the repository at this point in the history
  3. pybricks: redirect stdout to stderr by default

    Since we use graphics mode, text printed to stdout it not visible on
    the EV3 when running with brickrun. The ev3dev VS Code extension
    redirects stderr to the output pane, but not stdout. So we redirect
    stdout to stderr by default so that print() "just works".
    dlech committed Jun 29, 2025
    Configuration menu
    Copy the full SHA
    7373d67 View commit details
    Browse the repository at this point in the history
  4. pybricks: skip memoryview_itemsize test in docker

    When we run this test in the ev3dev-stretch/armel docker container,
    it fails because the 64-bit host python is used to generated the .exp
    file but the test is run using 32-bit ARM emulation which results in
    different sizes.
    dlech committed Jun 29, 2025
    Configuration menu
    Copy the full SHA
    5ad7093 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    7e8fc11 View commit details
    Browse the repository at this point in the history
  6. pybricks: ports/unix: increase default heap size

    Images can use quite a bit of memory so we are running out of heap
    space. This increases the heap from 1M to 8M which is 1/4 of the total
    RAM on the EV3.
    dlech committed Jun 29, 2025
    Configuration menu
    Copy the full SHA
    a095a21 View commit details
    Browse the repository at this point in the history
  7. pybricks: add workaround for StopIteration test

    This adds a workaround for tests/basics/stopiteration.py on Python 3.5.
    
    It appears that Python fixed a bug after Python 3.5 that changed the
    behavior. Since Python 3.5 is no longer supported, it doesn't make
    sense to upstream a workaround. So we just add a hack for ev3dev-stretch.
    dlech committed Jun 29, 2025
    Configuration menu
    Copy the full SHA
    d6a5eae View commit details
    Browse the repository at this point in the history
  8. pybricks: skip thread_lock4 test

    This is causing intermittent CI failures. In fact, it was disabled
    upstream in the past [1]. We don't support threading anyway, so we
    can ignore it as well.
    
    [1]: 567e7fc
    dlech committed Jun 29, 2025
    Configuration menu
    Copy the full SHA
    4ccf2eb View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    7cd9d4d View commit details
    Browse the repository at this point in the history
  10. pybricks: skip ubinascii_b2a_base64 test on ev3dev-stretch

    The ubinascii_b2a_base64 test fails on ev3dev-stretch since it requires
    a Python 3.6 feature and ev3dev-stretch is stuck with Python 3.5.
    dlech committed Jun 29, 2025
    Configuration menu
    Copy the full SHA
    636965e View commit details
    Browse the repository at this point in the history
  11. py/mpstate: ensure scheduler only runs on main thread

    This uses MP_STATE_IS_MAIN_THREAD macro to ensure that the scheduler
    only runs on the main thread. This is similar to the way CPython only
    allows pending calls on the main thread (ref: Py_AddPendingCall).
    dlech committed Jun 29, 2025
    Configuration menu
    Copy the full SHA
    736da94 View commit details
    Browse the repository at this point in the history
  12. py/mpthread: add mp_thread_schedule_exception()

    This adds a new mp_thread_schedule_exception() function that performs
    the same function as PyThreadState_SetAsyncExc() in CPython.
    
    This is useful as a mechanism for cancelling/interrupting threads.
    
    https://docs.python.org/3/c-api/init.html#c.PyThreadState_SetAsyncExc
    dlech committed Jun 29, 2025
    Configuration menu
    Copy the full SHA
    24d83bf View commit details
    Browse the repository at this point in the history
  13. ports/unix/qstrdefsport: Add variant hook.

    This adds a new `MICROPY_VARIANT_QSTR_DEFS_H` option to allow variants
    to add additional qstrs to the unix port.
    
    Signed-off-by: David Lechner <david@pybricks.com>
    dlech committed Jun 29, 2025
    Configuration menu
    Copy the full SHA
    d5494ea View commit details
    Browse the repository at this point in the history

Commits on Jun 30, 2025

  1. py/mphal: Add mp_hal_stdout_tx_flush().

    This adds a new, optional mp_hal_stdout_tx_flush() function and uses
    it to implement the `flush()` method for `sys.stdout`.
    dlech committed Jun 30, 2025
    Configuration menu
    Copy the full SHA
    96c45bf View commit details
    Browse the repository at this point in the history
  2. lib/stm32lib: Use Pybricks fork.

    We need some fixes not relevant to MicroPython so we have to use our
    own fork now.
    dlech committed Jun 30, 2025
    Configuration menu
    Copy the full SHA
    babfbb3 View commit details
    Browse the repository at this point in the history
  3. py: make math and cmath modules extensible

    Change math and cmath module registration from normal to extensible.
    This lets the fallback umath and ucmath names work when importing.
    dlech committed Jun 30, 2025
    Configuration menu
    Copy the full SHA
    73cbdab View commit details
    Browse the repository at this point in the history

Commits on Jul 11, 2025

  1. Configuration menu
    Copy the full SHA
    f1ab677 View commit details
    Browse the repository at this point in the history

Commits on Jul 17, 2025

  1. py/mpprint: Allow 'i' format specifier for integers.

    Add a case to handle 'i' in addition to 'd' in mp_vprintf().
    
    There are some 3rd-party libraries that use 'i' in format strings, so
    it is useful to support this.
    
    Signed-off-by: David Lechner <david@pybricks.com>
    dlech committed Jul 17, 2025
    Configuration menu
    Copy the full SHA
    0777fd1 View commit details
    Browse the repository at this point in the history
Loading