Автор Тема: Небольшой дисплей SPI ili9341 для orange pi zero  (Прочитано 10500 раз)

Оффлайн uriukti

Re: Небольшой дисплей SPI ili9341 для orange pi zero
« Ответ #30 : Февраль 23, 2019, 12:54:36 am »
Ну что же. Кое что произошло в сторону изменения ситуации.

Во первых пришлось скачать и установить образ -
ARMBIAN 5,69 с ядром 4.19.13 На ядре 4.19.20 - spidev упорно не появлялся. На более старом же всё успешно появилось.

После ввода комманды:
sudo modprobe fbtft_device custom name=fb_ili9341 gpios=reset:1,dc:0,led:3 speed=48000000 fps=25 rotate=90 busnum=1 bgr=1 txbuflen=65536
Сразу же появляется /dev/fb0 и вывод автоматически перенаправляется туда. И экран включается.

Обращаю внимание как у меня выглядит распайка:

gpios=reset:1,dc:0,led:3

Oна выполнена у меня так  потому, что это версия OrangePiZero с H2+. И флешки паяной на ней нет.

В /boot/armbianEnv.txt  присутствуют строки:

overlays=spi-spidev spi-add-cs1
param_spidev_spi_bus=1
param_spidev_spi_cs=1


Но. Возникла странная проблема.
Не происходит автоматическая загрузка. Ищу причины этого. Пишите, если есть предположения.
ORANGE PI PC, ORANGE PI ZERO, ORANGE PI ZERO + 2

Оффлайн uriukti

Re: Небольшой дисплей SPI ili9341 для orange pi zero
« Ответ #31 : Февраль 23, 2019, 08:51:14 am »
 Модуль загружается автоматически только через /etc/rc.local почему не хочет без этого?

/etc/modprobe.d/fbtft.conf
/etc/modules-load.d/fbtft.conf

Есть.
ORANGE PI PC, ORANGE PI ZERO, ORANGE PI ZERO + 2

Оффлайн ua3nbw

Re: Небольшой дисплей SPI ili9341 для orange pi zero
« Ответ #32 : Февраль 23, 2019, 09:02:57 am »
Модуль загружается автоматически только через /etc/rc.local почему не хочет без этого?

/etc/modprobe.d/fbtft.conf
/etc/modules-load.d/fbtft.conf

Есть.
оставляйте загрузку через через /etc/rc.local , это нормально,
или нужно писать DT оверлей, будет работать без компиляции дополнительных модулей или передачи параметров модуля modprobe. Примеры тут: https://github.com/notro/fbtft/wiki/FBTFT-RPI-overlays

Оффлайн uriukti

Re: Небольшой дисплей SPI ili9341 для orange pi zero
« Ответ #33 : Февраль 27, 2019, 02:35:07 pm »
Так и оставил пока.  8)
ORANGE PI PC, ORANGE PI ZERO, ORANGE PI ZERO + 2

Оффлайн nabiullin

Re: Небольшой дисплей SPI ili9341 для orange pi zero
« Ответ #34 : Март 30, 2019, 11:04:06 pm »
Есть вероятность что по данному рецепту на Opi Zero 2 Plus экран заведется?
Проект HQ медиаплеера и аудио процессоора:
http://nag-audio.com

Оффлайн uriukti

Re: Небольшой дисплей SPI ili9341 для orange pi zero
« Ответ #35 : Июнь 02, 2020, 12:53:19 am »
Приветствую. Возможно уже и не актуально, но сейчас я как раз работаю над этим. Точнее уже подключил ili9341 к OPI0+2. Как всё полностью проверю, то обязательно сюда напишу. Есть некоторые изменения.
ORANGE PI PC, ORANGE PI ZERO, ORANGE PI ZERO + 2

Оффлайн uriukti

Re: Небольшой дисплей SPI ili9341 для orange pi zero
« Ответ #36 : Июнь 02, 2020, 11:13:27 pm »
Привет. Теперь подключение следующей модели - Orange Pi Zero Plus 2 H3. Возможно заработает и H5.

В случае строгого повторения каждого пункта инструкции всё должно заработать.

В первую очередь есть отличия по подключению.

Теперь reset переехал на вывод гребёнки - 13 (PA0), а DC переехал на вывод гребёнки - 22 (PA2) Остальные подключаются так же как и раньше.

Соответственно в строке файла fbtft.conf для каталога /etc/modprobe.d/  есть изменения:

options modprobe fbtft_device custom name=fb_ili9341 gpios=reset:0,dc:2,led:3 speed=48000000 fps=25 rotate=90 busnum=1 bgr=1 txbuflen=65536

Файл fbtft.conf для /etc/modules-load.d/  остаётся прежним и содержит:

fbtft_device

В файле /boot/armbianEnv.txt  добавляются строки начиная от overlays=

overlays=usbhost2 usbhost3 spi-add-cs1 spi-spidev analog-codec
param_spidev_spi_bus=1
param_spidev_spi_cs=1
extraargs="fbcon=map:0"


map:0 у вас может быть цифра от 0 до 6 проверьте.

Проверить можно после загрузки. Экран должен начать светиться, но возможно при этом не отображать данных, тогда вбиваем команду:

con2fbmap 1 6

где вместо последней 6 попробуйте цифры от 0 до 6 включительно. Это зависит так же от того был ли при загрузке инициализирован вывод на HDMI или нет. Поэтому порт может быть 0, 1, 2 и т.д.

Теперь самое важное и местами не понятное для меня, но проверенное практикой.

Во первых дистрибутив. Это Armbian  с ядром 4.19.13 с другими, выше цифрой эта инструкция не работает.
Я всё делал на Bionic.

Во вторых, важный нюанс. После первого включения, именно тогда, когда система предлагает создать пользователя, она даёт ему какие-то особые полномочия, которых нет у пользователей, созданых вручную. Несколько раз я устанавливал и отменял установку пользователя, думая, что добавлю позже сам, но когда я добавлял и начинал настройку дисплея по этой инструкции, дисплей не запускался. Не начинал светить. А у пользователя, которого создаёт система  есть что-то, что даёт работоспособность этой инструкции. Надеюсь люди знающие смогут написать что же это. Но это не просто права пользователя. Кто сможет проверить и найти эти функции, пожалуйста черкните пару слов. Думаю будет полезно знать точнее.

Так вот, кто не хочет ломать голову, то обязательно дайте системе создать первого пользователя после первого включения. Тогда эта инструкция будет жизнеспособной.

Хотелось бы найти решение как подключать дисплей на этот миникомп с ядрами выше. Например 5.20.x и т.д.
« Последнее редактирование: Июнь 02, 2020, 11:15:46 pm от uriukti »
ORANGE PI PC, ORANGE PI ZERO, ORANGE PI ZERO + 2