Skip to content
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

Ili9341 240x320 display over SPI (serial) - vertical scroll does not work and reads ID = 0 #245

Open
stevstrong opened this issue Sep 24, 2023 · 0 comments

Comments

@stevstrong
Copy link

Hello,

I have a display which was sold as "Ili9341" and has an SPI interface (it also has a SD card reader slot on the back side and also a touch controller).
I am succesfully using a graphictest from Libmaple library (https://github.com/stevstrong/Arduino_STM32/blob/master/STM32F1/libraries/Adafruit_ILI9341_STM/examples/graphicstest/graphicstest.ino).
The display shows everything ok.

Now, I wanted to impelment the vertical scroll feature but somehow does not work.
I studied your repo (the function vertScroll()) and also the Ili9341 datasheet.
But did not manage to make it work.

Then I wanted to be sure that the chip and the display module is really an Ili9341 and tried the LCD_ID_readreg.ino sketch (of course adapted to serial interface).
Here I have very strange read out values:

reg(0x00) 00 00	ID: ILI9320, ILI9325, ILI9335, ...
reg(0x04) 00 00 00 00	Manufacturer ID
reg(0x09) 00 30 80 00 00	Status Register
reg(0x0A) 08 00	Get Power Mode
reg(0x0C) 06 00	Get Pixel Format
reg(0x61) 00 00	RDID1 HX8347-G
reg(0x62) 00 00	RDID2 HX8347-G
reg(0x63) 00 00	RDID3 HX8347-G
reg(0x64) 00 00	RDID1 HX8347-A
reg(0x65) 00 00	RDID2 HX8347-A
reg(0x66) 00 00	RDID3 HX8347-A
reg(0x67) 00 00	RDID Himax HX8347-A
reg(0x70) 00 00	Panel Himax HX8347-A
reg(0xA1) 00 00 00 00 00	RD_DDB SSD1963
reg(0xB0) 00 00	RGB Interface Signal Control
reg(0xB4) 00 00	Inversion Control
reg(0xB6) 00 00 00 00 00	Display Control
reg(0xB7) 00 00	Entry Mode Set
reg(0xBF) 00 00 00 00 00 00	ILI9481, HX8357-B
reg(0xC0) 00 00 00 00 00 00 00 00 00	Panel Control
reg(0xC8) 00 00 00 00 00 00 00 00 00 00 00 00 00	GAMMA
reg(0xCC) 00 00	Panel Control
reg(0xD0) 00 00 00	Power Control
reg(0xD2) 00 00 00 00 00	NVM Read
reg(0xD3) 00 00 00 00	ILI9341, ILI9488
reg(0xD4) 00 00 00 00	Novatek ID
reg(0xDA) 00 00	RDID1
reg(0xDB) 00 00	RDID2
reg(0xDC) 00 00	RDID3
reg(0xE0) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00	GAMMA-P
reg(0xE1) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00	GAMMA-N
reg(0xEF) 00 00 00 00 00 00	ILI9327
reg(0xF2) 00 00 00 00 00 00 00 00 00 00 00 00	Adjust Control 2
reg(0xF6) 00 00 00 00	Interface Control

So I thought I maybe do something wrong with my library and tried your graphictest_kbv.ino.
Here, I get ID (address 0) = 0 as well and no display at all (blanc).

So my questions is:

Is ID reading over serial interface possible at all?
If yes, what I may doing wrong?

Again, the graphical test sketch from my lib works fine, just the reading of these special registers is somehow strange.
Also, the display memory can be written and red out using Ili9341 datasheet registers without problems.

I am very helpful for any hint.
Thanks in advance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant