Skip to content

v0.0.35

Choose a tag to compare

@bdbarnett bdbarnett released this 21 Aug 10:06
· 20 commits to main since this release

CircuitPython MCU ports

apply_cp_patches.sh bailed out with port=$PORT is not unix; skipping on every microcontroller port. Nothing about the module required unix — the only port-specific piece was where CircuitPython puts feature enables (variant makefile on unix, board makefile on MCU ports), so VARIANT_MK became ENABLE_MK, chosen per port.

Removing that gate exposed two problems that had never been reached:

  • -Werror=float-equal — CircuitPython enables it, MicroPython does not. gfx_shapes.c compares a caller-supplied angle against exact 0.0f to skip rotation, a deliberate fast path, so -Wno-float-equal joins the per-source suppress list rather than relaxing the flag globally.
  • Double includecircuitpython.mk is included from both the enable makefile and the port Makefile. Without a guard, SRC_C collected every source twice and the link failed with multiple definition of … naming the same object file on both sides.

Verified on raspberrypi / waveshare_rp2040_touch_lcd_1_28: builds clean at 93.80% of the 1020 KB firmware region, and import pygraphics resolves on the board with fill_rect and circle present. pygraphics costs ~59 KB there.

Also in this release

Accumulated since v0.0.34: PyScript runner abort timeout and typed-array unpacking fix, a real micropip call in the PyScript tab, dead example links repaired, live PyScript Pyodide runner links for examples and games, docs theme upgrade with benchmarks and Mermaid pipeline, refreshed pydevices_bundle.zip, and ruff import ordering.