-
1. Data: 2021-11-24 17:07:12
Temat: Obsługa wyświetlacza SPI TFT (ILI9341) w nowym Raspbianie
Od: Atlantis <m...@w...pl>
Powróciłem ostatnio do starego projektu na Raspberry Pi Zero, który od
dłuższego czasu leżał w szufladzie. Po odpaleniu i zalogowaniu przez SSH
stwierdziłem, że zainstalowany jest na nim przestarzały Raspbian Jessie.
Podniosłem go więc najpierw do Stretcha, a potem Bustera.
Niestety okazało się, że ta druga aktualizacja zepsuła działanie małego
wyświetlacza LCD na SPI, który był obsługiwany za pomocą modułu jądra
fbtft_device, identyfikował się w systemie jako /dev/fb1 i można było na
nim uruchomić programy systemu okienkowego X.
Konfiguracja wyświetlacza była zawarta w pliku /etc/modprobe/fbtft.conf
options fbtft_device custom name=fb_ili9341 rotate=90 speed=16000000
fps=50 bgr=1 buswidth=8 cs=1 gpios=reset:23,dc:24,led:25
Niestety, próba wywołanie sudo modprobe z tymi parametrami powoduje
wywalenie komunikatu:
modprobe: FATAL: Module fbtft_device not found in directory
/lib/modules/5.10.63+
Wygląda więc na to, że ten moduł jądra nie jest kompatybilny z kernelem
5/4 i został usunięty.
Ktoś może orientuje się w jaki sposób obecnie należy korzystać z tych
wyświetlaczy? Google zwraca głównie nieaktualne opisu tej już
nieaktualnej metody, a także tutoriale do obsługi wyświetlaczy
bezpośrednio, z poziomu Pythona.
Zależy mi szczególnie na tym, żeby w konfiguracji dało się wybrać te
same piny, z których korzystałem oryginalne - urządzenie ma już
zaprojektowaną płytkę i np. drugi pin CE interfejsu SPI jest używany
przez inne urządzenie.
-
2. Data: 2021-11-24 21:14:29
Temat: Re: Obsługa wyświetlacza SPI TFT (ILI9341) w nowym Raspbianie
Od: heby <h...@p...onet.pl>
On 24/11/2021 17:07, Atlantis wrote:
> modprobe: FATAL: Module fbtft_device not found in directory
> /lib/modules/5.10.63+
> Wygląda więc na to, że ten moduł jądra nie jest kompatybilny z kernelem
> 5/4 i został usunięty.
Albo go nie zainstalowałes, to nie jest raczej część kernela, tylko
osobny dodatek.
Instalacja od zera nie działa?
https://learn.watterott.com/hats/rpi-display/fbtft-i
nstall/
Internety twierdzą, że można aktualizować system, ale trzeba zatrzymać
aktualizacje kernela.
https://github.com/notro/fbtft/issues/10
PS. Nie mam go, wiec mogę pomóc tylko w ciemno.
-
3. Data: 2021-11-25 00:16:00
Temat: Re: Obsługa wyświetlacza SPI TFT (ILI9341) w nowym Raspbianie
Od: Atlantis <m...@w...pl>
On 24.11.2021 21:14, heby wrote:
> Instalacja od zera nie działa?
>
> https://learn.watterott.com/hats/rpi-display/fbtft-i
nstall/
Po wykonaniu tego skryptu instalacyjnego w /dev pojawia się plik fb1. W
/boot/config.txt pojawia się linia zaczynająca się od dtoverlay=rpi-display.
Nie mam jednak obrazu na ekranie. Dodatkowo przestaje działać DAC, który
pracuje na tym samym interfejsie SPI, ale korzysta z pinu CE0. Być może
więc chodzi tylko o konflikty ze sterownikiem ekranu, który domyślnie
chce operować tym samym pinem, podczas gdy u mnie jest to CE1.
Nigdzie nie mogę doszukać się informacji o tym, jak ten pin zamienić w
konfiguracji.
Gdy zakomentuję dtoverlay=rpi-display, DAC zaczyna działać po resecie.
> Internety twierdzą, że można aktualizować system, ale trzeba zatrzymać
> aktualizacje kernela.
>
> https://github.com/notro/fbtft/issues/10
Temat z 2013 roku, czy na długo zanim w ogóle powstało to urządzenie
(okolica roku 2016). Więc raczej tutaj mowa o znacznie starszym kernelu
i znacznie wcześniejszej aktualizacji, która zepsuła działanie
wyświetlacz u mnie.
-
4. Data: 2021-11-25 19:57:07
Temat: Re: Obsługa wyświetlacza SPI TFT (ILI9341) w nowym Raspbianie
Od: heby <h...@p...onet.pl>
On 25/11/2021 00:16, Atlantis wrote:
>> Internety twierdzą, że można aktualizować system, ale trzeba zatrzymać
>> aktualizacje kernela.
>> https://github.com/notro/fbtft/issues/10
> Temat z 2013 roku, czy na długo zanim w ogóle powstało to urządzenie
> (okolica roku 2016). Więc raczej tutaj mowa o znacznie starszym kernelu
> i znacznie wcześniejszej aktualizacji, która zepsuła działanie
> wyświetlacz u mnie.
Chodzi o to, że masz możliwość zatrzymania aktualizacji kernela. Skoro
chodziło Ci na starym, to zainstaluj stary OS, zatrzymają aktualizaję
kernela i zrób update.
-
5. Data: 2021-11-26 21:01:00
Temat: Re: Obsługa wyświetlacza SPI TFT (ILI9341) w nowym Raspbianie
Od: Atlantis <m...@w...pl>
On 25.11.2021 19:57, heby wrote:
> Chodzi o to, że masz możliwość zatrzymania aktualizacji kernela. Skoro
> chodziło Ci na starym, to zainstaluj stary OS, zatrzymają aktualizaję
> kernela i zrób update.
Myślałem o tym, ale w miarę możliwości chciałbym zachować w pełni
współczesny system.
Generalnie i tak prawdopodobnie będę chciał w tym projekcie zastosować
inny wyświetlacz. Pierwotny zamysł zakładał, że wszystko będzie się
mieściło na jednej "płycie głównej", w którą będzie wetknięty zarówno
wyświetlacz, jak i RasPi0. Obudowa miała być drukowana w 3D albo
wycinana laserem ze sklejki.
Teraz zmieniłem koncepcję i całość trafi do metalowej obudowy, więc
wyświetlacz umieszczę na przednim panelu i połączę go z płytą
przewodami. Mogę więc sobie pozwolić na nieco większy wyświetlacz.
Stąd moje kolejne pytanie:
Ktoś może wie coś na temat SPRAWDZONEGO wyświetlacza SPI TFT o
przekątnej 2,8"-3,5", który działałby ze współczesnym Raspbianem i był
wykrywany przez system jako /dev/fbx?
Warunek konieczny to możliwość skonfigurowania w sterowniku wszystkich
pinów (łącznie z CS), bo płytka jest już gotowa.
-
6. Data: 2021-11-26 21:06:36
Temat: Re: Obsługa wyświetlacza SPI TFT (ILI9341) w nowym Raspbianie
Od: heby <h...@p...onet.pl>
On 26/11/2021 21:01, Atlantis wrote:
> Ktoś może wie coś na temat SPRAWDZONEGO wyświetlacza SPI TFT o
> przekątnej 2,8"-3,5", który działałby ze współczesnym Raspbianem i był
> wykrywany przez system jako /dev/fbx?
HDMI:
MPI3508.
> Warunek konieczny to możliwość skonfigurowania w sterowniku wszystkich
> pinów (łącznie z CS), bo płytka jest już gotowa.
Nic nie trzeba konfigurowac, działa z HDMI.
-
7. Data: 2021-11-26 23:09:36
Temat: Re: Obsługa wyświetlacza SPI TFT (ILI9341) w nowym Raspbianie
Od: Atlantis <m...@w...pl>
On 26.11.2021 21:06, heby wrote:
> Nic nie trzeba konfigurowac, działa z HDMI.
Trochę strzelanie z armaty do komara. W projekcie wyświetlacz będzie
musiał pokazywać interfejs złożony ze statycznych grafik i tekstu.
W dodatku widzę jeszcze jeden problem - zaproponowany MPI3508 nie ma
otworów montażowych pozwalających na łatwe przykręcenie do przedniego
panelu. Został zaprojektowany jako nakładka nm "duże" RasPi.
-
8. Data: 2021-11-26 23:15:14
Temat: Re: Obsługa wyświetlacza SPI TFT (ILI9341) w nowym Raspbianie
Od: heby <h...@p...onet.pl>
On 26/11/2021 23:09, Atlantis wrote:
>> Nic nie trzeba konfigurowac, działa z HDMI.
> Trochę strzelanie z armaty do komara.
Tylko, że rozwiązuje bardzo dużo problemów za bardzo małą cenę.
> W projekcie wyświetlacz będzie
> musiał pokazywać interfejs złożony ze statycznych grafik i tekstu.
Świetnie się sprawdzi. X-y na tym znakomicie działają.
> W dodatku widzę jeszcze jeden problem - zaproponowany MPI3508 nie ma
> otworów montażowych pozwalających na łatwe przykręcenie do przedniego
> panelu. Został zaprojektowany jako nakładka nm "duże" RasPi.
Od czego drukarki 3D. Wyświetlacz ma cztery "skrzydełka" w postaci
wyrostkó z PCB, które mają słuzyć do mocowania.
To że zaprojektowano do dużego Pi, nic nie zmienia. Sam go używałem,
przez jakis czas, jako dodatkowy wyświetlacz w laptopie. Ma nawet
dodatkowe zasilanie na microUSB, specjalnie do tego.
Zaryzykuje, że jest idealnym zastepnikiem kłopotliwych ekranów na SPI, a
mocowanie to jedyny problem.
-
9. Data: 2021-12-01 22:45:20
Temat: Re: Obsługa wyświetlacza SPI TFT (ILI9341) w nowym Raspbianie
Od: Atlantis <m...@w...pl>
Wydaje mi się, że analiza zawartości dmesg przybliżyła mnie nieco do
ujawnienia przyczyny takiego zachowania.
Kluczowe fragmenty poniżej:
[ 8.969897] spi-bcm2835 20204000.spi: chipselect 0 already in use
[ 8.973392] spi_master spi0: spi_device register error
/soc/spi@7e204000/enc28j60@0
[ 8.979635] spi_master spi0: Failed to create SPI device for
/soc/spi@7e204000/enc28j60@0
(...)
[ 15.150009] ads7846 spi0.1: supply vcc not found, using dummy regulator
[ 15.173601] ads7846 spi0.1: touchscreen, irq 160
[ 15.175904] input: ADS7846 Touchscreen as
/devices/platform/soc/20204000.spi/spi_master/spi0/s
pi0.1/input/input0
[ 15.258677] fbtft: module is from the staging directory, the quality
is unknown, you have been warned.
[ 15.298044] fb_ili9341: module is from the staging directory, the
quality is unknown, you have been warned.
[ 15.299292] fb_ili9341 spi0.0: fbtft_property_value: buswidth = 8
[ 15.299340] fb_ili9341 spi0.0: fbtft_property_value: debug = 0
[ 15.299367] fb_ili9341 spi0.0: fbtft_property_value: rotate = 270
[ 15.299396] fb_ili9341 spi0.0: fbtft_property_value: fps = 50
(...)
[ 16.381278] graphics fb1: fb_ili9341 frame buffer, 320x240, 150 KiB
video memory, 16 KiB buffer memory, fps=50, spi0.0 at 16 MHz
(...)
[ 18.704521] pinctrl-bcm2835 20200000.gpio: pin gpio18 already
requested by spi0.0; cannot claim for 20203000.i2s
[ 18.704566] pinctrl-bcm2835 20200000.gpio: pin-18 (20203000.i2s)
status -22
[ 18.704594] pinctrl-bcm2835 20200000.gpio: could not request pin 18
(gpio18) from group gpio18 on device pinctrl-bcm2835
[ 18.704613] bcm2835-i2s 20203000.i2s: Error applying setting, reverse
things back
[ 18.704673] bcm2835-i2s: probe of 20203000.i2s failed with error -22
Wygląda więc na to, że:
- dtoverlay=rpi-display (pomimo próby użycia odpowiednich parametrów)
upiera się przy użyciu pewnych zafiksowanych parametrów.
- Sterownik upiera się, żeby w roli pinu CE wyświetlacza używać CE0,
chociaż u mnie ten pin jest wykorzystywany do sterowania kontrolerem
LAN. Dochodzi do konfliktu i Ethernet się wykrzacza. Wyświetlacz
oczywiście też nie działa, bo system nie może się z nim skomunikować,
skoro ten w rzeczywistości jest na pinie CE1.
- Żeby tego było mało, sterownik próbuje jeszcze aktywować warstwę
dotykową przyjmując, że jest podłączona do pinu CE1. Dodatkowo do
obsługi tej funkcji rezerwowane są inne piny, co prowadzi do konfliktu z
I2S i wywala się DAC.
Ktoś ma pomysł jak mu powiedzieć, że z ekranem ma się komunikować przez
CE1, a funkcji ekranu dotykowego ma nie używać wcale?
-
10. Data: 2021-12-01 23:12:39
Temat: Re: Obsługa wyświetlacza SPI TFT (ILI9341) w nowym Raspbianie
Od: heby <h...@p...onet.pl>
On 01/12/2021 22:45, Atlantis wrote:
> Wygląda więc na to, że:
> - dtoverlay=rpi-display (pomimo próby użycia odpowiednich parametrów)
> upiera się przy użyciu pewnych zafiksowanych parametrów.
Masz te parametry podane w lini opcji jądra i/lub /etc/modules?
https://tlfong01.blog/2020/05/23/mgd-blog-ili9341-sc
reen-setup-notes/