adds a PIO pool on the RP2040 and RP2350; this pool adds a convenient way to manage PIO’s and state machines in a centralized fashion so they can be practically shared by multiple applications simultaneously.
adds a convenient means of managing PIO memory as part of the PIO pool API.
adds a convenient means of setting a PIO state machine’s program as part of the PIO pool API.
updates the CYW43439 driver so it uses the PIO pool when the PIO block and state machine are passed in as -1, while maintaining backward compatibility with existing code that relies on explicitly specifying a PIO block and state machine.
updates the Neopixel driver so it uses the PIO pool when the PIO block and state machine are passed in as -1, while similarly maintaining compatibility with existing code.
updates the Pico W and Pico 2W networking examples to use the PIO pool for the CYW43439 SPI driver.
updates the Neopixel examples to use the PIO pool.
As a preview of a new feature of zeptoIP (both zeptoIPv4 and zeptoIPv6), the devel branch of zeptoforth now contains support for both resolving DNS names and assigning a DNS name in the .local domain via Multicast DNS.
For instance, for a zeptoIP interface my-interface one can enable Multicast DNS with:
true my-interface net::mdns-enabled!
Once one has done that, one can assign a DNS name, say myhostname.local via Multicast DNS with:
adds optional support by zeptoIPv4 and zeptoIPv6 for Multicast DNS, both for looking up hostnames over Multicast DNS and for assigning a hostname to one’s device with Multicast DNS.
optimizes multicore::test-set, used by slocks, to distribute usage of hardware spinlocks on the RP2040 and RP2350 across 16 spinlocks rather than only using one spinlock, reducing contention in multicore execution.
adds optional support for ILI9341-based displays, which the PicoCalc terminal emulator supports in both graphical and text-only variants.
adds friendlier zeptoIPv4 and zeptoIPv6-based applications that can be combined with one another.
Note that this release does not contain uf2loader support, which @cathiele is working on – hopefully this will make its way into a release soon. I just wanted to get some features that I had been sitting on such as Multicast DNS out the door rather than sitting on them longer. (I personally like Multicast DNS support a lot, as it enables assigning hostnames to devices on your local network in a decentralized fashion; e.g. this way I can communicate between my PicoCalc and my laptop without having to memorize their IP addresses.)