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

Оффлайн AlDemin

  • Житель
  • ****
  • Сообщений: 498
  • Лайков: 163
  • Карма: +25/-1
  • OPi, OPi+, OPiOne, OPiZero, OPiPC2, BPi, RPiB.
    • Просмотр профиля
Re: Небольшой дисплей SPI ili9341 для orange pi zero
« Ответ #15 : Апрель 25, 2017, 09:34:51 pm »
Понял, чтоб нормально заработало, как написано в ридми, перекинь эти два "получившихся" файла psf2txt и txt2psf к примеру в /usr/local/bin
или находясь в этом каталоге команды пиши так:
./psf2txt default8x9.psfu fontfile.txt

UPD: через setfont у меня тоже все нормально получилось, а вот приживить шрифт к console-setup, чтоб его systemd нормально подгружал при старте системы, пока не получилось.

UPD2: А вот разобранный 5х8
« Последнее редактирование: Апрель 25, 2017, 09:45:48 pm от AlDemin »

Оффлайн uriukti

Re: Небольшой дисплей SPI ili9341 для orange pi zero
« Ответ #16 : Апрель 25, 2017, 10:03:47 pm »
Вот спасибо! Сегодня буду пробовать.

Да. Я тоже хочу сделать через console-setup, так как это считаю правильным. Есть хорошая инструкция для archlinux, но у нас нет этих файлов. - /etc/vconsole.conf

Вот ссылка:
https://wiki.archlinux.org/index.php/Fonts_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)
ORANGE PI PC, ORANGE PI ZERO, ORANGE PI ZERO + 2

Оффлайн uriukti

Re: Небольшой дисплей SPI ili9341 для orange pi zero
« Ответ #17 : Апрель 26, 2017, 03:15:36 pm »
Киррилический шрифт 5x10 psfu создал. Все 512 символов. Корректно работает после setfont как латиница, так и кириллица. Размер устроил чёрт побери. )  Теперь знаю как создать 4x8, но это будет совсем мелко. И я думаю оставлю таки 5x10. MC в экране 320x240 в нижней строке открыл 9 пунктов меню из 10. Причешу маленько шрифт и выложу здесь чуть позже.

Теперь осталось понять как прописать этот шрифт в console-setup.
ORANGE PI PC, ORANGE PI ZERO, ORANGE PI ZERO + 2

Оффлайн uriukti

Re: Небольшой дисплей SPI ili9341 для orange pi zero
« Ответ #18 : Апрель 26, 2017, 11:35:22 pm »
Обещаный консольный шрифт с кириллицей. Мог что-то и не отшлифовать хорошо, но далее это уже ваша работа.
ORANGE PI PC, ORANGE PI ZERO, ORANGE PI ZERO + 2

Оффлайн uriukti

Re: Небольшой дисплей SPI ili9341 для orange pi zero
« Ответ #19 : Апрель 27, 2017, 10:12:37 am »
Решил проблему с установкой шрифта.

Я не знаю насколько это верное решение.
Внутри файла /etc/default/console-setup в конце было сказано в комменте, что вписав тут фразу
FONT=свойшрифт.psf
мы установим этот шрифт. Сказано сделано.
Вписал свой шрифт, настройки предидущего шрифта закомментировал. После перезагрузки шрифт включился для всех консолей.
Шрифт предварительно должен лежать в /usr/share/consolefonts

P.S. В принципе я уже могу неплохо использовать эту систему с этим дисплеем. Но всё же, если у кого-то возникнет более элегантное решение, просьба, не поленитесь, черкните здесь. Это всё фонд мира и поможет многим. Так же, вопрос с разрешением дисплея в системе остаётся открытым.

P.P.S. AlDemin спасибо. Всё было сделано совместно. Пиши если найдутся какие-то решения.
« Последнее редактирование: Апрель 27, 2017, 12:42:45 pm от uriukti »
ORANGE PI PC, ORANGE PI ZERO, ORANGE PI ZERO + 2

