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

  • Ich habe fast alle Weiterentwicklungen von IRMP_STM32 auch in die Keyboard Version eingebaut, am wichtigsten Firmware-Upgrade und Erkennung, ob der uC ein echter STM32 ist, sowie viele kleine Verbesserungen und Fehlerbehebungen. Dabei ist mir noch ein Bug aufgefallen, wenn man nicht schnell genug mit dem Finger auf der Fernbedienung war, hat „set by remote“ nicht funktioniert. Der ist jetzt auch gefixt.

    Was noch fehlt ist der Wechsel auf die USB-FS-Device_Lib_V4.1.0.

    Neue Firmware und Binaries finden sich im git.

  • Das eeprom für KBD habe ich ab jetzt unter das eeprom für IRMP gelegt (vorher war es an derselben Stelle). Dadurch kann man von KBD zu IRMP hin und her flashen und die Einstellungen bleiben erhalten.

    Wer auf neue KBD Firmware umsteigt sollte vorher das eeprom sichern (eeprom map → save file) und danach wiederzurückspielen (eeprom map → open file, flash eeprom).

  • Hi,


    was bedeutet in der GUI im Log die Meldung "WARNING: This device's microcontroller is a CS32, NOT a STM32!" ?


    EDIT: Es geht um einen Stick mit diesem Flash: 2020-06-23_23-35_RedCrap_BL_SC_KBD_jrie.bin


    The post was edited 1 time, last by obelix ().

  • Es gibt ja Fälschungen. Angucken kann man sich die hier.

    Manche der Fälschungen sind gar nicht erst kompatibel, laufen also nicht mit STM32 Code.

    Die kompatiblen Typen werden von meinem Code erkannt und angezeigt.

    Du hast einen CS32 aka CKS32.

  • Hmmm..... Also wenn ich eine map Datei erstellt habe und diese dann flashen möchte, bekomme ich diese Ausgabe:



  • Linux/Windows? Welche Firmware? Welche gui-Version?

    Bei mir mit neuestem git geht es.

    Manjaro Linux. Die GUI als sudo gestartet.


    Image: 2020-06-23_23-35_RedCrap_BL_SC_KBD_jrie.bin


    GUI Version ist aus dem GIT vom 03.08.


  • Probier mal die Firmware vom 5.8. oder 9.7.

    Ich habe die Version vom 5.8 genommen. Das Flashen hat ohne Fehler funktioniert. Auch das Übertragen der map Datei. Allerdings gibt es bei der Taste OK einen ganz krassen Cinnamon Segfault:


    :wow


  • Die Funktion reset eeprom dient doch dazu, den Speicher zu leeren, oder? Dies funktioniert mit dem RedCrap Stick zumindest bei mir nicht. Ich wollte die Konfiguration mal mit einer MCE überschreiben, funktioniert auch nicht.


  • Allerdings gibt es bei der Taste OK einen ganz krassen Cinnamon Segfault:

    Da wäre es interessant, was den Absturz verursacht.

    Zeig mal deine map Datei. Was für irdata ist denn der Taste OK zugeordnet? Und welcher modifier|key ist diesem irdata zugeordnet?


    Die Funktion reset eeprom dient doch dazu, den Speicher zu leeren, oder? Dies funktioniert mit dem RedCrap Stick zumindest bei mir nicht. Ich wollte die Konfiguration mal mit einer MCE überschreiben, funktioniert auch nicht.

    Da bräuchte ich die debug messages.

  • Ich habe eben einen RedCrap aus meiner Bastelkiste geholt, eine map geflasht, kontrolliert, eeprom reset gemacht, kontrolliert, wieder geflasht, kontrolliert und es geht Alles tadellos.


    Dass die 5.8.er Firmware bei dir geht, und die vom 23.6. nicht leuchtet mir auch nicht ein, denn dazwischen hat sich nichts diesbezügliches geändert. Ich vermute du hast da irgendwo etwas Grenzwertiges, was mal geht und mal nicht. Wie z.B ein minderwertiges USB-Kabel oder noch eher der RedCrap selber, nicht umsonst hat er diesen Namen.

    Bei einem meiner RedCraps war plötzlich der Spannungswandler defekt, einfach so.

  • Hier die map Datei:


    Die Raue plus den Kommentaren entferne ich vorher natürlich.


  • Die Raue plus den Kommentaren entferne ich vorher natürlich.

    Das wäre nicht nötig, das macht (sonst) die gui.


    07000b003300 ff|KEY_ENTER#ok

    Das entspricht dem Drücken von Enter/Return auf der Tastatur.

    Davon kann er wohl kaum abstürzen.

    Es wird eher an der Hardware liegen.

    Andererseits sagen die Fehlermeldungen aus #128, dass der USB Verkehr funktioniert, nur dass beim Verarbeiten der Aufforderung, irdata und key ins eeprom zu speichern, ein Fehler auftritt.

    Hat der betreffende Stick denn vorher schon mal funktioniert?

    Wenn ja, zeigt er beim Anstecken und Einlesen das eeprom an?


    Und was sagt ein Vergleich auf anderer Hardware?

  • Also ich verstehe es nicht. Einen anderen Stick genommen. Die map Datei von oben ist eine KLS VDR (Logitech Harmony 300) und die Tasten die in der map Datei sind, stimmen nach der Übertragung nicht mehr. D.h. z.B. Links ist 6 und OK ist der Power Knopf, weshalb mein PC auch aus geht. Die Segfaults lasse ich jetzt mal außer Betracht.


    Wenn ich nun versuche, den Stick mit einer anderen map Datei zu überschreiben, dann wird da nichts überschrieben. Auch reset eeprom klappt nicht.


  • Achja, mit IRMP_STM32 (2020-06-23_23-29_RedCrap_BL_SC_jrie.bin) funktionieren die Teile tadellos.


  • Ein Debug vom Löschversuch (reset eeprom) hänge ich mal an.

    Files