PiZZA Arduino core v0.3.2 β reset-on-swap + IDE Serial Monitor fix
What's new
Reset-on-swap loader architecture. Each sketch starts on a freshly-booted kernel β eliminates the whole class of loader-side state leaks across sketches (brcmfmac/netif, k_work/k_timer callbacks, GPIO ISRs, sockets, DMA). Replaces the previous in-process llext_unload+load swap.
BCM2710 sys_arch_reboot driver. New ~15-line strong override that uses the PM-block watchdog full-reset path (mirrors Linux drivers/watchdog/bcm2835_wdt.c). MMU-maps the PM block at 0x3f100000. CONFIG_REBOOT=y enabled in the variant.
IDE Serial Monitor echo fixed on macOS. SerialUSB::write/flush no longer gates on DTR β the Arduino IDE Serial Monitor doesn't always assert DTR on this platform, which previously made HelloSerial appear silent. operator bool() still reports DTR for sketches that explicitly while (!Serial);.
Flash the new loader
The packaged loader binary is at firmwares/zephyr-rpi_zero_2w_bcm2710.bin inside the tarball. Flash via:
cp .../firmwares/zephyr-rpi_zero_2w_bcm2710.bin /Volumes/PIZZA/zephyr.bin && diskutil eject /Volumes/PIZZA
Boards Manager URL (now self-hosted in PiZZA repo)
https://raw.githubusercontent.com/jetpax/PiZZa/dev/os/Arduino/package_pizza_index.json