This is a newer abstraction in micropython; it'll for instance
allow background tasks to be checked once per ms in the internal
select module modselect.
Because `MICROPY_INTERNAL_EVENT_HOOK` is used in a few locations,
our own CIRCUITPY-CHANGE call to `RUN_BACKGROUND_TASKS` can be
nixed. Specifically, `mp_event_handle_nowait` calls
`MICROPY_INTERNAL_EVENT_HOOK` so paths from it don't need
`RUN_BACKGROUND_TASKS` anymore.
Both #1167 and #5072 add traceback types. #1167 added a bunch of
named tuples in order to reproduce the traceback string. Since #5072
added traceback printing, we don't need the old way. So, rollback
PR #1167 in favor of the newer traceback type.
By selectively collecting an allocation, we can skip scanning many
allocations for pointers because we know up front they won't have
them. This helps a ton when large buffers are being used and memory is
slow (PSRAM). In one Fruit Jam example GC times drop from 80+ms to
~25ms. The example uses a number of bitmaps that are now no longer
scanned.
* Use 0 bytes for QSTR hash. Fixes#10151
* Update libgcc used on SAMD21 to 14.2. Reduces test build by over 100 bytes.
* Turn off 'd' typecode support on non-full builds.
The old glob assumed one digit before the ".". Now pick anything
that doesn't start with "v" and is on the main branch. These are
always merge commits. Code merged in is on the second parent.
This allows the terminal to use a font from the disk at
/fonts/terminal.lvfontbin for languages that need more
characters than we want to ship.
TileGrid now support 16bit indices as well.
Font files for use with it are generated by the GitHub actions
here:
https://github.com/adafruit/circuitpython-font-generator
This fixes an unlikely problem with the USB host implementation on
rp2350 that would not have detected failure to allocate a DMA channel.
Together with #10186 this should give a clean build. As it is,
this will error.
* Add bus, port_numbers and speed to USB devices. Allows for
differentiating identical devices.
* Autodetect display and adjust if widescreen
* Enable I2S DAC via its reset pin
* Show keyboard emoji in status bar. (Only works over serial connection
now. Built in font doesn't have the emoji.)