v0.3.1
A Pico... Vision?
Realising that it's been ages since the last release, changes have piled up and I can make releases now... Here's a release!
New Hardware
The biggest change in this release is support for the PicoVision, which includes USB HID input and SD card storage (also available on the VGA board). Most code should port over easily with the exception that you can't directly access screen.data
. It's possible to blit a Surface
in the same format as a partial workaround though.
static uint16_t temp_framebuffer[160 * 120];
static blit::Surface temp_screen((uint8_t *)temp_framebuffer, blit::PixelFormat::BGR555, {160, 120});
...
screen.blit(&temp_screen, {0, 0, 160, 120}, {0, 0});
The "pico" port also has a lot more configuration, making it a easier to support new devices with st7789 displays and buttons wired to GPIO pins. An example of this is the Tufty2040, which is now supported as much as it can be with only five buttons.
Other Additions
blit_executable(name INTERNAL_FLASH src.cpp)
can be used to build a "firmware" executable for the 32blit. This was previously done withblit_executable_int_flash
, which was internal to the SDK.Surface::get_pixel
allows reading back data fromSurface
s, without needing to accessdata
or know the format. It also works in the PicoVision port.set_screen_mode
now takes an optional resolution, currently only used for the PicoVision.- The launcher is a bit more helpful about incompatible blit files instead of just going "Oops".
- The usual bug fixes all over.
Compatibility
As usual, old .blit files should continue to work. This version does contain a minor API bump though, so new .blit files will not run on older firmware.
Aditionally, some loooong-deprecated wrappers have been removed. (SpriteSheet
-> Surface
, a few blit
variants and 32blit.cmake
)
What's Changed
- Fix builds using pico.toochain with SDK 1.5.0 by @Daft-Freak in #797
- Remove deprecated compatibility wrapper by @Daft-Freak in #795
- Remember launched item in launcher + font changes by @Daft-Freak in #796
- CI: Upload install results as artifacts. by @Gadgetoid in #798
- Pico board config improvements by @Daft-Freak in #794
- Only build picosystem hardware test for picosystem by @Daft-Freak in #799
- Fix the message displayed when no launcher is installed by @ali1234 in #800
- STM32: Use defined SD_DETECT GPIO by @ali1234 in #805
- Firmware: reject erase commands beyond the end of external flash by @ali1234 in #809
- pico: use pico_rand for random API by @Daft-Freak in #811
- Pico build size improvements by @Daft-Freak in #810
- stm32: "fix" the Reset_Handler warning by @Daft-Freak in #812
- Update CubeMX project clocks to match final hardware by @ali1234 in #806
- Sync some blit_metadata changes to 32blit-pico by @Daft-Freak in #807
- ci: enable ccache for macOS by @Daft-Freak in #814
- include cstdint in point.hpp by @Daft-Freak in #816
- firmware: fix launch early-out errors by @Daft-Freak in #815
- pico: HID input by @Daft-Freak in #769
- Avoid DMA channel/PIO SM conflicts from scanvideo/audio by @Daft-Freak in #801
- Launcher refactoring by @Daft-Freak in #804
- blit_executable(_int_flash) improvements by @Daft-Freak in #813
- pico: usb host multiplayer by @Daft-Freak in #817
- Delete old stdlibs files when redownloading by @Daft-Freak in #825
- sdl: set SDL_WINDOW_ALLOW_HIDPI by @Daft-Freak in #823
- Search for the 32blit executable if the module fails by @Daft-Freak in #824
- SDL screen mode/size improvements by @Daft-Freak in #826
- Misc patches by @Daft-Freak in #820
- More pico config by @Daft-Freak in #827
- Add Surface::get_pixel and remove special case from blit code by @Daft-Freak in #828
- pico: SPI-mode SD card support by @Daft-Freak in #819
- pico: remove blit_executable_common by @Daft-Freak in #831
- docs: update pico support by @Daft-Freak in #833
- Optimise stretch_blit_vspan by @Daft-Freak in #830
- pico: include config in led.cpp by @Daft-Freak in #834
- pico: 8BitDo Zero 2 HID mapping by @Daft-Freak in #832
- Add VERBATIM to CMake custom commands by @Daft-Freak in #835
- Some screen mode refactoring by @Daft-Freak in #836
- Pico audio improvements by @Daft-Freak in #837
- sdl: add extra search dir for fixup_bundle by @Daft-Freak in #838
- PicoVision by @Daft-Freak in #829
- st7789 config and parallel support by @Daft-Freak in #821
- pico: generic st7789 rotation config by @Daft-Freak in #844
- Fix actions by @Daft-Freak in #846
- Fix pico metadata title by @Daft-Freak in #847
- More PicoVision modes by @Daft-Freak in #840
- Add can_launch API by @Daft-Freak in #843
- Generic GPIO input driver by @Daft-Freak in #842
- Extend .blit header with api/device info by @Daft-Freak in #822
Full Changelog: v0.3.0...v0.3.1