The value 0x17 was used previously, which is equivalent. If the host key is 16 zero bytes, table1 and table2 are all 0x97. Where table1 and table2 are 8-byte tables calculated based on the 16-byte key sent by the host, and address is the address of the byte being read (only the bottom 3 bits matter). In encrypted mode, bytes can be decrypted using the following transformation:ĭecrypted_byte = (encrypted_byte XOR table1) + table2 Communications are optionally encrypted, and explicit initialization is required to disable encryption (see below). These registers are readable and writable. The data is 0x100 bytes long, and it is mirrored across the entire 16-bit address space up to 0xa4FFFF. Other extension Controllers are mapped at register address 0xa40000. Wii Motion Plus is mapped at register 0xa60000. Remember to set bit 2 (0x04) on the first byte of the Output Reports to write to registers! It is easy to make homebrew peripherals see the Tenkey numberpad project(japanese), gyro project(japanese), the Twiidler project, the DIY Wii drum controller, the OpenChord Guitar,or the DIY Wii guitar proof of concept demo video. Peripheral Protocol is 400kHz "fast" I2C, with slave address 0x52. ![]() The Wii Motion Plus is a small expansion which itself has an expansion port, allowing people to plug the Nunchuk into the Wii Motion Plus and the Wii Motion Plus into the Wii Remote. There are also many third party versions of classic controllers and nunchuks. The balance board acts like a dummy Wiimote with its own type of extension controller. In addition, Guitar Hero guitars and drums also act as extension controllers, although the Rock Band guitars and drums connect using their own system. Nintendo has currently released two extensions, the Nunchuk and the Classic Controller. Communications are encrypted, as detailed in below. Communications are bidirectional synchronous serial I2C, and the devices provide a virtual register block of length 0x100 that is mapped at 0xa40000 in the Wii Remote's address space (The 7-bit I2C address is 0x52). The Wii Remote includes a 6-pin expansion port that allows external peripherals to be connected to it. Its nice to see that all that reading and researching really paid off.Pins on the Wii expansion controller cable I had the idea of scrapping the laptop and going much faster with the Xbee’s and getting away from all the extra wii stuff that was getting in the way. Whats nice is that when i first did this i was using the johnny lee library and a laptop with a bluetooth (9600) module to transfer the data first from the wii to the laptop and then again from the laptop to the controller. ![]() Its definately working though and it is fast! Still a work in progress but its really coming along. I also have a small issue with the xbee’s losing part of the 2 byte readings every 20 or so seconds, makes the dot jump across the screen when it happens. i just averaged the last 3 readings and it gets rid of most of the twitching (which i think is caused by the resolution of the camera trying to make measurements on small dots that are 6+ feet from the camera). Yeah, i actually did that later (and put it in a smaller enclosure). Probably the: " + ADDR_SENSOR + " address is wrong ?", e) Throw new Exception("Can't communicate with the I2C bus. Private I2CDevice _camera = new I2CDevice(new I2CDevice.Configuration(ADDR_SENSOR, 400)) ![]() Return "X: " + x + " - Y: " + y + " - S: " + size Private const byte ADDR_SENSOR = 0xB0 > 1
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |