IRMP auf STM32 - ein USB IR Empfänger/Sender/Einschalter mit Wakeup-Timer

  • Zitat

    es gibt Platinen mit Lötanschlüssen

    Danke, kanne ich noch nicht. Muss ja nur eine Möglichkeit schaffen das CEC-Signal abzugreifen.


    Gruß Ronald

    NEW: yavdr 0.3
    Board: ASUS AT5ION-I
    Grafik: (integriert) nvidia GT218
    DVB: Cine S2
    Gehäuse;: Antec Micro Fusion
    Display : IMON Display
    Fernbedienung: UIRT an USB2Ser-Wander (MSI Mediacenter FB)
    TV : Toschiba 37R3500P


    Old: genvdr (vdr 1.4.7) "MediaPortal" 800MHz Celeron, 256MB, 2x FF 1.3, SCART,

  • Es gibt Neues im git, "initialize RESET_PIN, declare counter before for loop, adapt irmp patch, ...".
    Getestet nur oberflächlich auf dem F105.


    ronald_s: Geht die 2017-06-27_13-20_blueDev_BL_jrie.bin bei dir? Und funktioniert Reset?


    Frank hat schon länger nichts mehr an IRMP gemacht, und auch meine Fehlermeldungen noch nicht eingebaut.
    Solange muss man noch die zwei Deklarationen auskommentieren und SAMSUNGAH abschalten.

  • Auch die Macro-Funktion habe ich auch noch nicht verstanden.


    Eine Makro ermöglicht das Senden einer Befehlssequenz über die IR-Sendediode mit einem Tastendruck.
    macroslot0 ist der Auslöser, macroslot1 … macroslot7 die Befehle, die bei Empfang des Auslösers ausgesendet werden.


    Beispiel:
    In macro0-macroslot0 ist Taste A konfiguriert.
    In macro0-macroslot1 ist Taste B konfiguriert.
    In macro0-macroslot2 ist Taste C konfiguriert.
    In macro0-macroslot3 ist Taste D konfiguriert.
    In macro0-macroslot4 ist Taste E konfiguriert.
    Wenn nun A gedrückt und empfangen wird, wird B, C, D und E über die IR-Sendediode nacheinander ausgesendet.



    Praktische Anwendung:
    Auf „Power“ soll der VDR angehen und der TV und der Receiver und .…
    „Power“ kommt in wakeupslot0 und in macro0-macroslot0.
    „TV an“ kommt in macro0-macroslot1.
    „Receiver an“ kommt in macro0-macroslot2.

  • Hallo,


    ich muss noch einmal quer einsteigen (wenn hier falsch, dann bitte Thema verschieben).
    Habe mir vor mittlerweile einigen Monaten einen IRMP-Empfännger besorgt.
    Alles schön in ein Gehäuse, angeschlossen, zuvor alle notwendigen Pakete auf dem VDR installiert (Anleitung hier: 2.3.10. IRMP Empfänger) und versucht dieser zu folgen.
    Da mein VDR grundsätzlich mit einer seriellen FB arbeitet und ich zur Not noch eine USB Tastatur habe mit der ich das Last Problem umschiffen kann, war erst einmal keine Eile.
    Nun habe ich erneut einen Anlauf gemacht und bin dabei auf ein grundsätzliches Problem gestoßen: "lsusb" zeigt mir leider den IRMP nicht an! Schließe ich den Empfänger zum testen an einen anderen Rechner an, dann erhalte ich folgendes:

    Code
    Bus 001 Device 011: ID 1209:4444 InterBiometrics


    Empfänger ist also grundsätzlich erst einmal OK.
    Schließe ich diesen wieder an dem VDR an, dann blinkt eine rote SMD Statusleuchte auf der Platine ein paar mal auf, aber die gelbe externe Betriebsleuchte (weiß nicht wie sie sich wirklich schimpft) nicht, entgegen dem Test an dem anderen Rechner.
    Ich habe schon alle USB-Ports durchgetestet. Daran liegt es auch nicht.
    Vermute mal bevor der IRMP-Empfänger nicht als solcher erkannt wird, brauche ich mit der Anleitung nicht weiter zu machen.
    Der "irmplircd" Job wird grundsätzlich gestartet, hat aber ja auch erst einmal mit dem Device als solchen nix zu tun würde ich meinen.


    Warum wird der Empfänger an meinem VDR nicht erkannt/eingebunden?

    Intel NUC BOXNUC6CAYH (2x 4GB Kingston RAM, 120GB SSD) mit MLD 5.4, DD OctopusNET S2, OneForAll URC-7960 FB, OMV NAS

  • Was sieht man denn in der Ausgabe von dmesg, wenn man den Empfänger ansteckt?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Ja, an "dmesg" hatte ich auch schon gedacht, aber auch dort konnte ich den Empfänger nicht finden.
    Das Einzige was mir merkwürdig erscheint, ist folgende Ausgabe:



    "lsusb" schweigt sich leider aus:


    Code
    Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 003 Device 002: ID 1241:f767 Belkin Keyboard
    Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

    Intel NUC BOXNUC6CAYH (2x 4GB Kingston RAM, 120GB SSD) mit MLD 5.4, DD OctopusNET S2, OneForAll URC-7960 FB, OMV NAS

  • Ich habe leider nur einen passiven ohne eigenen Antrieb :-).
    Den habe ich trotzdem probiert mit gleichem Ergebnis.


    Du meinst das die Spannungsversorgung evtl. nicht ausreicht?

    Intel NUC BOXNUC6CAYH (2x 4GB Kingston RAM, 120GB SSD) mit MLD 5.4, DD OctopusNET S2, OneForAll URC-7960 FB, OMV NAS

  • Du könntest auch einen anderen USB Port probieren oder auch ein anderes USB-Verbindungskabel.
    Das hat bei mir bei solchen Fehlermeldungen schon geholfen.

  • Habe alle Ports bereits durch.
    Kabel müsste ich noch probieren, halte ich aber für unwahrscheinlich.
    Funktioniert ja an meinem Desktoprechner. Warum also nicht auch hier?

    Intel NUC BOXNUC6CAYH (2x 4GB Kingston RAM, 120GB SSD) mit MLD 5.4, DD OctopusNET S2, OneForAll URC-7960 FB, OMV NAS

  • Glaubt es mir, oder auch nicht!
    Das Kabel ist der Schuldige!
    Ich habe mich noch einmal selber hinterfragt an welchem Kabel ich das an meinem Desktoprechner ausprobiert habe und da viel mir ein, dass es ein bereits angeschlossenes und damit anderes Kabel gewesen ist wie das, welches ich für an den VDR benutzt habe.
    Neues Kabel, Test an Desktoprechner mit Quercheck zum alten und siehe da: Das Kabel ist es!
    Jetzt wird der Empfänger auch am VDR erkannt und ich kann mich an die Konfiguration machen.
    Da werde ich bestimmt noch einmal drauf zurück kommen :-).
    Hätte ich niemals ausprobiert mit dem Kabel.
    Wann funktioniert ein Kabel schon mal nicht ...
    Ich werde es entsorgen.
    Viel Dank für den Gewinnbringenden und wertvollen Tip :)

    Intel NUC BOXNUC6CAYH (2x 4GB Kingston RAM, 120GB SSD) mit MLD 5.4, DD OctopusNET S2, OneForAll URC-7960 FB, OMV NAS

  • Da bin ich auch schon mit der Konfiguration. Nur damit ich das richtig verstehe:


    Meine jetzige "remote.conf" ersetze ich gegen die neue mit den neuen Scancodes die ich durch

    Code
    sudo irw /var/run/lirc/irmplircd

    erhalte.
    Dann könnte eine "remote.conf" so z.B. aussehen:


    Code
    LIRC.Up 070015000301
    LIRC.Down 070015000302
    LIRC.Left 070015000400
    LIRC.Right 070015000401


    Diese würde ich dann gegen die austauschen, die derzeit "lirc" nutzt, richtig?
    Gibt es eine Möglichkeit in einer "remote.conf" beides abzubilden, oder bringt das nur Probleme?
    Hätte wer mal eine Beispiel "remote.conf" für mich mir IRMP Scancodes?


    Dann muss ich noch in der "/etc/default/irmplircd" die Pfadangabe machen, wo meine neue "remote.conf" liegt. Sprich unter "/var/lib/vdr/".


    Die "irmplircd" sieht derzeit wie folgt aus:



    Was muss ich wo eintragen in der "irmplircd" und ist das richtig mit der "remote.conf"?
    Ich glaube das ich gerade nicht wirklich klar sehe bzw. ein bisserl verwirrt bin.
    Einmal gemacht ist es wahrscheinlich ganz leicht ... :)

    Intel NUC BOXNUC6CAYH (2x 4GB Kingston RAM, 120GB SSD) mit MLD 5.4, DD OctopusNET S2, OneForAll URC-7960 FB, OMV NAS

  • Wenn du die remote.conf anpasst, statt die Tasten auf den yaVDR-Namespace zu mappen, musst du dich auch mit einer Konfigurationsänderung für KODI herumschlagen - IMHO ist es einfacher, wenn man es wie in http://www.yavdr.org/documenta…/de/ch02s03.html#usb_irmp beschrieben macht.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Ja, dass hatte ich schon verstanden das konform sein sollten.
    Habe ich bei meiner jetzigen Konfiguration für die serielle FB auch gemacht, damit ich eben Kodi und den VDR mit einer FB nutzen kann.
    Leider ist das immer so lange her wo mann an diesen Konfigurationen arbeitet.


    Ich benötige den Scancode den mir mein neuer IRMP Empfänger mit meiner FB ausgibt.
    Diesen Scanncode muss ich dann anstelle des jetzigen in die "remote.conf" eintragen, oder muss ich eine eigene Datei erstellen und diese wo plazieren?


    Was muss ich wo in der "irmplircd" eintragen?
    Kommt da das Verzeichnis wo die jetzige "remote.conf" liegt rein und sieht wie aus?


    Ich hönge mal meine jetzige "remote.conf" mit an.
    Vielleicht wird es dann klarer wo es bei mir gerade hängt.

  • Mir ist nicht ganz klar, wie du auf die Idee kommst, dass die remote.conf da eine Rolle spielen muss - aber ich bin offen für Vorschläge, wie ich das in der yaVDR-Dokumentation noch klarer beschreiben könnte.


    Prinzipiell kann man es so machen ohne die remote.conf anzufassen: Du erstellst eine Keymap, die die Scancodes auf die Namespace-Kompatiblen Tastennamen mappt - also z.B.

    Code
    070015000301    KEY_UP
    070015000302    KEY_DOWN
    070015000400    KEY_LEFT
    070015000401    KEY_RIGHT


    Den Pfad zu dieser Datei hinterlegst du in der Variablen KEYMAP in der Datei /etc/default/irmplircd, also z.B.:

    Code
    # Set path for translation table to map keys
    KEYMAP="/etc/yavdr/irmp-keymap"


    Und dann startest du den Dienst irmplircd neu:

    Code
    sudo restart irmplircd

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Gibt es einen Grund dafür, dass du den Zwischenschritt mit der irmp_stm32.map weglassen willst?
    Normalerweise gibt es zwei Übersetzungsschritte, nämlich in der irmp_stm32.map und in der remote.conf.

  • Ich kann jetzt nu raten warum, aber schau mal in meine abgehangene "remote.conf".
    Dann erklärt sich das vielleicht.
    Das kann seahawk1986 aber sicherlich besser erklären.


    seahawk1986:


    Ich habe jetzt folgendes verstanden (und ich hoffe das es jetzt klick gemacht hat, ansonsten möge mann mir zu so später Stunde verzeihen für meine Begriffsstutzigkeit:-)).
    Ich erzeuge eine Datei namens "irmp-keymap" (die könnte auch Peter Lustig heißen, müsste ich halt nur entsprechend deklarieren).
    In dieser "irmp-keymap" bringe ich meinen Output an Scanecodes hinein und baue diese entsprechend deinem Beispiel auf (Konformität wahren!).
    Diese Datei lege ich nach "/etc/yavdr/" ab.


    In der "/etc/default/irmplircd" trage ich den Pfad gemäß deinem Beispiel ein.


    Starte den "irmplircd" Dienst neu und alles sollte wunderbar funktionieren.
    Wenn dem so wäre, dann wäre es einfach und es liegt an mir, an der Uhrzeit, ... ich weiß es nicht :) und es sei mir verziehen.
    Werde das morgen, wenn es so richtig ist, ausprobieren und berichten.


    Gibt es im übrigen einen weiteren Pfad in dem Webfrontend dazu zufügen, z.B. "/etc/yavdr/" um die neu erzeugte Datei "irmp-keymap" über das Webfrontend, so wie die anderen Konfigdateien, bearbeiten zu können?
    Danke im voraus.

    Intel NUC BOXNUC6CAYH (2x 4GB Kingston RAM, 120GB SSD) mit MLD 5.4, DD OctopusNET S2, OneForAll URC-7960 FB, OMV NAS

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!