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

  • Hallo, kann jemand beurteilen ob die bisherigen Entwicklungen auch hiermit funktionieren könnte?
    Prinzipiel müssten die STM32F0xx HDMI CEC können, was natürlich extrem genial wäre.

    ASUS M3n78-EM, Sempron 140, 2 GB RAM, WD20EARX, DD DuoFlex CT , Atric IR Rev. 4, Pearl Display, Picopsu-150-XT mit Dell DA-1, yaVDR 0.61 am Samsung UE32D5000

    In Arbeit: Intel NUC6CAYH mit Hauppauge WinTV-dualHD auf EasyVDR 3.5

  • Prinzipiel müssten die STM32F0xx HDMI CEC können, was natürlich extrem genial wäre.


    Ich habe eine Firmware dafür geschrieben, die mit LibreELEC ganz gut funktioniert.
    Wichtig! Den rainshadow branch benutzen, master geht nicht. Nicht zu kritisch sein, ist mein allererster Versuch für STM zu coden.
    Für die Libcec braucht man dann noch das. Auch hier auf den Rainshadow-Branch achten!
    Ich benutze weitestgehend dieses Protokoll.
    Es gibt auch ein https://github.com/gdachs/rainconf, wenn man kein Terminal benutzen will.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • ako400 : Laut dem hier ist für USB+CEC ein STM32F0x2 nötig (der USB auf deinem Link ist nur für den ST-Link).
    Also z.B. dies oder das.
    Kostet etwa 20 €, z.B. hier.
    Immerhin nur die Hälfte von einem PulseEight.


    gda : Welche Hardware benutzt du? Bilder?

  • Danke .
    Interessantes Teil.
    Benutzt du System Workbench for STM32?


    Ja


    Übrigens macht meine Firmware Wakeup aus S3 über USB. Zwar gibt es eine dedizierte Leitung, die das auch aus S5 ermöglichen soll, aber das habe ich nicht hinbekommen.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Wakeup aus S3 und S4 über USB macht meine auch.
    Was für eine dedizierte Leitung meinst du?


    Wie zufrieden bist du mit System Workbench for STM32?
    Ich will schon lange von Coocox weg, aber zögere, mich auf was Neues einzuarbeiten.

  • Wie würdest du denn einen HDMI daran anschliessen?


    Wenn ich richtig gelesen habe muss nur mittels eines pins bzw. Kabels das Signal in die richtige Leitung eingespeist werden.
    Also ich bin kein Elektroniker, aber in der Bucht gibt es Y Verteiler für 2 Euro. Daran einen einfachen Stecker also in etwas soetwas Link
    Aber es gibt bestimmt noch einfachere Lösungen.

    ASUS M3n78-EM, Sempron 140, 2 GB RAM, WD20EARX, DD DuoFlex CT , Atric IR Rev. 4, Pearl Display, Picopsu-150-XT mit Dell DA-1, yaVDR 0.61 am Samsung UE32D5000

    In Arbeit: Intel NUC6CAYH mit Hauppauge WinTV-dualHD auf EasyVDR 3.5

  • Was für eine dedizierte Leitung meinst du?


    Na ja, einfach eine Leitung vom STM zu dem Intel-Teil.


    Wie zufrieden bist du mit System Workbench for STM32?
    Ich will schon lange von Coocox weg, aber zögere, mich auf was Neues einzuarbeiten.


    Coocox kenne ich nicht. Das Projekt für die System Workbench hat ein anderer aufgesetzt, deshalb kann ich dazu eigentlich nichts sagen.
    Ansonsten ist das Eclipse, das benutze ich auch in der Firma, deshalb fühle ich mich damit wohl.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Ich kann mit drei Fälle vorstellen.


    Fall A: Der TV empfängt IR von der Fernbedienung, wandelt es in CEC um, schickt es über den CEC Bus weiter, das STM32F042-Gerät wandelt CEC in USB um, der PC macht was mit dem USB. So funktioniert der PulseEight, wenn ich das richtig verstanden habe.


    Fall B: Das STM32F042-Gerät empfängt IR, schickt manches über USB an den PC, der macht was damit. Manches wird vom STM32F042-Gerät aber über CEC weiter gesendet, und die anderen Geräte am CEC Bus machen was damit.


    Fall C: Ähnlich wie Fall B, aber mächtiger. Das STM32F042-Gerät empfängt IR, schickt es über USB an den PC, der macht was damit. Manches wird vom PC in andere Befehle übersetzt und zurück an das STM32F042-Gerät geschickt, von diesem über CEC weiter gesendet, und die anderen Geräte am CEC Bus machen was damit.


    Fall B und C entspricht dem was meine STM32F103 Firmware bereits kann, mit dem Unterschied, dass nicht über CEC, sondern über IR senden weitergeleitet wird. Insofern sollte sich das leicht einbauen lassen.


    ako400 : Welches davon wünscht du dir?


    gda : Was genau macht deine Firmware?

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

  • gda : Das mit der dedizierten Leitung für S5 entspricht dem SimpleCircuit, sollte also einfach umsetzbar sein. Der SolidPC hat doch sicher was zum Einschalten, was zusätzlich über den STM32 getriggert werden kann.

  • gda : Das mit der dedizierten Leitung für S5 entspricht dem SimpleCircuit, sollte also einfach umsetzbar sein. Der SolidPC hat doch sicher was zum Einschalten, was zusätzlich über den STM32 getriggert werden kann.


    Ja, das ist ja diese Leitung, aber es funktioniert eben nicht und die Entwickler von SolidRun konnten nicht helfen. Ich verfolge das auch nicht weiter. Ich weiß noch nicht so genau was ich überhaupt mit dem SolidPC machen soll. Als Mediacenter bevorzuge ich sowieso die Weteks oder den Odroid C2.


    Ich habe das ja nur gepostet, damit ihr das Rad nicht neu erfinden müsst. Das Rainshadow-Protokoll hat den Vorteil, dass es wohl ab Kernel 4.12 direkt vom neuen CEC-Framework unterstützt wird. Da braucht es dann theoretisch auch die libCEC nicht mehr.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • So funktioniert der PulseEight

    Der PulseEight-Adapter kann auch über CEC senden. Man kann also auch Fernsteuerkommandos mit dem VDR empfangen und nach Auswertung durch den VDR über den USB-CEC-Adapter irgendwelche Kommandos an andere HDMI-Geräte senden.

    Software: yaVDR0.6.1 mit VDR 2.2.0-13yavdr0~trusty, Kernel 4.4.0-130-generic, nvidia 384.130, dddvb 0.9.32.2easyVDR0
    Hardware: ASRock B75 Pro3-M, Intel G2030, RAM 4GB, SSD 64GB, HDD 4TB, Zotac GT630 ZONE Edition 1024MB GK208 (SKU:ZT-60408-20L), DD Cine C2/T2 V7
    Fernseher: SONY KDL-32D3000


  • Was wäre jetzt eigentlich der Vorteil gegenüber dem PulseEight, wenn ich CEC <-> USB einbauen würde? Angesichts dessen, dass es die nötige Hardware nicht billig gibt, kann man dann doch gleich einen PulseEight kaufen, oder?


    Und wer will, kann sich ja eine CEC <-> USB Bridge mit der bereits vorhandenen Firmware von gda bauen.
    Der Erbauer von #516 wird voraussichtlich auch in einiger Zeit seine Firmware veröffentlichen.

  • Was wäre jetzt eigentlich der Vorteil gegenüber dem PulseEight, wenn ich CEC <-> USB einbauen würde?


    Na ja ich dachte alles was dein STM32 jetzt schon kann nur eben plus CEC.


    Der Erbauer von #516 wird voraussichtlich auch in einiger Zeit seine Firmware veröffentlichen.


    Habe ich jetzt nicht verstanden. Das heißt diese blaue Box kann CEC senden?
    Was steckt denn da für eine Hardware drin?
    Dann aber wahrscheinlich erst wenn der VDR hochgefahren ist oder?
    Da mein TV sehr lange zum hochfahren braucht müsste ich noch länger warten.
    Wenn IR Einschalter und CEC in einem vereint sind, müsste es doch z.b. auch funktionieren mit dem IR Einschaltsignal gleichzeit ein CEC TV Wakeup abzusetzen.
    Und 40 Euro für den Pulse eight ist schon eine Hausnummer.

    ASUS M3n78-EM, Sempron 140, 2 GB RAM, WD20EARX, DD DuoFlex CT , Atric IR Rev. 4, Pearl Display, Picopsu-150-XT mit Dell DA-1, yaVDR 0.61 am Samsung UE32D5000

    In Arbeit: Intel NUC6CAYH mit Hauppauge WinTV-dualHD auf EasyVDR 3.5

  • ako400 : Welches davon wünscht du dir?


    Diese harte Fallunterscheidung finde ich schwierig. Die Mehrheit die einen Pulse eight einsetzt, wird wahrscheinlich ihren VDR oder Kodi vom TV mit der TV Fernbedienung steuern wollen.
    Ich bleibe gerne bei meiner "besseren" Universal FB und der primären steuerung des VDR, und wäre schon glücklich wenn sich der TV mit dem VDR einschalten würde.
    Jetzt sollte der STM32 im Idealfall meinen Infrarotempfänger ersetzen sowie den TV mit einschalten.
    Unabhänig davon ob der STM32 als Infrarotempfänger eingesetzt wird sollte es doch aber auch möglich sein den erstgenanten Fall also TV steuert VDR oder Kodi umzusetzen.

    ASUS M3n78-EM, Sempron 140, 2 GB RAM, WD20EARX, DD DuoFlex CT , Atric IR Rev. 4, Pearl Display, Picopsu-150-XT mit Dell DA-1, yaVDR 0.61 am Samsung UE32D5000

    In Arbeit: Intel NUC6CAYH mit Hauppauge WinTV-dualHD auf EasyVDR 3.5

  • Der PulseEight-Adapter kann auch über CEC senden. Man kann also auch Fernsteuerkommandos mit dem VDR empfangen und nach Auswertung durch den VDR über den USB-CEC-Adapter irgendwelche Kommandos an andere HDMI-Geräte senden.


    Jede CEC-Hardware die ich bis jetzt in den Fingern hatte, und für die ich die Treiber zum Teil selbst geschrieben habe, kann auch über CEC senden. Das ist völlig normal. Euer Problem ist. dass ihr denkt, dass CEC sich auf das Senden von Fernsteuerbefehlen mit der TV-Fernbedienung beschränkt, aber das ist viel mehr.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470