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

  • Die GUI prüft jetzt beim Trennen und Beenden, ob es Änderungen im eeprom gibt, die nicht commited wurden. Wenn ja gibt es eine Nachricht.
    Damit sollte das Problem optimal gelöst sein.

  • Das vdr-plugin-irmphidkbd wertet jetzt auch Protokoll und Zähler aus und stellt automatisch optimale Erkennungswerte ein.
    Das kann eine Tastatur eigentlich gar nicht übergeben, aber mit einem Trick geht es trotzdem.

    Das hatte unerwünschte Nebenwirkungen, musste ich leider wieder raus nehmen.

    Ab der Firmware von heute wird Scrolllock statt Numlock benutzt.

  • jrie

    Ich möchte morgen meine KBD-Variante mit RP2040 Zero konfigurieren. Habe heute aber noch keinen RP2040 Zero.

    Wollte dann heute schon mal ohne das Board die GUI-exe unter Windows 11 Pro installieren und mich einlesen.

    Ich habe dazu die VC_redist.x64.exe entsprechend README im Git installiert. Dann hatte allerdings zweimal "Microsoft's Visual C++ Redistributable:

    Ich kann die stm32kbdIRconfig_gui.exe aber nicht starten.

    Wenn ich sie als Benutzer (aber Mitglied in Administratoren) starten will, dann kommt das:

    Wenn ich als "Als Administrator ausführen" mache, dann kommt das:

    Was mache ich falsch?

    Oder funktioniert unter unter Windows 11 Pro Version 25H2 Build 26200.6901 die stm32kbdIRconfig_gui.exe nicht?

    Danke für eine Hilfe.

  • Zum Ausführen auf einem "Netzlaufwerk" (P:) als lokaler Administrator: das wird nur dann funktionieren, wenn tatsächlich auch der LOKALE Administrator des Windows-PCs die Netzwerkverbindung benützen darf.

    vdr User #2022 - hdvdr2:

    Lenovo SFF M83, Intel(R) Core(TM) i5-4670S, 32 GB Ram, zram-swap/tmp, ubuntu-focal+ESM, softhdcuvid-placebo, ffmpeg-6.1.4(git)

    ddbridge mit 2xDVB-S2 und (Flex) 2xDVB-C/T Tunern, nvidia-GF1050Ti SFF (nvidia-dkms-580.105.08), system SSD btrfs,

    timeshift-btrfs, Video 8TB HDD XFS/cow, yavdr-ansible-2.7.7-seahawk, tvscraper tvsp, Kernel 6.12.59+dddvb-0.9.41-git

    vdradmin-am-3.6.15, vdr-live-ng, vdrmanager (Smartphones als FB)

  • Hi blau

    Vllt fehlt noch das hier im Anhang

    Bitte alles im gleichen Ordner installieren /entpacken

    Und nochmal die *.exe starten

    Gruß Helmut

    Files

    Test_VDR: Lintec Senior - MSI G41M P25 MS7592 Board - Intel P4 E8500 / 775 CPU - MSI GT710 PCI-e passiv - DVBSky S2 952 Dual SAT - 120GB Intenso SSD + Big HDD - 2x2GB DDR3 RAM - LG GH24NSD1 S-ATA DVD - SMK RC6 MCE 50GB FB. an RP 2040 Zero USB I.R. Empfänger - EasyVDR 5 - Softhddevice mit Pulseaudio - Kodi 20.5 m. Confluence Skin
    Clients:Div. Raspberry PI

    USB-Fernbedienungsempfänger: Siehe hier:RP 2040 Zero I.R. Empfänger kompl.

  • Zum Ausführen auf einem "Netzlaufwerk" (P:)

    P:\ ist bei mir ein lokales Laufwerk auf einer SSD. Daran liegt es wohl nicht. Aber danke für den Hinweis.

    Vllt fehlt noch das hier im Anhang

    Das läßt sich starten. Vielen Dank. Alles wird gut. :)

    Dabei habe ich festgestellt, daß meine von Git heruntergeladene Datei stm32kbdIRconfig_gui.exe viel kleiner war, als die *.exe von Emma53. Ich habe inzwischen auch herausgefunden, warum. Ich habe die *.exe nicht richtig heruntergeladen. Wenn man es mit RMB und "Ziel speichern unter" hier versucht, dann bekommt man eine *.exe-File, welches viel zu klein ist und ein HTML-File enthält. das läßt sich natürlich nicht starten. Man muß auf dieser Seite erst noch auf die *.exe klicken, dann kommt man dorthin. Dort muß man dann auf den Button "Download raw file" klicken. Dann bekommt man die startende *.exe. Das Verfahren muß man auch auch bei den anderen Files einhalten. Vielleicht gehts ja auch irgendwie einfacher.

    Emma53 Die *.exe im Git unterscheidet sich von Deiner *.exe, eventuell eine neuere Version? Kann man die Version irgendwie erkennen?

    Danke an alle für die Hilfe.

    mein VDR
    • Software: yaVDR0.7-Ansible Ubuntu 24.04 (noble) mit vdr-2.7.7
    • DVB-T2: Hauppauge WinTV-dualHD
    • Fernseher: LG OLED42C48LA

    Edited once, last by blau (November 2, 2025 at 3:08 PM).

  • Hi Wolfgang , gut das es jetzt läuft

    Um was für eine Version es sich handelt , weiß ich jetzt auch nicht

    Evtl. mal den Entwickler jrie ( Jörg ) fragen

    Ich würde immer die neuste Version empfehlen / nehmen .

    Aber immer unterscheiden KBD Version oder IRMP Version es gibt zwei verschiedene Gui,s

    Die im Git von jrie ist immer die neuste

    ,,......,..................,.............................,..,,.......................

    Wie Fernbedienung anlernen, siehe hier

    Eine Keymap erstellen.

    https://github.com/j1rie/IRMP_STM32/blob/master/LIESMICH.md

    Braucht man aber für MLD Systeme nicht

    dort erfolgt die FB Tastenabfrage im Setup unter Fernbedienungen..

    MfG Helmut

    Test_VDR: Lintec Senior - MSI G41M P25 MS7592 Board - Intel P4 E8500 / 775 CPU - MSI GT710 PCI-e passiv - DVBSky S2 952 Dual SAT - 120GB Intenso SSD + Big HDD - 2x2GB DDR3 RAM - LG GH24NSD1 S-ATA DVD - SMK RC6 MCE 50GB FB. an RP 2040 Zero USB I.R. Empfänger - EasyVDR 5 - Softhddevice mit Pulseaudio - Kodi 20.5 m. Confluence Skin
    Clients:Div. Raspberry PI

    USB-Fernbedienungsempfänger: Siehe hier:RP 2040 Zero I.R. Empfänger kompl.

    Edited 4 times, last by Emma53 (November 2, 2025 at 3:58 PM).

  • Kann man die Version irgendwie erkennen?

    Nein. Müsste ich noch einbauen. Ich mache aber keine Versionen, sondern nehme einfach das Datum, wie in der Firmware.

    Ich würde immer die neuste Version empfehlen / nehmen .

    Ja. Am besten die neueste (und falls die ein Problem hat, dann die zweitneueste, usw ...).
    Ich mache ja keine Releases, sondern das git ist (hoffentlich) das Beste.

    Wie Fernbedienung anlernen, siehe hier

    Eine Keymap erstellen.

    Bei der Keyboard Version gibt es keine keymap, sondern eine Eeprom-map:

    https://github.com/j1rie/IRMP_STM…iner-eeprom-map

  • Danke, jrie. Danke auch an Emma53 für ein tolles Set zum Basteln.

    Die Keyboard Version auf RP2040 Zero kann bei mir jetzt schon yaVDR 0.7 (Ansible) bedienen und und Einschalten übers BIOS am externen USB-Anschluss klappt auch schon (ohne die Verbindung zum ON-Taster des PC). Das ist schon mal sehr gut.

    Nächster Schritt ist jetzt das Senden von Makros an den Fernseher.

    mein VDR
    • Software: yaVDR0.7-Ansible Ubuntu 24.04 (noble) mit vdr-2.7.7
    • DVB-T2: Hauppauge WinTV-dualHD
    • Fernseher: LG OLED42C48LA
  • Nächster Schritt ist jetzt das Senden von Makros an den Fernseher.

    Wie das geht steht hier: https://github.com/j1rie/IRMP_STM…aster/MAKROS.md

  • Es wird jetzt auch die Version angezeigt (als Datum vom Kompilieren).
    In der Titelzeile und im Feld debug messages.
    Erst mal nur für Linux.

  • Nächster Schritt ist jetzt das Senden von Makros an den Fernseher.

    Das habe ich jetzt auch geschafft. Die Power-Taste auf der Fernbedienung löst jetzt ein Makro aus, das über eine Sendediode am RP2040-Zero (an GPIO 6) den Fernseher einschaltet. Das funktionierte sofort, nachdem ich das Makro mit der TV-Fernbedienung angelernt hatte. Ich möchte eigentlich noch die AV-Quelle umschalten, also auf den HDMI-Eingang mit dem VDR. Das klappt noch nicht so ganz, weil es mir noch nicht gelungen ist, per Infrarot die AV-Quelle sicher zu adressieren. Das ist so ein neumodischer Smart-TV (LG OLED42C48LA) mit viel Snick Snack. Da muss ich also noch weiter üben.

    Danke für das tolle Projekt und die Unterstützung von jrie und die gute Hilfe durch Emma53.

    mein VDR
    • Software: yaVDR0.7-Ansible Ubuntu 24.04 (noble) mit vdr-2.7.7
    • DVB-T2: Hauppauge WinTV-dualHD
    • Fernseher: LG OLED42C48LA
  • Hallo

    Schön daß es jetzt läuft.

    Frage von mir, konntest Du die von mir verbaute Sendediode gebrauchen

    Läuft sie ootb an gbio 6

    Gruß Helmut

    Test_VDR: Lintec Senior - MSI G41M P25 MS7592 Board - Intel P4 E8500 / 775 CPU - MSI GT710 PCI-e passiv - DVBSky S2 952 Dual SAT - 120GB Intenso SSD + Big HDD - 2x2GB DDR3 RAM - LG GH24NSD1 S-ATA DVD - SMK RC6 MCE 50GB FB. an RP 2040 Zero USB I.R. Empfänger - EasyVDR 5 - Softhddevice mit Pulseaudio - Kodi 20.5 m. Confluence Skin
    Clients:Div. Raspberry PI

    USB-Fernbedienungsempfänger: Siehe hier:RP 2040 Zero I.R. Empfänger kompl.

  • konntest Du die von mir verbaute Sendediode gebrauchen

    Läuft sie ootb an gbio 6

    Ja, die Sendediode mit dem Gehäuse lief sofort ohne Änderung: rote Leitung an an GPIO 6, schwarze Leitung an GND.

    Danke!

    mein VDR
    • Software: yaVDR0.7-Ansible Ubuntu 24.04 (noble) mit vdr-2.7.7
    • DVB-T2: Hauppauge WinTV-dualHD
    • Fernseher: LG OLED42C48LA

    Edited once, last by blau (November 9, 2025 at 6:34 PM).

  • jrie
    Hallo Jörg,

    in deinem git gibt es ja für die RP2040 Varianten Pico, One und Zero je eine Firmware Version.
    IRMP_STM32_KBD/RP2xxx/build at master · j1rie/IRMP_STM32_KBD · GitHub
    Worin liegen da die Unterschiede in den Firmware Varianten?
    Ist es ratsam auf die jeweilige RP2040 Variante auch wirklich die entsprechende Firmware zu flashen?

    Ich habe festgestellt, dass prinzipiell jede RP2040 Firmware-Variante auf jeder RP2040 HW-Variante läuft.

    Gruß
    Klaus

    Mehrere HD-VDRs mit MLD z.B.:

    VDR-Server - ITX-MB mit N100 und CineS2+DuoFlexS2 mit MLD 6.5

    Intel-VDR H110 ITX-MB mit i3-7300 (UHD630) mit CineS2 - MLD 6.5

    Intel-VDR J5040 ITX-MB (UHD605) mit CineS2 - MLD 6.5

    Intel-VDR Asus N4020 MiniPC (UHD600) SatIP Client - MLD 6.5

    nVidia-VDR Asrock J4025 mATX-MB mit nVidia GT1030 und CineS2 - MLD 6.5

    Raspberry PI 3 und 4 als Streamdev bzw. SatIP Clients mit MLD 6.5

    + weitere MLD 6.5 Test-Systeme mit Intel CPUs der CoreI Generationen 3 bis 11 ...

  • Die Unterschiede zwischen den Dreien sind auch nur minimal und könnte man ignorieren.
    https://github.com/j1rie/IRMP_STM…src/main.c#L820 PICO_DEFAULT_LED_PIN gibt es nur beim Pico.
    Die Größe des Flash Speichers bei One und Zero ist unterschiedlich.

  • Danke für die schnelle Antwort.
    Bei der MLD 6.5 wird beim Flashen der Firmware über das WebIF aktuell die Firmware-Variante des One für alle RP2040 HW-Varianten verwendet.
    Mit der One FW-Variante liefen meine Zero's eigentlich ohne Probleme.
    Nachdem ein anderer User jedoch bei seinem System beim Systemstart mit der One-Firmware auf seinem Zero Probleme hatte, habe ich auch mal auf meinen Zero's die aktuelle passende Zero-FW aufgespielt.
    Damit laufen meine Zero's deutlich flüssiger beim Scrollen im OSD.

    Es scheint mir also doch evtl. sinnvoll, die richtige FW-Variante zu verwenden.

    Alle RP2340 HW-Varianten verwenden, so wie es ausschaut, die gleich Device-ID 1209:4445 und werden bei MLD 6.5 als "Raspberry Pi Pico" erkannt.
    Sind daher anscheinend nicht über die Device-ID unterscheidbar.

    Gibt es sonst eine Möglichkeit, die HW-Variante bei der Registrierung im System zu Unterscheiden?

    Mehrere HD-VDRs mit MLD z.B.:

    VDR-Server - ITX-MB mit N100 und CineS2+DuoFlexS2 mit MLD 6.5

    Intel-VDR H110 ITX-MB mit i3-7300 (UHD630) mit CineS2 - MLD 6.5

    Intel-VDR J5040 ITX-MB (UHD605) mit CineS2 - MLD 6.5

    Intel-VDR Asus N4020 MiniPC (UHD600) SatIP Client - MLD 6.5

    nVidia-VDR Asrock J4025 mATX-MB mit nVidia GT1030 und CineS2 - MLD 6.5

    Raspberry PI 3 und 4 als Streamdev bzw. SatIP Clients mit MLD 6.5

    + weitere MLD 6.5 Test-Systeme mit Intel CPUs der CoreI Generationen 3 bis 11 ...

  • habe ich auch mal auf meinen Zero's die aktuelle passende Zero-FW aufgespielt.
    Damit laufen meine Zero's deutlich flüssiger beim Scrollen im OSD.

    Es scheint mir also doch evtl. sinnvoll, die richtige FW-Variante zu verwenden.

    Das liegt nur daran, dass sie aktueller ist. Am 16. April wurde der Takt von 133 MHz auf 200 MHz erhöht.

    Sind daher anscheinend nicht über die Device-ID unterscheidbar.

    Gibt es sonst eine Möglichkeit, die HW-Variante bei der Registrierung im System zu Unterscheiden?

    Da ist ja derselbe Mikrocontroller drauf und keine Peripherie, anhand derer man softwaremäßig eine Unterscheidung treffen könnte.

    Idee: Man könnte dem User Bilder der Varianten präsentieren und ihn eine Auswahl treffen lassen ("klicke auf den, den du hast").

  • Hi Jörg

    Ich hatte das Problem, an einem Test VDR mit MLD 6.5 System

    Das ich einen RP2040 Zero mit dem WebIF von MLD geflasht habe.

    Mit der Firmware wollte aber mein Board nicht durch starten über den Powerknopf meiner Fernbedienung

    Es kam beim booten auf dem TV die Meldung normal und verbose.

    Nach drücken der OK Taste der Fernbedienung Bootete der VDR weiter und ich hatte sofort Bild und Ton

    Die Fernbedienung funzte danach ohne Probleme

    Ich habe dann den Zero überprüft mit der stm32 kbd GUI.

    Und musste feststellen das die Firmware für den One drauf war.

    Habe dann die neuste kbd Firmware für den Zero drauf geflasht aus Deinem Git für den Zero

    Danach startete der MLD ( Version 6.5 ) VDR ohne Fehlermeldung durch und hatte in 25 sec. Ton und Bild

    Ich fand auch wie Franky schon schrieb das jetzt alles etwas geschmeidiger , flüssiger läuft mit der Fernbedienung

    Fazit: Mit der Default angebotenen MLD Firmware Bootete mein Board nicht durch.

    Mit der neusten kbd Firmware für den Zero war alles gut.

    Gruß Helmut

    Test_VDR: Lintec Senior - MSI G41M P25 MS7592 Board - Intel P4 E8500 / 775 CPU - MSI GT710 PCI-e passiv - DVBSky S2 952 Dual SAT - 120GB Intenso SSD + Big HDD - 2x2GB DDR3 RAM - LG GH24NSD1 S-ATA DVD - SMK RC6 MCE 50GB FB. an RP 2040 Zero USB I.R. Empfänger - EasyVDR 5 - Softhddevice mit Pulseaudio - Kodi 20.5 m. Confluence Skin
    Clients:Div. Raspberry PI

    USB-Fernbedienungsempfänger: Siehe hier:RP 2040 Zero I.R. Empfänger kompl.

    Edited once, last by Emma53 (November 10, 2025 at 9:28 PM).

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!