Commit Graph

92 Commits

Author SHA1 Message Date
Bodmer
0a1aadfd5a
Correct byte swap for 18 bit colours 2019-05-19 09:25:16 +01:00
Bodmer
9f17920115 Add ESP32 SD support for smooth font plus performance updates
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
2019-04-15 12:23:16 +01:00
Bodmer
46425b83bc Fix bug in UTF-8 line buffer decoder 2019-02-22 00:13:40 +00:00
Bodmer
1edfe6c680 Fic #311
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
2019-02-20 00:45:02 +00:00
Bodmer
e17ba463c9 Add UTF-8 on/off control via new setAttribute function
No change to legacy sketches meeded, UTF-8 decoding is on by default.
Add colour test example.
2019-02-17 22:35:49 +00:00
Bodmer
26d7e4038a Fix touch screen handler
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.
2019-02-14 00:32:16 +00:00
Bodmer
1e1e888fa0 Support extended font formats
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
2019-02-10 21:36:40 +00:00
Bodmer
61dfb2b4ac Extended character set suport for Adafruit_GFX format 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.
2019-02-08 18:25:55 +00:00
Bodmer
091d8cd231 Fix issue #297
There is a bug in the ESP8266 Arduino core that averwrites the overlap
mode setup and hold bits for the hardware driven SPI SS line.  The
TFT_eSPI library has been patched as a work-around.

In overlap mode to maintain the required setup and hold times at 80MHz
ESP8266 CPU clock the SPI rate must be 27MHz or less. At 160MHz CPU
clock the SPI rate can be 40MHz.
2019-02-03 21:54:24 +00:00
Bodmer
caef4519f3 Improve bounds checking update CS management
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
2019-01-25 14:25:40 +00:00
Bodmer
054a824eb8 Add ESP32 VSPI or HSPI port option + others
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
2019-01-22 18:41:31 +00:00
Bodmer
4e6736e596 Add backlight support
The backlight control pin and ON state can be defined in the setup.h
file. Addresses #229, #226, #221

Comments updated and ILI9488 warning added.
2019-01-06 19:03:31 +00:00
Bodmer
05359a4dff Misc updates
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
2019-01-06 17:45:06 +00:00
Bodmer
96228cbf44 Add Sprite rotation and examples
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.
2019-01-06 01:14:10 +00:00
Bodmer
e8c201db5e Update touch handler
Added new function that sketch can call to convert raw ADC x and y
values to calibrated screen coordinates:
tft.convertRawXY(&x, &y);

Redunced required number of SPI transfers needed to read raw values.
Changed mode so PENIRQ pin is enabled so users sketch can read this
signal (if needed).

See issue #279.
2019-01-01 23:56:08 +00:00
Bodmer
41dea61bfd Correct #263, add setup file for 160x80 TFT, add invert option
Fixed bug where wrong wodth was returned for 1bpp Sprite
Improved speed for copying a 1bpp Sprite into another 1bpp Sprite (
affects Sprite pushImage() function only)
Added option to setup for colour inversion
2018-11-30 23:27:10 +00:00
Bodmer
b3d16984b0
Raise version 2018-11-28 22:32:14 +00:00
Bodmer
fa808ed811
Update 2018-11-28 01:03:16 +00:00
Bodmer
467d1dc3c5 Fix issue #260 2018-11-26 19:50:52 +00:00
Bodmer
beda811a3a Add R61581 driver as detailed in #238
Not tested by Bodmer, tested by s60sc as in #238
2018-11-25 19:41:29 +00:00
Bodmer
eb08c17b24 Raise version
Arduino library manager picked up the wrong release.

