Giter VIP home page Giter VIP logo

tft_22_ili9225's People

Contributors

bolukan avatar charclo avatar dl9rdz avatar ellsclytn avatar g4lile0 avatar james-4dsystems avatar joe820730 avatar lak132 avatar nkawu avatar per1234 avatar pierbout avatar techi602 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tft_22_ili9225's Issues

touchscreen?

is it support touchscreen?

it is 4 wires cable for resistive touchscreen?

ili9255

Triangle draw incorectly.

Triangle draw incorectly.
try this sample:
tft.drawTriangle(0, tft.maxY()/2-1, tft.maxX()/2-1, tft.maxY()/2-1, tft.maxX()/2-1,0, COLOR_WHITE);
tft.drawTriangle(tft.maxX()/2-1, tft.maxY()/2-1, tft.maxX()-1, tft.maxY()/2-1, tft.maxX()-1,0, COLOR_BLUE);
tft.drawTriangle(0, tft.maxY()-1, tft.maxX()/2-1, tft.maxY()-1, tft.maxX()/2-1,tft.maxY()/2-1, COLOR_GREEN);
tft.drawTriangle(tft.maxX()/2-1, tft.maxY()-1, tft.maxX()-1, tft.maxY()-1, tft.maxX()-1,tft.maxY()/2-1, COLOR_RED);

This problem occurs because of the use of the ABS() macro.
This fix fixes the problem.
// int16_t steep = abs(y2 - y1) > abs(x2 - x1);
int16_t y2y1 = y2 - y1;
int16_t x2x1 = x2 - x1;
int16_t steep = abs(y2y1) > abs(x2x1);

// dy = abs(y2 - y1);
int16_t _y2y1 = y2 - y1;
dy = abs(_y2y1);

Basic Example hangs on ESP8266

Testing on a Wemos D1 Mini, with the Opensmart 2.0" 176x220 LCD.

Arduino version 1.8.4, ESP8266 board support V2.3.0, TFT library v1.3.8

The hardware works fine with the example from https://github.com/jorgegarciadev/TFT_22_ILI9225 but that library is older, and missing some features (most notably bitmap display), so I'd like to get it working with this one.

The example code starts up okay, but hangs and gets killed by the watchdog timer in the first execution of tft.clear().

I'm guessing that there's some obscure bug/incompatibility with the 2.3.0 ESP8266 support. But that's just a guess. What version(s) has this library been tested with? Are there any that are required/should be avoided?

Thanks,

Ran

Support for teensy 3.6

it shows "Error compiling for board Teensy 3.6." while compiling for teensy ,is there any hack to make it work with teensy ?

does not build on megaavr Core (ATmega4809)

The new AVR8X chips from Microchip have different SPI peripheral.

I suggest that you add a conditional block for standard SPI

    // Standard Byte-by-Byte SPI

    #if defined(__AVR_ATmega4809__)
    static inline uint8_t _avr_spi_read(void) __attribute__((always_inline));
    static inline uint8_t _avr_spi_read(void) {
        uint8_t r = 0;
        SPI0_DATA = r;
        while(!(SPI0_INTFLAGS & _BV(SPI_IF_bp)));
        r = SPI0_DATA;
        return r;
    }
        #define HSPI_WRITE(b)        {SPI0_DATA = (b); while(!(SPI0_INTFLAGS & _BV(SPI_IF_bp)));}
        // #define HSPI_READ()          _avr_spi_read()
    #elif defined (__AVR__) || defined(TEENSYDUINO)
    ...

There might be a predefined macro for AVR-0 series targets but I suspect that mega4809 will be the only target in common use. __AVR_ENHANCED__might be a suitable generic test.

David.

white screen

i got 11pin ili9225 , i test in normal analog pin and digital setup but in all demo project only i get whit screen.
help please

Error no headers files (.h) found

I'm interfacing Arduino Uno with ili925 and on uploading, I get the following error
Invalid library found in D:\New folder\Arduino\libraries\TFT_22_ILI9225: no headers files (.h) found in D:\New folder\Arduino\libraries\TFT_22_ILI9225

using ILI9225 with STM32F1

Hi,
I tried to use the library with STM32F1, using the stm32duino framework, but to allow it to compile I had to modify some file, described below. Can you update your library so it can compile with stm32duino?
regards
Niko

file: TFT_22_ILI9225.h:
line 12: #if defined(ARDUINO_STM32_FEATHER) || defined(ARDUINO_ARCH_STM32) || defined(ARDUINO_ARCH_STM32F1) || defined(STM32F1)

file: DefaultFonts.c:
line 7: #if defined(ARDUINO_ARCH_SAM) || defined(ARDUINO_ARCH_SAMD) || defined(ARDUINO_ARCH_STM32) || defined(ARDUINO_ARCH_STM32F1) || defined(STM32F1)

file Basic_demo:
#if defined (ARDUINO_ARCH_STM32F1)
#define TFT_RST PA1
#define TFT_RS PA2
#define TFT_CS PA0 // SS
#define TFT_SDI PA7 // MOSI
#define TFT_CLK PA5 // SCK
#define TFT_LED 0 // 0 if wired to +5V directly
#else
#define TFT_RST 8
#define TFT_RS 9
#define TFT_CS 10 // SS
#define TFT_SDI 11 // MOSI
#define TFT_CLK 13 // SCK
#define TFT_LED 3 // 0 if wired to +5V directly
#endif

USE_FAST_PINIO flawed on dual-core ESP32

The use of USE_FAST_PINIO causes problems on a dual-core ESP32.

USE_FAST_PINIO causes the utilisation of non-atomic access (reading GPIO_OUT_REG, setting/clearing a bit, writing GPIO_OUT_REG). If a second task on the other CPU core concurrently accesses the the same GPIO_OUT_REG, these GPIO modifications may get lost and thus cause unexpected behaviour (which btw are a nightmare to debug)...

I posted some sample code that shows defective behaviour on a ESP32 TTGO T-Beam with external ILI9225 display here: https://www.esp32.com/viewtopic.php?f=19&t=12599

ESP32 should instead only use GPIO_OUT_W1TS_REG/GPIO_OUT_W1TC_REG to directly change GPIO pin values.

License

Clarification from @4dsystems is required regarding the license of this project, as I have not found any information regarding the use of this code.

Thanks.

Problems to set ONLY Color

How change de drawText color from variable?

I try yo change the color from different condition of my program to ser in a variable example color = "COLOR_GREEN"

But...
color = "COLOR_GREEN";
tft.drawText(0,0,"TEXT Color",color);

no matching function for call to 'TFT_22_ILI9225::drawText(int, int, StringSumHelper&, String&)'

drawLine freezes library

Hi, great library and I am trying to get it working for the ESP32.

My code freezes after/while executing drawLine code. There is no problem with drawRectangle so maybe the

bool inTrans = checkSPI;
if (checkSPI) startWrite();
if (inTrans) checkSPI = false;

and

if (checkSPI) endWrite();
if (inTrans) checkSPI = true;

has some flawns if the function is called directly.

Should it not be:

if (inTrans) endWrite();
if (inTrans) checkSPI = true;

PS: Tested and confirmed this was the problem.

too much Strings

At first Thanks a lot to author! very useful libriry.
at second i coudn't realise how to draw nemeric varible/values such ass int or float without Strings.
But with the Strings the code become huge. any help on it?

Triangle Demo - Math.h

Hello there,

I tried to compile the triangle demo, but got an error for the include "Math.h"
I fixed it writting Math in lowercase, but I'm not sure if it is the good way to fix it or if you used your own math library.

Also by the way, the two other examples does not longer run on Atmega 168p because of the reduced memory (16 KB instead of 32, so 14 available instead of 30)

Call to invert appears non-functional

Regardless of where invoked in code (prior to writing to display, or after) there's no display inversion taking place. Is this function working for anyone, and if so, please provide a code example

Feature request: Draw text without affecting background color

I wanted to add some shadow/3d effects to the texts I draw. A very common trick to do that is to draw the same text slightly off by several pixels with a darker color and then draw the same text over with a lighter color.

But to do that the background color must not be changed on successive calls to draw text, or the effect is completely ruined.

Would it be possible to add an option not to draw any background color when drawing text (perhaps by adding a special numeric value to setBackgroundcolor())?

error when try to compile Basic_Demo for esp8266

Hi
i have problem when i try to compile and uploat the test sketch i get following error message.

C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp: In member function 'void TFT_22_ILI9225::_setWindow(uint16_t, uint16_t, uint16_t, uint16_t, autoIncMode_t)':

C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:451:26: error: no matching function for call to 'min(uint16_t&, int)'

 x0 = min( x0,_maxX-1 );

                      ^

C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:451:26: note: candidates are:

In file included from c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\algorithm:62:0,

             from C:\Users\Arduino\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266/Arduino.h:254,

             from C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.h:20,

             from C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:1:

c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algo.h:4226:5: note: template<class _Tp, class _Compare> _Tp std::min(std::initializer_list<_Tp>, _Compare)

 min(initializer_list<_Tp> __l, _Compare __comp)

 ^

c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algo.h:4226:5: note: template argument deduction/substitution failed:

C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:451:26: note: mismatched types 'std::initializer_list<_Tp>' and 'short unsigned int'

 x0 = min( x0,_maxX-1 );

                      ^

In file included from c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\algorithm:62:0,

             from C:\Users\Arduino\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266/Arduino.h:254,

             from C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.h:20,

             from C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:1:

c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algo.h:4221:5: note: template _Tp std::min(std::initializer_list<_Tp>)

 min(initializer_list<_Tp> __l)

 ^

c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algo.h:4221:5: note: template argument deduction/substitution failed:

C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:451:26: note: mismatched types 'std::initializer_list<_Tp>' and 'short unsigned int'

 x0 = min( x0,_maxX-1 );

                      ^

In file included from c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\algorithm:61:0,

             from C:\Users\Arduino\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266/Arduino.h:254,

             from C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.h:20,

             from C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:1:

c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algobase.h:239:5: note: template<class _Tp, class _Compare> const _Tp& std::min(const _Tp&, const _Tp&, _Compare)

 min(const _Tp& __a, const _Tp& __b, _Compare __comp)

 ^

c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algobase.h:239:5: note: template argument deduction/substitution failed:

C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:451:26: note: deduced conflicting types for parameter 'const _Tp' ('short unsigned int' and 'int')

 x0 = min( x0,_maxX-1 );

                      ^

In file included from c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\algorithm:61:0,

             from C:\Users\Arduino\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266/Arduino.h:254,

             from C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.h:20,

             from C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:1:

c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algobase.h:193:5: note: template const _Tp& std::min(const _Tp&, const _Tp&)

 min(const _Tp& __a, const _Tp& __b)

 ^

c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algobase.h:193:5: note: template argument deduction/substitution failed:

C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:451:26: note: deduced conflicting types for parameter 'const _Tp' ('short unsigned int' and 'int')

 x0 = min( x0,_maxX-1 );

                      ^

C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:452:26: error: no matching function for call to 'min(uint16_t&, int)'

 x1 = min( x1,_maxX-1 );

                      ^

C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:452:26: note: candidates are:

In file included from c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\algorithm:62:0,

             from C:\Users\Arduino\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266/Arduino.h:254,

             from C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.h:20,

             from C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:1:

c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algo.h:4226:5: note: template<class _Tp, class _Compare> _Tp std::min(std::initializer_list<_Tp>, _Compare)

 min(initializer_list<_Tp> __l, _Compare __comp)

 ^

c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algo.h:4226:5: note: template argument deduction/substitution failed:

C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:452:26: note: mismatched types 'std::initializer_list<_Tp>' and 'short unsigned int'

 x1 = min( x1,_maxX-1 );

                      ^

In file included from c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\algorithm:62:0,

             from C:\Users\Arduino\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266/Arduino.h:254,

             from C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.h:20,

             from C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:1:

c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algo.h:4221:5: note: template _Tp std::min(std::initializer_list<_Tp>)

 min(initializer_list<_Tp> __l)

 ^

c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algo.h:4221:5: note: template argument deduction/substitution failed:

C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:452:26: note: mismatched types 'std::initializer_list<_Tp>' and 'short unsigned int'

 x1 = min( x1,_maxX-1 );

                      ^

In file included from c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\algorithm:61:0,

             from C:\Users\Arduino\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266/Arduino.h:254,

             from C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.h:20,

             from C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:1:

c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algobase.h:239:5: note: template<class _Tp, class _Compare> const _Tp& std::min(const _Tp&, const _Tp&, _Compare)

 min(const _Tp& __a, const _Tp& __b, _Compare __comp)

 ^

c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algobase.h:239:5: note: template argument deduction/substitution failed:

C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:452:26: note: deduced conflicting types for parameter 'const _Tp' ('short unsigned int' and 'int')

 x1 = min( x1,_maxX-1 );

                      ^

In file included from c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\algorithm:61:0,

             from C:\Users\Arduino\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266/Arduino.h:254,

             from C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.h:20,

             from C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:1:

c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algobase.h:193:5: note: template const _Tp& std::min(const _Tp&, const _Tp&)

 min(const _Tp& __a, const _Tp& __b)

 ^

c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algobase.h:193:5: note: template argument deduction/substitution failed:

C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:452:26: note: deduced conflicting types for parameter 'const _Tp' ('short unsigned int' and 'int')

 x1 = min( x1,_maxX-1 );

                      ^

C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:453:26: error: no matching function for call to 'min(uint16_t&, int)'

 y0 = min( y0,_maxY-1 );

                      ^

C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:453:26: note: candidates are:

In file included from c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\algorithm:62:0,

             from C:\Users\Arduino\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266/Arduino.h:254,

             from C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.h:20,

             from C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:1:

c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algo.h:4226:5: note: template<class _Tp, class _Compare> _Tp std::min(std::initializer_list<_Tp>, _Compare)

 min(initializer_list<_Tp> __l, _Compare __comp)

 ^

c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algo.h:4226:5: note: template argument deduction/substitution failed:

C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:453:26: note: mismatched types 'std::initializer_list<_Tp>' and 'short unsigned int'

 y0 = min( y0,_maxY-1 );

                      ^

In file included from c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\algorithm:62:0,

             from C:\Users\Arduino\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266/Arduino.h:254,

             from C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.h:20,

             from C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:1:

c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algo.h:4221:5: note: template _Tp std::min(std::initializer_list<_Tp>)

 min(initializer_list<_Tp> __l)

 ^

c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algo.h:4221:5: note: template argument deduction/substitution failed:

C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:453:26: note: mismatched types 'std::initializer_list<_Tp>' and 'short unsigned int'

 y0 = min( y0,_maxY-1 );

                      ^

In file included from c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\algorithm:61:0,

             from C:\Users\Arduino\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266/Arduino.h:254,

             from C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.h:20,

             from C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:1:

c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algobase.h:239:5: note: template<class _Tp, class _Compare> const _Tp& std::min(const _Tp&, const _Tp&, _Compare)

 min(const _Tp& __a, const _Tp& __b, _Compare __comp)

 ^

c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algobase.h:239:5: note: template argument deduction/substitution failed:

C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:453:26: note: deduced conflicting types for parameter 'const _Tp' ('short unsigned int' and 'int')

 y0 = min( y0,_maxY-1 );

                      ^

In file included from c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\algorithm:61:0,

             from C:\Users\Arduino\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266/Arduino.h:254,

             from C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.h:20,

             from C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:1:

c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algobase.h:193:5: note: template const _Tp& std::min(const _Tp&, const _Tp&)

 min(const _Tp& __a, const _Tp& __b)

 ^

c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algobase.h:193:5: note: template argument deduction/substitution failed:

C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:453:26: note: deduced conflicting types for parameter 'const _Tp' ('short unsigned int' and 'int')

 y0 = min( y0,_maxY-1 );

                      ^

C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:454:26: error: no matching function for call to 'min(uint16_t&, int)'

 y1 = min( y1,_maxY-1 );

                      ^

C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:454:26: note: candidates are:

In file included from c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\algorithm:62:0,

             from C:\Users\Arduino\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266/Arduino.h:254,

             from C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.h:20,

             from C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:1:

c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algo.h:4226:5: note: template<class _Tp, class _Compare> _Tp std::min(std::initializer_list<_Tp>, _Compare)

 min(initializer_list<_Tp> __l, _Compare __comp)

 ^

c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algo.h:4226:5: note: template argument deduction/substitution failed:

C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:454:26: note: mismatched types 'std::initializer_list<_Tp>' and 'short unsigned int'

 y1 = min( y1,_maxY-1 );

                      ^

In file included from c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\algorithm:62:0,

             from C:\Users\Arduino\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266/Arduino.h:254,

             from C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.h:20,

             from C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:1:

c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algo.h:4221:5: note: template _Tp std::min(std::initializer_list<_Tp>)

 min(initializer_list<_Tp> __l)

 ^

c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algo.h:4221:5: note: template argument deduction/substitution failed:

C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:454:26: note: mismatched types 'std::initializer_list<_Tp>' and 'short unsigned int'

 y1 = min( y1,_maxY-1 );

                      ^

In file included from c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\algorithm:61:0,

             from C:\Users\Arduino\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266/Arduino.h:254,

             from C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.h:20,

             from C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:1:

c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algobase.h:239:5: note: template<class _Tp, class _Compare> const _Tp& std::min(const _Tp&, const _Tp&, _Compare)

 min(const _Tp& __a, const _Tp& __b, _Compare __comp)

 ^

c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algobase.h:239:5: note: template argument deduction/substitution failed:

C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:454:26: note: deduced conflicting types for parameter 'const _Tp' ('short unsigned int' and 'int')

 y1 = min( y1,_maxY-1 );

                      ^

In file included from c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\algorithm:61:0,

             from C:\Users\Arduino\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266/Arduino.h:254,

             from C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.h:20,

             from C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:1:

