The RP2040 processors can now drive 8 bit parallel and SPI displays using the PIO hardware.
The PIO offloads the processor by providing:
1. PIO managed setWindow sequence
2. PIO managed block and screen fill
Add ILI9225 support
Add viewport feature to Sprites
Rationalise common TFT_eSPI and Sprite functions and variables to use inherited functions width(), height(), rotation(), write(), pivot, cursor, swapBytes.
The SSD1963 support has been tested with a 480x800 pixel display from Buy Display.
Support for reading an ST7796 SPI display has been added.
pushToSprite added to keywords list.
Avoid coordinate optimisation for sketch controlled multiple TFT displays. Add #define MULTI_TFT_SUPPORT
to prevent setAddr optimisation that relies on coordinate transfer minimisation.
TFT_eFEX also needs updating so Rotated_Sprite_3 example renders correctly.
pushImage for FLASH images updated so partly off-screen images are correctly rendered.
Read_User_Setup updated to be compatible with STM32 and new structure format.
Reduction in compiler warnings
Update Sprite destructor
Update version to 2.2.1
Typical use to disable use of PSRAM for the sprite storage:
sprite.setAttribute(PSRAM_ENABLE, false); // true to enable
Minor update for recent button class update
Added 24 bit colour handling alphaBlend to reduce precision loss in multiple blend stages (e.g. in 2D colour gradients). Added option for alpha dither to reduce colour banding in gradients with 16 bit colours.
Get rid of compile warnings.
The library has been cleaned up as it has got a bit untidy due to the large number of small incremental changes.
4bit Sprite examples renaed to be consistent with others.
alphaBlend example moved to generic folder (alphaBlend fn was moved to TFT_eSPI class).
Added sections + explanatory comments to functions prototypes.
Temporary comments added for potential gotchas for noobs when using DMA.
spi_begin/end functions renamed to reflect functionality. Old fns retained for backwards compatibility with user setup.h files.