This version raise is to forece a new release to be recognised. Releases
1.3.2 and 1.3.3 have been deleted.
2018-11-25 16:54:31 +00:00
Bodmer
e01ea43baf Fix SPI incompatibility
I fixed the parallel and broke the SPI, now both work!
2018-11-25 03:47:54 +00:00
Bodmer
5e62875ff5 Fix issue #256
Parallel compatibility lost during recent updates.
Now working again.
2018-11-25 03:15:16 +00:00
Bodmer
ee7d18f7f9 Raise version 2018-11-24 23:32:00 +00:00
Bodmer
329b794950 Update version and ReadMe
Added notes about reading from the display.
2018-11-24 02:49:13 +00:00
Bodmer
419a7ef8de Add option for different RGB colour order with ST7789
// For ST7789 ONLY, define the colour order IF the blue and red are
swapped on your display
//#define TFT_RGB_ORDER TFT_RGB  // Colour order Red-Green-Blue
//#define TFT_RGB_ORDER TFT_BGR  // Colour order Blue-Green-Red
2018-11-19 23:49:32 +00:00
Bodmer
c51ec3751c Raise version 2018-11-16 00:55:58 +00:00
Bodmer
7a3d6bcab9 Minor performance improvements for ESP32
Remove legacy changes for double buffered SPI
Eliminate unecessary ESP32 SPI read/modify write
Eliminate two stage control bit changes (may impact some diplays with
setup/hold  timing and show ESP32 hardware register bug?)
Add single register write for CS and DC command
Make setAddrWindow smarter (as used in previous AVR library)
Improve compatibility with GFX sketches
Re-arrange comments slightly to improve positioning
2018-11-14 01:05:16 +00:00
Gavin Smalley
2aeb09db38 Bump version and add option for red-tabbed 160x80 screen support to SetupX_Template.h 2018-11-08 10:32:40 +00:00
Bodmer
cbc2e66dfd Update for WROVER to address #232
The library supported 240x240 ST7789 displays only which require an 80
pixel offset in rotation 2 and 3
The library now also supports the 240x320 display which has a different
RGB colour order.
2018-11-06 00:41:14 +00:00
Bodmer
8d29c396e3
Version not raised for #224 change 2018-11-05 22:34:45 +00:00
Bodmer
9666314eb6 Support for ESP32 PSRAM added
If PSRAM is fitted and enabled the Sprites are now created in PSRAM.
This makes multiple full screen buffers possible!
2018-10-21 21:22:20 +01:00
Bodmer
1a0b37097a Add new anti-aliased (smooth) font examples + bug fixes
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.
2018-10-21 17:53:27 +01:00
Bodmer
22177cf29a Raise version 2018-10-11 23:48:25 +01:00
Bodmer
a9c4351c64 Allow more settle time for raw values read from touch controller 2018-08-26 23:17:58 +01:00
Bodmer
06a72ad9c3
Raise to 1.0.0 2018-08-01 23:15:52 +01:00
Bodmer
73c1831e7b Add option for a different TFT read SPI frequency
#define SPI_READ_FREQUENCY  20000000 // Optional reduced SPI frequency
for reading TFT

Also weeded out some compiler warnings
2018-07-29 15:00:09 +01:00
Bodmer
5b0d96d64d Completed support for SPI ILI9488
Setup20 added for ESP8266 and Setup21 addwd for ESP32
2018-07-07 22:41:53 +01:00
Bodmer
a76d0d60dc Raise version 2018-07-06 18:49:23 +01:00
Bodmer
98c51c57a6 Raise version and update ReadMe 2018-06-01 18:28:48 +01:00
Bodmer
54b3f0f63d Add drawXBitmap() function and example
Example is in Generic folder, draw the Espressif logo on the screen.
2018-04-23 17:16:18 +01:00
Bodmer
eded971f9f Raise minor issue 2018-04-21 09:50:41 +01:00
Bodmer
1163817887 Update version 2018-04-11 01:04:19 +01:00
Bodmer
b21cdfac1a Raise issue 2018-04-02 02:55:25 +01:00
Bodmer
1f531523dd Update ReadMe and raise version 2018-03-26 01:16:00 +01:00
Bodmer
9276b0162d Add support for 1 bit per pixel in Sprite class
This is stage one of support for ePaper displays from Waveshare.
Examples for 1 bit per pixel Sprites and 2 or 3 colour ePaper displays
to follow soon.
2018-03-26 01:02:23 +01:00
Bodmer
8e7e2a3b8f Increment version 2018-03-12 22:50:35 +00:00
Bodmer
a00011c2df Add 8 bit parallel TFT support for ESP32
Add interface driver macro
Add 8 bit parallel support
Add 8 bit parallel read support
Add ILI9481, ILI9488 and HX8357D drivers
Update version and ReadMe
Update Create_Font processing sketch
Add slightly narrower alternative font 8
2018-03-10 23:08:57 +00:00
Bodmer
324ee1a510 Update files for new fonts 2018-02-24 19:31:25 +00:00
Bodmer
8752236ac2 Add smooth (antialiased) fonts 2018-02-24 19:02:20 +00:00