Page 3 of 6

Re: VFD интерфейс в RTD, и все что на него можно повесить.

PostPosted: 11 Mar 2017, 08:41
by Virtual
бросай маяться с bash переползай на php :mrgreen:

команда 40 как раз очень удобна для вывода буфера на экран.
логика вывода любой информации:

1. читаем буфер из файла (/var/vfdbuff.bin)
2. правим в буфере те и только те биты что требуется
3. пишем буфер в файл
4. командой 40 заливаем весь буфер в дисплей

PS весь дисплей нать разделить на логические группы, напр:
1. цифра
2. пирог
3. led (спец символы)

для каждой группа потребуется массив описателей адресов и масок по сегментам, а управлять ими через функцию группы, напр.:
цифра[1,'a',0] (у цифры 1 потушить сегмент а)

Re: VFD интерфейс в RTD, и все что на него можно повесить.

PostPosted: 12 Mar 2017, 01:25
by _Danila_Master_
Для дисплея на модели XDS8003D и с аналогичными, предлагаю файл vfdbuff.bin набивать так:
vfdbuff.png
vfdbuff.png (5.25 KiB) Viewed 7810 times

Каждый сегмент кодируется двумя байтами (т.к. в последних двух группах значения каждого сегмента 0100x0 и 0200x0).
При внесении конкретных значений каждого сегмента по соответствующим строкам, упрощается операция сложения для окончательного вывода информации на дисплей по всей маске...
Последние два байта в каждой строке - для информативности и удобства (чтобы добить строку до 16 байт).
Всего 10 групп.
Длина файла - 160 байт
vfdbuff.rar
(709 Bytes) Downloaded 372 times


Соответственно и названия логических групп уже готовы:
SL - Special left (Левые спец.символы) - в этой группе 7 сегмент - это 8 кусок пирога.
PC - Pieces of Cake (Куски пирога) - в этой группе сегменты перепутаны местами.
D1...D7 - Diggits (Группы цифирь)
SR - Special right (Правые спец.символы) - к этой группе относятся двоеточия и два незадействованых по-умолчанию сегмента, на которые при желании вешаются светодиоды (что я благополучно и сделал).
Ну и команды управления можно сделать
SL['a',0]
PC['g',1]
D1['a',1]
...
SR['f',1]

для каждой группа потребуется массив описателей адресов и масок по сегментам, а управлять ими через функцию группы, напр.:
цифра[1,'a',0] (у цифры 1 потушить сегмент а)

Для удобства, желательно делать еще один массив - уже готовый FONT (в соответствии с возможностями используемого дисплея)
Code: Select all
0=1111110
1=0110000
...
9=1111011
...
A=1110111
...
Y=0111011

На мною используемом дисплее символы, которые можно рисовать:
Code: Select all
1234567890[-]ABbCcDdEFGHhiJLlNnOoPqRrSTtUuY

для них в группах D1...D7 можно было бы давать упрощенные команды, например
D1["1"]
D2["2"]
D3["0"]
D4["0"]
Было бы удобно использовать для вывода времени и длительности текущего видео в плеере (если до этого дело дойдет) ;)

Re: VFD интерфейс в RTD, и все что на него можно повесить.

PostPosted: 19 Mar 2017, 13:13
by Virtual
ну как то так, практически готовый модуль для дисплея.
для других типов дисплея/контроллера отличие будет только:
в размере буфера,
$segs="3"; //количество сегментов, текстом в 16ричной форме 0...F (TM1628 11 : 7 Grids , 11 Segments)
и в описателе $display (в нем массив обьектов с адресами и масками сегментов)

Re: VFD интерфейс в RTD, и все что на него можно повесить.

PostPosted: 01 Apr 2017, 11:09
by amkru
Для XDS1003DW информация актуальна? Контроллер дисплей там другой - PT6211B-LQ

Re: VFD интерфейс в RTD, и все что на него можно повесить.

PostPosted: 01 Apr 2017, 12:11
by Virtual
актуальна, система команд одинакова, просто нать подобрать размер буфера и количество сегментов, далее уж создавать массив обьектов.

Re: VFD интерфейс в RTD, и все что на него можно повесить.

PostPosted: 02 Apr 2017, 09:04
by Virtual
для лампового дисплея XDS1003D на контроллере PT6211B-LQ
"3"; //количество сегментов, текстом в 16ричной форме 0...F (TM1628 11:7 Grids,11 Segments /10:6 Grids,12 Segments)
нужно выбрать одно из
Display Mode Settings: 
0XXX: 8 digits, 20 segments
1000: 9 digits, 19 segments
1001: 10 digits, 18 segments
1010: 11 digits, 17 segments
1011: 12 digits, 16 segments
1100: 13 digits, 15 segments
1101: 14 digits, 14 segments
1110: 15 digits, 13 segments
1111: 16 digits, 12 segments

по фоткам очень похоже на
1101: 14 digits, 14 segments
$segs="D";

и размер буфера 48 байт.
$bin_buff = "\x00\x00..... 48 нулей нать....";

Re: VFD интерфейс в RTD, и все что на него можно повесить.

PostPosted: 20 Jun 2017, 18:35
by Virtual
пусть тут полежит. одна из последних версий, настроена на работу r6s дисплея.
внутри уже есть профили (той или иной полноты) для меле (вакуумный многосегментный) r6s (LCD) xds800 (LCD очень похож на r6s)
по дефолту у мну горит бублик, тикают часы, и перемигиваются точки.

PS катастрофически не хватает времени :( . кому интересно пытаем _Danila_Master_

Re: VFD интерфейс в RTD, и все что на него можно повесить.

PostPosted: 14 Jul 2017, 10:53
by imfimum
Имею неск.шт. ЕагетМ7 - двухдисковый 1073DD с vhf-дисплеем. На нём постоянно горит "LОADING" - тоже хочу сделать что бы там можно было что-нибудь отборажать.
повторил всё ваше вышеизложенное - 0-результат.. дисплей 8 13-сегментных разрядов + куча мелких значков, точек и т.п. на чипе 16311en

даташит "вроде аналога" - Nec u1631en скачал и прочитал - у него нет постоянной памяти - только RAM
и тут у меня мысль появилсь - а ведь этот "loading" на нём не сам появляется - его же туда закидывает кто-то, т.е. в системе уже всё для загрузки в этот контроллер надписей - всё есть. надо просто найти этот кусок и запользовать, а не изобретать самим знакогенераторы под каждый конкретный аппарат?
Есть у кого мысли - где можно этот кусок кода поискать?
(фоток много любых у меня -н опока сюда форум не даёт ничего ставлять)

Re: VFD интерфейс в RTD, и все что на него можно повесить.

PostPosted: 14 Jul 2017, 18:48
by Virtual
LOADING пишет ориг бут. там все просто... а вот в этой теме как раз универсальный инструмент, что зная что за контроллер и дисплей можно отписать все что угодно, но увы придется изучать даташиты на оное.

Re: VFD интерфейс в RTD, и все что на него можно повесить.

PostPosted: 15 Jul 2017, 00:20
by imfimum
да мне хоть что-нибудь вывести - всё что есть в этой теме перепробовал - никакой реакции...
(отключичить vfd - нет проблем - разъём вытыкаешь и на его место втыкаешь со сдвигом на 1 позицию разъём платы кнопки + ИК-приёмника + светодиодов - дистушка и кнопка по-прежнему работают, светики когда надо горят)
а вот это файл \lib\modules\2.6.12.6-VENUS\kernel\arch\mips\realtek-boards\drivers\venus_vfd.ko 10812 - что делает?