Commit Graph

138 Commits

Author SHA1 Message Date
Bodmer 972d852346 Correct issue #104 and update setup files
Macro name (transfer16) conflict with SPI library fixed
Smooth font option added to User Setup files
Narrow font 8 option added to User Setup files
2018-03-12 22:49:18 +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 8752236ac2 Add smooth (antialiased) fonts 2018-02-24 19:02:20 +00:00
Bodmer 2fbc2e4adf Add text for ESP8266 overlap mode, add workaround for ESP32 silicon bug 2018-02-22 22:28:23 +00:00
Bodmer f3190fde71 Allow init() to be called in sketch to reset and re-initialise TFT
Solution to Issue #85
2018-01-27 19:22:42 +00:00
Bodmer 1f84ab0885 Reinstate 8bit pushColors()
Permits backwards compatibility
2018-01-27 13:46:59 +00:00
Bodmer b2e4e69f7a Fix Issue #81 2018-01-27 02:35:25 +00:00
Bodmer 6c993f8fd2 Add getCursorX() and getCursorY() functions
As requested in Issue #79

Function names are compatible with Adafruit_GFX

Also trimmed out duplicate keywords
2018-01-26 15:19:40 +00:00
Bodmer aa2c79a25f Performance enhancements, new functions, bug fixes
1. Ability to swap bytes in pushColors() and pushImage()
2. pushImage() will handle FLASH stroed images
3. pushImage() will accept a transparent color
4. pushRect() deprecated but still works
5. setSwapBytes() to set swapping bytes in color for pushImage() and
pushColors() true or false
6. getSwapBytes() returns swap bytes parameter
7. fillCircle() and fillCircleHelper() changed to use horizontal lines
to speed up plotting in a sprite
8. fillTriangle bug fix by moving spi_begin()
9  Small performance improvement to setAddrWindow()
10. pushColor() bug fix for swapped bytes
11. pushColors() performance improvement for ESP8266 and add optional
byte swap parameter, accepts higher pixel count
12. move spi_begin() later in drawLine() incase fn returns early
13. add spi_end() in drawLine incdae return occurs early
14. Add color332() fn to convert 16 bit to 8 bit colour
15. Sprite: createSprite() checks if sprite already created and returns
pointer if it does
16. Sprite: one extra "off-screen pixel added to a sprite to point
out-of-bounds setWindow coords to
this avoids extra bounds checks in push/write color
17. Sprite: setColorDepth allows changing of depthe for existing sprtie
and returns a new pointer to the new sprite
18. Sprite: pushImage() accepts a swapped byte parameter
19. Sprite: setSwapBytes() to set swapping bytes in color for
pushImage() and pushColors() true or false
20. Sprite: getSwapBytes() returns swap bytes parameter
21. Sprite: setWindow deals with duff out of sprite coords.
22. Sprite: bug in draw char corrected which could draw too many
over-writing pixels
2018-01-08 23:19:42 +00:00
Bodmer 936b5cccc7 Add default touch detect threshold 2017-12-22 00:02:31 +00:00
Bodmer 2e84218ecb Add touch pressure hysterisis and user defined sensitivity
getTouch accepts a third optional pressure threshold, default is 600,
increasing means harder presses are needed.
getTouch(uint16_t *x, uint16_t *y, uint16_t threshold = 600);
2017-12-21 23:16:11 +00:00
Bodmer 93ba6e3716 Add scrolling inside a sprite
Added example "Sprite_scroll"
Tidy up virtual function list
Add PROGMEM bitmap image functions
2017-12-10 23:04:31 +00:00
Bodmer d2104f6d85 Add ability to plot Sprites with a "transparent" colour
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.
2017-12-03 02:29:39 +00:00
turiphro b97324875d Fix width/height override issue when using setRotation
This commit fixes an issue when setting screen width
and height from the constructor (e.g., user sketch),
followed by setRotation(i). Previously, setRotation
used TFT_WIDTH and TFT_HEIGHT, ignoring user overrides.
2017-11-26 18:06:11 -08:00
Bodmer 312b7c1128 Tidy up 8 bit sprite code and fix gugs
Minor tweaks and speed improvements
2017-11-24 14:12:29 +00:00
Bodmer 3e3d638bba Add support for 8 bit color sprites (needs less RAM)
Added setColorDepth(d) where "d" is 8 or 16.
Default is 16 bit if not specified.
2017-11-21 22:57:11 +00:00
Bodmer 943c18facf Add sprite class
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.
2017-11-15 20:26:22 +00:00
Bodmer 2333e1ab5c Initialise touch parameterswith example calibration values
This avoids a processor crash it setTouch() not called in setup()
2017-11-04 20:56:26 +00:00
Bodmer 8734a05d3e Update touch handler to work with ESP32
Adde Setup11... for testing with ESP32
2017-11-04 19:11:50 +00:00
Bodmer 0562594ae3 Fix issue #49 2017-11-02 01:49:35 +00:00
Bodmer e4ea506b65 Update touch, add Button class
Touch reliability improved by using pressure and double sampling. Added
Adafruit compatible Button class. Added touchscreen on/off and keypad
examples.
2017-10-23 01:59:37 +01:00
Bodmer f907ac31b7 Tidy up code merge 2017-10-16 23:26:54 +01:00
Max 548fcca258 now calibration works with all orientations. 2017-10-01 21:34:11 +02:00
Max 944e505f36 Add XPT2046 touch controller support
supports esp8266 + RPi displays
2017-10-01 00:32:30 +02:00
Bodmer 6b794e1eb3 Add SPI overlap support Issue #26
Note, must use latest ESP board package with support for the overlap
mode
2017-07-15 18:44:49 +01:00
Bodmer 2d0f580a38 Silicon bug work-around for Issue #21
There is a silicon bug in the ESP32, writing the same value to a
register twice sometimes fails. TFT_CS needs a delay though, so the fix
is to write two different values to the register.
2017-06-16 13:45:49 +01:00
Bodmer c52db6bf59 Add ESP32 compatibility
Tested with ILI9341 only so far!
2017-05-20 01:37:58 +01:00
Bodmer 40d35b1892 Examples menu now based on resolution
Reference to particular drivers in examples have been removed as
multiple display drivers are now supported.
Tabs replaced by spaces in header file by file editor.
RPi TFT with write strobe SPI clock rate dropped to 20MHz (display
cannot cope with new high rate siWriteBlock() function)
2017-04-24 22:35:11 +01:00
Bodmer 8e996c0257 Minor bug fixes plus faster block write function added 2017-04-23 18:50:53 +01:00
Bodmer e65f4cb1fe Rename swap() to avoid clashes
Increment version
2017-04-13 00:20:19 +01:00
Bodmer c5fafdd71c Minor performance tweaks
Plus code tidy and typo corrections
2017-03-28 23:56:54 +01:00
Bodmer d3d877c8e2 Add RPi display support for write strobe mod 2017-03-27 02:15:30 +01:00
Bodmer 0fe1acf6cb Allow MISO (D6) to be used as DC or CS pin 2017-03-12 03:31:51 +00:00
Bodmer a427626cfc Weed out legacy variables, add readAddrWindow()
readAddrWindow is a private function to support pixel and block reads of
the TFT screen. Tested on ILI9341.
2017-03-11 16:59:34 +00:00
Bodmer 406aac051e Update to screenshot sketches + others
Minor tweaks and re-arrangement of User and Custom font references
between header files
2017-03-10 19:16:31 +00:00
Bodmer 37687da0f3 Correct \ in file path to / for Windows and Linux comaptibility 2017-03-09 22:42:08 +00:00
Bodmer cd356bb6c5 Add S6D02A1 and ILI9163 driver code 2017-02-26 03:03:47 +00:00
Bodmer e1b2959577 First draft release
Not yet fully tested but seems to work OK!
2017-02-22 03:07:17 +00:00