Оффлайн AlDemin

  • Житель
  • ****
  • Сообщений: 498
  • Лайков: 163
  • Карма: +25/-1
  • OPi, OPi+, OPiOne, OPiZero, OPiPC2, BPi, RPiB.
    • Просмотр профиля
Re: Небольшой дисплей SPI ili9341 для orange pi zero
« Ответ #20 : Май 01, 2017, 09:06:36 pm »
Мой дисплей прошёл таможню, скоро будет, жду.

Оффлайн AlDemin

  • Житель
  • ****
  • Сообщений: 498
  • Лайков: 163
  • Карма: +25/-1
  • OPi, OPi+, OPiOne, OPiZero, OPiPC2, BPi, RPiB.
    • Просмотр профиля
Re: Небольшой дисплей SPI ili9341 для orange pi zero
« Ответ #21 : Июнь 11, 2017, 09:56:35 pm »
Пришел и мне дисплей, со второго раза...
Подключил, у меня вывод LED идет на светодиоды подсветки через резистор 3,9 Ом, поэтому если подключить его к порту GPIO то экран светиться еле еле, подключил его пока к 1-му пину - 3.3V, если на 5V - лишнего, греются сильно и светодиоды и резистор. Надо свой стабилизатор тока прикрутить миллиампер на 100 с управлением через GPIO а то светиться постоянно.
добавил в /etc/modules строку:
fbtft_device
в /etc/modprobe.d/fbtft.conf пробовал по разному:
options fbtft_device name=adafruit22a rotate=90 speed=16000000 fps=25 gpios=reset:1,led:3,dc:0 bgr=1
options fbtft_device name=adafruit22a rotate=90 speed=48000000 fps=50 gpios=reset:1,led:3,dc:0 bgr=1
options fbtft_device custom name=fb_ili9341 rotate=90 speed=16000000 fps=25 gpios=reset:1,led:3,dc:0 bgr=1
работает.
Выводил картинку:
fbi -d /dev/fb8 -T 1 -noverbose -a 320x240.jpg - отображается корректно.
попробовал Ваш шрифт - тоже работает, но я терминус 8х16 еле еле с лупой смотрю, возраст уже...
в script.bin выключил "интегрированное" :-) видео:
[disp_init]
disp_init_enable = 0

[hdmi_para]
hdmi_used = 0

[tv_para]
tv_used = 0

[tvout_para]
tvout_used = 0

После перезагрузки остается только один /dev/fb0 который и отображается на дисплее.
В armbianEnv.txt можно ничего не добавлять.
Даже Х-ы запускаются.
Правда зависает иногда, возможно провода через макетку слишком длинные.
« Последнее редактирование: Июнь 11, 2017, 11:03:42 pm от AlDemin »

Оффлайн uriukti

Re: Небольшой дисплей SPI ili9341 для orange pi zero
« Ответ #22 : Февраль 19, 2019, 09:21:20 am »
Доброго настроения. А вот пришлось и продолжить...
Ситуация такая...старая система полетела с картой памяти. И думаю. Возможно ли этот же дисплей с этим же подключением, не перепаивая выводов запустить на актуальном, свежем дистрибутиве? Поможете коллега? Советами. С первого подхода ничего не вышло. Вообще. Не пойму как настроить это всё в новом 5.75 armbian, c ядром 4.19. Можно было бы и старую систему провереными способами. Но. Неужели в новой это не возможно? В старой же всё корректно работало.
ORANGE PI PC, ORANGE PI ZERO, ORANGE PI ZERO + 2

Оффлайн AlDemin

  • Житель
  • ****
  • Сообщений: 498
  • Лайков: 163
  • Карма: +25/-1
  • OPi, OPi+, OPiOne, OPiZero, OPiPC2, BPi, RPiB.
    • Просмотр профиля
Re: Небольшой дисплей SPI ili9341 для orange pi zero
« Ответ #23 : Февраль 19, 2019, 11:35:00 am »
Привет, сейчас со свободным "временем для экспериментов" совсем плохо, но на днях могу поковыряться.

Оффлайн uriukti

Re: Небольшой дисплей SPI ili9341 для orange pi zero
« Ответ #24 : Февраль 19, 2019, 12:07:30 pm »
Да.  Было бы здорово разобраться.  8)
ORANGE PI PC, ORANGE PI ZERO, ORANGE PI ZERO + 2

Оффлайн uriukti

Re: Небольшой дисплей SPI ili9341 для orange pi zero
« Ответ #25 : Февраль 20, 2019, 12:05:12 am »
 Сегодня проверено. На ARMBIAN 5.59 testing Ubuntu 16.04.5 LTS 3.4.113-sun8i прежняя инструкция для подключения ili9341 работает.

Я так понимаю она работает именно с этим ядром.

Теперь бы понять как включается в ядре 4.19.х
« Последнее редактирование: Февраль 20, 2019, 12:06:44 am от uriukti »
ORANGE PI PC, ORANGE PI ZERO, ORANGE PI ZERO + 2

Оффлайн ua3nbw

Re: Небольшой дисплей SPI ili9341 для orange pi zero
« Ответ #26 : Февраль 20, 2019, 09:05:39 am »
Теперь бы понять как включается в ядре 4.19.х
А, по этим гайдам пробовали подключить? на Mainline Kernel экран на ILI9341 с тачем должен работать.

https://forum.armbian.com/topic/4837-guide-how-to-use-touchscreen-lcd-on-h3-devices/?do=findComment&comment=36669
https://4pda.ru/forum/index.php?showtopic=782242&view=findpost&p=68857104

Оффлайн uriukti

Re: Небольшой дисплей SPI ili9341 для orange pi zero
« Ответ #27 : Февраль 20, 2019, 10:25:01 am »
По моему пробовал. Но. Там на 4pda говорится про распаяную флэшку. А этот момент я почему-то упустил. Спасибо. Сегодня буду пробовать ещё.

Кстати. Обновил систему на ядре 3.4.113 до версии 5.73.
Дисплей продолжает корректно работать и в этой версии.
ORANGE PI PC, ORANGE PI ZERO, ORANGE PI ZERO + 2

Оффлайн uriukti

Re: Небольшой дисплей SPI ili9341 для orange pi zero
« Ответ #28 : Февраль 21, 2019, 11:21:58 am »
 Ядро 4.19.20-sunxi armbian Ubuntu 16.04.5-LTS

Разобраться пока не выходит.
При попытке загрузить модуль ядра:
sudo modprobe fbtft_device custom name=fb_ili9341 gpios=reset:1,dc:0,led:3 rotate=270 fps=25 speed=48000000 busnum=1 bgr=1 txbuflen=65536
получаю ошибку:
modprobe: ERROR: could not insert 'fbtft_device': Invalid argument
И аргумент этот - speed. Без него или если вместо = ставишь что-то другое загрузка происходит. Но конечно это не правильно. Хоть при lsmod видно загруженные модули fbtft_device и fb_ili9341, но /dev/fbx не появляется и дальнейшее перенаправление вывода производить некуда.

Что думаете?
ORANGE PI PC, ORANGE PI ZERO, ORANGE PI ZERO + 2

Оффлайн ua3nbw

Re: Небольшой дисплей SPI ili9341 для orange pi zero
« Ответ #29 : Февраль 22, 2019, 09:42:42 am »
прописывайте в /boot/armbianEnv.txt

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


reboot

ls /dev/spi*
root@orangepipc:~# ls /dev/spi*
/dev/spidev1.1
modprobe fbtft_device custom name=fb_ili9341 gpios=reset:2,dc:18,led:3 speed=48000000 fps=25 rotate=90 busnum=1 bgr=1 txbuflen=65536

ls /dev/fb*
root@orangepipc:~# ls /dev/fb*
/dev/fb0  /dev/fb1  /dev/fb2

 dmesg | grep fb2
[  158.707869] graphics fb2: fb_ili9341 frame buffer, 320x240, 150 KiB video memory, 64 KiB buffer memory, fps=25, spi1.0 at 48 MHz


« Последнее редактирование: Февраль 22, 2019, 09:52:20 am от ua3nbw »