-
        

Ergebnis 1 bis 3 von 3

Thema: Implementierung für IR-Fernbedienung mit Philips-RC6-Code

  1. #1
    Neuer Benutzer
    Registriert seit
    24.01.2008
    Ort
    Münster
    Beiträge
    1

    Implementierung für IR-Fernbedienung mit Philips-RC6-Code

    Anzeige

    Nach dem Zusammenbau meines Asuro stellten sich Schwierigkeiten mit der Nutzung der RC5-Library-Unterstützung ein.
    Die Routine zum Einlesen erkannte einfach keine IR-Kommandos - wie sich später herausstellen sollte, eine unglückliche
    Verkettung von "leeren Akkus"und falschen Gerätecodes auf der Unsiversal-Fernbedienung. Um die genaue Ursache
    zu finden wurde daraufhin ein Programm zur Aufzeichnung der IR-Signale geschrieben. Nach Fertigstellung des
    Programms konnten die vorgenannten Probleme dann auch behoben werden.

    Das Programm wurde nochmal etwas modifiziert, um jetzt auch RC6-Signale aufzuzeichnen.
    Somit wäre hiermit m.E. eine gute Ausgangsbasis für eine RC6-Implementierung geschaffen.

    Fragen an dieser Stelle:
    - Hat jemand bereits einen Algorithmus für RC6 implementiert?
    - Hätte jemand Interesse an einer RC6-Implementierung?

    Nachfolgend noch einige Infos zum IR-Signalaufzeichnungsprogramm (finden sich aber alle auch im Programm).

    Insgesamt werden 6144 Signale aufgezeichnet.

    Wichtig ist zunächst das Eintragen der eigenen (zusätzlichen) Interrupt-Service-Routine (ISR) in "asuro.c":

    SIGNAL (SIG_OVERFLOW2)
    {
    ...
    /* %8 = 222.2us; %4 = 111.1 us */
    if (!(count36kHz % 4))
    IsrRCTest();
    }

    Je nach Teiler kann man jetzt RC5- oder RC6-Signalcodes aufzeichnen:
    - 222.2us [!(count36kHz % 8 ) für RC5]
    - 111.1us [!(count36kHz % 4 ) für RC6]

    Bei jedem Aufruf der ISR wird der Flankenwert gespeichert:
    - Datenspeicher = 768 Byte
    - Flankenwert = 0 oder 1
    - Anzahl Aufrufe bzw. Flankenwerte = 768 * 8 = 6144 Bit
    - 6144 * 222.2us = 1365196.8us = 1365.2ms = 1.36s
    oder
    - 6144 * 111.1us = 682598.4us = 682.6ms = 0.68s

    Speicherung der Flankenwerte in fd[] (Beispiele):
    - Der erste Flankenwert wird in Bit 7 von fd[0] gespeichert.
    - Der zehnte Flankenwert wird in Bit 6 von fd[1] gespeichert.

    Zu benutzen ist das Ganze dann wie folgt:
    - Fernbedienung direkt ueber den IR-Empfaenger des Asuro halten
    - z.B. Taste "7" dauerhaft druecken
    - Asuro einschalten
    - Ergebnis mit Terminalprogramm empfangen

    Einen aufgezeichneten (und analysierten) RC6-Code findet sich im Kommentar des Programmes. Ebenso viele Informationen zum Aufbau von RC5 und RC6.
    M.E. wäre dies eine gute Basis für eine algorithmischen RC6-Dekodier-Routine.
    Angehängte Dateien Angehängte Dateien

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Hi,

    danke für das Auswerte Programm mit der Analyse der RC6 Codes. Ich werde dein Programm mal am Wochenende testen.

    Einen Algorithmus für RC6 habe ich schon hier rumliegen. Der ist allerdings noch nicht an den Asuro angepaßt.

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    04.06.2009
    Beiträge
    49
    Sorry das das Theam so alt is aber ich find das es sich fuer so ne kleine Frage nicht lohnt n neues aufzumachen .

    Wie weit is das ganze schon? Hatt jemand einen "fertigen" RC6 code rumliegen oder soll ich ihn mir selber basteln (auch kein prob^^) ?

    mfG

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •