Lircd

Aus M740 WikiWeb

Wechseln zu: Navigation, Suche

Dateien /etc/lircd.conf, /etc/lircd-exit.conf und /sbin/lircd


Inhaltsverzeichnis


Kurzerklärung

lircd ist ein daemon aus dem LIRC-Paket, mit dem Signale von Infrarotfernbedienungen dekodiert und an andere Prozesse weitergeleitet werden können. Auch die M740AV setzt lircd für diesen Zweck ein.

Die Datei /etc/lircd.conf

Die Datei /etc/lircd.conf enthält die lircd-Konfiguration für die Gigaset M740 AV. Die Werte in den eckigen Klammern sind nicht Bestandteil der Konfigurationsdatei, sondern geben Hinweise auf Zuordnung der mitgelieferten Fernbedienung.

# F1 = play  F2 = pause F3 = stop F4 = fastforward F5 = fastreverse
# F6 = record F7 = slow F8 = replay

begin remote
  name  wavebox.conf
  bits           8
  eps            30
  aeps          100

  one             0     0
  zero            0     0
  pre_data_bits   24
  pre_data       0x10
  gap          210000
  min_repeat      2
  toggle_bit      25


      begin codes
          1                        0x0000000000000002
          2                        0x0000000000000005
          3                        0x0000000000000006
          4                        0x0000000000000009
          5                        0x000000000000000a
          6                        0x000000000000000d
          7                        0x000000000000000e
          8                        0x0000000000000011
          9                        0x0000000000000012
          0                        0x0000000000000015
          CURSOR_LEFT              0x000000000000001d
          CURSOR_RIGHT             0x0000000000000021
          CURSOR_UP                0x0000000000000019
          CURSOR_DOWN              0x000000000000001a
          OK                       0x000000000000001e
          MENU                     0x0000000000000035
          INFO                     0x0000000000000039
          CHANNEL_UP               0x0000000000000026  # [PIP]
          CHANNEL_DOWN             0x0000000000000036  # [EPG]
          PLAY                     0x000000000000003e
          STOP                     0x000000000000003d
          FASTFORWARD              0x0000000000000041
          REWIND                   0x000000000000003a
          DELETE                   0x0000000000000032  # [Mute]
          RED                      0x0000000000000042
          GREEN                    0x0000000000000045
          YELLOW                   0x0000000000000046
          BLUE                     0x0000000000000049
          POWER                    0x0000000000000016
          TV                       0x000000000000002e  # [EXIT]
          HELP                     0x000000000000002d  # [?]
      end codes


end remote

Die Datei /etc/lircd-exit.conf

Die Datei /etc/lircd-exit.conf ist identisch mit mit /etc/lircd.conf bis auf eine Zeile:

          EXIT                     0x000000000000002e
anstatt
          TV                       0x000000000000002e

Beim Drücken der EXIT-Taste auf de Fenrbedienung wird nun nicht mehr der von der wavebox erwartete Kode 'TV', sondern 'EXIT' als Kommando gesendet. Dieses macht Sinn im Zusammenspiel mit dem Tool key-control, welches dafür sorgt, dass nur das OSD ausgeblendet wird.

Erweiterung ab Firmware 1.18.lemmi

Option --listen

Ab Firmware 1.18.lemmi-07 (2005-03-03 17:50) wurde ein neuer lircd eingebaut, der mit der Option --listen gestartet wird. Damit gibt der lircd-daemon alle Signale, die von der Fernbedienung kommen, an alle Clients weiter, die sich mittels TCP/IP am Port 8765 angemeldet haben. Zusätzlich können diese Clients Befehle der Fernbedienung simulieren. Dieses wird u.a. von den Tools (siehe WebLinks) genutzt.

Zum experimentieren eignet sich ein telnet-Client:

telnet m740av 8765

Durch die Manipulation der Tabelle lircd.conf kann man auch die Bedeutung der Tasten der Fernbedienung vertauschen oder einfach nur neu definieren. Letzteres wird z.B. für key-control verwendet.

Senden von Kommandos

Hat man eine telnet-Verbindung mit lircd aufgebaut, so kann man Kommandos senden. Die Syntax für das Senden eines einzlenen Kommandos lautet:

 'sim' key_code repeat_count command application

  Beispiele:
    sim 0 00 CURSOR_UP CridManager
    sim 1 00 MENU key-control
  • Der key_code gibt den Tastatur-Kode wieder. Dieser besteht bei Verwendung der Original-Fernbedienung aus 16 Ziffern. Gemäß der unten stehenden Konvention verwenden andere Clients nur die Werte "0" und "1".
  • Der repeat_count wird als zweistellige Hexadezimalzahl ausgegeben. Wird eine Taste dauerhaft gedrückt, dann sendet die Fernbedienung in Abstand von ca. 0.1 bis 0.2 Sekunden die selbe Nachricht nochmals. Allerdings wird der repeat_count jeweils um 1 erhöht. Der Zähler beginnt immer mit dem Wert "00".
  • Das Feld command ist der eigentliche Befehl. Die wavebox versteht nur die Befehle der obigen Tabelle. Andere Befehle können verwendet werden, damit diverse Clients miteinander kommunizieren können oder um die wavebox auszuschließen. key-control nutzt z.B. letzteres Verfahren, um die EXIT-Taste neu zu definieren.
  • Das Feld application gibt das Programm wieder, welches den Befehl gesendet hat. Hier sollten alle Programme gemäß der unten stehenden Konvention ihre eindeutige Kennung eintragen. Kommandos von der Original-Fernbedienung verwenden als Kennung 'wavebox.conf'.

Konvention

Um das sinnvolle Miteinander der diversen Tools zu ermöglichen, haben einige Mitglieder des Forums die folgende Konvention festgelegt:

  • Jede Applikation verwendet einen eindeutigen Namen oder sinnvolles Kürzel für den 4. Parameter application. Dabei sollten nur Buchstaben, Ziffern, der Unterstrich, das Minuszeichen und der Punkt verwendet werden. Damit kann in Zukunft, falls nötig, nach der Herkunft eines Kommandos unterschieden werden.
  • Die Applikationen verwenden als key_code nur die Werte "0" oder "1".
    • "0" (Weiterverarbeitung = aus) wird verwendet, wenn keine anderes Tool das Kommando interpretieren soll. Dieses ist z.B. dann sinnvoll, wenn Sequenzen zur Timer-Programmierung gesendet werden sollen.
    • "1" (Weiterverarbeitung = ein) wird verwendet, wenn das Kommando von anderen Tools, z.B key-control, interpretiert werden darf. Dieses ist z.B. bei der Nachbildung der Original-Fernbedinung sinnvoll.

Web-Links

Infos im Wiki:


Infos im Forum:


Infos im Web:

Verzeichnisse & Dateien der Firmware

/   (root file system; gemounted von /dev/mtd1)

  • /etc (Verzeichnis)
    • /etc/lircd.conf und /etc/lircd-exit.conf
  • /sbin (Verzeichnis)
    • /sbin/lircd
Persönliche Werkzeuge