Have you checked ILI9488 based LCD using SPI Master Example? Let me know once you check and get success into it.loboris wrote:I have one ILI9488 based LCD Display module and will test it this weekend or early next week...Ritesh wrote:Anyone has any update on this?
Need sample code for ILI9488 LCD on SPI Interface
Re: Need sample code for ILI9488 LCD on SPI Interface
Regards,
Ritesh Prajapati
Ritesh Prajapati
Re: Need sample code for ILI9488 LCD on SPI Interface
I'm working on it, but I don't have much free time at the moment.Ritesh wrote:Have you checked ILI9488 based LCD using SPI Master Example? Let me know once you check and get success into it.
Apart from different init sequence, ILI9488 require 3 byte per color pixel...
You can look at some Arduino library and try to port it yourself. Good example is https://github.com/jaretburkett/ILI9488.
When I finish it, it will be available on my GitGub repository https://github.com/loboris/ESP32_SPI_MA ... MA_EXAMPLE
Please be patient.
ILI9341 can work with spi clock up to 40MHz (tested for 8h working without errors). I'll test ILI9488 max speed and report it here.Ritesh wrote:I have also checked SPI Clock which is not getting proper after running above example as set 500 KHz, 1 MHz, 10 MHz.
Re: Need sample code for ILI9488 LCD on SPI Interface
Thanks for quick reply..loboris wrote:I'm working on it, but I don't have much free time at the moment.Ritesh wrote:Have you checked ILI9488 based LCD using SPI Master Example? Let me know once you check and get success into it.
Apart from different init sequence, ILI9488 require 3 byte per color pixel...
You can look at some Arduino library and try to port it yourself. Good example is https://github.com/jaretburkett/ILI9488.
When I finish it, it will be available on my GitGub repository https://github.com/loboris/ESP32_SPI_MA ... MA_EXAMPLE
Please be patient.ILI9341 can work with spi clock up to 40MHz (tested for 8h working without errors). I'll test ILI9488 max speed and report it here.Ritesh wrote:I have also checked SPI Clock which is not getting proper after running above example as set 500 KHz, 1 MHz, 10 MHz.
I think it will support up to 80 MHz.correct?
Also what should be proper SPI mode. It's mode 0 or other?
Also, I will first try with other board to verify that LCD is working properly or not.
Let me know if you find any update for ILI9488
Regards,
Ritesh Prajapati
Ritesh Prajapati
Re: Need sample code for ILI9488 LCD on SPI Interface
Have you checked on ILI9488 LCD with your Non DMA example?loboris wrote:I'm working on it, but I don't have much free time at the moment.Ritesh wrote:Have you checked ILI9488 based LCD using SPI Master Example? Let me know once you check and get success into it.
Apart from different init sequence, ILI9488 require 3 byte per color pixel...
You can look at some Arduino library and try to port it yourself. Good example is https://github.com/jaretburkett/ILI9488.
When I finish it, it will be available on my GitGub repository https://github.com/loboris/ESP32_SPI_MA ... MA_EXAMPLE
Please be patient.ILI9341 can work with spi clock up to 40MHz (tested for 8h working without errors). I'll test ILI9488 max speed and report it here.Ritesh wrote:I have also checked SPI Clock which is not getting proper after running above example as set 500 KHz, 1 MHz, 10 MHz.
Also, you have checked into ILI9341 LCD using 4 Wire SPI Interface. correct?
Regards,
Ritesh Prajapati
Ritesh Prajapati
Re: Need sample code for ILI9488 LCD on SPI Interface
Hi loboris,
I have checked your SPI non DMA source code into ILI9488 LCD into ESP32 but not got any success yet.
We just observed initial some colored lines over LCD while LCD was going to initialize. But, After that there is no any effect over LCD.
I have checked using SPI Master example and effect remains same. Also, checked all MISO lines over CLI which are work fine without any issue.
We have also tried with different Arduino code but still not getting any success yet. We are using 4 wire LCD SPI interface.
Let me know if any idea or clue for this non working stuffs which we are facing now.
I have checked your SPI non DMA source code into ILI9488 LCD into ESP32 but not got any success yet.
We just observed initial some colored lines over LCD while LCD was going to initialize. But, After that there is no any effect over LCD.
I have checked using SPI Master example and effect remains same. Also, checked all MISO lines over CLI which are work fine without any issue.
We have also tried with different Arduino code but still not getting any success yet. We are using 4 wire LCD SPI interface.
Let me know if any idea or clue for this non working stuffs which we are facing now.
Regards,
Ritesh Prajapati
Ritesh Prajapati
Re: Need sample code for ILI9488 LCD on SPI Interface
I've had ILI9488 working on STM32F4. Still no time to check it on ESP32.
Basically, all you have to do is make shure the initialization sequence is correct (always include soft reset (0x01) as the first command + delay 100 ms) and replace in every function which sends 16-bit color (RGB565) with 3-byte color (RGB 6-6-6).
I'll try to test it this week.
Have you checked https://github.com/jaretburkett/ILI9488, it's a good starting point.
Basically, all you have to do is make shure the initialization sequence is correct (always include soft reset (0x01) as the first command + delay 100 ms) and replace in every function which sends 16-bit color (RGB565) with 3-byte color (RGB 6-6-6).
I'll try to test it this week.
Have you checked https://github.com/jaretburkett/ILI9488, it's a good starting point.
Re: Need sample code for ILI9488 LCD on SPI Interface
Can you please share code example for STM32F4?loboris wrote:I've had ILI9488 working on STM32F4. Still no time to check it on ESP32.
Basically, all you have to do is make shure the initialization sequence is correct (always include soft reset (0x01) as the first command + delay 100 ms) and replace in every function which sends 16-bit color (RGB565) with 3-byte color (RGB 6-6-6).
I'll try to test it this week.
Have you checked https://github.com/jaretburkett/ILI9488, it's a good starting point.
So, That we have also STM32 boards and will check LCD with that.
Please share code example ASAP
Regards,
Ritesh Prajapati
Ritesh Prajapati
Re: Need sample code for ILI9488 LCD on SPI Interface
@Ritesh
I have tested ILI9488 based display (http://www.buydisplay.com/default/lcd-3 ... kout-board) with ESP32 (SparkFun ESP32 Thing) and it is working with my non-dma spi driver.
GitHub repository is updated with fully working example for ILI9488.
Works with spi clocks up to 40MHz.
Read from display RAM doesn not work at the moment, I'll check it later
Please check at https://github.com/loboris/ESP32_SPI_MA ... MA_EXAMPLE.
I have tested ILI9488 based display (http://www.buydisplay.com/default/lcd-3 ... kout-board) with ESP32 (SparkFun ESP32 Thing) and it is working with my non-dma spi driver.
GitHub repository is updated with fully working example for ILI9488.
Works with spi clocks up to 40MHz.
Read from display RAM doesn not work at the moment, I'll check it later
Please check at https://github.com/loboris/ESP32_SPI_MA ... MA_EXAMPLE.
Re: Need sample code for ILI9488 LCD on SPI Interface
Thanks for update into NODMA driver.loboris wrote:@Ritesh
I have tested ILI9488 based display (http://www.buydisplay.com/default/lcd-3 ... kout-board) with ESP32 (SparkFun ESP32 Thing) and it is working with my non-dma spi driver.
GitHub repository is updated with fully working example for ILI9488.
Works with spi clocks up to 40MHz.
Read from display RAM doesn not work at the moment, I'll check it later
Please check at https://github.com/loboris/ESP32_SPI_MA ... MA_EXAMPLE.
I have checked your driver with some modifications like SPI Pin configurations and its working fine without any issue. But, Right Now, Some boxes, random colored window, patterned color patterned and few other window are coming after running that example,
So, As you told that " display RAM" is not working. so does it related to speed point of view. Also, I have checked Arduino based ILI9488 example in which it seems to be faster even in 8 MHz SPI clock because ESP32 is running on 240 MHz and maximum SPI clock supported is 40 MHz.
So, that is my concern regarding your NoDMA driver as you told that it is 10 times faster than actual spi_master driver.
Please find following output which i got after executing your example.
Also, is there any plan to display words and digits on LCD in your examples?-------------
Disp clock = 6.15 MHz (requested: 6.00)
Lines = 2089 ms (320 lines of 480 pixels)
Pixels = 4974 ms (480x320)
Cls = 704 ms (480x320)
-------------
-------------
Disp clock = 8.00 MHz (requested: 8.00)
Lines = 1948 ms (320 lines of 480 pixels)
Pixels = 4096 ms (480x320)
Cls = 563 ms (480x320)
-------------
-------------
Disp clock = 16.00 MHz (requested: 16.00)
Lines = 1712 ms (320 lines of 480 pixels)
Pixels = 2633 ms (480x320)
Cls = 331 ms (480x320)
-------------
-------------
Disp clock = 20.00 MHz (requested: 20.00)
Lines = 1665 ms (320 lines of 480 pixels)
Pixels = 2337 ms (480x320)
Cls = 284 ms (480x320)
-------------
-------------
Disp clock = 26.67 MHz (requested: 24.00)
Lines = 1618 ms (320 lines of 480 pixels)
Pixels = 2053 ms (480x320)
Cls = 237 ms (480x320)
-------------
-------------
Disp clock = 40.00 MHz (requested: 40.00)
Lines = 1571 ms (320 lines of 480 pixels)
Pixels = 1757 ms (480x320)
Cls = 191 ms (480x320)
-------------
Let me know once you update your example. Again thanks for your support.
Regards,
Ritesh Prajapati
Ritesh Prajapati
Re: Need sample code for ILI9488 LCD on SPI Interface
To clear the screen you have to send 320*480*3*8 = 3686400 bits to the display.
At 40 MHz spi clock (1 bit time is 25 ns) the theoretical minimum time is 92.16 ms.
With some optimization I've got 160 ms for clear screen function, I don't think you can get much faster clear screen with any driver on any microcontroller.
Some optimization can still be made for other functions.
In pixel writing functions color values are converted from 16-bit RGB565 to 24-bit values, which take some time. If you use 3-byte RGB color values as a base for display functions, write time can be improved.
I have the complete set of optimized graphics functions (drawing, fonts, images etc) implemented as part of Lua-RTOS-ESP32 project.
Look at https://github.com/loboris/Lua-RTOS-ESP ... les/screen.
Video: https://www.youtube.com/watch?v=esOO3fN1xDw
You can easily extract needed functions to use in any project. If I find some time, I'll make it independent library to use with esp-idf.
Reading from display RAM does not work on my display (returns all zeroes).
You can check if it is working on yours by setting #define DISPLAY_READ 1 in spi_master_demo.c.
You can also uncomment the linesin disp_spi_read_data function in tftfunc.c to get first 16 color values read printed on screen.
At 40 MHz spi clock (1 bit time is 25 ns) the theoretical minimum time is 92.16 ms.
With some optimization I've got 160 ms for clear screen function, I don't think you can get much faster clear screen with any driver on any microcontroller.
Code: Select all
-------------
Disp clock = 40.00 MHz (requested: 40.00)
Lines = 1574 ms (320 lines of 480 pixels)
Pixels = 1757 ms (480x320)
Cls = 160 ms (480x320)
-------------
In pixel writing functions color values are converted from 16-bit RGB565 to 24-bit values, which take some time. If you use 3-byte RGB color values as a base for display functions, write time can be improved.
I have the complete set of optimized graphics functions (drawing, fonts, images etc) implemented as part of Lua-RTOS-ESP32 project.
Look at https://github.com/loboris/Lua-RTOS-ESP ... les/screen.
Video: https://www.youtube.com/watch?v=esOO3fN1xDw
You can easily extract needed functions to use in any project. If I find some time, I'll make it independent library to use with esp-idf.
Reading from display RAM does not work on my display (returns all zeroes).
You can check if it is working on yours by setting #define DISPLAY_READ 1 in spi_master_demo.c.
You can also uncomment the lines
Code: Select all
/*
for (int i=25; i<48; i+=3) {
printf("[%02x,%02x,%02x] ",rbuf[i],rbuf[i+1],rbuf[i+2]);
}
printf("\r\n");
*/
Who is online
Users browsing this forum: No registered users and 140 guests