-
Notifications
You must be signed in to change notification settings - Fork 178
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
2.4" display unsupported #91
Comments
I appear to have the very same display, and used 0x9341 for the display identifier before it started working.
… On Apr 25, 2019, at 2:52 PM, Luis ***@***.***> wrote:
My card isn't well supported. note the ID = 0x1.
When started by tft.begin(0x9320), runs sometimes, sometimes not; but the screen flipped verticallly (running testcard_kbv on UNOr3)
CARD: 2.4" TFT LCD SHIELD www.mcufriend.com
Results of lcd_id_readreg on UNOr3:
reg(0x0000) 00 01 ID: ILI9320, ILI9325, ILI9335, ...
reg(0x0004) 00 00 00 00 Manufacturer ID
reg(0x0009) 00 00 00 00 00 Status Register
reg(0x000A) 00 01 Get Power Mode
reg(0x000C) 00 01 Get Pixel Format
reg(0x0061) 00 01 RDID1 HX8347-G
reg(0x0062) 00 01 RDID2 HX8347-G
reg(0x0063) 00 01 RDID3 HX8347-G
reg(0x0064) 00 01 RDID1 HX8347-A
reg(0x0065) 00 01 RDID2 HX8347-A
reg(0x0066) 00 01 RDID3 HX8347-A
reg(0x0067) 00 01 RDID Himax HX8347-A
reg(0x0070) 00 01 Panel Himax HX8347-A
reg(0x00A1) 00 01 00 01 00 RD_DDB SSD1963
reg(0x00B0) 00 01 RGB Interface Signal Control
reg(0x00B4) 00 01 Inversion Control
reg(0x00B6) 00 01 00 01 00 Display Control
reg(0x00B7) 00 01 Entry Mode Set
reg(0x00BF) 00 01 00 01 00 01 ILI9481, HX8357-B
reg(0x00C0) 00 01 00 01 00 01 00 01 00 Panel Control
reg(0x00C8) F8 00 F8 00 F8 00 F8 00 F8 00 F8 00 F8 GAMMA
reg(0x00CC) 00 01 Panel Control
reg(0x00D0) 00 01 00 Power Control
reg(0x00D2) F8 00 F8 00 F8 NVM Read
reg(0x00D3) 00 01 00 01 ILI9341, ILI9488
reg(0x00D4) 00 01 00 01 Novatek ID
reg(0x00DA) 00 01 RDID1
reg(0x00DB) 00 01 RDID2
reg(0x00DC) 00 01 RDID3
reg(0x00E0) 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 GAMMA-P
reg(0x00E1) 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 GAMMA-N
reg(0x00EF) 00 01 00 01 00 01 ILI9327
reg(0x00F2) 00 01 00 01 00 01 00 01 00 01 00 01 Adjust Control 2
reg(0x00F6) 00 01 00 01 Interface Control
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.
|
The 0x0001 controller is supported by the Beta on GitHub. It is certainly NOT an ILI9341 type.
It looks like an ILI9320 style controller. David. |
Thanks for reply. Tested on beta with 0x1, testcard_kbv ok without flicks nor the vert flip, once; hard reset buttons don't do the tft to display. Replugging UNO and button reset sometimes started correctly the screen. Due to the intermittent response of the display, I think about some wrong timing at init_table16 calling. Perhaps? Luis |
Dumb newbie question, please indulge: where does one specify the identifier in one's code? The picture matches exactly the display that I have! I cannot get mine to work at all except to flash momentarily during boot. |
So what about timing fixes? Can i fix it manually? |
My motor car is Blue. What are you going to do about it? David. |
I'm going to add a TFTLCD_DELAYs after all register writes, and then remove them one by one. |
Why don't you say what Shield you have ? e.g. link to Ebay sale page You would get a sensible reply. (you are an experienced GitHub member) David. |
Controller is 0x1 I have the same shield as the issue's author, and this display reports same data when running LCD_id_readreg Can't provide link to Ebay page, because I bought it in Arduino store in Moscow I checked that bit of code from beta library, and pasted it to my current version. Display started to initialize, but only on 2nd attempt and only after board was replugged. |
Thanks for the information. It is not difficult to quote ID, matching messages, photos etc. I do not have an 0x0001 display. I suggest that you:
David. |
I ran some examlples, and get some interesting results:
reg(0x0000) 00 01 ID: ILI9320, ILI9325, ILI9335, ... tft.readID() finds: ID = 0x1 MCUFRIEND_kbv version: 2.9.9 PORTRAIT is 240 x 320 Run the examples/graphictest_kbv sketch I rely on good information from remote users` |
(1), (2): I would expect sketch to run reliably at Reset. e.g. Power cycle, DTR pulse from Serial Terminal The unreliable behaviour suggests that it does not read the ID correctly. Or it could be that the LCD_RST pin is badly soldered. ILI9320-style controllers need the hardware RST pin. Modern controllers have a Software Reset command and can work without the hardware pin. What target Arduino are you using? e.g. Uno, Mega, Due, ... Your feedback is very useful. Often users stop reporting when it works "once". Software should work reliably "every time" David. |
I tested on Mega, but behaviour is the same as Uno. I tried to create reset pulses on A4 pin manually. Display behaves same. |
I modified some code in LCD_ID_readreg. Here's the results when initialization is done (screen is filled black): reg(0x0000) 00 01 ID: ILI9320, ILI9325, ILI9335, ... I think this shield is write-only. |
About that tests: examples that witescreen can be ran using some random dark magic. |
Register data 0-255: This is after normal "black" init. This is after broken "white" init: #include <MCUFRIEND_kbv.h> } void loop() { } |
Your "unreliability" symptoms imply that the LCD_RST signal is not connected well.
(1) is unlikely because you get the same behaviour on Uno and Mega. LCD_ID_readreg is designed to read the controller "reset" values. A hardware reset pulse is sent before each register is read. Yes, you can initialise the controller registers with tft.begin(0x0001); I have no intention of reading decimal values.
|
When display is white: |
When display is initialized and filled black: |
There is a distinct absence of newlines. This is academic since you have not checked for intermittent LCD_RST connection. David. |
I checked LCD_RST soldering, and anything is okay as I can see. |
Have you checked for broken tracks with a DMM ? You photo "looks" ok. I presume that the HC245 soldering is ok. I can only suggest that you go back to the Moscow shop and ask for a replacement. I suspect that the LCD_RST signal does not always get to the controller (i.e. intermittent break in pcb trace / joint) An intermittent short in LCD_RST pcb trace would make the running program die Of course it could be an intermittent break/short in RD, WR, RS, CS pcb trace and not the RST signal. David. |
Hi, To Test, I have run the LCD_ID_readreg.ino program and this is the output I am getting: Read Registers on MCUFRIEND UNO shield reg(0x0000) 01 14 ID: ILI9320, ILI9325, ILI9335, ... I have noticed "0154" on shield. but the ID shown in the program out is "01 14" which is confusing. Please can you help/guide me in the right direction. Regards, Rovin D. |
I suspect that it is a Samsung S6D0154 but your wiring is not so good. Bit 6 is reading 0 instead of 1. There is a Samsung S6D0114 but it is a 132x176 controller. Which is unlikely to be on a 2.4 inch screen. I suggest that you check your wiring. David. |
Thank you David for the quick response and for the clarification. The shield fits nicely on top of the Arduino and so I have not done any wiring, but plugged the shield on top of the UNO. Regards, Rovin D. |
Shield is generally well soldered. Arduino headers are well soldered. I can only suggest forcing You can run LCD_ID_readnew.ino displaying the David. |
Thanks David .... Really appreciate the inputs your are providing...:) I kept the shield powered ON for around 5 mins and it was a bit warm, but not getting hot. I tried forcing And finally, I ran the LCD_ID_readnew.ino displaying the read_9320("ILI9320") for report and the output of this is : ⸮Read Special Registers on MCUFRIEND UNO shield diagnose any controller Does this help in anyway? I am stating to wonder is this shield busted ...:( Regards, Rovin D. |
Well this shows that there is nothing wrong with bit6. There are several registers with bit6 set. So perhaps you have a genuine S6D0114. I could compare those values with the S6D0114 datasheet if I am feeling enterprising. On the other hand, you could just go and buy another cheap display. I could send you a specific David. |
Thanks David for the reply and also for letting me know that I really have a shield which is not usually normal. But said that, I really appreciate the support/inputs provided by you. Regards Rovin D. |
My card isn't well supported. note the ID = 0x1.
When started by tft.begin(0x9320), runs sometimes, sometimes not; but the screen flipped verticallly (running testcard_kbv on UNOr3)
CARD: 2.4" TFT LCD SHIELD www.mcufriend.com
Results of lcd_id_readreg on UNOr3:
reg(0x0000) 00 01 ID: ILI9320, ILI9325, ILI9335, ...
reg(0x0004) 00 00 00 00 Manufacturer ID
reg(0x0009) 00 00 00 00 00 Status Register
reg(0x000A) 00 01 Get Power Mode
reg(0x000C) 00 01 Get Pixel Format
reg(0x0061) 00 01 RDID1 HX8347-G
reg(0x0062) 00 01 RDID2 HX8347-G
reg(0x0063) 00 01 RDID3 HX8347-G
reg(0x0064) 00 01 RDID1 HX8347-A
reg(0x0065) 00 01 RDID2 HX8347-A
reg(0x0066) 00 01 RDID3 HX8347-A
reg(0x0067) 00 01 RDID Himax HX8347-A
reg(0x0070) 00 01 Panel Himax HX8347-A
reg(0x00A1) 00 01 00 01 00 RD_DDB SSD1963
reg(0x00B0) 00 01 RGB Interface Signal Control
reg(0x00B4) 00 01 Inversion Control
reg(0x00B6) 00 01 00 01 00 Display Control
reg(0x00B7) 00 01 Entry Mode Set
reg(0x00BF) 00 01 00 01 00 01 ILI9481, HX8357-B
reg(0x00C0) 00 01 00 01 00 01 00 01 00 Panel Control
reg(0x00C8) F8 00 F8 00 F8 00 F8 00 F8 00 F8 00 F8 GAMMA
reg(0x00CC) 00 01 Panel Control
reg(0x00D0) 00 01 00 Power Control
reg(0x00D2) F8 00 F8 00 F8 NVM Read
reg(0x00D3) 00 01 00 01 ILI9341, ILI9488
reg(0x00D4) 00 01 00 01 Novatek ID
reg(0x00DA) 00 01 RDID1
reg(0x00DB) 00 01 RDID2
reg(0x00DC) 00 01 RDID3
reg(0x00E0) 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 GAMMA-P
reg(0x00E1) 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 GAMMA-N
reg(0x00EF) 00 01 00 01 00 01 ILI9327
reg(0x00F2) 00 01 00 01 00 01 00 01 00 01 00 01 Adjust Control 2
reg(0x00F6) 00 01 00 01 Interface Control
The text was updated successfully, but these errors were encountered: