-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Not working with ILI9163 128x128 display? #10
Comments
A white screen means the TFT is not being configured correctly at start up. Do you mean you power the display at the start of setup? If so try waiting for say 200ms after switching on the display before trying to initialize it. I had a quick look at the sumotoys library, I don't see #include "../_display/TFT_ILI9163C_RED_PCB_OLD.h" in _settings/TFT_ILI9163C_settings.h) so I can't check the config settings and see if mine are the same. If you do get it running it should run a bit faster than the Teensy 3 performance figures I see are quoted. |
Thanks for the quick reply! Sorry, forgot to mention that I use the Pre-Release-1.0p7 branch. The header is available here: |
OK, thanks. So it looks like the TFT_eSPI library will not work with your particular display setup. This situation may change in the future but at the moment I do not have a similar display to develop and test. |
Hmm, ok, how would you go about adapting to the display if you had one? I could give it a try but could use som pointers. I'm guessing it's more to it than taking your ILI9163-config and exchanging some register definitions.. |
All the TFT driver specific stuff is in the TFT_Drivers folder, for each chip designation there are 3 files. X_defines which set up register names etc, X_init which is the display initialisation code run at startup and X_rotation which handles the register changes and offsets needed when the diplay orientation is changed. So those are the key files to adapt. I have updated my copy of the library recently to add support for a ST7735 128x128 display I will upload to Github later today. This will handle the offsets needed for certain display rotations If I have time I will make a "best guess" update for your display for you to try, based on the sumotoy code, but this will be untested. |
Awesome, I hope you do get the time, looking forward to trying it out! |
Hi can you try 2 things:
|
Hi! Read ID gives me this:
The S6D02A1 driver gives me a dark grey display on the same examples as I tried before that gave me a white screen. |
I have made a minor change to the file here so sleep mode exit is enabled. Can you test it with this updated file? |
It works!... almost perfect - set rotation seems to still think the display is 128x160 even though I have set it to 128x128 in ILI9163_Defines.h and the TFT_eSPI constructor. When using this code:
Besides the rotation problem I can happily report that I don't need a delay between powering the TFT on and calling init:
And that it seems to init the display a bit faster than other libraries. |
OK, the offsets are expected. |
Awesome, thanks again! |
OK, have uploaded the offset fix. You need to define the display size in the setup.h file inside the library for this to work, e.g. in "User_Setup.h" (or in you custom user setup file in the "User_Setups" folder). |
Hi, the image it is constantly cropped now instead of only being cropped at certain rotations. These are the correct offsets:
|
OK, thanks. It was a 50:50 guess which end of the display CGRAM the vendor had wired the pixels! |
The offsets have been corrected in the master library. Thanks. |
Hi! I'm trying to use this library with a 128x128 ILI9163 display. The display works fine with this library: https://github.com/sumotoy/TFT_ILI9163C (my display is just like the one in the picture in the readme for that library, red pcb with blue tab on the display protector). I have set
#define ILI9163_DRIVER
in User_Setup.h and I am overriding the width in the constructor withTFT_eSPI tft = TFT_eSPI(128, 128);
. I am using the following pin defines:And GPIO12 (MISO) is unconnected since the display does not have that pin.
TFT_RST of the display is pulled up to 3.3V via a 10k resistor.
In
setup()
I turn the power to the display on right before callingtft.init();
I have the Arduino IDE set to NodeMCU 1.0 & 160MHz.
I have tried a couple of the examples (TFT_Print_Test, TFT_Ellipse, TFT_Starfield) but I only get a pure white display. Any thoughts on what might be the problem?
(Note: When using sumotoy:s library i use
#include "../_display/TFT_ILI9163C_RED_PCB_OLD.h"
in _settings/TFT_ILI9163C_settings.h)The text was updated successfully, but these errors were encountered: