Vladimir "Dair" Lebedev-Schmidthof (dair_spb) wrote,
Vladimir "Dair" Lebedev-Schmidthof
dair_spb

Category:

Alpha 4120c LED Display — разведка боем

Не написать не могу.
Внутри много технического, нормальным людям читать не интересно.


В наличии есть где-то нарытая "бегущая строка", она же LED Display американского производителя Alpha-American под названием Alpha 4120c.

Девайс в России обзавёлся штатным блоком питания на 220V и кириллической кодовой таблицей в микросхеме.

К девайсу производитель предлагает мануал по протоколу, который этот девайс понимает.

Мануал был изучен до страницы примерно так 20, со спонтанными переходами в приложения.

По оному мануалу из разъёмов RJ-12, DB-9 и метра витой пары (задействовано реально три провода — RX, TX и GND) Динальфом был спаян соединительный шнурок.

Для взаимодействия через этот шнурок у прекрасной Дины был одолжен ноутбук античной модели ThinkPad 600 (1998 г.в.). Вчера за минут полчаса, в предверии долгой работы с COM-портом, на ноут был успешно поставлен Linux Debian упрощённой версии (в ноуте PentiumII 300MHZ и 128Mb RAM) LXDE. Новая рабочая станция в честь хозяйки назвалась diina (два i чтобы их друг от друга отличать)

При помощи флэшки и могучего разума на diina поднято WiFi-соединение через внешний USB-Wifi dongle подели D-Link DWA-125.

Поиск в Google показал страницу NAS-Central Buffalo, где люди пытались дружить (видимо, успешно) с похожим девайсом тем же способом.

Девайс на способ отреагировал странно.
Сначала было слово. И слово было "Юсь". Мы с Динальфом отреагировали нервным смехом.

Дальше я пытался играться с перловым скриптом и прочим, девайс реагировал совсем не близко к документации.
Потыкавшись с этим скриптом, я понял, что:
 — Латиницу из строки выбросили, она теперь показывает только русские буквы.
 — Девайс мануал по протоколу не читал, а если и читал, то забыл больше половины:
Попытка скормить девайсу пакет в описанном в мануале формате к успеху не приводил.
Пакет, по мануалу, должен выглядеть так:
{ 0, 0, 0, 0, 0, 1, type_code_byte, address_word, 2, command_code, data-field..., 4 }
Где type_code_byte — тип устройства ('Z' для любых, 'a' для этого конкретного), address-word — я так понял, что используется в случае объединения нескольких строк в сеть, '00' — всем устройствам; command-code — собственно, управляющая команда (показать текст, вернуть показываемый текст, показать графику, изменить время в девайсе и т.п.); data-field зависит от команды и описан отдельно.

Например, команда установки текста по мануалу должна выглядеть так:
{ 0, 0, 0, 0, 0, 1, type_code_byte, address_word, 2, 'A', register-byte, 0x1B, line_pos_byte, mode_code_byte, [optional_specifier_byte, ] text..., 4 }
Тут новые поля: register-byte — девайс хранит несколько текстов, показывая их по очереди. Собственно, какой хоти задать. Это ASCII-символ, по мануалу, от 0x20 до 0x7F; line_pos_byte — где позиционировать строчку — сверху, снизу, посредине; mod_code_byte — как показывать текст — бежать слева направо, стоять посередине, моргать, смещаться вверх или вниз и прочее.

На деле девайсом команда воспринималась так:
{ 0, 0, 0, 0, 0, 1, register-byte, text..., 4 }
Т.е., команда всегда устанавливает показываемый текст, где register-byte — регистр (их там много, я нашёл 26, по кол-ву заглавных букв), текст - собственно, сам текст сообщения; 4 - символ конца пакета.

 — Русские буквы она понимает в кодировке KOI8-R без старшего бита, т.е., ЯВЕРТЫ.
 — То, что идёт седьмым байтом пакета она ВСЕГДА воспринимает как регистр для установки текста. Других команд обнаружить не удалось.
 — Настроить COM-порт удалось только на 2400/1/8/None/1/None, хотя мануал предлагает и 2400/1/7/Even/2/None, это, наверно, наш шнурок больше не позволяет. Надо ещё попробовать поиграться с настройками.

КДПВ:

Посмотрим ещё.
Tags: computer, hardware, rpg, software development
Subscribe

  • Как бы так...

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

  • node.js, typescript, Visual Studio Code

    А нету ли у меня знакомых, умеющих в node.js и отладку command-lineового TypeScript в Visual Studio Code? Visual Studio Code не обязательно. У меня…

  • починить крышу гаража

    Специалист какого профиля (читай: что гуглить) мне нужен чтобы починить рубероидную крышу бетонного гаража? Нет ли у вас таких знакомых специалистов?

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 3 comments