RaspberryPi ecran tactile
Sommaire
- 1 Ecran tactile 480x320 4" TFT Waveshare SpotPear
- 1.1 Installation : Pour le moment ça NE MARCHE PAS !!!!!!!
- 1.1.1 Mettre à jour le système
- 1.1.2 Installer les drivers FBTFT avec support spi et dma
- 1.1.3 tester les drivers
- 1.1.4 Charger les drivers au démarrage
- 1.1.5 Integrer le shell sur l'écran
- 1.1.6 Intégrer le bureau sur l'écran
- 1.1.7 Reconnaissance de l'écran au démarrage
- 1.1.8 Test
- 1.1.9 Calibration de l'écran
- 1.1.10 Sources
- 1.1 Installation : Pour le moment ça NE MARCHE PAS !!!!!!!
Waveshare 4inch RPi LCD , une image est fournie pour faire fonctionner l'écran sur pi2 là basé sur wheezy et tout fonctionne bien.
Installation : Pour le moment ça NE MARCHE PAS !!!!!!!
Pour raspberry-pi 2 avec raspbian-jessie-2015-09-24
Mettre à jour le système
sudo apt-get update sudo apt-get upgrade
Installer les drivers FBTFT avec support spi et dma
sudo REPO_URI=https://github.com/notro/rpi-firmware rpi-update sudo reboot
tester les drivers
sudo modprobe 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 modprobe fbtft_device name=flexfb speed=16000000 gpios=reset:25,dc:24 debug=3 rotate=90
sudo modprobe ads7846_device model=7846 cs=1 gpio_pendown=17 keep_vref_on=1 swap_xy=0 pressure_max=255 x_plate_ohms=60 x_min=200 x_max=3900 y_min=200 y_max=3900
Pour le moment impossible de charger ce driver, car il n'est plus inclus dans le kernel mais utilise les overlay
Charger les drivers au démarrage
sudo nano /etc/modules
Ajouter les 2 lignes suivantes
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 fbtft_device debug=3 rotate=90 name=flexfb speed=16000000 gpios=reset:25,dc:24
Au démarrage les modules ne sont pas chargés, voilà un test à effectuer après reboot :
- Voir qu'elles modules sont chargés
pi@looper ~ $ lsmod Module Size Used by cfg80211 417277 0 rfkill 16655 1 cfg80211 evdev 10296 1 spi_bcm2708 7670 0 uio_pdrv_genirq 2958 0 uio 8215 1 uio_pdrv_genirq i2c_dev 6059 0 i2c_bcm2708 5006 0 snd_bcm2835 19761 0 snd_pcm 74449 1 snd_bcm2835 snd_timer 18197 1 snd_pcm snd 51646 3 snd_bcm2835,snd_timer,snd_pcm fuse 82197 1 ipv6 335227 30
- Connaitre les erreurs pendant le chargement
pi@looper ~ $ systemctl status systemd-modules-load.service ● systemd-modules-load.service - Load Kernel Modules Loaded: loaded (/lib/systemd/system/systemd-modules-load.service; static) Active: failed (Result: exit-code) since mar. 2016-01-19 09:55:11 CET; 7min ago Docs: man:systemd-modules-load.service(8) man:modules-load.d(5) Process: 822 ExecStart=/lib/systemd/systemd-modules-load (code=exited, status=1/FAILURE) Main PID: 822 (code=exited, status=1/FAILURE)
- Connaitre qu'elles modules sont en défauts (reprendre le PID donner à la commande du dessus)
pi@looper ~ $ sudo journalctl -b _PID=822 -- Logs begin at lun. 2016-01-18 20:54:14 CET, end at mar. 2016-01-19 10:04:02 CET. -- janv. 19 09:55:11 looper systemd-modules-load[822]: Failed to find module 'flexfb width=320 height=480 regwidth=16 init=-1,0xb0,0x0,-1,0x11 janv. 19 09:55:11 looper systemd-modules-load[822]: Failed to find module 'fbtft_device debug=3 rotate=90 name=flexfb speed=16000000 gpios=res janv. 19 09:55:11 looper systemd-modules-load[822]: Failed to find module 'ads7846_device model=7846 cs=1 gpio_pendown=17 speed=1000000 keep_ lines 1-4/4 (END)
- Connaitre les kernel installés
ls /lib/modules
- Connaitre la version du kernel utilisé
cat /proc/version
Integrer le shell sur l'écran
sudo nano /boot/cmdline.txt
puis ajouter en fin de ligne :
fbcon=map:10 fbcon=font:ProFont6x11 logo.nologo
Intégrer le bureau sur l'écran
sudo nano /usr/share/X11/xorg.conf.d/99-fbturbo.conf
remplacer /dev/fb0 par /dev/fb1
Reconnaissance de l'écran au démarrage
sudo nano /boot/config.txt
Ajouter la ligne suivante
dtoverlay=ads7846,cs=1,penirq=17,swapxy=1,xmin=200,xmax=3900,ymin=200,ymax=3900,pmax=255,xohms=60
Test
FRAMEBUFFER=/dev/fb1 startx
à voir:
- test touchscreen evtest
- dtoverlay pour lancer dtoverlay=ads7846-overlay.dtb,cs=1,penirq=17,swapxy=1,xmin=200,xmax=3900,ymin=200,ymax=3900,pmax=255,xohms=60
https://github.com/notro/fbtft/issues/260
https://github.com/raspberrypi/firmware/blob/master/boot/overlays/README
https://github.com/notro/rpi-firmware/issues/21
https://github.com/notro/fbtft/wiki/Touchpanel
Calibration de l'écran
sudo nano /usr/share/X11/xorg.conf.d/99-calibration.conf
y copier :
Section "InputClass" Identifier "calibration" MatchProduct "ADS7846 Touchscreen" Option "Calibration" "3900 240 240 3900" EndSection
reboot now to see if it worked!!!
- use caution with apt-get upgrade!
- if the bootloader get updated the drivers no longer work!!!
- update all except bootloader
$ sudo apt-get mark hold raspberrypi-bootloader $ sudo apt-get update $ sudo apt-get upgrade
- update bootloader but not kernel and modules
$ sudo SKIP_KERNEL=1 rpi-update
Sources
https://www.youtube.com/watch?v=o-6m3-QLCmk
http://raspberrypi.stackexchange.com/questions/27714/how-to-install-waveshare-spotpear-4-inch-lcd-in-raspberrypi-2
http://futurice.com/blog/id-like-to-have-some-lcd-on-my-pi
https://github.com/notro/fbtft/issues/215
http://www.circuitbasics.com/setup-lcd-touchscreen-raspberry-pi/
http://www.waveshare.com/wiki/4inch_RPi_LCD_(A)