Skip to content

v0.1.8 Beta

Compare
Choose a tag to compare
@Gadgetoid Gadgetoid released this 11 Jan 10:43
· 1236 commits to master since this release
1de8a09

Firmware Update Fun

The dependency between the launcher/firmware caused for some tricky update procedures, where you'd end up with updated firmware and a broken launcher when attempting to update via DFU or from an SD card. The 32blit tool is usually the cure-all for this, but we appreciate it's not suitable in all cases and we can do better.

And do better we have. Or @Daft-Freak has, anyway. The firmware now looks for launcher.blit and firmware-update.blit on the SD card and runs them if they're available. This means you can just stick these two files on an SD card and reset to perform a complete firmware upgrade.

Updating your firmware from SD card

Grab the -STM32.zip package (https://github.com/pimoroni/32blit-beta/releases/download/v0.1.8/32blit-beta-v0.1.8-STM32.zip) from this release and extract it somewhere.

Drop both firmware-update-v0.1.8.blit and launcher.blit on your SD card and run firmware-update-v0.1.8.blit using your 32blit's launcher.

Following the update it will install itself again followed by the launcher.

For future updates you should rename firmware-update-v0.1.8.blit to firmware-update.blit when copying it to your SD card. Firmware v0.1.8 and greater will now detect and install it automatically.

Beneath The Surface

Some bugfixes for Surface have also snuck into this release. This includes slightly better support for .bmp formats and better handling of oversized images that might otherwise have overflowed a buffer.

If you're passing your own buffer into Surface::load you will now also need to pass the size: Surface::load(filename, buffer, sizeof(buffer)). load will refuse to load oversized images and return a nullptr.

It's a short list

As usual you can find the complete - rather short this time - list of changes here: v0.1.7...v0.1.8

Known Issues

It looks like - at least in my tests - this new firmware can delete the firmware updater before it's actually run, causing a weird situation where the 32blit looks like this:

image0

This will only apply to the next firmware update you do, and to avoid this problem you need only rename firmware-update-v0.1.9.blit to firmware-update.blit, save it to your SD card and hit reset. The code that runs the firmware update from SD happens after any residual update utilities are deleted from flash.