Bus services: Difference between revisions

From Nintendo Switch Brew
Jump to navigation Jump to search
No edit summary
thx BotW
Line 4: Line 4:
! Cmd || Name
! Cmd || Name
|-
|-
| 0 || OpenSessionForDev
| 0 || [[#OpenSessionForDev]]
|-
|-
| 1 || [[#OpenSession]]
| 1 || [[#OpenSession]]
Line 18: Line 18:
| 6 ||
| 6 ||
|}
|}
== OpenSessionForDev ==
Takes a raw GpioPadDescriptor and returns a [[#IPadSession]] session for it.


== OpenSession ==
== OpenSession ==
Same thing as OpenSessionForDev except the descriptor is looked up in a table:
Same thing as OpenSessionForDev except the descriptor is looked up in the table below.
Returns an [[#IPadSession]] session.


{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 45: Line 49:
== OpenSessionForTest ==
== OpenSessionForTest ==
Same as [[#OpenSession]] but panics on failure.
Same as [[#OpenSession]] but panics on failure.
== IPadSession ==
{| class="wikitable" border="1"
|-
! Cmd || Name
|-
| 0 || SetDirection
|-
| 1 || GetDirection
|-
| 2 || SetInterruptMode
|-
| 3 || GetInterruptMode
|-
| 4 || SetInterruptEnable
|-
| 5 || GetInterruptEnable
|-
| 6 || GetInterruptStatus
|-
| 7 || ClearInterruptStatus
|-
| 8 || SetValue
|-
| 9 || GetValue
|-
| 10 || BindInterrupt
|-
| 11 || UnbindInterrupt
|-
| 12 || SetDebounceEnabled
|-
| 13 || GetDebounceEnabled
|-
| 14 || SetDebounceTime
|-
| 15 || GetDebounceTime
|}


== GpioPadDescriptor ==
== GpioPadDescriptor ==

Revision as of 19:14, 2 July 2017

gpio

Cmd Name
0 #OpenSessionForDev
1 #OpenSession
2 #OpenSessionForTest
3 IsWakeEventActive
4 GetWakeEventActiveFlagSet
5 SetWakeEventActiveFlagSetForDebug
6

OpenSessionForDev

Takes a raw GpioPadDescriptor and returns a #IPadSession session for it.

OpenSession

Same thing as OpenSessionForDev except the descriptor is looked up in the table below. Returns an #IPadSession session.

GpioPadName GpioPadDescriptor
2 0x24
4 0xDA
5 0xDB
6 0xDC
7 0x25
8 0x90
9 0x91
.. ..

OpenSessionForTest

Same as #OpenSession but panics on failure.

IPadSession

Cmd Name
0 SetDirection
1 GetDirection
2 SetInterruptMode
3 GetInterruptMode
4 SetInterruptEnable
5 GetInterruptEnable
6 GetInterruptStatus
7 ClearInterruptStatus
8 SetValue
9 GetValue
10 BindInterrupt
11 UnbindInterrupt
12 SetDebounceEnabled
13 GetDebounceEnabled
14 SetDebounceTime
15 GetDebounceTime

GpioPadDescriptor

Bits Description
7-5 Controller index
4-3 Port index
2-0 Pin number

i2c

Cmd Name Notes
0 Black screen hang.
1 Takes a word. Returns a session handle.
2 Returns a u8/bool.
3 Black screen hang.

i2c:pcv

uart

Cmd Name Notes
0 Returns a u8/bool.
1 Returns a u8/bool.
2 Returns a u8/bool.
3 Returns a u8/bool.
4 Takes marshalled arguments.
5 Takes marshalled arguments.
6 Returns a handle to an IPC session #IUartSubinterface.

IUartSubinterface

Cmd Name Notes
0 Takes marshalled arguments
1 Takes marshalled arguments
2
3 Takes marshalled arguments
4 Returns 2x u64. Both zero.