HID services: Difference between revisions

Line 608: Line 608:
| 323 || [5.0.0+] UnsetAllAutoPilotVirtualPadState
| 323 || [5.0.0+] UnsetAllAutoPilotVirtualPadState
|-
|-
| 324 || [7.0.0+] AttachHdlsWorkBuffer
| 324 || [7.0.0+] [[#AttachHdlsWorkBuffer]]
|-
|-
| 325 || [7.0.0+] ReleaseHdlsWorkBuffer
| 325 || [7.0.0+] [[#ReleaseHdlsWorkBuffer]]
|-
|-
| 326 || [7.0.0+] DumpHdlsNpadAssignmentState
| 326 || [7.0.0+] [[#DumpHdlsNpadAssignmentState]]
|-
|-
| 327 || [7.0.0+] DumpHdlsStates
| 327 || [7.0.0+] [[#DumpHdlsStates]]
|-
|-
| 328 || [7.0.0+] ApplyHdlsNpadAssignmentState
| 328 || [7.0.0+] [[#ApplyHdlsNpadAssignmentState]]
|-
|-
| 329 || [7.0.0+] ApplyHdlsStateList
| 329 || [7.0.0+] [[#ApplyHdlsStateList]]
|-
|-
| 330 || [7.0.0+] AttachHdlsVirtualDevice
| 330 || [7.0.0+] [[#AttachHdlsVirtualDevice]]
|-
|-
| 331 || [7.0.0+] DetachHdlsVirtualDevice
| 331 || [7.0.0+] [[#DetachHdlsVirtualDevice]]
|-
|-
| 332 || [7.0.0+] SetHdlsState
| 332 || [7.0.0+] [[#SetHdlsState]]
|-
|-
| 350 || [5.0.0+] AddRegisteredDevice
| 350 || [5.0.0+] AddRegisteredDevice
Line 650: Line 650:


Sends the spi-write subcommand to the specified controller, for writing to offset 0x6050 size 0xD. The first 3-bytes from each u32 is used for the spi-write-data, with the u8 being copied immediately afterwards the color data.
Sends the spi-write subcommand to the specified controller, for writing to offset 0x6050 size 0xD. The first 3-bytes from each u32 is used for the spi-write-data, with the u8 being copied immediately afterwards the color data.
== AttachHdlsWorkBuffer ==
Takes an input TransferMemory handle and an u64 for the TransferMemory size, no output.
Official user-processes use TransferMemory size=0x1000 and permissions=RW.
This TransferMemory is used as input/output by the other Hdls commands.
== ReleaseHdlsWorkBuffer ==
No input/output.
== DumpHdlsNpadAssignmentState ==
No input/output.
After using this cmd, the output 0x208-byte '''HdlsNpadAssignment''' struct is located at tmem+0.
== DumpHdlsStates ==
No input/output.
After using this cmd, the output 0x408-byte '''HdlsStateList''' struct is located at tmem+0.
== ApplyHdlsNpadAssignmentState ==
Takes an input u8 bool, no output.
Prior to using this cmd, the input 0x208-byte '''HdlsNpadAssignment''' struct is written to tmem+0 by the user-process.
== ApplyHdlsStateList ==
No input/output.
Prior to using this cmd, the input 0x408-byte '''HdlsStateList''' struct is written to tmem+0 by the user-process.
== AttachHdlsVirtualDevice ==
Takes an 0x10-byte '''HdlsDeviceInfo''' struct, returns a 8-byte '''HdlsHandle'''.
== DetachHdlsVirtualDevice ==
Takes an input 8-byte '''HdlsHandle''', no output.
== SetHdlsState ==
Takes an input 0x24-byte '''HdlsState''' struct and an input 8-byte '''HdlsHandle''', no output.


= hid:sys =
= hid:sys =