c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algobase.h:193:5: note: template const _Tp& std::min(const _Tp&, const _Tp&)

 min(const _Tp& __a, const _Tp& __b)

 ^

c:\users\arduino\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algobase.h:193:5: note: template argument deduction/substitution failed:

C:\Users\Arduino\Documents\Arduino\libraries\TFT_22_ILI9225\src\TFT_22_ILI9225.cpp:454:26: note: deduced conflicting types for parameter 'const _Tp' ('short unsigned int' and 'int')

 y1 = min( y1,_maxY-1 );

                      ^

exit status 1
Fehler beim Kompilieren für das Board NodeMCU 1.0 (ESP-12E Module).

ESP8266 + 2.0 tft problem

I wanted to test the library but unfortunately it doesn't work for me. I have olny white screen. Older fork works great but it haven't
important functionality.
https://github.com/jorgegarciadev/TFT_22_ILI9225
I have AMICA nodemcu and 11 pins 2.0 tft display (china).

When I use your library I get an error on the serial port like this:

 ets Jan  8 2013,rst cause:4, boot mode:(3,6)

wdt reset
load 0x4010f000, len 3584, room 16 
tail 0
chksum 0xb0
csum 0xb0
v2843a5ac
~ld

This is my pinout mapping:

static const uint8_t D0   = 16;
static const uint8_t D1   = 5;
static const uint8_t D2   = 4;
static const uint8_t D3   = 0;
static const uint8_t D4   = 2;
static const uint8_t D5   = 14;
static const uint8_t D6   = 12;
static const uint8_t D7   = 13;
static const uint8_t D8   = 15;
static const uint8_t D9   = 3;
static const uint8_t D10  = 1;


#define TFT_RST D4
#define TFT_RS  D2
#define TFT_CS  D8  // SS
#define TFT_SDI D7  // MOSI
#define TFT_CLK D5  // SCK
#define TFT_LED D1   // 0 if wired to +5V directly

Faster refresh rate

Hello NKawu,
I was trying to make a game on ili9225 using arduino leonardo, I noticed when using tft.clear() functions it uses fillRectangle() function with COLOR_BLACK to clear the whole screen. But I want a faster clear functions so that I could animate using fillCircle and fillRectangle functions. Is there any way to clear faster ? I tried removing that delay(10) in clear() function of TFT_22_ILI9225.cpp

Compatibilidad con raspberry pi pico

Hola, estoy teniendo problemas para usar esta libreria con raspberry pi pico, uso platformio en visual studio code, los errores son los siguientes:

