Difference between revisions of "Bus services"
Jump to navigation
Jump to search
(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 | + | 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 17: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. |