Added SD card storage for smooth fonts with ESP32
ESP32 will use PSRAM (if available and enabled) to hold smooth font
metrics
Improve performance of ESP32 Sprite shared functions
Add basic ST7789 driver option
Latent bug fixes for pin mask
Pixel function used wrong width and height for bounds check.
Remove String variable in smooth font code (not used)
Correct ESP8266UncannyEyes example for new setAddrWindow parameters
The touch screen handler was broken for the ESP8266 only. The library
uses SPI write only configuration for ESP8266 so the SPI buffer can be
recycled and it was left in write only mode. The library now switches
back to read & write mode at the end of a transaction.
Adafruit_GFX font support extended to Unidode Basic Multilingual Plane
Print stream deocdes UTF-8
Smooth font ascent and descent (affects line spacing) changed to rely on
metrics provided by Processing IDE (issue #303)
Bug fix for font rendering with no background on RLE native fonts
Supports Adafruit_GFX compatible font format with characters in the range 32-255.
Note that the font rendering functions expect UTF-8 encoded characters/strings.
Add bounds checking to graphics functions
Rationalise variable types and style used to minimse type casting needs
(this change ended up being a more extensive refactoring than
anticipated - but once started...)
Add version reporting to diagnostic sketch
Boost PDQ graphicstest performance
If the VSPI port is in use and pins are not accessible (e.g. TTGO
T-Beam)
then add or uncomment the following line in the setup header file:
//#define USE_HSPI_PORT
Minor performance tweaks for ESP32 to minimise the occurence of the slow
transaction overhead.
setAddrWindow now takes xstart, ystart, width and height as inputs
Multi-sample raw touch x and y for noisy displays
Example update for setAddrWindow change compatibility
Speed up Sprite rotation on an ESP32
Update utf8 serial decoder to handle illegal format strings
Remove need for D0_USED_FOR_xx (issue #271)
Clean up setup files
Correct various comment typos
Sprites can be rendered rotated with defined pivot points, 3 new
examples have been added "Rotated_Sprite_1/2/3".
The FLASH bitmap example has been moved to the Generic examples folder.
Boundary checks have been added to pushImage()
A new scrolling and wrapping in a Sprite example has been added.
Tested on an ESP32 with ST7789V display
SDA read is very slow on an ESP8266 (to be investigated)
Added new setup #define TFT_SDA_READ
Add new ESP32 and ESP8266 compatible in example/Generic folder to test
capture of TFT screen
Four new examples have been added to show different methods of rendering
the anta-aliased fonts. A few minor bugs have been corrected associated
with the font rendering. drawNumber and drawFloat handle fixed width
mono fonts with no digit movement.
Mismatch of case between filename and #include directive causes compilation to fail in case sensitive operating systems such as Linux. Rather than correct the filename in the #include directive I have chosen to change the filename to make it consistent with the other file of the similar name. A search indicates that this is also consistent with the official spelling of the font.
Use line is form:
tft.init(1);
or:
tft.init(INITR_REDTAB);
// Enumerated the configurations in library are:
#define INITR_GREENTAB
0x0
#define INITR_REDTAB 0x1
#define INITR_BLACKTAB 0x2
#define
INITR_GREENTAB2 0x3 // Use if you get random pixels on two edges of
green tab display
#define INITR_GREENTAB3 0x4 // Use if you get random
pixels on edge(s) of 128x128 screen
#define INITR_GREENTAB128 0x5 // Use
if you only get part of 128x128 screen in rotation 0 & 1
#define INITB
0xB
Also added ability to push 1bpp bitmaps to a Sprite to support rendering
images on an EPaper screen.
Floyd-Steinberg dithering and basic graphics example added as first
ePaper demo.
Can now specify a colour that will not be plotted so some part of the
Sprite are "transparent" and the TFT backforund shows through. New
example added for demonstration.
Sprites (images) can now be created in RAM, written to with text and
graphics and rendered to screen quickly, this makes it easier to get
flicker frre screen updates.
ESP8266 can typically create up to a 160x128 sprite, and ESP32 about
200x200 pixels. 16 bit colour only at the moment, may soon implement 8
bit colour to reduce RAM.