Архив за Февраль 2003

LIRC & parallel

Решив осуществить давнюю мечту о использовании ДУ совместно
с родимым писюком было определено некоторое можно назвать ТЗ (техническое
задание):

  1. Исходя итого, что com-порты потихоньку начинают уходить в небытие
    (на новых Интеловских мамах всего один порт:() + использование модема и UPS,
    был выбран паралельный порт.
  2. Операционные системы — Linux & Windows.
  3. Железо должно быть дешевым:)

Берем схему и после ковыряния в носу приводим ее к виду:

  SFH506-36                    E| GND
   +---+            R1 4,7K    |/
   |   +-----------|====|------| T1 KT3102
   /   |            R2 300     |
   |   +--------+--|====|- +5V  |  R3 1K
      |        |               +|====|- +5
   |   +-- GND  |               |
   +---+        | +             +----->/ACK (10в. LPT)
              ===== C1 10,0x16V
	        | GND

		               +5V ---->+5V (1в. GAME)
			       GND ---->GND (20в. LPT)

 C2 820pF    R4 6,1K    R5 2,2K
   +-----+--|====|--+--|====|--+------ +5V
   |     | 2,6      | 7        | 4,8
 ===== +-------------------------+
GND|   |                         | 3
       |      1006ВИ1 (NE555)    |---->BUSY (11в. LPT)
       |                         |
       +-------------------------+
           | 1              | 5
    	   |              ===== C3 33nF
	   | GND            | GND

Фотоприемник SFH-506 может быть и другого типа, см. http://www.lirc.org.

Частота на выходе таймера в оригинальной схеме 65535 Гц, у меня окого 100кГц.

Питание подается от игрового порта, причем необходимости в разъеме нет, достаточно одного штырька.

Все это хозяйство собрано навесным:) монтажом в корпусе от телефонной
розетки, где удален разъем и вместо него выглядывает фотоприемник.

Качаем lirc-0.6.6.tar.bz2 , распаковываем и бросаем туда же configure.my.

Теперь самое главное — в драйвере производится опрос не сигнала BUSY, а SELECT и поэтому накладываем на lirc_parallel.c мой патч.

Запускаем configure.my, затем make, make install.

Можно также взять мой modules.conf.

Делаем depmod, modprobe lirc_parallel и смотрим в логи на наличие записей:

  Feb  5 14:27:10 fedor kernel: lirc_parallel: bad timer: 98454 Hz
  Feb  5 14:27:10 fedor kernel: lirc_parallel: using default timer:═65535 Hz
  Feb  5 14:27:10 fedor kernel: lirc_parallel: installed using port 0x0378 irq 7

Это говорит о том, что частоты слишко отличаются. Нужно округлить значение
bad time до сотен герц и подставить в качестве параметра для —with-time
в configure.my и пересобрать драйвер. Если все нормально

получаем записи (частота может быть другой!):

  Feb  5 14:28:52 fedor kernel: lirc_parallel: 97981 Hz timer detected
  Feb  5 14:28:52 fedor kernel: lirc_parallel: installed using port 0x0378 irq 7

Запускаем xmode2 и давим на кнопки пульта и видим диаграммы принимаемых команд.

Если все нормально — пытаемся «приручить» наш пульт с помощью команды irrecord.

У меня для SONY RM-932 в режимах VCR/DVD получился файл lircd.conf.

Для настройки на конкретное приложение, например lirc-xmms-plugin удобно использовать программку lircrc_config.

Под Виндой пока ничего внятного не получилось:( Проект WinLIRC не поддерживает lirc_parallel, в проекте

Girder есть плагин ParIR, но у меня не грузится драйвер parir.sys :(, а исходников нет.