Skip to content

Version 1.23.0 - Bugfix 1

Latest
Compare
Choose a tag to compare
@Gadgetoid Gadgetoid released this 06 Jun 18:16
· 78 commits to main since this release
7a2ebe5

This release is basically v1.23.0, except that it's actually based upon MicroPython v1.23.0, plus a small fix to make our builds work.

If you're seeing hangs when you try to time.sleep() or use led = Pin("LED", Pin.OUT) or wireless functionality, then this is the release for you 🥳

Doing A Thing With USB

This release is based on MicroPython v1.23.0 (well, actually, just slightly past v1.23.0), which introduces USB support. We have not rolled this out to all of our builds because:

  1. It's new and complicated
  2. So we're still figuring it out...
  3. It's also big, and we're forever running out of firmware space
  4. And in many cases there's no good reason for USB... at least yet!

In lieu of this, you'll find a new build in this release: pico_usb. This build gives you a way to play with USB on the Pico (non W for now) in conjunction with our libraries. To demo this we've added some basic code for long-time holdout Keybow 2040, which can now do keyboards things with MicroPython. You can find those here: https://github.com/pimoroni/pimoroni-pico/tree/main/micropython/examples/keybow2040

⚠️ the pico_usb build uses a 1MB/1MB Flash/Filesystem split so it will erase your .py files. Back up before flashing!

What's Changed

To get an idea of what's new and what's improved, you should first read the MicroPython release notes: https://github.com/micropython/micropython/releases/tag/v1.23.0

Over here in Pimoroni Pico MicroPython land we've been busy fixing bugs and adding features-

Renamed And Less Breaky Builds

More of a personal bugbear than anything else, but I renamed our .uf2 files to drop the "pimoroni-" from the front so it's easier to scan-read down the list. I've also added a verification step to make sure we don't inadvertently produce totally broken builds- which has happened in a release at least once - or subtly broken builds - which has wasted inordinate amounts of my time spent scratching my head. If you want a tool/library to poke at Pico's binary metadata gooey innards, see: https://github.com/gadgetoid/py_decl

Updated ulab

Since we needed compatibility with some breaking changes in MicroPython v1.23.0, a bunch of extra fixes have been swept up in the ulab module. Details of the latest release can be found here: https://github.com/v923z/micropython-ulab/releases/tag/6.5.2

PNG Decode

We've added support for greyscale PNG files, which are a great way to stamp out monochrome icons from very, very small source files.

This support includes the ability to shift a greyscale PNGs "colours" to anywhere within a PicoGraphics palette. It's a hard concept to explain, but you can get two completely different recolours of artwork out of the same greyscale PNG file- @thirdr has illustrated this with an example: https://github.com/pimoroni/pimoroni-pico/blob/main/micropython/examples/pico_display/display_png_offset_palette.py

You'll also find basic PNG examples for Inky Frame, Pico Display and Tufty 2040 - https://github.com/pimoroni/pimoroni-pico/pull/928/files

All The Things 🎉

And here's an exhaustive list of everything we've merged since v1.22.2-

Full Changelog: v1.23.0...v1.23.0-1
MicroPython Changelog: micropython/micropython@v1.22.2...v1.23.0

Note: also includes this commit: micropython/micropython@932f76c

New Contributors