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

  • Ich habe mein Test System jetzt mal frisch aufgesetzt. Nicht das ich mir da was verschleppe und wundere, dass es nicht funktioniert. Ich verstehe noch nicht, wo du die 252ms bzw 216ms her hast.... und deinem Rechenbeispiel kann ich ebenfalls noch nicht soooo richtig folgen :whistling::saint:.


    Ich habe irmplircd aus dem Git aktiv. Die Option -s ist nun auch verfügbar. Ich habe mal mit ein paar Werten gespielt aber es wird weder besser noch schlechter.... Ich habe nochmal bei yaVDR geschaut. Dort wird irmplircd ohne -r und ohne -s betrieben. In der setup.conf sind dort RcRepeatDelay = 300 und RcRepeatDelta = 100 gesetzt.


  • Ich vergleiche nur die Standardeinstellungen zwischen zwei Distributionen. easyVDR funktioniert nicht, yaVDR funktioniert.

    Ich verstehe einfach nicht, wieso es unter easyVDR nicht funktioniert. Auch wenn ich die Ausgabe von dem gepatchten irw nicht verstehe und nicht ersehe wo du die Zeiten her hast, sooo schwer ist irmplircd grundsätzlich ja nicht. Und vom Gefühl her ist es egal welche Parameter ich einstelle, der VDR reagier gleich schlecht. In Kodi funktioniert es selbst mit den Standardeinstellungen die in easyVDR gesetzt sind recht gut. Des Öfteren wird ein Tastendruck doppelt ausgeführt.


    Ich bin der Meinung, es liegt nicht an irmplircd da irw (beide Versionen) ja funktioniert. Oder liege ich da falsch?


  • Auch wenn ich die Ausgabe von dem gepatchten irw nicht verstehe und nicht ersehe wo du die Zeiten her hast

    irw gibt den Zeitpunkt des Tastendrucks aus.

    Wenn man zwei aufeinander folgende Zeiten der selben Taste subtrahiert, bekommt man die zeitlichen Abstände zwischen den Tastenwiederholungen.

    Der jeweilige Filter lässt nur Tastendrücke mit einem Mindestabstand durch, und daher habe ich in meinem Beispiel die Abstände so addiert, wie der Filter sie durchlässt.

    Der Code ist eigentlich nicht schwer (Zeile 208 bis 218).


    Um heraus zu bekommen, was da bei deinem easyVDR schief geht, sind einfach mehr Informationen nötig. Da ist Detektiv spielen angesagt ;) .

    Zeitstempeldifferenzen vergleichen bei geht und bei geht nicht, wäre ein erster Schritt.

    Man sollte mal eine Differenzausgabe in irw einbauen ...


    Noch eine Möglichkeit wäre, zum Beispiel in der Senderliste des VDR mal zu zählen, wieviel Sender der Cursor runter geht bei "Pfeil runter" im Vergleich zur irw Ausgabe und das entsprechend auch in Kodi.

  • Man sollte mal eine Differenzausgabe in irw einbauen ...


    Dateien

    • irw.cpp.v2.diff

      (1,11 kB, 6 Mal heruntergeladen, zuletzt: )
  • Wollte den Patch gerade mal anwenden:


    Code
    1. patching file irw.c
    2. Reversed (or previously applied) patch detected! Assume -R? [n] y
    3. Hunk #1 succeeded at 23 (offset 1 line).
    4. Hunk #2 FAILED at 48.
    5. Hunk #3 FAILED at 107.
    6. 2 out of 3 hunks FAILED -- saving rejects to file irw.c.rej

    Hier die irw.c.rej:

    Habe eine frisch entpackte irw.zip genommen.


  • Ich habe den Patch mal händisch eingepflegt. Ergebnis:


    und hier mal das Patchfile zu dem irw.zip was du verlinkt hast:


    Folgende beiden Codezeilen erzeugen einen Fehler:


    Code
    1. act.sa_handler = sigusr1;
    2. sigfillset(&act.sa_mask);


  • Und wenn ich bei irmplircd die Parameter -r 150 -s 0 ändere, dann sieht es so aus:


    Aber an der Bedienung vom VDR ändert sich nichts, was die nicht funktionierenden Tasten angeht.


  • Ich brauche mehr Infos darüber, wenn es nicht funktioniert.

    Welche Tasten, was zeigt bei welcher Taste irw, wie genau reagiert der VDR bei welcher Taste …

    Und die remote.conf.


    Eine Möglichkeit, nur um sicher zu gehen, wäre, dass du deine remote.conf umbenennst und sie neu anlernst.

  • Beitrag von MarMic ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: falscher thread ().
  • Ich brauche mehr Infos darüber, wenn es nicht funktioniert.

    Welche Tasten, was zeigt bei welcher Taste irw, wie genau reagiert der VDR bei welcher Taste …

    Und die remote.conf.


    Eine Möglichkeit, nur um sicher zu gehen, wäre, dass du deine remote.conf umbenennst und sie neu anlernst.

    Das mit der remote.conf hatte ich bereits gemacht. Kein Erfolg. Ich mache mal den Test mit MLD.


  • Puuuh, wie beschreibe ich das Verhalten während des Anlernen? Kurz gesagt: Zweimal hat der VDR während dieser Phase aufgehört darauf zu reagieren. Beim dritten Mal hat es dann geklappt aber danach haben nur die weiter oben genannten Tasten im VDR funktioniert.


    Ganz ehrlich.... wenn ich das hier nicht selbst erleben würde, ich hätte auch Schwierigkeiten das nachzuvollziehen.


  • Achja, wegen dem Patch den du veröffentlicht hast. Ich finde deine Erweiterung sehr hilfreich. Danke dafür aber hast du meine Frage gelesen? Irgendwie habe ich den Patch nicht auf die von dir gelinkte irw.zip anwenden können. Oder ist der Patch fürs Git?


  • Ja.

    Ooook :) macht dann meine Anpassung die ich gemacht habe und mit der irw.zip die du verlinkt hast überhaupt sinn? :saint:


  • Es hat offensichtlich funktioniert. Die gewünschten Ausgaben kommen.


    Für dein Problem brauche ich mehr Infos. Bei anderen mit easyVDR funktioniert der Empfänger ja, und bei dir auf anderen Systemen auch.

    Da muss ein ganz merkwürdiger Wurm drin sein in deinem easyVDR.

    Aber ich befürchte, meine Fernhilfemöglichkeiten sind am Ende.

  • Es hat offensichtlich funktioniert. Die gewünschten Ausgaben kommen.


    Für dein Problem brauche ich mehr Infos. Bei anderen mit easyVDR funktioniert der Empfänger ja, und bei dir auf anderen Systemen auch.

    Da muss ein ganz merkwürdiger Wurm drin sein in deinem easyVDR.

    Aber ich befürchte, meine Fernhilfemöglichkeiten sind am Ende.

    Ich denke das Thema hat sich erledigt. Denn ich habe folgenden Test mit deiner irw Version gemacht. Bleifuss2 im easyVDR Forum hatte gefragt, ob die Repeats nach einer Pause bei 0 anfangen. Dem ist nicht so und ich habe da einen weiteren Test gemacht.


    irw mit yaVDR in der VirtualBox:



    irw mit easyVDR auf Blech:



    Beide irw's sind zur gleichen Zeit gelaufen. Die Leerzeilen habe ich zur bessern Übersicht eingefügt. Dort habe ich pausiert. Die Ausgabe unter yaVDR zeigt ja eine Spalte mehr an. Könnte das an eventlircd liegen? Diesen gibt es in easyVDR nicht und würde zumindest erklären warum es mit yaVDR und MLD funktioniert.


    Gruß

    Obelix


  • Dass er nach der Pause weiterzählt, statt mit Null neu anzufangen ist ganz klar falsch.

    Also eine heiße Spur ;) .

    Da hätte ich gerne mal die Sourcen von irmplircd in easyVDR, um nachzuschauen, wo der Wurm drin ist.


    Edit: Aber du hattest auch ein neues selbst kompiliertes irmplircd ausprobiert, oder? Dann funkt da vielleicht noch etwas anderes dazwischen.

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von jrie ()