-
Notifications
You must be signed in to change notification settings - Fork 495
3.95 screen - ili9488 #311
Comments
I did get better color now when making changes to https://gist.github.com/ont/52c91e4ff090ee805e27 with:
This is what happens when you run win32_screem.rar that was for the 3.6 screen: It seams it shouldn't be that much different to get it running, sure its a cheap screen from aliexpress ;) |
I have the exact same screen (even though I ordered a different one), so very keen on your progress! |
ok, now i have stuff on the screen :P but it is mirrored :( hahah sudo modprobe fbtft_device name=flexpfb rotate=180 gpios=dc:18,reset:7,wr:17,cs:4,db00:22,db01:23,db02:24,db03:10,db04:25,db05:9,db06:11,db07:8 sudo modprobe flexfb width=320 height=480 buswidth=8 init=-1,0xb0,0x0,-1,0x11,-2,120,-1,0x3A,0x55,-1,0xC2,0x33,-1,0xC5,0x00,0x1E,0x80,-1,0xE0,0x00,0x04,0x0E,0x08,0x17,0x0A,0x40,0x79,0x4D,0x07,0x0E,0x0A,0x1A,0x1D,0x0F,-1,0xE1,0x00,0x1B,0x1F,0x02,0x10,0x05,0x32,0x34,0x43,0x02,0x0A,0x09,0x33,0x37,0x0F,-1,0x11,-1,0x29,-3 con2fbmap 1 1 Now mirroring is need to be fixed and rotate need to be fixed some how ;) |
Register 0x36 is usually responsible for rotation/flip/mirror/bgr |
Thanks,worked.
Some stuff left to Workout.
|
Everything's working now but the screen looks like it is "lagging" every lines updates way to slow, any use'? |
Yes it's slow to drive a parallel bus with gpiolib. |
If you want a visual comparison, I created a short video a month ago of two TFTs running next to each other, one with optimization and the other without the optimization. |
That's a different optimization: DMA. The display we are talking about here is driven with a 8-bit parallel bus directly, no SPI. Upstream FBTFT uses gpiolib and sets one bit at a time (unless it's the same value as the previous one), whereas the old optimized FBTFT wrote directly to the hw register making it possible to set 8 bit in one go. |
For any one that wants the screen to show some thing ;) : pi@raspberrypi ~ $ cat /etc/modules landscape modeflexfb width=480 height=320 buswidth=8 init=-1,0xb0,0x0,-1,0x11,-2,120,-1,0x3A,0x55,-1,0xC2,0x33,-1,0xC5,0x00,0x1E,0x80,-1,0x36,0x28,-1,0xB1,0xB0,-1,0xE0,0x00,0x04,0x0E,0x08,0x17,0x0A,0x40,0x79,0x4D,0x07,0x0E,0x0A,0x1A,0x1D,0x0F,-1,0xE1,0x00,0x1B,0x1F,0x02,0x10,0x05,0x32,0x34,0x43,0x02,0x0A,0x09,0x33,0x37,0x0F,-1,0x11,-1,0x29,-3 |
notro, stupid question, isent it just possible to change like fb_ili9486.c and make it as a new driver? |
I asked my supplier for the driver and this is what I got back
Not sure if that's of any use to anyone. @kiwifruktish How do I use that example you've got above? |
Sure it's possible. |
@toxaq i used same example from the supplier, "sudo nano /etc/modules" and add to enable screen: landscape modeflexfb width=480 height=320 buswidth=8 init=-1,0xb0,0x0,-1,0x11,-2,120,-1,0x3A,0x55,-1,0xC2,0x33,-1,0xC5,0x00,0x1E,0x80,-1,0x36,0x28,-1,0xB1,0xB0,-1,0xE0,0x00,0x04,0x0E,0x08,0x17,0x0A,0x40,0x79,0x4D,0x07,0x0E,0x0A,0x1A,0x1D,0x0F,-1,0xE1,0x00,0x1B,0x1F,0x02,0x10,0x05,0x32,0x34,0x43,0x02,0x0A,0x09,0x33,0x37,0x0F,-1,0x11,-1,0x29,-3 "sudo nano /boot/cmdline.txt" Enable the Boot Splash Screen by adding: please note that it will "lag" until we have a driver that dont use "gpiolib". |
I made changes to fb_ili9486.c And started "fbtft_device custom name=fb_ili9486 rotate=90 gpios=dc:18,reset:7,wr:17,cs:4,db00:22,db01:23,db02:24,db03:10,db04:25,db05:9,db06:11,db07:8" It worked after build, but still "laggy" because of gpiolib i guess. But maybe you want to add a fb_ili9488 to next release ;)
|
I won't be making a fb_ili9488 because many of these drivers are mipi compliant so I will add a mipi module instead that will cover many of the fbtft supported controllers: https://github.com/notro/linux-staging/blob/next/drivers/staging/fbtft/lcdctrl/mipi-dbi.c This also solves the problem of the hardcoded register 0x36 values for rotation. Not all displays are equal in this respect, so currently they have to use flexfb. Then there will be display drivers that use this module: https://github.com/notro/linux-staging/blob/next/drivers/staging/fbtft/ada-mipifb.c So I'm moving away from controller drivers to display drivers mainly for the DT reason I mentioned earlier. If I still find fbtft fun to work on when all this is in place, I will have a look at the SMI driver and see if I can add support for that in fbtft: raspberrypi/linux#1105 |
Guy's I don't know how you did this but after I added : to my /etc/modules , all I can see it's just a black screen ... |
did you add any thing to cmdline.txt ? if not you have to add: fbcon=map:10 fbcon=font:VGA8x8 fbcon=rotate:3 before rootwait i think. and reboot or just type "con2fbmap 1 1" when module is loaded if you dont want to restart for the moment. |
@kiwifruktish , Thank you. |
@kiwifruktish |
I found a kernel for the ili9488 lcd and a raspbian image with kernel for this display. http://www.ittgroup.ee/et/ekraanid-ja-naidikud/626-lcd-tft-ekraan-395-480x320-raspberry-pi-le.html In the bottom of the page there are two links,Kernel and Bye. |
@callievi PS https://www.raspberrypi.org/forums/viewtopic.php?t=122736&p=826897 |
I do not know, I used raspbian modify kernel.
|
...maybe error config into etc/ files! Now I havn't. |
I've been trying to follow along on this thread, but am unfortunately not experienced enough in this environment to get my display as far along as everyone here has. Mine is still that ugly faded image that doesn't fill up the screen. Is there any possibility anyone would be willing to create and share an image that has this display working properly? Thanks. |
Thanks. That's very thoughtful. I had done that already, but my display is the same as that faded image that doesn't fill the screen in the earlier picture. I'm hoping someone sorts out the display, and then makes a new image. The photo of your screen looks great. |
I have a PiZero with this screen and I have attempted using the kernel. The image shows up on the screen but I'm unable to use any of my USB devices. Can you guys help me figure this out? |
Hello everyone, I tried different things :
Anyone made it work well on rpi zero could explain me how to do it ? :) Sorry I don't know much about LCD drivers/linux kernel etc. @gibo65 could you explain me how to use what you posted for @1ucian ? |
It would be great if someone can give me the big picture on how this is working : linux-kernel kernel-drivers/rpi gpio/screen spec. |
Has anyone tried to compile the kernel with this optimization https://github.com/notro/fbtft/blob/master/fbtft-io.c#L133 on Raspberry Pi 2? I used this guide https://github.com/notro/fbtft/wiki/Build-kernel-and-fbtft-drivers but no luck, still laggy(( |
Tried to compile fbtft with -O3, -O2 flags, but this didn't help, display update time has increased from 178 ms to 280 ms((( |
Hi there. I have a 3.5" ILI9488 module from buydisplays and need to get it working via native SPI. As of now I tried ili9481 and 9486 modules by notro (thank you Sir) and custom init strings from this topic. All I achieved for the moment is the screen (9481 driver) or half the screen (9486 driver) changing from white to gray on modprobe. Nothing more happens whatever I do. Is there a reason to try new DBI branch? If so, is there anything "for dummies" to start from? I'm new to low-level hardware under linux. Thank you!! |
If wiring and the init string is corrrect it should turn black. Many drivers set register 0x36 in the set_var() function and can cause trouble if it doesn't match your panel. This register controls flip/mirror. |
Notro, thanks a lot. It does not turn black in any case. This occurred once, when I occassionally told buswidth=8 instead of 9 used, and I could not repeat this. Even when it has, the module did not react to filling it from /dev/urandom or fbi viewer, so it's not initted yet. I keep trying. |
Not that I know of. The interface type is usally set with the IM[0:3] pins. |
I tried both 3-wire/9bit and 4-wire/8bit. The fbtft_device requires dc gpio in both modes. Gray screen and no response in any mode. Bum. |
Correct. I you use the verbose=3 argument, you'll see the registers getting written to in the kernel log. |
I use debug=7 and dmesg. |
ok, let me know if you want to get rid of my posts, SORRY. Is this the right seq? |
YESSS. Thank you for patience. |
Hi Cu6apum, |
Hi Cu6apum and Notro, any comment about my last question? I would really appreciate any help... |
Gentlemen, sorry, was AFK for a week. |
I was wondering if anyone has had success with the ILI9488 SPI (4wire)? I've got a driver working but the color is all messed up. My suspicion is it's due to the 18bit mode for 4wire spi. When I set 18bpp in the driver it doesn't display anything. The only thing I can think of trying is putting the buswidth to 9bits (although the spec sheet says 4 wire is 8). Anyone have any ideas? I've considered the need to pad the 16bits before it's sent to the ILI9488 but I'm not sure where I'd do this. I started the driver off the ILI9486 one. |
@elageneg any success with that display yet ? |
Unfortunately no, we finally changed display. |
@elageneg I was able to make it work with mainline kernel |
Hi everyone, I was able to get the ili9488 working with 4 channel SPI! Paying it forward to anyone who still wants to use this method to get their ili9488 tft display to work. Mine was from BuyDisplay (ER-TFT035-6) https://www.buydisplay.com/default/serial-spi-3-5-inch-tft-lcd-module-in-320x480-optl-touchscreen-ili9488 here's my repo with the code to get it to work. Follow @notro's excellent wiki on installing it. https://github.com/tgreenwood93/fbtft.git |
@tgreenwood93 hi, can you explain what is the 4-channel SPI you are referring to ? I made it work long time ago with tinydrm, my code is here: and also DT-overlay for Rpi3 (bcm2835-ertft0356-drm.dts) can be found inside this patch |
I am using it on raspberry pi stretch right now. Using SPI. four wires/channels (SCLK, MOSI, MISO, D/C) -- I haven't made it TinyDRM complaint yet. That's awesome @sergey-suloev! Thanks for posting the TinyDRM version as well! |
@tgreenwood93 oh you mean 4-wire SPI ! that means it is the normal SPI interface |
Hello @tgreenwood93, But I'm little bit noob, may I ask you for link How to install fbtft? I tried https://github.com/notro/fbtft/wiki#wiki-install but there is nothing. After many tries to install, I'm really confused. https://learn.watterott.com/rpi-display/fbtft-install/ - tried manuall install, but still notning... :( Thanks a lot! |
This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 7 days. |
And here is some more info:
same as in #254
So the first part will probebly be if im not wrong:
sudo modprobe fbtft_device name=flexpfb rotate=180 fps=70 gpios=dc:18,reset:7,wr:17,cs:4,db00:22,db01:23,db02:24,db03:10,db04:25,db05:9,db06:11,db07:8
But it is the other part im not realy sure how it should be, sudo modprobe flexfb ...
Documentation can be found at https://www.lpcware.com/system/files/ILI9488_Preliminary_DS_V090.pdf
I tested https://gist.github.com/ont/52c91e4ff090ee805e27 and it did work but i dont think the color is 100% right but it works.
When runing:
fbtft_device name=flexpfb rotate=180 fps=70 gpios=dc:18,reset:7,wr:17,cs:4,db00:22,db01:23,db02:24,db03:10,db04:25,db05:9,db06:11,db07:8
flexfb width=320 height=480 buswidth=8 init=-1,0xE9,0x20,-1,0x11,-2,100,-1,0x3A,0x55,-1,0xD1,0x00,0x6B,0x19,-1,0xD0,0x07,0x07,0x80,-1,0x36,0x48,-1,0xC1,0x10,0x10,0x02,0x02,-1,0xC0,0x00,0x35,0x00,0x00,0x01,0x02,-1,0xC5,0x01,-1,0xD2,0x01,0x22,-1,0xC8,0x01,0x52,0x37,0x10,0x0D,0x01,0x04,0x51,0x77,0x01,0x01,0x0d,0x08,0x80,0x00,-1,0xEA,0x80,-1,0x29,-3
i have the fallowing info in dmesg:
[ 11.796719] fbtft: module is from the staging directory, the quality is unknown, you have been warned.
[ 11.823613] fbtft_device: module is from the staging directory, the quality is unknown, you have been warned.
[ 11.841446] fbtft_device: SPI devices registered:
[ 11.846408] fbtft_device: spidev spi0.0 500kHz 8 bits mode=0x00
[ 11.859142] fbtft_device: spidev spi0.1 500kHz 8 bits mode=0x00
[ 11.865906] fbtft_device: 'fb' Platform devices registered:
[ 11.871856] fbtft_device: soc:fb id=-1 pdata? no
[ 11.880554] fbtft_device: GPIOS used by 'flexpfb':
[ 11.885527] fbtft_device: 'dc' = GPIO18
[ 11.889726] fbtft_device: 'reset' = GPIO7
[ 11.910401] fbtft_device: 'wr' = GPIO17
[ 11.914643] fbtft_device: 'cs' = GPIO4
[ 11.918726] fbtft_device: 'db00' = GPIO22
[ 11.924882] fbtft_device: 'db01' = GPIO23
[ 11.929237] fbtft_device: 'db02' = GPIO24
[ 11.933886] fbtft_device: 'db03' = GPIO10
[ 11.938259] fbtft_device: 'db04' = GPIO25
[ 11.942750] fbtft_device: 'db05' = GPIO9
[ 11.947021] fbtft_device: 'db06' = GPIO11
[ 11.951531] fbtft_device: 'db07' = GPIO8
[ 11.955834] fbtft_device: 'fb' Platform devices registered:
[ 11.961746] fbtft_device: soc:fb id=-1 pdata? no
[ 11.966941] fbtft_device: flexpfb id=0 pdata? yes
[ 12.053062] flexfb: module is from the staging directory, the quality is unknown, you have been warned.
[ 12.745963] Console: switching to colour frame buffer device 40x60
[ 12.770403] graphics fb1: flexfb frame buffer, 320x480, 300 KiB video memory, 4 KiB DMA buffer memory, fps=100
But still no picture when adding: fbcon=map:10 fbcon=font:VGA8x8 fbcon=rotate:3 to cmd before rootwait.
The text was updated successfully, but these errors were encountered: