Lircd
Aus M740 WikiWeb
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:
- Lemmis Firmware
- Parameter aus lemmi-settings.txt:
- Tools, die lircd-Kommandos verwenden:
Infos im Forum:
- key-control im Zusammenspiel mit M740-Fernsteuerung, CridManager, osd2tcp (Festlegung der Konvention)
- M740AV lernt Fernbedienung: Kodes verändert
- Fernsteuern via Telnet - es geht doch
Infos im Web:
Verzeichnisse & Dateien der Firmware
/ (root file system; gemounted von /dev/mtd1)
- /data (Verzeichnis; gemounted von /dev/mtd2)
- /data/.timer (Verzeichnis)
- /data/RA_FILE
- /data/SI (Verzeichnis)
- /etc (Verzeichnis)
- /etc/lircd.conf und /etc/lircd-exit.conf
- /sbin (Verzeichnis)
- /sbin/lircd
- /usb (Softlink nach /var/media/USB-HDD) bis Firmware 1.x
- /usb1 (Softlink nach /var/media/USB-HDD-1) ab Firmware 2.x
- /usb2 (Softlink nach /var/media/USB-HDD-2) ab Firmware 2.x
- /usb/bin (Verzeichnis)
- /usr (Verzeichnis)