.pio\libdeps\pico\TFT 22 ILI9225\src\DefaultFonts.c:11:30: error: unknown type name 'uint8_t'
   11 |   #define fontdatatype const uint8_t
      |                              ^~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\DefaultFonts.c:20:1: note: in expansion of macro 'fontdatatype'
   20 | fontdatatype Terminal6x8[] PROGMEM = {
      | ^~~~~~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\DefaultFonts.c:20:28: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'PROGMEM'
   20 | fontdatatype Terminal6x8[] PROGMEM = {
      |                            ^~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\DefaultFonts.c:11:30: error: unknown type name 'uint8_t'
   11 |   #define fontdatatype const uint8_t
      |                              ^~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\DefaultFonts.c:128:1: note: in expansion of macro 'fontdatatype'
  128 | fontdatatype Terminal11x16[] PROGMEM = {
      | ^~~~~~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\DefaultFonts.c:128:30: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'PROGMEM'
  128 | fontdatatype Terminal11x16[] PROGMEM = {
      |                              ^~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\DefaultFonts.c:11:30: error: unknown type name 'uint8_t'
   11 |   #define fontdatatype const uint8_t
      |                              ^~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\DefaultFonts.c:236:1: note: in expansion of macro 'fontdatatype'
  236 | fontdatatype Terminal12x16[] PROGMEM = {
      | ^~~~~~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\DefaultFonts.c:236:30: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'PROGMEM'
  236 | fontdatatype Terminal12x16[] PROGMEM = {
      |                              ^~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\DefaultFonts.c:11:30: error: unknown type name 'uint8_t'
   11 |   #define fontdatatype const uint8_t
      |                              ^~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\DefaultFonts.c:344:1: note: in expansion of macro 'fontdatatype'
  344 | fontdatatype Trebuchet_MS16x21[] PROGMEM = {
      | ^~~~~~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\DefaultFonts.c:344:34: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'PROGMEM'
  344 | fontdatatype Trebuchet_MS16x21[] PROGMEM = {
      |                                  ^~~~~~~
Compiling .pio\build\pico\FrameworkArduinoVariant\double_tap_usb_boot.c.o
*** [.pio\build\pico\libe47\TFT 22 ILI9225\DefaultFonts.c.o] Error 1
In file included from src\main.cpp:4:
.pio\libdeps\pico\TFT 22 ILI9225\src/TFT_22_ILI9225.h:419:18: error: 'RwReg' does not name a type
  419 |         volatile RwReg *mosiport, *clkport, *dcport, *rsport, *csport;
      |                  ^~~~~
*** [.pio\build\pico\src\main.cpp.o] Error 1
In file included from .pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:1:
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.h:419:18: error: 'RwReg' does not name a type
  419 |         volatile RwReg *mosiport, *clkport, *dcport, *rsport, *csport;
      |                  ^~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp: In member function 'void TFT_22_ILI9225::begin()':
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:281:5: error: 'csport' was not declared in this scope; did you mean 'ushort'?
  281 |     csport    = portOutputRegister(digitalPinToPort(_cs));
      |     ^~~~~~
      |     ushort
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:281:17: error: 'portOutputRegister' was not declared in this scope
  281 |     csport    = portOutputRegister(digitalPinToPort(_cs));
      |                 ^~~~~~~~~~~~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:282:17: error: 'digitalPinToBitMask' was not declared in this scope; did you mean 'digitalPinToPinName'?
  282 |     cspinmask = digitalPinToBitMask(_cs);
      |                 ^~~~~~~~~~~~~~~~~~~
      |                 digitalPinToPinName
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:283:5: error: 'dcport' was not declared in this scope
  283 |     dcport    = portOutputRegister(digitalPinToPort(_rs));
      |     ^~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:294:9: error: 'clkport' was not declared in this scope
  294 |         clkport     = portOutputRegister(digitalPinToPort(_clk));
      |         ^~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:296:9: error: 'mosiport' was not declared in this scope
  296 |         mosiport    = portOutputRegister(digitalPinToPort(_sdi));
      |         ^~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:301:9: error: 'clkport' was not declared in this scope
  301 |         clkport     = 0;
      |         ^~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:303:9: error: 'mosiport' was not declared in this scope
  303 |         mosiport    = 0;
      |         ^~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp: In member function 'void TFT_22_ILI9225::_spiWrite(uint8_t)':
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:64:38: error: 'mosiport' was not declared in this scope
   64 |     #define SSPI_MOSI_HIGH()        *mosiport |=  mosipinmask
      |                                      ^~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:410:13: note: in expansion of macro 'SSPI_MOSI_HIGH'
  410 |             SSPI_MOSI_HIGH();
      |             ^~~~~~~~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:65:38: error: 'mosiport' was not declared in this scope
   65 |     #define SSPI_MOSI_LOW()         *mosiport &= ~mosipinmask
      |                                      ^~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:412:13: note: in expansion of macro 'SSPI_MOSI_LOW'
  412 |             SSPI_MOSI_LOW();
      |             ^~~~~~~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:66:38: error: 'clkport' was not declared in this scope
   66 |     #define SSPI_SCK_HIGH()         *clkport |=  clkpinmask
      |                                      ^~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:414:9: note: in expansion of macro 'SSPI_SCK_HIGH'
  414 |         SSPI_SCK_HIGH();
      |         ^~~~~~~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp: In member function 'void TFT_22_ILI9225::_spiWriteCommand(uint8_t)':
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:51:38: error: 'dcport' was not declared in this scope
   51 |     #define SPI_DC_LOW()            *dcport &= ~dcpinmask
      |                                      ^~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:434:5: note: in expansion of macro 'SPI_DC_LOW'
  434 |     SPI_DC_LOW();
      |     ^~~~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:53:38: error: 'csport' was not declared in this scope; did you mean 'ushort'?
   53 |     #define SPI_CS_LOW()            *csport &= ~cspinmask
      |                                      ^~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:435:5: note: in expansion of macro 'SPI_CS_LOW'
  435 |     SPI_CS_LOW();
      |     ^~~~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp: In member function 'void TFT_22_ILI9225::_spiWriteData(uint8_t)':
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:50:38: error: 'dcport' was not declared in this scope
   50 |     #define SPI_DC_HIGH()           *dcport |=  dcpinmask
      |                                      ^~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:442:5: note: in expansion of macro 'SPI_DC_HIGH'
  442 |     SPI_DC_HIGH();
      |     ^~~~~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:53:38: error: 'csport' was not declared in this scope; did you mean 'ushort'?
   53 |     #define SPI_CS_LOW()            *csport &= ~cspinmask
      |                                      ^~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:443:5: note: in expansion of macro 'SPI_CS_LOW'
  443 |     SPI_CS_LOW();
      |     ^~~~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp: In member function 'void TFT_22_ILI9225::_writeCommand16(uint16_t)':
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:51:38: error: 'dcport' was not declared in this scope
   51 |     #define SPI_DC_LOW()            *dcport &= ~dcpinmask
      |                                      ^~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:809:5: note: in expansion of macro 'SPI_DC_LOW'
  809 |     SPI_DC_LOW();
      |     ^~~~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:53:38: error: 'csport' was not declared in this scope; did you mean 'ushort'?
   53 |     #define SPI_CS_LOW()            *csport &= ~cspinmask
      |                                      ^~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:810:5: note: in expansion of macro 'SPI_CS_LOW'
  810 |     SPI_CS_LOW();
      |     ^~~~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:64:38: error: 'mosiport' was not declared in this scope
   64 |     #define SSPI_MOSI_HIGH()        *mosiport |=  mosipinmask
      |                                      ^~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:822:17: note: in expansion of macro 'SSPI_MOSI_HIGH'
  822 |                 SSPI_MOSI_HIGH();
      |                 ^~~~~~~~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:65:38: error: 'mosiport' was not declared in this scope
   65 |     #define SSPI_MOSI_LOW()         *mosiport &= ~mosipinmask
      |                                      ^~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:824:17: note: in expansion of macro 'SSPI_MOSI_LOW'
  824 |                 SSPI_MOSI_LOW();
      |                 ^~~~~~~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:66:38: error: 'clkport' was not declared in this scope
   66 |     #define SSPI_SCK_HIGH()         *clkport |=  clkpinmask
      |                                      ^~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:826:13: note: in expansion of macro 'SSPI_SCK_HIGH'
  826 |             SSPI_SCK_HIGH();
      |             ^~~~~~~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp: In member function 'void TFT_22_ILI9225::_writeData16(uint16_t)':
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:50:38: error: 'dcport' was not declared in this scope
   50 |     #define SPI_DC_HIGH()           *dcport |=  dcpinmask
      |                                      ^~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:835:5: note: in expansion of macro 'SPI_DC_HIGH'
  835 |     SPI_DC_HIGH();
      |     ^~~~~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:53:38: error: 'csport' was not declared in this scope; did you mean 'ushort'?
   53 |     #define SPI_CS_LOW()            *csport &= ~cspinmask
      |                                      ^~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:836:5: note: in expansion of macro 'SPI_CS_LOW'
  836 |     SPI_CS_LOW();
      |     ^~~~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:64:38: error: 'mosiport' was not declared in this scope
   64 |     #define SSPI_MOSI_HIGH()        *mosiport |=  mosipinmask
      |                                      ^~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:848:17: note: in expansion of macro 'SSPI_MOSI_HIGH'
  848 |                 SSPI_MOSI_HIGH();
      |                 ^~~~~~~~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:65:38: error: 'mosiport' was not declared in this scope
   65 |     #define SSPI_MOSI_LOW()         *mosiport &= ~mosipinmask
      |                                      ^~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:850:17: note: in expansion of macro 'SSPI_MOSI_LOW'
  850 |                 SSPI_MOSI_LOW();
      |                 ^~~~~~~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:66:38: error: 'clkport' was not declared in this scope
   66 |     #define SSPI_SCK_HIGH()         *clkport |=  clkpinmask
      |                                      ^~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:852:13: note: in expansion of macro 'SSPI_SCK_HIGH'
  852 |             SSPI_SCK_HIGH();
      |             ^~~~~~~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp: In member function 'void TFT_22_ILI9225::drawBitmap(uint16_t, uint16_t, const uint16_t**, int16_t, int16_t)':
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:50:38: error: 'dcport' was not declared in this scope
   50 |     #define SPI_DC_HIGH()           *dcport |=  dcpinmask
      |                                      ^~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:1190:5: note: in expansion of macro 'SPI_DC_HIGH'
 1190 |     SPI_DC_HIGH();
      |     ^~~~~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:53:38: error: 'csport' was not declared in this scope; did you mean 'ushort'?
   53 |     #define SPI_CS_LOW()            *csport &= ~cspinmask
      |                                      ^~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:1191:5: note: in expansion of macro 'SPI_CS_LOW'
 1191 |     SPI_CS_LOW();
      |     ^~~~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp: In member function 'void TFT_22_ILI9225::drawBitmap(uint16_t, uint16_t, uint16_t**, int16_t, int16_t)':
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:50:38: error: 'dcport' was not declared in this scope
   50 |     #define SPI_DC_HIGH()           *dcport |=  dcpinmask
      |                                      ^~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:1212:5: note: in expansion of macro 'SPI_DC_HIGH'
 1212 |     SPI_DC_HIGH();
      |     ^~~~~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:53:38: error: 'csport' was not declared in this scope; did you mean 'ushort'?
   53 |     #define SPI_CS_LOW()            *csport &= ~cspinmask
      |                                      ^~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:1213:5: note: in expansion of macro 'SPI_CS_LOW'
 1213 |     SPI_CS_LOW();
      |     ^~~~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp: In member function 'void TFT_22_ILI9225::drawBitmap(uint16_t, uint16_t, const uint16_t*, int16_t, int16_t)':
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:50:38: error: 'dcport' was not declared in this scope
   50 |     #define SPI_DC_HIGH()           *dcport |=  dcpinmask
      |                                      ^~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:1234:5: note: in expansion of macro 'SPI_DC_HIGH'
 1234 |     SPI_DC_HIGH();
      |     ^~~~~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:53:38: error: 'csport' was not declared in this scope; did you mean 'ushort'?
   53 |     #define SPI_CS_LOW()            *csport &= ~cspinmask
      |                                      ^~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:1235:5: note: in expansion of macro 'SPI_CS_LOW'
 1235 |     SPI_CS_LOW();
      |     ^~~~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp: In member function 'void TFT_22_ILI9225::drawBitmap(uint16_t, uint16_t, uint16_t*, int16_t, int16_t)':
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:50:38: error: 'dcport' was not declared in this scope
   50 |     #define SPI_DC_HIGH()           *dcport |=  dcpinmask
      |                                      ^~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:1253:5: note: in expansion of macro 'SPI_DC_HIGH'
 1253 |     SPI_DC_HIGH();
      |     ^~~~~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:53:38: error: 'csport' was not declared in this scope; did you mean 'ushort'?
   53 |     #define SPI_CS_LOW()            *csport &= ~cspinmask
      |                                      ^~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:1254:5: note: in expansion of macro 'SPI_CS_LOW'
 1254 |     SPI_CS_LOW();
      |     ^~~~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp: In member function 'void TFT_22_ILI9225::startWrite()':
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:53:38: error: 'csport' was not declared in this scope; did you mean 'ushort'?
   53 |     #define SPI_CS_LOW()            *csport &= ~cspinmask
      |                                      ^~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:1271:9: note: in expansion of macro 'SPI_CS_LOW'
 1271 |         SPI_CS_LOW();
      |         ^~~~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp: In member function 'void TFT_22_ILI9225::endWrite()':
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:52:38: error: 'csport' was not declared in this scope; did you mean 'ushort'?
   52 |     #define SPI_CS_HIGH()           *csport |=  cspinmask
      |                                      ^~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:1278:9: note: in expansion of macro 'SPI_CS_HIGH'
 1278 |         SPI_CS_HIGH();
      |         ^~~~~~~~~~~
In file included from C:\Users\Luciano\.platformio\packages\framework-arduino-mbed\cores\arduino/api/String.h:33,
                 from C:\Users\Luciano\.platformio\packages\framework-arduino-mbed\cores\arduino/api/IPAddress.h:24,
                 from C:\Users\Luciano\.platformio\packages\framework-arduino-mbed\cores\arduino/api/ArduinoAPI.h:30,
                 from C:\Users\Luciano\.platformio\packages\framework-arduino-mbed\cores\arduino/Arduino.h:30,
                 from .pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.h:20,
                 from .pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:1:
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp: In member function 'uint16_t TFT_22_ILI9225::drawGFXChar(int16_t, int16_t, unsigned char, uint16_t)':
C:\Users\Luciano\.platformio\packages\framework-arduino-mbed\cores\arduino/api/deprecated-avr-comp/avr/pgmspace.h:104:32: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  104 | #define pgm_read_dword(addr) (*(const unsigned long *)(addr))
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:42:45: note: in expansion of macro 'pgm_read_dword'
   42 |     #define pgm_read_pointer(addr) ((void *)pgm_read_dword(addr))
      |                                             ^~~~~~~~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:1315:39: note: in expansion of macro 'pgm_read_pointer'
 1315 |     GFXglyph *glyph  = &(((GFXglyph *)pgm_read_pointer(&gfxFont->glyph))[c]);
      |                                       ^~~~~~~~~~~~~~~~
C:\Users\Luciano\.platformio\packages\framework-arduino-mbed\cores\arduino/api/deprecated-avr-comp/avr/pgmspace.h:104:32: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  104 | #define pgm_read_dword(addr) (*(const unsigned long *)(addr))
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:42:45: note: in expansion of macro 'pgm_read_dword'
   42 |     #define pgm_read_pointer(addr) ((void *)pgm_read_dword(addr))
      |                                             ^~~~~~~~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:1316:35: note: in expansion of macro 'pgm_read_pointer'
 1316 |     uint8_t  *bitmap = (uint8_t *)pgm_read_pointer(&gfxFont->bitmap);
      |                                   ^~~~~~~~~~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp: In member function 'void TFT_22_ILI9225::getGFXCharExtent(uint8_t, int16_t*, int16_t*, int16_t*)':
C:\Users\Luciano\.platformio\packages\framework-arduino-mbed\cores\arduino/api/deprecated-avr-comp/avr/pgmspace.h:104:32: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  104 | #define pgm_read_dword(addr) (*(const unsigned long *)(addr))
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:42:45: note: in expansion of macro 'pgm_read_dword'
   42 |     #define pgm_read_pointer(addr) ((void *)pgm_read_dword(addr))
      |                                             ^~~~~~~~~~~~~~
.pio\libdeps\pico\TFT 22 ILI9225\src\TFT_22_ILI9225.cpp:1351:42: note: in expansion of macro 'pgm_read_pointer'
 1351 |         GFXglyph *glyph = &(((GFXglyph *)pgm_read_pointer(&gfxFont->glyph))[c - first]);
      |                                          ^~~~~~~~~~~~~~~~
*** [.pio\build\pico\libe47\TFT 22 ILI9225\TFT_22_ILI9225.cpp.o] Error 1

El codigo que estoy usando es el siguiente:

#include <Arduino.h>
#include "SPI.h"
#include "TFT_22_ILI9225.h"

// Include font definition files
// NOTE: These files may not have all characters defined! Check the GFXfont def
// params 3 + 4, e.g. 0x20 = 32 = space to 0x7E = 126 = ~

#include <../fonts/FreeSans12pt7b.h>
#include <../fonts/FreeSans24pt7b.h>

#if defined (ARDUINO_ARCH_STM32F1)
#define TFT_RST PA1
#define TFT_RS  PA2
#define TFT_CS  PA0 // SS
#define TFT_SDI PA7 // MOSI
#define TFT_CLK PA5 // SCK
#define TFT_LED 0 // 0 if wired to +5V directly
#elif defined(ESP8266)
#define TFT_RST 4   // D2
#define TFT_RS  5   // D1
#define TFT_CLK 14  // D5 SCK
//#define TFT_SDO 12  // D6 MISO
#define TFT_SDI 13  // D7 MOSI
#define TFT_CS  15  // D8 SS
#define TFT_LED 2   // D4     set 0 if wired to +5V directly -> D3=0 is not possible !!
#elif defined(ESP32)
#define TFT_RST 26  // IO 26
#define TFT_RS  25  // IO 25
#define TFT_CLK 14  // HSPI-SCK
//#define TFT_SDO 12  // HSPI-MISO
#define TFT_SDI 13  // HSPI-MOSI
#define TFT_CS  15  // HSPI-SS0
#define TFT_LED 0 // 0 if wired to +5V directly
#else
#define TFT_RST 6
#define TFT_RS  7
#define TFT_CS  5  // SS
#define TFT_SDI 3  // MOSI
#define TFT_CLK 2  // SCK
#define TFT_LED 0   // 0 if wired to +5V directly;
#endif

#define TFT_BRIGHTNESS 200 // Initial brightness of TFT backlight (optional)

// Use hardware SPI (faster - on Uno: 13-SCK, 12-MISO, 11-MOSI)
TFT_22_ILI9225 tft = TFT_22_ILI9225(TFT_RST, TFT_RS, TFT_CS, TFT_LED, TFT_BRIGHTNESS);
// Use software SPI (slower)
//TFT_22_ILI9225 tft = TFT_22_ILI9225(TFT_RST, TFT_RS, TFT_CS, TFT_SDI, TFT_CLK, TFT_LED, TFT_BRIGHTNESS);

// Variables and constants
int16_t x=0, y=0, w, h;

// Setup
void setup() {
  tft.begin();
  tft.clear();

  // Draw first string in big font
  String s1 = "6789";
  tft.setGFXFont(&FreeSans24pt7b); // Set current font
  tft.getGFXTextExtent(s1, x, y, &w, &h); // Get string extents
  y = h; // Set y position to string height
  tft.drawGFXText(x, y, s1, COLOR_RED); // Print string

  // Draw second string in smaller font
  tft.setGFXFont(&FreeSans12pt7b);  // Change font
  String s2 = "Hello"; // Create string object
  tft.getGFXTextExtent(s2, x, y, &w, &h); // Get string extents
  y += h + 10; // Set y position to string height plus shift down 10 pixels
  tft.drawGFXText(x, y, s2, COLOR_BLUE); // Print string
  
  // Draw third string in same font
  String s3 = "World!"; // Create string object
  y += h + 2; // Set y position to previous string height plus shift down 2 pixels
  tft.drawGFXText(x, y, s3, COLOR_GREEN); // Print string
}

// Loop
void loop() {
}

Color bitmap drawing

Hi there, i'm trying to draw a color image on the screen with some drawBitmap variants. I noticed that it takes a 2D matrix, but it might be useful to have a version with takes a single array (of size wh2). For example in GIMP you can save a file in C format and it outputs a ready made 16 bit 5,6,5 array.

Should be trivial to implement.

Thanks!

How to fade backlight?

Thanks for creating this library! One thing I am struggling with is the backlight. I have tried various things to get the backlight to fade in. It seems all I can do is have it on or off. For example when analog write goes over 127 and backlight come on then when it goes below 128 it turns off. Do you think you could possibly provide an example sketch in the library demonstrating this?

Support STM32 Nucleo boards (STM32L412KB)

Has this library been tested successfully with STM32 Nucleo boards?

It works fine with an Arduino Nano, but I don't manage to run the examples on a STM32L412KB, which has the same pins. It compiles but nothing happens after loading. even a Serial.println message doesn't show off, which suggests that it fails earlyer.

I tried to declare the pins with Arduino style (9, 10, 11...) and STM style (PA8, PA11, PB5).

Thank you for any help.

#include "SPI.h"
#include "TFT_22_ILI9225.h"

#define TFT_RST PB4 //12
#define TFT_DC PA8 //9
//#define TFT_RS PA8 //9
#define TFT_CS PA11 //10 // SS
#define TFT_SDI PB5 //11 // MOSI
#define TFT_CLK PB3 //13 // SCK
#define TFT_LED 0 // 0 if wired to +5V directly

TFT_22_ILI9225 tft = TFT_22_ILI9225(TFT_RST, TFT_DC, TFT_CS, TFT_LED, TFT_BRIGHTNESS);

void setup() {

Serial.begin(9600);
Serial.println("Setup...");

//#if defined(ESP32)
// hspi.begin();
// tft.begin(hspi);
//#else
// tft.begin();
//#endif
//
// //Orientation paysage
// tft.setOrientation(3);
// tft.clear();

Serial.println("Setup end...");
}

Error no headers files (.h) found

I'm interfacing Arduino Uno with ili925 and on uploading, I get the following error
Invalid library found in D:\New folder\Arduino\libraries\TFT_22_ILI9225: no headers files (.h) found in D:\New folder\Arduino\libraries\TFT_22_ILI9225

Working config with esp8266

Hello, i'm trying to make it work with an esp8266 from a couple of hours.
Please can you give me a working GPIO config between esp-12 and ili9225 ? thanks
Dario

Library won`t work on Arduino M0 board

Hi!
Could you please gimme the advice to change library code correctly to add Cortex-M0 support?
I got Arduino M0 board, but according to Your source files and library.json it`s not supported.
Thanks.

ESP32 error

When I try to compile for the ESP32 example "Basic_Demo" I get an error:

In file included from /home/xxxxx/Arduino/libraries/TFT_22_ILI9225/examples/Basic_Demo/Basic_Demo.ino:3:0: /home/xxxxx/Arduino/libraries/TFT_22_ILI9225/src/TFT_22_ILI9225.h:145:33: error: expected ';' at end of member declaration void begin(SPIClass &spi) ^ /home/xxxxx/Arduino/libraries/TFT_22_ILI9225/examples/Basic_Demo/Basic_Demo.ino: In function 'void setup()': Basic_Demo:253: error: no matching function for call to 'TFT_22_ILI9225::begin()' tft.begin(); ^ In file included from /home/xxxxx/Arduino/libraries/TFT_22_ILI9225/examples/Basic_Demo/Basic_Demo.ino:3:0: /home/xxxxx/Arduino/libraries/TFT_22_ILI9225/src/TFT_22_ILI9225.h:145:14: note: candidate: void TFT_22_ILI9225::begin(SPIClass&) void begin(SPIClass &spi) ^ /home/xxxxx/Arduino/libraries/TFT_22_ILI9225/src/TFT_22_ILI9225.h:145:14: note: candidate expects 1 argument, 0 provided exit status 1 no matching function for call to 'TFT_22_ILI9225::begin()'

My configuration:
Linux Mint 18.2 64bit
Arduino 1.8.5
board definition ESP32 espressif GIT version

Шрифты

Здравствуйте!
Не могли бы Вы добавить в библиотеку числовые шрифты больших размеров.

Erasing old characters while drawing new ones

How to write new values on display so that the old characterrs are erased rom the background (using GXF Fonts)? I think 'tft.setBackgroundColor(COLOR_BLACK);' does not work with GFX Fonts? Now I'm using 'tft.fillRectangle();' to cover the old fonts before drawing new ones but it makes a flickering effect.

Bug in fastmode

Hi again,

I discovered another bug. drawChar applies startWrite/checkSPI but if fastmode becomes enabled, the code calls _setWindow, which also calls startWrite. Hence a hangup.

Before proposing a pull request (currently I disable fastMode), I wonder how we are supposed to deal with these startWrite/checkSPI functions.
The current idea is that only the first function opens the SPI transaction. But as also helper functions can be called directly themselves (p.e. drawText calls drawChar, drawChar calls _setWindows, etc), the code has to check whether it is a main function or a helper function.

@Nkawu (or others): how to proceed?

PS: For example use a counter: only '0' starts the transaction, and helpers '1' or helper-helpers '2', etc only transmit.

Display Orientation

I have bought new displays, on this new one, the letters are written from right to left!
( tft.setOrientation(3); )
On my older Displays the Software works correct!
I think there is a problem with the Entry Mode (R03h) Register
ILI_Display

font size

how to increase font size in this library Nkawu /TFT_22_ILI9225 . thank you

Hardware SPI on ESP32

ESP32 supports hardware SPI on arbitrary GPIO pins.

Could you add a feature that allows using hardware SPI instead of software SPI in the code?(instead of activating software SPI for non-standard pins, the pin numbers need to be passed to _spi.begin(...) as arguments)

A quick&dirty hack solution (for ESP32 only, tested and functional) is to replace

// Hardware SPI
SPI_BEGIN();

with

// Hardware SPI
if(_clk < 0) { SPI_BEGIN();  } 
else {
    SPI_OBJECT.begin(_clk, -1, _sdi, _cs);
    _clk = -1;  // force use of hardware SPI in remaining code parts
}

But this is not elegant, and of course should be made conditional only for ESP32

setbacklight() function can not control LCD's backlight

When I use ESP32 Dev module to control TFT LCD ILI9225, I found that setbacklight() and setBacklightBrightness() can not work, backlight pin still remain LOW. Then I found out the following code in the setbacklight () function in the TFT_22_ILI9225.cpp file by debugging the code
     ** # ifndef ESP32
     if (_led)
         analogWrite (_led, blState? _brightness: 0);
     # endif **
When I commented out #ifndef ESP32 statement, setbacklight () worked normally.I don't know why add these two pre-coniles codes?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.