LIRC Lego Power Functions

  • Hallo liebe Community!

    Ich habe einen Infrarot-Empfänger und eine Infrarot LED an meinen RPi angeschlossen, um mein Lego Auto (Nummer 9398) damit fernzusteuern. Das Auto hat einen Infrarot-Empfänger und es ist mir auch schon gelungen Befehle an das Auto zu schicken, allerdings schaff ich es nach vielen Versuchen nicht, die Befehle der Fernbedienung korrekt aufzuzeichnen.

    Manchmal funktionieren zwei Befehle, manchmal nicht. Manchmal lenkt das Auto nach links wenn ich nur den Befehl für nach vorne sende etc..

    Die Befehle sind immer gleich, allerdings passen die anderen Werte nicht für die LIRC config..
    Vorwärts: 0x17
    Rückwärts: 0x24
    Links: 0x42
    Rechts: 0x8E

    Lego hat das Protokoll für die Übertragung veröffentlicht, allerdings werd ich nicht schlau daraus und hab auch keine Ahnung wie ich daraus eine LIRC-config basteln soll. Ich hab einen Blog gefunden wo es scheinbar schon jemand geschafft hat, dieser hat aber die config nicht veröffentlicht. Ich versuche auch, ihn zu kontaktieren aber ich fürchte das wird nichts.

    Das Protokoll von Lego gibts hier:
    http://www.philohome.com/pf/LEGO_Power_Functions_RC_v120.pdf

    Meine erste aufgezeichnete config:
    Entfernt

    und hier meine zweite aufgezeichnete config:
    Entfernt

    Hier sieht man auch das die Codes gleich sind, allerdings passieren aufgrund der anderen Werte unterschiedliche Dinge. In der zweiten Config geht zwar alles beim 1. mal, aber wenn ich zb folgendes sende:
    KEY_UP -> fährt vorwärts
    KEY_UP -> fährt vorwärts und lenkt links
    KEY_UP -> fährt vorwärts
    KEY_UP -> fährt vorwärts und lenkt links
    ....

    Kanal war immer bei Fernbedienung und beim Auto 1.

    Ich hoffe hier weiß irgendjemand wie man die config richtig macht bzw. aus dem Dokument von Lego eine config basteln kann :)
    Sollten wir/ich es schaffen würde ich die config selbstverständlich auch veröffentlichen!

    LG Mono

    EDIT 1:
    Ich habe das Protokoll von Lego nun mehrere Stunden studiert und an der config gebastelt und es läuft schon fast. Es muss sich keiner mehr den Kopf zerbrechen wie man das Protokoll in eine config kriegt. Sobald ich ganz zufrieden und fertig bin (es fehlen noch Befehle) werde ich es hier veröffentlichen!

    EDIT 2:
    Bei folgenden Seiten möchte ich mich bedanken, da ich es ohne sie nicht geschafft hätte:
    http://www.righto.com/2010/03/unders…codes-lirc.html
    http://winlirc.sourceforge.net/technicaldetails.html
    Und natürlich bei der Referenz von Lego!

    Hier ist die fertige config: es fehlt nurnoch das korrekte toggle_bit, es wird aber bei diesem Modus vom Empfänger ignoriert!

    Display Spoiler

    Eine Frage hab ich allerdings noch:
    (Auch wenn es in diesem Fall hier ignoriert wird) Das Toggle-Bit ist das 2. Bit pro Signal. Wie muss ich die toggle_bit_mask setzen damit das richtige Bit getoggled wird? In den beiden configs oben wird definitiv das falsche getoggled, denn ich glaube das war der Grund warum abwechselnd vorwärts/vorwärts+links gefahren wurde.

    Dankesehr,
    LG Mono

    Edited once, last by Monoxid (May 16, 2014 at 10:56 PM).

Participate now!

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