And finally I have got a time to setup TouchScreen for my Rpi2. And I shat say that it wasn't easy.
What I have had:
- Rpi2
- 3.5" TFT LCD Touch Screen Module 320*480 RGB Display Board with logo of WaveShare SpotPear
http://www.wvshare.com/product/3.5inch-RPi-LCD-A.htm
I have found one article with tutorial http://www.circuitbasics.com/setup-lcd-touchscreen-raspberry-pi/. It uses common custom driver for Touch LCDs https://github.com/notro/fbtft/. But author of this article has different module with different controller.
But my module has XPT2046 controller and it requires slightly different setup command. Lets see those differences
$ sudo nano /etc/modules
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#original | |
fbtft_device name=waveshare32b gpios=dc:22,reset:27 speed=48000000 | |
waveshare32b width=320 height=240 buswidth=8 init=-1,0xCB,0x39,0x2C,0x00,0x34,0x02,-1,0xCF,0x00,0XC1,0X30,-1,0xE8,0x85,0x00,0x78,-1,0xEA,0x00,0x00,-1,0xED,0x64,0x03,0X12,0X81,-1,0xF7,0x20,-1,0xC0,0x23,-1,0xC1,0x10,-1,0xC5,0x3e,0x28,-1,0xC7,0x86,-1,0x36,0x28,-1,0x3A,0x55,-1,0xB1,0x00,0x18,-1,0xB6,0x08,0x82,0x27,-1,0xF2,0x00,-1,0x26,0x01,-1,0xE0,0x0F,0x31,0x2B,0x0C,0x0E,0x08,0x4E,0xF1,0x37,0x07,0x10,0x03,0x0E,0x09,0x00,-1,0XE1,0x00,0x0E,0x14,0x03,0x11,0x07,0x31,0xC1,0x48,0x08,0x0F,0x0C,0x31,0x36,0x0F,-1,0x11,-2,120,-1,0x29,-1,0x2c,-3 | |
#my version | |
fbtft_device debug=3 rotate=90 name=flexfb speed=30000000 gpios=reset:25,dc:24 | |
flexfb width=320 height=480 regwidth=16 init=-1,0xb0,0x0,-1,0x11,-2,250,-1,0x3A,0x55,-1,0xC2,0x44,-1,0xC5,0x00,0x00,0x00,0x00,-1,0xE0,0x0F,0x1F,0x1C,0x0C,0x0F,0x08,0x48,0x98,0x37,0x0A,0x13,0x04,0x11,0x0D,0x00,-1,0xE1,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0xE2,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0x36,0x28,-1,0x11,-1,0x29,-3 |
$ sudo nano /boot/cmdline.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# original | |
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait fbtft_device.custom fbtft_device.name=waveshare32b fbtft_device.gpios=dc:22,reset:27 fbtft_device.bgr=1 fbtft_device.speed=48000000 fbcon=map:10 fbcon=font:ProFont6x11 logo.nologo dma.dmachans=0x7f35 console=tty1 consoleblank=0 fbtft_device.fps=50 fbtft_device.rotate=0 | |
# my version | |
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait fbcon=map:1 fbcon=font:ProFont6x11 |
$ sudo nano /boot/config.txt
we use config.txt and device tree overlays because in actually firmware of Rpi2 no longer uses ads7846_device.https://github.com/raspberrypi/firmware/blob/master/boot/overlays/README
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# my version | |
dtdebug=on | |
dtoverlay=ads7846,penirq=17,speed=500000,swapxy=1 |
so with those changes LCD screen works fine. But touch interface still doesn’t work I will do more investigations later, when I will get more free time. but if you have had same problem but now fixed it, please put comment here with right solution.
No comments :
Post a Comment