Skip to content

Version 1.18.9

Pre-release
Pre-release
Compare
Choose a tag to compare
@Gadgetoid Gadgetoid released this 23 May 19:12
· 1409 commits to main since this release
1798ded

Really Rad Refactor

⚠️ This release has some spicy changes that you might not want to be dealing with right now. If you're looking for your code to keep ticking along as usual then please grab v1.18.7. If you want to help find all the ways in which I've broken our MicroPython build... please give this release a go!

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

Full Changelog: v1.18.8...v1.18.9