- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 10 von 10

Thema: RP6_TV_ Remote

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.11.2010
    Beiträge
    773
    Hätte auch eine Frage zum RP6 mit TV-Remote:
    Wo wird denn bewerkstelligt, dass der RP6 weiß, dass eine Taste auf der Remote losgelassen wurde?
    In der großen Switch wird zwar die Stopwatch1 gestartet und in der "deccelerate" wird sie ausgelesen, aber wo und wie genau weiß das Programm denn nun, dass nichts mehr kommt? Wird da irgendwo "rc5data.key_code" zurückgesetzt, oder wie?
    Ich bräuchte so etwas wie eine Zurücksetzung von "rc5data.key_code" auf sagen wir "-1", um mehrfach-drücken einbauen zu können.

    Danke Euch

  2. #2
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.694
    Zitat Zitat von fabqu
    ... Wo wird denn bewerkstelligt, dass der RP6 weiß, dass eine Taste auf der Remote losgelassen wurde ...
    Die Antwort hat ja schon die Fernsteuerung parat: im ersten Byte - Start- und Adressbits - ist das dritte Bit (von Bit1 bis Bit 8 ) das Togglebit. Das wird invertiert jedes Mal, wenn eine Taste gelöst und neu gedrückt wird. Damit ist einfach festzustellen, ob die gleiche Taste festgehalten wird => das Togglebit bleibt dabei gleich.
    Ciao sagt der JoeamBerg

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.11.2010
    Beiträge
    773
    Hmm, danke dir.
    Das geht nun auch, aber ich bin grad am verzweifeln:
    Wenn ich die Abfragen für RC5-Code, -Adresse und -Togglebit drinnen habe, dann geht auf der Base nahzu nix mehr. Sie führt zwar Befehle aus, aber das Senden der Sensordaten der Base durch die M128 an den PC (Licht L/R, Speed L/R, Bumper L/R vorne/hinten, Objekte L/R vorne/hinten, Motorstrom L/R, Register der Status-LEDs) geht überhaupt nicht mehr. Bestenfalls um etliche Sekunden verzögert...
    Streiche ich das Zeug raus, geht wieder alles!!!
    Und wenn ich nur alles für die RC5-Adresse rausnehme, geht alles, bis auf Speed L/R, Strom L/R, Bumper vorne und ACS vorne. Das heißt, ACS hinten, Bumper hinten und Helligkeit geht wieder.
    Was geht da ab???

    Hier mal mein Code ohne RC5-Adr.:
    In der Base:
    Code:
    ...
    #define I2C_REG_LEDS              27
    //#define I2C_REG_RC5_ADR              28
    #define I2C_REG_RC5_DATA          28
    #define I2C_REG_RC5_TOGGLE          29
    #define I2C_REG_BUMP_BACK_L         30
    #define I2C_REG_BUMP_BACK_R         31
    ...
    
            I2CTWI_readRegisters[I2C_REG_LEDS] =              (uint8_t)(statusLEDs.byte);
            //I2CTWI_readRegisters[I2C_REG_RC5_ADR] =          (uint8_t)((lastRC5Reception.device)|(lastRC5Reception.toggle_bit<<5));
            I2CTWI_readRegisters[I2C_REG_RC5_DATA] =          (uint8_t)(lastRC5Reception.key_code);
            I2CTWI_readRegisters[I2C_REG_RC5_TOGGLE] =          (uint8_t)(lastRC5Reception.toggle_bit);
            I2CTWI_readRegisters[I2C_REG_BUMP_BACK_L] =      (uint8_t)(bumper_back_left);
            I2CTWI_readRegisters[I2C_REG_BUMP_BACK_R] =      (uint8_t)(bumper_back_right);
    In der M128:
    Code:
    ...
        status_leds_base = messageBuf[24];
        //RC5_adr = messageBuf[25];
        RC5_data = messageBuf[25];
        RC5_toggle = messageBuf[26];
        bumper_back_left = messageBuf[27];
        bumper_back_right = messageBuf[28];
    
    
     /*print("RC5-Adr:");
                printInteger(RC5_adr);
                print("\n");*/
    
                print("RC5-Code:");
                printInteger(RC5_data);
                print("\n");
    
                print("RC5-Toggle:");
                printInteger(RC5_toggle);
                print("\n");
    
                print("LEDsBase:");
                printInteger(status_leds_base);
                print("\n");
    
                print("BumpHL:");
                printInteger(bumper_back_left);
                print("\n");
    
                print("BumpHR:");
                printInteger(bumper_back_right);
                print("\n");
    Danke Euch

Berechtigungen

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

LiFePO4 Speicher Test