Elotouch, usb и qnx

По большому счету, qnx и тачскрин – понятия вполне даже совместимые, однако, не обходится без некоторых ухищрений.

Задача: заставить работать сенсорный монитор Elotouch на встроенной системе (уже упомянутая ранее cpc108).

Стандартный драйвер тачскрина, поставляемый вместе с фотоном, devi-elo, поддерживает подключение устройств только по последовательному порту, и ни в какую не желает работать через usb. Стандартный драйвер устройств ввода, devi-hirun, зачастую работает некорректно и не желает правильно калиброваться.

Решением стало использование универсального драйвера устройств ввода – devi-hid.
В отличие от devi-hirun, он не имеет никакого представления о реальных устройствах или физических интерфейсах – devi-hid лежит поверх сервера io-hid и лишь превращает получаемую от сервера информацию в события Photon и передает эти события непосредственно в фотон.

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

Таким образом, до работающего сенсорного монитора нужно сделать 4 шага:

  • Запуск usb-сервера и монтирование устройства.
  • Запуск io-hid сервера с необходимыми библиотеками.
  • Запуск драйвера devi-hid.
  • Калибровка экрана.

USB-сервер

Преверяем, что все кабеля подключены, включаем систему и запускаем usb:

# io-usb

Монтируем библиотеки:

# mount -T io-usb /lib/dll/devu-ehci.so /dev/io-usb/io-usb
# mount -T io-usb /lib/dll/devu-ohci.so /dev/io-usb/io-usb
# mount -T io-usb /lib/dll/devu-uhci.so /dev/io-usb/io-usb

Удостоверяемся, что система видит наш монитор:

# usb

В списке выведенных устройств должно быть некое упоминание сенсорного устройства…

io-hid сервер

Прежде чем производить какие-то дейстия, необходимо поставить патч с последней версией сервера — QNX® Momentics® Development Suite 6.3.0 Service Pack 3 Touchscreen Driver Patch [Patch ID 872]. Взять его можно с официального сайта qnx или у нас.
Распаковываем патч и перезагружаем систему. Запускаем сервер и прилинковываем к нему необходимые библиотеки:

# io-hid
# mount -T io-hid /lib/dll/devh-usb.so /dev/io-hid/io-hid
# mount -T io-hid /lib/dll/devh-touchintl.so /dev/io-hid/io-hid

Дальше остается лишь запустить Photon и драйвер devi-hid:

# /usr/photon/bin/devi-hid touch

При необходимости, калибруем экран командой:

# calib

Продолжение следует…

Похожий бред:

Elotouch, usb и qnx: 1 комментарий

  1. Да, да хорошая статья! А еще в гамнакоденг кб завелась система кантроля версий! Самый свэжий)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Protected by WP Anti Spam