Bus services: Difference between revisions

No edit summary
No edit summary
Line 6: Line 6:
! Cmd || Name
! Cmd || Name
|-
|-
| 0 || [[#OpenSessionForDev]]
| 0 || [[#OpenSessionForDev|OpenSessionForDev]]
|-
|-
| 1 || [[#OpenSession]]
| 1 || [[#OpenSession|OpenSession]]
|-
|-
| 2 || [[#OpenSessionForTest]]
| 2 || [[#OpenSessionForTest|OpenSessionForTest]]
|-
|-
| 3 || [1.0.0-6.2.0] [[#IsWakeEventActive]]
| 3 || [1.0.0-6.2.0] [[#IsWakeEventActive|IsWakeEventActive]]
|-
|-
| 4 || [1.0.0-6.2.0] [[#GetWakeEventActiveFlagSet]]
| 4 || [1.0.0-6.2.0] [[#GetWakeEventActiveFlagSet|GetWakeEventActiveFlagSet]]
|-
|-
| 5 || [1.0.0-6.2.0] [[#SetWakeEventActiveFlagSetForDebug]]
| 5 || [1.0.0-6.2.0] [[#SetWakeEventActiveFlagSetForDebug|SetWakeEventActiveFlagSetForDebug]]
|-
|-
| 6 || [[#SetWakePinDebugMode]]
| 6 || [[#SetWakePinDebugMode|SetWakePinDebugMode]]
|-
|-
| 7 || [5.0.0+] [[#OpenSession2]]
| 7 || [5.0.0+] [[#OpenSession2|OpenSession2]]
|-
|-
| 8 || [5.0.0+] [[#IsWakeEventActive2]]
| 8 || [5.0.0+] [[#IsWakeEventActive2|IsWakeEventActive2]]
|-
|-
| 9 || [5.0.0+] [[#SetWakeEventActiveFlagSetForDebug2]]
| 9 || [5.0.0+] [[#SetWakeEventActiveFlagSetForDebug2|SetWakeEventActiveFlagSetForDebug2]]
|-
|-
| 10 || [6.0.0+] [[#SetRetryValues]]
| 10 || [6.0.0+] [[#SetRetryPolicy|SetRetryPolicy]]
|}
|}


Line 59: Line 59:
Same as [[#SetWakeEventActiveFlagSetForDebug]] but takes a [[#GpioPadName|DeviceCode]].
Same as [[#SetWakeEventActiveFlagSetForDebug]] but takes a [[#GpioPadName|DeviceCode]].


== SetRetryValues ==
== SetRetryPolicy ==
Stubbed. Returns 0.
Stubbed. Returns 0.


Line 69: Line 69:
! Cmd || Name
! Cmd || Name
|-
|-
| 0 || [[#SetDirection]]
| 0 || [[#SetDirection|SetDirection]]
|-
|-
| 1 || [[#GetDirection]]
| 1 || [[#GetDirection|GetDirection]]
|-
|-
| 2 || [[#SetInterruptMode]]
| 2 || [[#SetInterruptMode|SetInterruptMode]]
|-
|-
| 3 || [[#GetInterruptMode]]
| 3 || [[#GetInterruptMode|GetInterruptMode]]
|-
|-
| 4 || [[#SetInterruptEnable]]
| 4 || [[#SetInterruptEnable|SetInterruptEnable]]
|-
|-
| 5 || [[#GetInterruptEnable]]
| 5 || [[#GetInterruptEnable|GetInterruptEnable]]
|-
|-
| 6 || [[#GetInterruptStatus]]
| 6 || [[#GetInterruptStatus|GetInterruptStatus]]
|-
|-
| 7 || [[#ClearInterruptStatus]]
| 7 || [[#ClearInterruptStatus|ClearInterruptStatus]]
|-
|-
| 8 || [[#SetValue]]
| 8 || [[#SetValue|SetValue]]
|-
|-
| 9 || [[#GetValue]]
| 9 || [[#GetValue|GetValue]]
|-
|-
| 10 || [[#BindInterrupt]]
| 10 || [[#BindInterrupt|BindInterrupt]]
|-
|-
| 11 || [[#UnbindInterrupt]]
| 11 || [[#UnbindInterrupt|UnbindInterrupt]]
|-
|-
| 12 || [[#SetDebounceEnabled]]
| 12 || [[#SetDebounceEnabled|SetDebounceEnabled]]
|-
|-
| 13 || [[#GetDebounceEnabled]]
| 13 || [[#GetDebounceEnabled|GetDebounceEnabled]]
|-
|-
| 14 || [[#SetDebounceTime]]
| 14 || [[#SetDebounceTime|SetDebounceTime]]
|-
|-
| 15 || [[#GetDebounceTime]]
| 15 || [[#GetDebounceTime|GetDebounceTime]]
|-
|-
| 16 || [4.0.0+] [[#SetValueForSleepState]]
| 16 || [4.0.0+] [[#SetValueForSleepState|SetValueForSleepState]]
|-
|-
| 17 || [6.0.0+] [[#GetValueForSleepState]]
| 17 || [6.0.0+] [[#GetValueForSleepState|GetValueForSleepState]]
|-
|-
| 18 || [12.0.0+] [[#SetInput]]
| 18 || [12.0.0+] [[#SetInput|SetInput]]
|-
|-
| 19 || [12.0.0+] [[#SetOutput]]
| 19 || [12.0.0+] [[#SetOutput|SetOutput]]
|}
|}


Line 216: Line 216:
| 2 || [1.0.0-5.1.0] ExecuteCommandListOld
| 2 || [1.0.0-5.1.0] ExecuteCommandListOld
|-
|-
| 10 || [[#Send]]
| 10 || [[#Send|Send]]
|-
|-
| 11 || [[#Receive]]
| 11 || [[#Receive|Receive]]
|-
|-
| 12 || [[#ExecuteCommandList]]
| 12 || [[#ExecuteCommandList|ExecuteCommandList]]
|-
|-
| 13 || [6.0.0+] [[#SetRetryPolicy]]
| 13 || [6.0.0+] [[#SetRetryPolicy_2|SetRetryPolicy]]
|}
|}


Line 261: Line 261:
! Cmd || Name
! Cmd || Name
|-
|-
| 0 || [[#HasPort]]
| 0 || [[#HasPort|HasPort]]
|-
|-
| 1 || [[#HasPortForDev]]
| 1 || [[#HasPortForDev|HasPortForDev]]
|-
|-
| 2 || [[#IsSupportedBaudRate]]
| 2 || [[#IsSupportedBaudRate|IsSupportedBaudRate]]
|-
|-
| 3 || [[#IsSupportedBaudRateForDev]]
| 3 || [[#IsSupportedBaudRateForDev|IsSupportedBaudRateForDev]]
|-
|-
| 4 || [[#IsSupportedFlowControlMode]]
| 4 || [[#IsSupportedFlowControlMode|IsSupportedFlowControlMode]]
|-
|-
| 5 || [[#IsSupportedFlowControlModeForDev]]
| 5 || [[#IsSupportedFlowControlModeForDev|IsSupportedFlowControlModeForDev]]
|-
|-
| 6 || [[#CreatePortSession]]
| 6 || [[#CreatePortSession|CreatePortSession]]
|-
|-
| 7 || [[#IsSupportedPortEvent]]
| 7 || [[#IsSupportedPortEvent|IsSupportedPortEvent]]
|-
|-
| 8 || [[#IsSupportedPortEventForDev]]
| 8 || [[#IsSupportedPortEventForDev|IsSupportedPortEventForDev]]
|-
|-
| 9 || [7.0.0+] [[#IsSupportedDeviceVariation]]
| 9 || [7.0.0+] [[#IsSupportedDeviceVariation|IsSupportedDeviceVariation]]
|-
|-
| 10 || [7.0.0+] [[#IsSupportedDeviceVariationForDev]]
| 10 || [7.0.0+] [[#IsSupportedDeviceVariationForDev|IsSupportedDeviceVariationForDev]]
|}
|}


Line 332: Line 332:
! Cmd || Name
! Cmd || Name
|-
|-
| 0 || [[#OpenPort]]
| 0 || [[#OpenPort|OpenPort]]
|-
|-
| 1 || [[#OpenPortForDev]]
| 1 || [[#OpenPortForDev|OpenPortForDev]]
|-
|-
| 2 || [[#GetWritableLength]]
| 2 || [[#GetWritableLength|GetWritableLength]]
|-
|-
| 3 || [[#Send]]
| 3 || [[#Send_2|Send]]
|-
|-
| 4 || [[#GetReadableLength]]
| 4 || [[#GetReadableLength|GetReadableLength]]
|-
|-
| 5 || [[#Receive]]
| 5 || [[#Receive_2|Receive]]
|-
|-
| 6 || [[#BindPortEvent]]
| 6 || [[#BindPortEvent|BindPortEvent]]
|-
|-
| 7 || [[#UnbindPortEvent]]
| 7 || [[#UnbindPortEvent|UnbindPortEvent]]
|-
|-
| 8 || [14.0.0+] [[#OpenPort2]]
| 8 || [14.0.0+] [[#OpenPort2|OpenPort2]]
|}
|}


Line 382: Line 382:


=== OpenPort2 ===
=== OpenPort2 ===
Unofficial name.
Same as [[#OpenPort]], but takes an input u32 [[#UartPort|DeviceCode]] instead of an [[#UartPort]] and no longer returns an output boolean success value.
Same as [[#OpenPort]], but takes an input u32 [[#UartPort|DeviceCode]] instead of an [[#UartPort]] and no longer returns an output boolean success value.


Line 447: Line 445:
! Cmd || Name
! Cmd || Name
|-
|-
| 0 || [[#SetPinAssignment]]
| 0 || [[#SetPinAssignment|SetPinAssignment]]
|-
|-
| 1 || [[#GetPinAssignment]]
| 1 || [[#GetPinAssignment|GetPinAssignment]]
|-
|-
| 2 || [[#SetPinAssignmentForHardwareTest]]
| 2 || [[#SetPinAssignmentForHardwareTest|SetPinAssignmentForHardwareTest]]
|}
|}


Line 485: Line 483:
! Cmd || Name
! Cmd || Name
|-
|-
| 0 || [[#Write]]
| 0 || [[#Send_3|Send]]
|-
|-
| 1 || [[#Read]]
| 1 || [[#Receive_3|Receive]]
|-
|-
| 2 || [[#StartPeriodicReceiveMode]]
| 2 || [[#StartPeriodicReceiveMode|StartPeriodicReceiveMode]]
|-
|-
| 3 || [[#StopPeriodicReceiveMode]]
| 3 || [[#StopPeriodicReceiveMode|StopPeriodicReceiveMode]]
|}
|}


=== Write ===
=== Send ===
Takes a type-0x21 input buffer and an u8 '''SpiCommand'''. No output.
Takes a type-0x21 input buffer and an u8 '''SpiCommand'''. No output.


=== Read ===
=== Receive ===
Takes a type-0x22 output buffer and an u8 '''SpiCommand'''. No output.
Takes a type-0x22 output buffer and an u8 '''SpiCommand'''. No output.


Line 515: Line 513:
! Cmd || Name
! Cmd || Name
|-
|-
| 0 || [[#OpenController]]
| 0 || [[#OpenController|OpenController]]
|}
|}


Line 1,141: Line 1,139:
! Value || Name || DeviceCode || Description
! Value || Name || DeviceCode || Description
|-
|-
| 0 || SPI4 || 0x3500003D || Joy-Con
| 0 || SPI4 || 0x3500003D || Lsm6ds3, Lsm6dsl and Lsm6dso (WHOAMI 0x69, 0x6A and 0x6C)
|-
| [10.0.0+] 1 || SPI4 || 0x3500003D || Unknown (WHOAMI 0x38)
|-
| [13.0.0+] 2 || SPI4 || 0x3500003D || Unknown (WHOAMI 0x60)
|}
|}