Version 1.18.9
Pre-releaseReally Rad Refactor
This is a bugfix and refactor release for the v1.18.8 beta.
Crucially the ST7789 combined LCD driver has seen some fixes to line
and triangle
which were fixed in #344 in the other libraries, but missed out here.
Additionally some significant refactoring has been applied across all of our MicroPython-wrapped-C++ classes, such that they are allocated within MicroPython's "gc_heap" memory region. This should have no real effect for most users, but fixes an issue where the RP2040 would run out of RAM when allocating classes because they were being allocated in the tiny amount of free RAM left to MicroPython's core/C/C++ code.
This led to some very smelly defensive programming where buffers that should have been constant sized and allocated as part of a class were being allocated with m_new
and passed in as pointers, just to keep the class size down and avoid blowing through the memory.
You can now create 3000 instances of Pimoroni I2C with impunity. Have fun!
I also snuck the ADCFFT library into this release. It's surprisingly effective even under MicroPython!
What's Changed
- ST7789: Add fixes from #344 by @Gadgetoid in #369
- Small pico unicorn cleanups by @Daft-Freak in #370
- Improve PIMORONI_PICO_PATH fallback by @Daft-Freak in #366
- Add Motor SHIM for Pico link to readme by @helgibbons in #358
- MicroPython: Use placement new to alloc classes on GC_HEAP by @Gadgetoid in #365
- ADC FFT library & MicroPython Bindings by @Gadgetoid in #371
Full Changelog: v1.18.8...v1.18.9