USB services: Difference between revisions

No edit summary
No edit summary
Line 464: Line 464:
| 7 ([1.0.0] 6) || [[#AcquireUsbIf]]
| 7 ([1.0.0] 6) || [[#AcquireUsbIf]]
|-
|-
| 8 ([1.0.0] 7) || [6.0.0+] ([1.0.0] [[#GetDescriptorString]])
| 8 ([1.0.0] 7) || [6.0.0+] SetTestMode ([1.0.0] [[#GetDescriptorString]])
|-
|-
| [1.0.0] 8 || [[#ResetDevice]]
| [1.0.0] 8 || [[#ResetDevice]]
Line 548: Line 548:
| [2.0.0+] 5 || [[#CtrlXferAsync]]
| [2.0.0+] 5 || [[#CtrlXferAsync]]
|-
|-
| 6 || ([1.0.0] [[#SubmitControlInRequest]])
| 6 || [[#GetCtrlXferCompletionEvent]] ([1.0.0] [[#SubmitControlInRequest]])
|-
|-
| 7 || [[#GetCtrlXferReport]] ([1.0.0] [[#SubmitControlOutRequest]])
| 7 || [[#GetCtrlXferReport]] ([1.0.0] [[#SubmitControlOutRequest]])
Line 581: Line 581:
Takes 2 input u8s ('''bmRequestType''' and '''bRequest'''), 3 input u16s ('''wValue''', '''wIndex''', and '''wLength'''), and an input u64 '''buffer''', no output.
Takes 2 input u8s ('''bmRequestType''' and '''bRequest'''), 3 input u16s ('''wValue''', '''wIndex''', and '''wLength'''), and an input u64 '''buffer''', no output.


=== Cmd6 ===
=== GetCtrlXferCompletionEvent ===
No input, returns an output handle. Signaled when [[#CtrlXferAsync]] finishes.
No input, returns an output handle. Signaled when [[#CtrlXferAsync]] finishes.


Line 776: Line 776:
| 6 || [2.0.0+] [[#GetHostPdcDeviceId]]
| 6 || [2.0.0+] [[#GetHostPdcDeviceId]]
|-
|-
| 7 || [3.0.0+] [[#AwakeCradle]]
| 7 || [3.0.0+] [[#EnableCradleRecovery]]
|-
|-
| 8 || [3.0.0+] [[#SleepCradle]]
| 8 || [3.0.0+] [[#DisableCradleRecovery]]
|}
|}


Line 808: Line 808:
No input. Returns an output u16.
No input. Returns an output u16.


=== AwakeCradle ===
=== EnableCradleRecovery ===
Unofficial name.
 
No input. Returns an output u8.
No input. Returns an output u8.


=== SleepCradle ===
=== DisableCradleRecovery ===
Unofficial name.
 
No input. Returns an output u8.
No input. Returns an output u8.


Line 878: Line 874:
! Cmd || Name
! Cmd || Name
|-
|-
| 0 ||  
| 0 || [[#ImportQuirkDevices]]
|-
|-
| 1 ||  
| 1 || [[#HasQuirk]]
|}
|}


== Cmd0 ==
== ImportQuirkDevices ==
No input/output, takes a type-0x5 input buffer.
No input/output, takes a type-0x5 input buffer.


This loads data for [[#HidGamepad]] with the input .json.
This loads data for [[#HidGamepad]] with the input .json.


== Cmd1 ==
== HasQuirk ==
Takes 6-bytes of input (u16s '''vid''', '''pid''', '''bcdDevice''') and a type-0x5 input buffer, returns an output u8 bool indicating success.
Takes 6-bytes of input (u16s '''vid''', '''pid''', '''bcdDevice''') and a type-0x5 input buffer, returns an output u8 bool indicating success.