I2C Services: Difference between revisions

TimmSkiller (talk | contribs)
TimmSkiller (talk | contribs)
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Category:Services]]
[[Category:Services]]
= I2C Service Names =
__FORCETOC__
== I2C Service Names ==
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
!  Service names
!  Service names
!  Notes
!  Accessible [[I2C_Registers#I2C_Devices|deviceIDs]]
!  Accessible [[I2C_Registers|deviceIDs]]
!  Service used by sysmodule
!  Service used by sysmodule
|-
|-
| "i2c::MCU"
| "i2c::MCU"
|
| 0, 3
| 0, 3
| [[MCU_Services|MCU]]
| [[MCU_Services|MCU]]
|-
|-
| "i2c::CAM"
| "i2c::CAM"
|
| 1, 2, 4
| 1, 2, 4
| [[Camera_Services|Camera]]
| [[Camera_Services|Camera]]
|-
|-
| "i2c::LCD"
| "i2c::LCD"
|
| 5, 6
| 5, 6
| [[GSP_Services|GSP]]
| [[GSP_Services|GSP]]
|-
|-
| "i2c::DEB"
| "i2c::DEB"
|
| 7, 8
| 7, 8
| Unknown
| dmnt
|-
|-
| "i2c::HID"
| "i2c::HID"
|
| 9, 10, 11, 12
| 9, 10, 11, 12
| [[HID_Services|HID]]
| [[HID_Services|HID]]
|-
|-
| "i2c::IR"
| "i2c::IR"
|
| 13, and additionally for New3DS i2c module: 17
| 13, and additionally for New3DS i2c module: 17
| [[IR_Services|IR]]
| [[IR_Services|IR]]
|-
|-
| "i2c::EEP"
| "i2c::EEP"
|
| 14
| 14
| [[Config_Services|Cfg]]
| [[Config_Services|Cfg]]
|-
| colspan="3" |
New3DS-sysmodule specific services:
|-
|-
| "i2c::NFC"
| "i2c::NFC"
| Only available via the New3DS i2c sysmodule.
| 15
| 15
| New3DS [[NFC_Services|NFC]]
| New3DS [[NFC_Services|NFC]]
|-
|-
| "i2c::QTM"
| "i2c::QTM"
| Only available via the New3DS i2c sysmodule.
| 16
| 16
| New3DS [[QTM_Services|QTM]]
| New3DS [[QTM_Services|QTM]]
|}
|}


Each I2C service can only access certain I2C [[I2C_Registers|device(s)]]. When the specified deviceid isn't accessible, error 0xE0A02FEA is returned.
Each I2C service can only access certain I2C [[I2C_Registers|device(s)]].


= I2C Service =
== Commands ==
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 111: Line 106:


Command 0x00150080 is also used for reading ZL, ZR, and C-stick data by [[IR Services]].
Command 0x00150080 is also used for reading ZL, ZR, and C-stick data by [[IR Services]].
== Common Result Values ==
{| class="wikitable" border="1"
|-
! Result code !! Description
|-
| 0xE0A02FEA || The current session is not permitted to access the specified device ID.
|-
| 0xF9602FEF || Communication error. Device may not be connected.
|}