[1] MLD-5.x / Development / Entwicklungsvorschlag: lirc + devinput + homebrew receiver
 

Online downtown_willi

  • Newbie
  • *
  • Posts: 9
    • View Profile
Hallo liebe Gemeinde!

Ersteinmal wünsche ich Euch allen ein Frohes Neues Jahr!

Und dann habe ich noch einen kleinen Änderungsvorschlag, auf den ich durch ein anderes Projekt gekommen bin: Ich nutze schon seit Jahren mld mit lirc und einem Eigenbau-Empfänger am seriellen Port. Das hat auch immer funktioniert, aber mein anderes Projekt hat mich darauf gebracht, daß lirc mit dem devinput-Driver viel besser funktioniert als mit dem default-driver. Es ruckelt nichts (auch ohne "Ruckeln und Prellen unterbinden"), die Tastenwiederholung funktioniert sauber (habe ich mit dem lirc-default-driver nie hinbekommen), und das Anlernen einer neuen Fernbedienung mir irrecord geht auch viel einfacher.

Das Startup-Skript /etc/init.d/lirc sieht aber leider diesen Fall nicht vor: Es lädt den serial_ir-Treiber immer nur in Verbindung mit dem lirc-default-driver; die Kombination serial_ir + devinput geht so nicht. Ich habe deshalb /etc/init.d/lirc etwas erweitert; siehe Anhang.

Ich bin jetzt nicht der König der Shellscripte, deshalb kann man das sicher viel besser machen; ich stelle mir das so vor: In der Drop-Down-Liste "LIRC-Treiber" des Web-UIs könnte man zwei zusätzliche Punkte einfügen:

"devinput + homebrew serial receiver on COM1" und
"devinput + homebrew serial receiver on COM2"

Die /etc/init.d/lirc müßte das unterstützen, indem man in die Fallunterscheidung beim Treiberladen ungefähr so erweitert:


if [ "$LIRC_MODUL" ]; then
                        modul=${LIRC_MODUL##* }
                        if [ "$modul" = "COM1" ]; then
                                echo "Loading lirc serial driver"
                                setserial /dev/ttyS0 uart none || failed
                                modprobe lirc_serial 2>/dev/null || modprobe serial_ir
                                args="-d $(ls /dev/lirc? | tail -n1)"
                                check_status
                        elif [ "$modul" = "COM2" ]; then
                                echo "Loading lirc serial driver"
                                setserial /dev/ttyS1 uart none || failed
                                modprobe lirc_serial irq=3 io=0x2f8 2>/dev/null || modprobe serial_ir irq=3 io=0x2f8
                                args="-d $(ls /dev/lirc? | tail -n1)"
                                check_status
                        elif [ "$modul" = "GPIO" ]; then
                                echo "Loading lirc rpi gpio driver"
                                modprobe gpio-ir-recv
                                check_status
                        elif [ "$modul" = "devinputCOM1" ]; then
                                echo "Loading lirc devinput driver"
                                setserial /dev/ttyS0 uart none || failed
                                modprobe lirc_serial 2>/dev/null || modprobe serial_ir
                                args="-H $modul"
                                check_status
                        elif [ "$modul" = "devinputCOM2" ]; then
                                echo "Loading lirc serial driver"
                                setserial /dev/ttyS1 uart none || failed
                                modprobe lirc_serial irq=3 io=0x2f8 2>/dev/null || modprobe serial_ir irq=3 io=0x2f8
                                args="-H $modul"
                                check_status
                        else
                                args="-H $modul"
                        fi

In meinem (angehängten) Script ist da noch "ir-keytable -p all" drin, denn aus irgendwelchen Gründen wird das Script /etc/init.d/irkeytable bei mir nicht ausgeführt; ich habe in /etc/rc.config die Variable IRKEYTABLE_ARGS="-p all" gesetzt, aber das hat keine Wirkung.

Ich verwende das in Verbindung mit einer 0815-Fernbedienung von Pollin; die dazugehörige lircd.conf habe ich mit irrecord erzeugt und zur Information mit angehängt.

Vielleicht möchtet Ihr ja diesen Vorschlag bei Euren weiter Entwicklungen berücksichtigen.

Viele Grüße,

Andreas

Offline clausmuus

  • Administrator
  • Expert Member
  • ********
  • Posts: 18029
    • View Profile
    • ClausMuus.de
Entwicklungsvorschlag: lirc + devinput + homebrew receiver
« Reply #1 on: January 04, 2020, 14:44:10 »
Danke für den Vorschlag.
Ich bin nicht ganz sicher (muss das erst noch mal prüfen), aber ich glaube mit der aktuellem MLD testing und unstable lässt sich der Treiber bereits unabhängig wählen, bzw. es kann meistens ganz auf lirc verzichtet werden. Die Tastenzuordnung wird dann über das Webif Setup gemacht.
« Last Edit: January 05, 2020, 00:48:01 by clausmuus »
MLD 5.1 - Raspberry PI - 7" Touch TFT - Squeeze Play
MLD 5.1 - lirc yaUsbIR - OctopusNet - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - 6TB HDD - Lian Li PC-C37B - Samsung LE40A559
MLD 5.4 - OctopusNet - ASRock Q1900M - 2GB RAM 250GB HDD

[1] MLD-5.x / Development / Entwicklungsvorschlag: lirc + devinput + homebrew receiver
 



Users Online Users Online

0 Members and 1 Guest are viewing this topic.