Commit graph

5927 commits

Author SHA1 Message Date
1ab8176e1d mpconfig: Use RUN_BACKGROUND_TASKS as the micropython event hook
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.
2025-05-27 17:05:40 +02:00
Dan Halbert
2a7b2b6631
Update py/makeversionhdr.py 2025-05-15 09:46:02 -04:00
Emmanuel Ferdman
87a714e168
Migrate to modern datetime inteface
Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
2025-05-15 06:13:18 -07:00
Scott Shawcroft
d82b91ec19
Remove old traceback type
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.
2025-05-12 14:47:37 -07:00
Scott Shawcroft
3435f47385
Remove non-standard sys.print_exception()
It already warned about it.

Fixes #9451
2025-05-09 14:43:31 -07:00
Scott Shawcroft
fba4e681e1
Fix finaliser in malloc helper 2025-05-02 22:49:12 -07:00
Cooper Dalrymple
e729849fac Initial setup of phaser effect. 2025-05-01 08:15:43 -05:00
Scott Shawcroft
91cf8fb83d
Make collect the default 2025-04-24 14:59:07 -07:00
Scott Shawcroft
35ffb64a11
Apply suggestions from code review
Co-authored-by: Dan Halbert <halbert@halwitz.org>
2025-04-24 12:29:57 -07:00
Scott Shawcroft
c340596580
Add selective collect to memory allocations
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.
2025-04-22 14:07:00 -07:00
Scott Shawcroft
492f6e90e8
Merge pull request #10263 from tannewt/next_code_working_dir
Add working_directory for subsequent code file
2025-04-22 14:03:54 -07:00
Scott Shawcroft
ba69a59dea
Merge pull request #10271 from dhalbert/wifi-power-management
Wifi power management
2025-04-22 13:37:52 -07:00
Scott Shawcroft
50382b22c7
No qstr hash on all SAMD21 2025-04-22 11:03:48 -07:00
Dan Halbert
b3ff08495e
Merge pull request #10269 from tannewt/shrink_samd
Shrink non-FULL builds (SAMDs mostly)
2025-04-21 16:27:14 -04:00
Dan Halbert
7d65991f2c Merge remote-tracking branch 'adafruit/main' into wifi-power-management 2025-04-21 16:09:23 -04:00
Scott Shawcroft
8571634abc
Fix overridability for double typecode 2025-04-21 09:56:17 -07:00
Dan Halbert
b1ce99a97d Merge branch 'main' of https://github.com/adafruit/circuitpython into wifi-power-management 2025-04-20 21:03:44 -04:00
gamblor21
3478eea1f0 Merge remote-tracking branch 'adafruit/main' into audioeffect-reverb 2025-04-20 09:25:38 -05:00
Dan Halbert
1ff3dff298 add wifi.radio.power_management et al 2025-04-19 21:06:19 -04:00
Mark
670d046333
Merge pull request #10258 from relic-se/multi-tap-delay
Audio Effect Multi-Tap Delay
2025-04-19 10:42:46 -05:00
Scott Shawcroft
eca93043ff
Shrink non-FULL builds (SAMDs mostly)
* 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.
2025-04-17 14:26:04 -07:00
Cooper Dalrymple
1bf769a083 Initial setup of multi-tap delay effect. 2025-04-15 16:45:38 -05:00
Scott Shawcroft
8f7496c069
Merge pull request #10231 from eightycc/issue-9710
Implement BOOTSEL button entry to safe mode for RP2.
2025-04-15 09:51:40 -07:00
Dan Halbert
97d037b3c4 wip 2025-04-14 20:27:53 -04:00
eightycc
7012deb3e7 Implement use_global_block_protection_lock for write-enabling flash.
Fix mis-placed conditional in circuitpy_mpconfig.h.
2025-04-14 07:47:59 -07:00
eightycc
4d81b53024 Update CIRCUITPY_BOOT_BUTTON_NO_GPIO to 0/1 for false/true. Add compile time check forbidding CIRCUITPY_BOOT_BUTTON and CIRCUITPY_BOOT_BUTTON_NO_GPIO. 2025-04-11 20:42:00 -07:00
gamblor21
86eca38566 Moving to audiofreeverb and renaming to Freeverb 2025-04-11 17:15:50 -05:00
Dan Halbert
641ab0dc06 increase default PYSTACK size from 1536 to 2048 2025-04-08 12:44:48 -04:00
Dan Halbert
c286fc4bca
Merge pull request #9878 from eightycc/bleio-build-fix
Allow Selection of _bleio by Board, Fixup CIRCUITPY_BLEIO Flags
2025-04-07 18:52:56 -04:00
Mark
549a67df81
Merge branch 'main' into audioeffect-chorus 2025-04-01 18:41:32 -05:00
Dan Halbert
71a023ca62
Merge pull request #10216 from tannewt/fix_version
Fix version determination for 10.x
2025-04-01 18:32:54 -04:00
Dan Halbert
279d7a8456
Merge pull request #10213 from relic-se/biquad-removal
Remove deprecated `Biquad` and replace with `BlockBiquad`
2025-04-01 18:32:04 -04:00
Scott Shawcroft
5155d247e4
Fix version determination for 10.x
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.
2025-04-01 14:35:38 -07:00
Dan Halbert
92c121b1ae
Merge pull request #10208 from tannewt/lvfontio
Add support for on disk fonts to terminalio
2025-04-01 11:01:29 -04:00
Cooper Dalrymple
05a50b8fd8 Initial replacement of old Biquad with BlockBiquad 2025-04-01 09:10:25 -05:00
eightycc
077ef74c37
Merge branch '9.2.x' into bleio-build-fix 2025-03-31 06:00:46 -07:00
Scott Shawcroft
1cb188d6d3
Add native support for LVGL binary fonts on disk
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
2025-03-28 15:54:41 -07:00
gamblor21
a405019d55 Initial commit 2025-03-28 16:26:06 -05:00
Dan Halbert
25216c88c7
Merge pull request #10195 from dhalbert/9.2.x
Merge 9.2.x to main
2025-03-28 17:22:20 -04:00
Dan Halbert
1876c7179f Convert completely to new displayio bindings; remove warnings 2025-03-28 13:12:58 -04:00
8097e3dde6 Address -Wtype-limits diagnostics
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.
2025-03-26 10:57:52 -05:00
Dan Halbert
df3327179d CIRCUITPY_FULL_BUILD now controls a few more features 2025-03-19 21:49:33 -04:00
eightycc
aec1071786 Rename to CIRCUITPY_9_10_WARNINGS and turn on warnings for CP9. 2025-03-18 15:33:43 -07:00
eightycc
7c827c7e8e Revert "Remove CIRCUITPY_8_9_WARNINGS and its usage."
This reverts commit 4bcc424f4d.
2025-03-18 15:22:03 -07:00
eightycc
4bcc424f4d Remove CIRCUITPY_8_9_WARNINGS and its usage. 2025-03-18 09:13:46 -07:00
Scott Shawcroft
ca0eec3f1a
Merge pull request #10122 from tannewt/saves_partition
Add support for saves partition
2025-03-11 16:21:37 -07:00
Scott Shawcroft
5616fc2a3c
Add support for saves partition
Suggested in #10045
2025-03-06 16:48:59 -08:00
foamyguy
c70be711a8 Merge branch 'refs/heads/main' into tile_palette_mapper
# Conflicts:
#	ports/atmel-samd/boards/openbook_m4/mpconfigboard.mk
#	ports/atmel-samd/boards/uartlogger2/mpconfigboard.mk
2025-03-06 08:30:52 -06:00
Scott Shawcroft
b14672c55e
Reset the I2S DAC. Tweak exception behavior when heap not available 2025-03-05 15:12:23 -08:00
Scott Shawcroft
effa01e2af
Improve Fruit Jam
* 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.)
2025-03-05 13:04:33 -08:00