art_image_131

5" Waveshare LCD na raspberry pi

Jeżeli chcesz uruchomić Waveshare LCD bez ich własnego obrazu — spróbuj tego. Mój ruszył na czystym raspbianie z dtoverlay i bez żadnych dziwnych hacków.

Jeżeli chcesz uruchomić Waveshare LCD bez ich własnego obrazu — spróbuj tego. Mój ruszył na czystym raspbianie z dtoverlay i bez żadnych dziwnych hacków.

Próbując odpalić ten LCD natknąłem się na masę informacji z czasów sprzed dtoverlay. Skoro to teraz standard, chciałem zrobić wszystko "po nowemu".

Wyświetlacz LCD

Najpierw, żeby LCD w ogóle pokazał obraz — pomimo że jest podpięty przez HDMI — trzeba edytować config.txt w katalogu /boot. Wpisz nano /boot/config.txt

Dodaj/zmień linie tak, żeby wyglądały tak:

# uncomment to force a specific HDMI mode (this will force VGA)
max_usb_current=1
hdmi_group=2
hdmi_mode=87
hdmi_cvt 800 480 60 6 0 0 0
hdmi_drive=1

Zapisz (Ctrl+X, Y) i zrestartuj. Powinieneś teraz widzieć konsolę. Uruchomienie X też wyświetli obraz, ale bez obsługi dotyku. Żeby ją dodać, edytujemy config.txt jeszcze raz.

Ekran dotykowy TSC2046

Wpisz nano /boot/config.txt i na końcu pliku dopisz:

dtparam=spi=on
dtoverlay=ads7846,compatible=tsc2046,speed=500000,penirq=25,swapxy=0

Zapisz i wyjdź. To załatwia sterownik kernela. Teraz musimy powiedzieć systemowi co nieco o kalibracji i bindingu wejścia dla GUI:

mkdir /etc/X11/xorg.conf.d
nano /etc/X11/xorg.conf.d/99-calibration.conf

i wklej do nano:

Section "InputClass"
    Identifier "calibration"
    MatchProduct "ADS7846 Touchscreen"
    Option "Calibration" "130 3989 364 3823"
EndSection

Zapisz i restart. To włączy piny SPI i załaduje moduł ADS7846 obsługujący chip TSC2046 w tym wyświetlaczu. Jeżeli system bootuje do GUI, powinieneś mieć działający ekran i dotyk; jeżeli do konsoli — zaloguj się i wpisz startx, sprawdź czy dotyk porusza kursorem.

Jeżeli chcesz dostroić kalibrację, zajrzyj na github notoro https://github.com/notro/fbtft/wiki/Touchpanel oraz dokumentację kernela do dtoverlay ADS7846 https://www.kernel.org/doc/Documentation/devicetree/bindings/input/ads7846.txt