Commit Graph

45 Commits

Author SHA1 Message Date
Bodmer
c689b4211d Add FLASH based anti-aliased fonts
Processors (such as STM32) that are not supported by a SPIFFS library can now use anti-aliased (smooth) fonts stored in FLASH (program) memory.
2020-02-14 23:54:37 +00:00
Bodmer
0e0fd75277 Raise to version 2.0.0
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.
2020-01-26 21:17:49 +00:00
Bodmer
561b488b3c
Remove test setups 2020-01-12 00:10:30 +00:00
Bodmer
7f53a571f4 Add STM32 and generic processor support 2020-01-11 23:32:10 +00:00
Bodmer
1476da56ba Restructured code, added ST7796
RPi MHS-4.0 inch Display-B type display now supported.
2020-01-11 00:58:38 +00:00
lewis
6f972dc980 Add T-Wristband headfile to User_Setup_Select.h 2019-12-05 10:00:04 +08:00
Bodmer
425a4744a7 Revert pin references #456 2019-11-02 13:24:58 +00:00
Bodmer
e9d405ea1f Fix image cropping bug plus minor update
Images/sprites overlapping both sides of the display were not correctly
cropped.
Option added to allow RGB<>BGR colourr swap option to be used.
ESP8266 Wemos D1 R1 pin numbering difference accomodated.
TTGO T4 setup changed to use HSPI port.
2019-10-21 22:56:35 +01:00
Bodmer
d3210a7ee6 Fix #417 and add for 135x240 display
Setup 135 is for TTGO T Display (ESP32)
Plus minor tweaks to avoid some warnings
2019-10-07 17:56:17 +01:00
Bodmer
90189130ec Update for #379
Added support for ST7789 135 x 240 display which needs offsets
Added Setup135_ST7789.h as an example setup file for ESP8266
2019-07-31 01:07:05 +01:00
Ricard Bitria Ribes
f14ee2cd9f Add new driver RM68140
-Added new RM68140 480x320 TFT. It works like ILI9481 but needed some changes to make setRotation() work properly.
-Fixed some PlatformIO warnings
2019-07-20 20:57:22 +02: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
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
0f630b375b Add TTGO boards 2018-11-25 17:20:40 +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
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
27d80339d9
Update notes on ESP8266 pins 2018-07-09 10:54:05 +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
51ed23af0f Support ST7789 rotation offset and boards with no chip select
Other minor changes to tidy code up
Put back in ability to call init() multiple times in sketch
2018-07-06 18:48:24 +01:00
Bodmer
53119823f9 Add support for ST7789 display (240 x 240) 2018-06-01 18:26:09 +01:00
Bodmer
f56184e9cd Add diagnostic sketches
Do not load button class is touch screen chip select not defined
2018-04-11 01:03:26 +01:00
Bodmer
ada678d76e Added Waveshare ePaper support
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.
2018-04-02 02:53:42 +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
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
ff335f61c5 Make setup files consistent
User setups are now all based on the same template.
2018-02-09 21:52:26 +00:00
Bodmer
2854535779 Add support for ESP32 based M5Stack 2018-02-08 00:45:18 +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
atanisoft
ef543a652c
Update User_Setup_Select.h
Adding ability to load settings from the calling program rather than modifying the library for each project that uses it. This is mostly for PlatformIO IDE which manages the libraries differently than Adruino IDE.
2017-12-16 06:50:23 -08: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
0bcf7eaa6b Correct jpeg decoder image edge rendering
Revert setup file and add setup 10
2017-10-17 00:07:49 +01: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
cdb836876d Increment issue
Minor format and typo errors corrected
2017-04-24 22:43:04 +01:00
Bodmer
1668700f3a Add ILI9163 129 x 128 display support 2017-04-18 23:15:59 +01:00
Bodmer
c2dcf25cc1 Add support for ST7735 128x128 display
May not cater for 128x128 ST7735 displays with different RGB and offset
configurations.
2017-04-16 16:13:12 +01:00
Bodmer
6526e34e7c Work around for D4 IDE bug
A condition can exist where pin D4 is allocated a value of 0
The workaround is to define and use pin numbers in the PIN_Dx format
2017-04-14 15:45:40 +01:00
Bodmer
d31cbc3dbd Format and code tidy - fixes for compatibility issues 2017-04-14 01:04:04 +01:00
Bodmer
d3d877c8e2 Add RPi display support for write strobe mod 2017-03-27 02:15:30 +01:00
Bodmer
4f8029b096 Added support for RPi TFT
16 bit serial based ILI9486 supported
2017-03-24 23:23:35 +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
c42498e5a1 Change \ in file path to / for Windows AND Linux compatibility 2017-03-09 22:37:25 +00:00
Bodmer
cd356bb6c5 Add S6D02A1 and ILI9163 driver code 2017-02-26 03:03:47 +00:00
Bodmer
983446d011 Correct default setup file called up 2017-02-22 22:56:32 +00:00
Bodmer
237565cff0 Update with multiple User_Setup file option
Added Tools folder and licence for Marek's screenshot viewer utility
2017-02-22 10:04:26 +00:00
Bodmer
e1b2959577 First draft release
Not yet fully tested but seems to work OK!
2017-02-22 03:07:17 +00:00