-         

Ergebnis 1 bis 5 von 5

Thema: Wii Motion Plus - Nunchuck Passthrough Mode

  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    24
    Beiträge
    1.544

    Wii Motion Plus - Nunchuck Passthrough Mode

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo,

    in letzter Zeit habe ich mich etwas in die Aktivierung des Passthrough-Modes des WMP (und Nunchuk) eingelesen. Gestern Abend hab ich dann mal beide Teile auf je eine eigene Platine mit LM317 gelötet. Jedes einzelne Modul funktioniert auch bestens, nur sobald ich in den Passthrough Modus will, bekomme ich einen Fehler bei der I2C Kommunikation. Habe mir schon versch. Programme im Arduino-Forum (z.b. von DogP) angesehen, welche scheinbar alle funktionieren! Habs dann mal in Bascom versucht, aber leider gehts nicht. Die ersten gesendeten Befehle zur Initialisierung funktionieren noch (Error = 0), aber das auslesen der 6 Bytes macht mir irgendwie Probleme (Error = 1). Ich kann mir mittlerweile nicht mehr erklären, wo der Fehler liegen könnte, zumal die Module seperat ja funktionieren....
    Hier mal mein Code:
    Code:
    $regfile = "m32def.dat"
    $crystal = 16000000
    $framesize = 80
    $hwstack = 80
    $swstack = 80
    
    
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd.4 , Rs = Portd.5
    Config Lcdbus = 4
    Initlcd
    Cls
    Cursor Off Noblink
    
    Locate 1 , 1
    Lcd "WMP + NUNCHUK"
    
    
    $lib "I2C_TWI.LBX"
    Config Scl = Portc.0
    Config Sda = Portc.1
    Config Twi = 100000
    I2cinit
    
    
    
    Dim Tmp As Byte
    Dim Pos_x As Byte
    Dim Pos_y As Byte
    Dim Acc_x As Byte
    Dim Acc_y As Byte
    Dim Acc_z As Byte
    Dim Buttons As Byte
    Dim Buffer(6) As Byte
    Dim Xid As Byte
    
    Buffer(1) = 0
    Buffer(2) = 0
    Buffer(3) = 0
    Buffer(4) = 0
    Buffer(5) = 0
    Buffer(6) = 0
    
    
    
    Waitms 200
    
    
    
    '##############
    'INITIALISIEREN
    '##############
    
    
    I2csend &H53 ; &HFE ; &H05
    
    Locate 2 , 1
    Lcd "ERROR: " ; Err
    
    Waitms 100
    
    I2csend &H53 ; &HF0 ; &H55
    
    Locate 2 , 1
    Lcd "ERROR: " ; Err
    
    Waitms 100
    
    I2csend &H52 ; &HFA
    
    Locate 2 , 1
    Lcd "ERROR: " ; Err
    
    Waitms 100
    
    
    'Wire.requestFrom (0x52,6);
    'Outbuf[0] = Wire.receive() ; Serial.print(outbuf[0] , Hex) ; Serial.print( " ");
    'Outbuf[1] = Wire.receive() ; Serial.print(outbuf[1] , Hex) ; Serial.print( " ");
    'Outbuf[2] = Wire.receive() ; Serial.print(outbuf[2] , Hex) ; Serial.print( " ");
    'Outbuf[3] = Wire.receive() ; Serial.print(outbuf[3] , Hex) ; Serial.print( " ");
    'Outbuf[4] = Wire.receive() ; Serial.print(outbuf[4] , Hex) ; Serial.print( " ");
    'Outbuf[5] = Wire.receive() ; Serial.print(outbuf[5] , Hex) ; Serial.print( " ");
    
    I2creceive &H52 , Buffer(1) , 0 , 6                         'Ab hier geht nichts mehr!!!
    
    Locate 2 , 1
    Lcd "ERROR: " ; Err
    
    
    Xid = Buffer(1) + Buffer(2)
    Xid = Xid + Buffer(3)
    Xid = Xid + Buffer(4)
    Xid = Xid + Buffer(5)
    Xid = Xid + Buffer(6)
    
    Locate 2 , 10
    Lcd "ID: " ; Xid
    
    Wait 1
    
    
    
    Waitms 100
    
    I2csend &H52 ; &H08
    
    Locate 2 , 1
    Lcd "ERROR: " ; Err
    
    Waitms 500
    
    Gosub Send_zero
    
    Waitms 500
    
    
    Cls
    
    
    
    Do
    
    
    'Send_zero() ; / / Send The Request For Next Bytes
    'Delay(100);
    'Wire.requestfrom(0x52 , 6);
    'Outbuf[0] = Wire.receive();
    'Outbuf[1] = Wire.receive();
    'Outbuf[2] = Wire.receive();
    'Outbuf[3] = Wire.receive();
    'Outbuf[4] = Wire.receive();
    'Outbuf[5] = Wire.receive();
    
    Gosub Send_zero
    Waitms 1
    I2creceive &H52 , Buffer(1) , 0 , 6
    'I2cstart
    'I2cwbyte &H52
    'I2crbyte Buffer(1) , Ack
    'I2crbyte Buffer(2) , Ack
    'I2crbyte Buffer(3) , Ack
    'I2crbyte Buffer(4) , Ack
    'I2crbyte Buffer(5) , Ack
    'I2crbyte Buffer(6) , Nack
    'I2cstop
    
    Locate 1 , 1
    Lcd Buffer(1) ; ":" ; Buffer(2) ; ":" ; Buffer(3) ; "  "
    Locate 2 , 1
    Lcd Buffer(4) ; ":" ; Buffer(5) ; ":" ; Buffer(6) ; "  "
    
    
    
    Loop
    
    
    Send_zero:
      I2csend &H52 ; &H00
    Return
    
    End
    Hat jemand evtl. schonmal was mit dem Passthrough Modus gemacht und könnte mir evtl. ein bisschen unter die Arme greifen? Ich weiß momentan nicht mehr weiter, da ich schon so ziemlich alles ausprobiert habe. Natürlich habe ich die WMP gemäß http://radio-commande.com/wp-content...NK_wiring1.jpg angeschlossen.

    Vielen Dank & Gruß
    Chris

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    24
    Beiträge
    1.544
    Hat noch niemand den Passthrough Mode aktiviert? Ich selbst komme nicht mehr weiter...

    Gruß
    Chris

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    24
    Beiträge
    1.544
    Keine Ideen? ... Schade.

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    46
    Beiträge
    765
    Wenn Du die Programme richtig umgesetzt hast, würde ich als nächstes Soft-TWI probieren. Das läuft bei mir ab und an besser als mit der LIB...
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    24
    Beiträge
    1.544
    Hallo,

    die Software Lösung funktioniert leider auch nicht, hat jemand noch ne Idee?

    Vielen Dank & Gruß
    Chris

Ähnliche Themen

  1. Nunchuck auslesen
    Von Snaper im Forum Sensoren / Sensorik
    Antworten: 12
    Letzter Beitrag: 28.02.2012, 10:45
  2. >Wii Motion Plus< - Robotik tauglich?
    Von Jango1987 im Forum Sensoren / Sensorik
    Antworten: 14
    Letzter Beitrag: 25.07.2011, 17:23
  3. wii motion plus
    Von hman13 im Forum Sensoren / Sensorik
    Antworten: 6
    Letzter Beitrag: 06.04.2010, 18:32
  4. Nunchuck mit Gyroskopen
    Von RobertM im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 1
    Letzter Beitrag: 21.12.2008, 17:40
  5. Nunchuck über i2c Ausleseprobleme (wohl Nunchukseitig)
    Von ustech im Forum AVR Hardwarethemen
    Antworten: 6
    Letzter Beitrag: 06.10.2008, 00:56

Berechtigungen

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