iMON VFD по-русски
Научил iMON-овский VFD кириллице!

Оказалось, все необходимые символы (увы, только верхний регистр) в знакогенераторе есть. Псеводкириллица образуется сочетанием чисто кириллических знаков (БГДЖЗИЙЛПУФЦЧШЩЪЫЭЮЯ) и аналогичных по начертанию латинских (ABEKMHOHCTXb). Осталось теперь научить LCDProc и/или прикладной софт трансляции на лету.
Если кому интересно, вот таблица десятичных кодов кириллических символов дисплея iMON VFD:
Б - 128
Г - 146
Д - 129
Ё - 203
Ж - 130
З - 131
И - 132
Й - 133
Л - 134
П - 135
У - 136
Ф - 216
Ц - 137
Ч - 138
Ш - 139
Щ - 140
Ъ - 141
Ы - 142
Э - 143
Ю - 172
Я - 173
Ещё там есть туча диакритики, греческий алфавит, нотки-скобочки, © и ®
Оказалось, все необходимые символы (увы, только верхний регистр) в знакогенераторе есть. Псеводкириллица образуется сочетанием чисто кириллических знаков (БГДЖЗИЙЛПУФЦЧШЩЪЫЭЮЯ) и аналогичных по начертанию латинских (ABEKMHOHCTXb). Осталось теперь научить LCDProc и/или прикладной софт трансляции на лету.
Если кому интересно, вот таблица десятичных кодов кириллических символов дисплея iMON VFD:
Б - 128
Г - 146
Д - 129
Ё - 203
Ж - 130
З - 131
И - 132
Й - 133
Л - 134
П - 135
У - 136
Ф - 216
Ц - 137
Ч - 138
Ш - 139
Щ - 140
Ъ - 141
Ы - 142
Э - 143
Ю - 172
Я - 173
Ещё там есть туча диакритики, греческий алфавит, нотки-скобочки, © и ®
no subject
будет писать название трека?
no subject
воооот!
я практически уверен, что данный вопрос уже решён
Re: воооот!
На уровне виндового аппликейшена - угу (плагин к MediaPortal-у). Системно - нет. Я вот думаю, куда это дело вставить в Linux-е. Правильнее всего - в LCDProc, но возникает проблема с выявлением локали приложения. Проще всего - непосредственно в приблуду (например, во Freevo - 5 минут работы), но это некузяво ;)
Re: воооот!
Осталось разработать системное решение для медиацентра.
Re: воооот!
сразу видно профессионала :)
Re: воооот!
no subject
Во всех программах дисплей работает, НО везде вместо русских букв - ?????, что не радует.
В инете крайне мало информации на эту тему. Нашел решение только под VDR, но мене это не подходит. У Вас тоже непонятно где и что ковырять. Не могли бы поподробней?
no subject
Сама кодировка приведена в этом посте.
Далее был написан патчик к LCDproc, позволяющий переводить русский кусок UТF-8 в это безобразие. По-хорошему, нужно было ещё заставить оболочку mythbuntu писать русский текст на LCD в UTF-8, но до этого руки не дошли.
Патч берётся здесь: https://sourceforge.net/projects/imon-vfd-cyr/files/
no subject
no subject
Попробуйте проверить корректность кодовой таблицы следующим образом:
#!/usr/bin/python # -*- coding: utf-8 -*- from freevo import pylcd myline=u'< И каждый вечер, в час назначенный (иль это только снится мне?) девичий стан, шелками схваченный, в квадратном движется окне > < спокойно ночи, всё будет хорошо >' def lcd_write(strix): x=pylcd.client() x.connect() x.screen_add('s1') print x.widget_add('s1','w1','scroller') x.widget_set('s1','w1', u'1 2 16 2 m 2 "%s"' % strix) raw_input() lcd_write(myline)no subject
#!/usr/bin/python # -*- coding: utf-8 -*- from freevo import pylcd myline=u'< И каждый вечер, в час назначенный (иль это только снится мне?) девичий стан, шелками схваченный, в квадратном движется окне > < спокойно ночи, всё будет хорошо >' maptab={ u'А':'A', u'Б':chr(128), u'В':'B', u'Г':chr(146), u'Д':chr(129), u'Е':'E', u'Ё':chr(203), u'Ж':chr(130), u'З':chr(131), u'И':chr(132), u'Й':chr(133), u'К':'K', u'Л':chr(134), u'М':'M', u'Н':'H', u'О':'O', u'П':chr(135), u'Р':'P', u'С':'C', u'Т':'T', u'У':chr(136), u'Ф':chr(216), u'Х':'X', u'Ц':chr(137), u'Ч':chr(138), u'Ш':chr(139), u'Щ':chr(140), u'Ь':'b', u'Ы':chr(142), u'Ъ':chr(141), u'Э':chr(143), u'Ю':chr(172), u'Я':chr(173), u'а':'A', u'б':chr(128), u'в':'B', u'г':chr(146), u'д':chr(129), u'е':'E', u'ё':chr(203), u'ж':chr(130), u'з':chr(131), u'и':chr(132), u'й':chr(133), u'к':'K', u'л':chr(134), u'м':'M', u'н':'H', u'о':'O', u'п':chr(135), u'р':'P', u'с':'C', u'т':'T', u'у':chr(136), u'ф':chr(216), u'х':'X', u'ц':chr(137), u'ч':chr(138), u'ш':chr(139), u'щ':chr(140), u'ь':'b', u'ы':chr(142), u'ъ':chr(141), u'э':chr(143), u'ю':chr(172), u'я':chr(173)} def lcd_write(strix): x=pylcd.client() x.connect() x.screen_add('s1') print x.widget_add('s1','w1','scroller') striz="" for i in strix: try: striz += maptab[i] except: striz += str(i) x.widget_set('s1','w1', '1 1 "%s"' % str(striz)) raw_input() lcd_write(myline)no subject
no subject
Вот что выдает консоль на скрипты:
------------
htpc@htpc-desktop1:~/tmp/0$ python 1.py
success
self.conn.write(widget_set s1 w1 1 2 16 2 m 2 "< И каждый вечер, в час назначенный (иль это только снится мне?) девичий стан, шелками схваченный, в квадратном движется окне > < спокойно ночи, всё будет хорошо >"+'
') failed
------------------
И висит пока enter не нажмешь. На дисплее в промежутке между ..LCDd server... и датой временно появляется окошко с мигающим сердечком.
Второй скрипт, походу, вообще не отрабатывает.
--------------------
htpc@htpc-desktop1:~/tmp/0$ python 2.py
success
--------------------
Остальное также как и на 1 скрипте.
Я, кстати, писал на sourceforge.net, что у меня при выгруженном LCDd на команды типа (echo $'/128/..' >/dev/lcd0) выводятся символы не соответствующие Вашей таблице из заметки. Например Б у вас 128, у меня 200.
Может в этом причина?
no subject
----------
htpc@htpc-desktop1:~/tmp/0$ python 1.py
success
self.conn.write(widget_set s1 w1 1 2 16 2 m 2 "< И каждый вечер, в час назначенный (иль это только снится мне?) девичий стан, шелками схваченный, в квадратном движется окне > < спокойно ночи, всё будет хорошо >"+'
') failed
^CTraceback (most recent call last):
File "1.py", line 17, in
lcd_write(myline)
File "1.py", line 15, in lcd_write
raw_input()
KeyboardInterrupt
-----------------------
htpc@htpc-desktop1:~/tmp/0$ python 2.py
success
^CTraceback (most recent call last):
File "2.py", line 90, in
lcd_write(myline)
File "2.py", line 88, in lcd_write
raw_input()
KeyboardInterrupt
no subject