Difference between revisions of "I2C Services"
Jump to navigation
Jump to search
Line 15: | Line 15: | ||
|- | |- | ||
! Command Header | ! Command Header | ||
+ | ! Available since system-version | ||
! Description | ! Description | ||
|- | |- | ||
| 0x00010100 | | 0x00010100 | ||
+ | | | ||
| SetRegisterBits8 (u8 devid, u8 regid, u8 regdata, u8 mask) | | SetRegisterBits8 (u8 devid, u8 regid, u8 regdata, u8 mask) | ||
|- | |- | ||
| 0x0002.... | | 0x0002.... | ||
+ | | | ||
| EnableRegisterBits8 (u8 devid, u8 regid, u8 enablemask) | | EnableRegisterBits8 (u8 devid, u8 regid, u8 enablemask) | ||
|- | |- | ||
| 0x000300C0 | | 0x000300C0 | ||
+ | | | ||
| DisableRegisterBits8 (u8 devid, u8 regid, u8 disablemask) | | DisableRegisterBits8 (u8 devid, u8 regid, u8 disablemask) | ||
|- | |- | ||
| 0x00040102 | | 0x00040102 | ||
+ | | | ||
| MultiSetRegisterBits16 (u16 regid, u16 regdata, u16 mask, devcount, u8* devidlistptr) | | MultiSetRegisterBits16 (u16 regid, u16 regdata, u16 mask, devcount, u8* devidlistptr) | ||
|- | |- | ||
| 0x0005.... | | 0x0005.... | ||
+ | | | ||
| WriteRegister8 (u8 devid, u8 regid, u8 regdata) | | WriteRegister8 (u8 devid, u8 regid, u8 regdata) | ||
|- | |- | ||
| 0x0006.... | | 0x0006.... | ||
+ | | | ||
| WriteCommand8 (u8 devid, u8 cmdid) | | WriteCommand8 (u8 devid, u8 cmdid) | ||
|- | |- | ||
| 0x0007.... | | 0x0007.... | ||
+ | | | ||
| WriteRegister16 (u8 devid, u16 regid, u16 regdata) | | WriteRegister16 (u8 devid, u16 regid, u16 regdata) | ||
|- | |- | ||
| 0x000800C2 | | 0x000800C2 | ||
+ | | | ||
| MultiWriteRegister16 (u16 regid, u16 regdata, devcount, u8* devidlistptr) | | MultiWriteRegister16 (u16 regid, u16 regdata, devcount, u8* devidlistptr) | ||
|- | |- | ||
| 0x0009.... | | 0x0009.... | ||
+ | | | ||
| u8 ReadRegister8 (u8 devid, u8 regid) | | u8 ReadRegister8 (u8 devid, u8 regid) | ||
|- | |- | ||
| 0x000A.... | | 0x000A.... | ||
+ | | | ||
| u16 ReadRegister16 (u8 devid, u16 regid) | | u16 ReadRegister16 (u8 devid, u16 regid) | ||
|- | |- | ||
| 0x000B00C2 | | 0x000B00C2 | ||
+ | | | ||
| WriteRegisterBuffer8 (u8 devid, u8 regid, buffersize, (buffersize << 14) <nowiki>|</nowiki> 0x402, u8* bufferptr) | | WriteRegisterBuffer8 (u8 devid, u8 regid, buffersize, (buffersize << 14) <nowiki>|</nowiki> 0x402, u8* bufferptr) | ||
|- | |- | ||
| 0x000C00C2 | | 0x000C00C2 | ||
+ | | | ||
| WriteRegisterBuffer16 (u8 devid, u16 regid, buffersize, (buffersize << 15) <nowiki>|</nowiki> 0x402, u16* bufferptr) | | WriteRegisterBuffer16 (u8 devid, u16 regid, buffersize, (buffersize << 15) <nowiki>|</nowiki> 0x402, u16* bufferptr) | ||
|- | |- | ||
| 0x000D00C0 | | 0x000D00C0 | ||
+ | | | ||
| ReadRegisterBuffer8 (u8 devid, u8 regid, buffersize, +0x180: (buffersize << 14) <nowiki>|</nowiki> 2, +0x184: u8 bufferptr) | | ReadRegisterBuffer8 (u8 devid, u8 regid, buffersize, +0x180: (buffersize << 14) <nowiki>|</nowiki> 2, +0x184: u8 bufferptr) | ||
|- | |- | ||
| 0x000E00C2 | | 0x000E00C2 | ||
+ | | | ||
| WriteRegisterBuffer8_again? (u8 devid, u8 regid, buffersize, u8* bufferptr) | | WriteRegisterBuffer8_again? (u8 devid, u8 regid, buffersize, u8* bufferptr) | ||
|- | |- | ||
| 0x000F.... | | 0x000F.... | ||
+ | | | ||
| | | | ||
|- | |- | ||
| 0x0010.... | | 0x0010.... | ||
+ | | | ||
| | | | ||
|- | |- | ||
| 0x001100C2 | | 0x001100C2 | ||
+ | | | ||
| ReadRegisterBuffer(u8 devid, u16 regid, buffersize, u8 *buff) | | ReadRegisterBuffer(u8 devid, u16 regid, buffersize, u8 *buff) | ||
|- | |- | ||
| 0x001200C2 | | 0x001200C2 | ||
+ | | | ||
| WriteRegisterBuffer(u8 devid, u16 regid, buffersize, u8 *buff) | | WriteRegisterBuffer(u8 devid, u16 regid, buffersize, u8 *buff) | ||
|- | |- | ||
| 0x0013.... | | 0x0013.... | ||
+ | | ? | ||
| | | | ||
|- | |- | ||
| 0x00140082 | | 0x00140082 | ||
− | | | + | | ? |
+ | | (u8 devid, u32 buffersize, (buffersize << 14) <nowiki>|</nowiki> 0x402, bufferptr) | ||
|- | |- | ||
− | | | + | | 0x00150080 |
− | | | + | | ? |
+ | | (u8 devid, u32 buffersize, +0x180: (buffersize << 14) <nowiki>|</nowiki> 2, +0x184: bufferptr) | ||
|} | |} |
Revision as of 05:54, 14 April 2015
I2C Service Names
- "i2c::MCU"
- "i2c::CAM"
- "i2c::LCD"
- "i2c::DEB"
- "i2c::HID"
- "i2c::IR"
- "i2c::EEP"
- "i2c::NFC" (Only available via the New3DS i2c sysmodule)
- "i2c::QTM" (Only available via the New3DS i2c sysmodule)
I2C Service
Command Header | Available since system-version | Description |
---|---|---|
0x00010100 | SetRegisterBits8 (u8 devid, u8 regid, u8 regdata, u8 mask) | |
0x0002.... | EnableRegisterBits8 (u8 devid, u8 regid, u8 enablemask) | |
0x000300C0 | DisableRegisterBits8 (u8 devid, u8 regid, u8 disablemask) | |
0x00040102 | MultiSetRegisterBits16 (u16 regid, u16 regdata, u16 mask, devcount, u8* devidlistptr) | |
0x0005.... | WriteRegister8 (u8 devid, u8 regid, u8 regdata) | |
0x0006.... | WriteCommand8 (u8 devid, u8 cmdid) | |
0x0007.... | WriteRegister16 (u8 devid, u16 regid, u16 regdata) | |
0x000800C2 | MultiWriteRegister16 (u16 regid, u16 regdata, devcount, u8* devidlistptr) | |
0x0009.... | u8 ReadRegister8 (u8 devid, u8 regid) | |
0x000A.... | u16 ReadRegister16 (u8 devid, u16 regid) | |
0x000B00C2 | WriteRegisterBuffer8 (u8 devid, u8 regid, buffersize, (buffersize << 14) | 0x402, u8* bufferptr) | |
0x000C00C2 | WriteRegisterBuffer16 (u8 devid, u16 regid, buffersize, (buffersize << 15) | 0x402, u16* bufferptr) | |
0x000D00C0 | ReadRegisterBuffer8 (u8 devid, u8 regid, buffersize, +0x180: (buffersize << 14) | 2, +0x184: u8 bufferptr) | |
0x000E00C2 | WriteRegisterBuffer8_again? (u8 devid, u8 regid, buffersize, u8* bufferptr) | |
0x000F.... | ||
0x0010.... | ||
0x001100C2 | ReadRegisterBuffer(u8 devid, u16 regid, buffersize, u8 *buff) | |
0x001200C2 | WriteRegisterBuffer(u8 devid, u16 regid, buffersize, u8 *buff) | |
0x0013.... | ? | |
0x00140082 | ? | (u8 devid, u32 buffersize, (buffersize << 14) | 0x402, bufferptr) |
0x00150080 | ? | (u8 devid, u32 buffersize, +0x180: (buffersize << 14) | 2, +0x184: bufferptr) |