HID services: Difference between revisions
No edit summary |
|||
Line 160: | Line 160: | ||
| 211 || [7.0.0+] [[#IsVibrationDeviceMounted]] | | 211 || [7.0.0+] [[#IsVibrationDeviceMounted]] | ||
|- | |- | ||
| 300 || ActivateConsoleSixAxisSensor | | 300 || [3.0.0+] ActivateConsoleSixAxisSensor | ||
|- | |- | ||
| 301 || StartConsoleSixAxisSensor | | 301 || [3.0.0+] StartConsoleSixAxisSensor | ||
|- | |- | ||
| 302 || StopConsoleSixAxisSensor | | 302 || [3.0.0+] StopConsoleSixAxisSensor | ||
|- | |- | ||
| 303 || [5.0.0+] [[#ActivateSevenSixAxisSensor]] | | 303 || [5.0.0+] [[#ActivateSevenSixAxisSensor]] | ||
Line 182: | Line 182: | ||
| 310 || [6.0.0+] [[#ResetSevenSixAxisSensorTimestamp]] | | 310 || [6.0.0+] [[#ResetSevenSixAxisSensorTimestamp]] | ||
|- | |- | ||
| 400 || IsUsbFullKeyControllerEnabled | | 400 || [3.0.0+] IsUsbFullKeyControllerEnabled | ||
|- | |- | ||
| 401 || EnableUsbFullKeyController | | 401 || [3.0.0+] EnableUsbFullKeyController | ||
|- | |- | ||
| 402 || IsUsbFullKeyControllerConnected | | 402 || [3.0.0+] IsUsbFullKeyControllerConnected | ||
|- | |- | ||
| 403 || [4.0.0+] HasBattery | | 403 || [4.0.0+] HasBattery | ||
Line 508: | Line 508: | ||
| 132 || UnsetCaptureButtonAutoPilotState | | 132 || UnsetCaptureButtonAutoPilotState | ||
|- | |- | ||
| 133 || SetShiftAccelerometerCalibrationValue | | 133 || [3.0.0+] SetShiftAccelerometerCalibrationValue | ||
|- | |- | ||
| 134 || GetShiftAccelerometerCalibrationValue | | 134 || [3.0.0+] GetShiftAccelerometerCalibrationValue | ||
|- | |- | ||
| 135 || SetShiftGyroscopeCalibrationValue | | 135 || [3.0.0+] SetShiftGyroscopeCalibrationValue | ||
|- | |- | ||
| 136 || GetShiftGyroscopeCalibrationValue | | 136 || [3.0.0+] GetShiftGyroscopeCalibrationValue | ||
|- | |- | ||
| 140 || DeactivateConsoleSixAxisSensor | | 140 || [3.0.0+] DeactivateConsoleSixAxisSensor | ||
|- | |- | ||
| 141 || [5.0.0+] GetConsoleSixAxisSensorSamplingFrequency | | 141 || [5.0.0+] GetConsoleSixAxisSensorSamplingFrequency | ||
Line 544: | Line 544: | ||
| 202 || DeactivateFirmwareUpdate | | 202 || DeactivateFirmwareUpdate | ||
|- | |- | ||
| 203 || StartFirmwareUpdate | | 203 || [[#StartFirmwareUpdate]] | ||
|- | |- | ||
| 204 || GetFirmwareUpdateStage | | 204 || GetFirmwareUpdateStage | ||
|- | |- | ||
| 205 || GetFirmwareVersion | | 205 || [[#GetFirmwareVersion]] | ||
|- | |- | ||
| 206 || GetDestinationFirmwareVersion | | 206 || [[#GetDestinationFirmwareVersion]] | ||
|- | |- | ||
| 207 || DiscardFirmwareInfoCacheForRevert | | 207 || [[#DiscardFirmwareInfoCacheForRevert]] | ||
|- | |- | ||
| 208 || StartFirmwareUpdateForRevert | | 208 || [3.0.0+] StartFirmwareUpdateForRevert | ||
|- | |- | ||
| 209 || GetAvailableFirmwareVersionForRevert | | 209 || [3.0.0+] GetAvailableFirmwareVersionForRevert | ||
|- | |- | ||
| 210 || [4.0.0+] IsFirmwareUpdatingDevice | | 210 || [4.0.0+] IsFirmwareUpdatingDevice | ||
Line 566: | Line 566: | ||
| 216 || [6.0.0+] SetAllKuinaDevicesToFirmwareUpdateMode | | 216 || [6.0.0+] SetAllKuinaDevicesToFirmwareUpdateMode | ||
|- | |- | ||
| 221 || [[#UpdateControllerColor]] | | 221 || [3.0.0+] [[#UpdateControllerColor]] | ||
|- | |- | ||
| 222 || [4.0.0+] ConnectUsbPadsAsync | | 222 || [4.0.0+] ConnectUsbPadsAsync | ||
Line 636: | Line 636: | ||
| 501 || [8.0.0+] IsFactoryBootEnabled | | 501 || [8.0.0+] IsFactoryBootEnabled | ||
|} | |} | ||
== StartFirmwareUpdate == | |||
Takes a total of 0x20-bytes of input, 2 handles, and returns an output handle. | |||
[3.0.0+] Now takes a total of 8-bytes of input, and no longer uses any input/output handles. | |||
== GetFirmwareVersion == | |||
Takes a total of 8-bytes of input, and returns a total of 4-bytes of output. | |||
[3.0.0+] Now returns an additional 0xC-bytes of output. | |||
== GetDestinationFirmwareVersion == | |||
Takes a total of 8-bytes of input, and returns a total of 4-bytes of output. | |||
[3.0.0+] Now returns an additional 0xC-bytes of output. | |||
== DiscardFirmwareInfoCacheForRevert == | |||
Takes a total of 8-bytes of input, and returns a total of 5-bytes of output. | |||
[3.0.0+] No input/output. | |||
== UpdateControllerColor == | == UpdateControllerColor == | ||
Line 773: | Line 793: | ||
| 511 || GetVibrationMasterVolume | | 511 || GetVibrationMasterVolume | ||
|- | |- | ||
| 512 || BeginPermitVibrationSession | | 512 || [3.0.0+] BeginPermitVibrationSession | ||
|- | |- | ||
| 513 || EndPermitVibrationSession | | 513 || [3.0.0+] EndPermitVibrationSession | ||
|- | |- | ||
| 520 || EnableHandheldHids | | 520 || EnableHandheldHids | ||
Line 789: | Line 809: | ||
| 543 || GetRegisteredDevicesOld ([1.0.0-4.1.0] GetRegisteredDevices) | | 543 || GetRegisteredDevicesOld ([1.0.0-4.1.0] GetRegisteredDevices) | ||
|- | |- | ||
| 544 || AcquireConnectionTriggerTimeoutEvent | | 544 || [3.0.0+] AcquireConnectionTriggerTimeoutEvent | ||
|- | |- | ||
| 545 || SendConnectionTrigger | | 545 || [3.0.0+] SendConnectionTrigger | ||
|- | |- | ||
| 546 || AcquireDeviceRegisteredEventForControllerSupport | | 546 || [3.0.0+] AcquireDeviceRegisteredEventForControllerSupport | ||
|- | |- | ||
| 547 || GetAllowedBluetoothLinksCount | | 547 || [3.0.0+] GetAllowedBluetoothLinksCount | ||
|- | |- | ||
| 548 || [5.0.0+] GetRegisteredDevices | | 548 || [5.0.0+] GetRegisteredDevices | ||
Line 819: | Line 839: | ||
| 804 || CancelSixAxisSensorUserCalibration | | 804 || CancelSixAxisSensorUserCalibration | ||
|- | |- | ||
| 805 || GetUniquePadBluetoothAddress | | 805 || [3.0.0+] GetUniquePadBluetoothAddress | ||
|- | |- | ||
| 806 || DisconnectUniquePad | | 806 || [3.0.0+] DisconnectUniquePad | ||
|- | |- | ||
| 807 || [5.0.0+] GetUniquePadType | | 807 || [5.0.0+] GetUniquePadType | ||
Line 855: | Line 875: | ||
| 830 || [7.0.0+] [[#SetNotificationLedPattern]] | | 830 || [7.0.0+] [[#SetNotificationLedPattern]] | ||
|- | |- | ||
| 850 || IsUsbFullKeyControllerEnabled | | 850 || [3.0.0+] IsUsbFullKeyControllerEnabled | ||
|- | |- | ||
| 851 || EnableUsbFullKeyController | | 851 || [3.0.0+] EnableUsbFullKeyController | ||
|- | |- | ||
| 852 || IsUsbConnected | | 852 || [3.0.0+] IsUsbConnected | ||
|- | |- | ||
| 870 || [5.1.0+] IsHandheldButtonPressedOnConsoleMode | | 870 || [5.1.0+] IsHandheldButtonPressedOnConsoleMode | ||
Line 867: | Line 887: | ||
| 901 || [[#NotifyInputDetector]] | | 901 || [[#NotifyInputDetector]] | ||
|- | |- | ||
| 1000 || InitializeFirmwareUpdate | | 1000 || [3.0.0+] InitializeFirmwareUpdate | ||
|- | |- | ||
| 1001 || GetFirmwareVersion | | 1001 || [3.0.0+] GetFirmwareVersion | ||
|- | |- | ||
| 1002 || GetAvailableFirmwareVersion | | 1002 || [3.0.0+] GetAvailableFirmwareVersion | ||
|- | |- | ||
| 1003 || IsFirmwareUpdateAvailable | | 1003 || [3.0.0+] IsFirmwareUpdateAvailable | ||
|- | |- | ||
| 1004 || CheckFirmwareUpdateRequired | | 1004 || [3.0.0+] CheckFirmwareUpdateRequired | ||
|- | |- | ||
| 1005 || StartFirmwareUpdate | | 1005 || [3.0.0+] StartFirmwareUpdate | ||
|- | |- | ||
| 1006 || AbortFirmwareUpdate | | 1006 || [3.0.0+] AbortFirmwareUpdate | ||
|- | |- | ||
| 1007 || GetFirmwareUpdateState | | 1007 || [3.0.0+] GetFirmwareUpdateState | ||
|- | |- | ||
| 1008 || [4.0.0+] ActivateAudioControl | | 1008 || [4.0.0+] ActivateAudioControl | ||
Line 1,121: | Line 1,141: | ||
This is "nn::hid::IHidTemporaryServer". | This is "nn::hid::IHidTemporaryServer". | ||
This service | This service was added with [3.0.0+], then removed with [8.0.0+]. | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 1,299: | Line 1,319: | ||
| 3 || || Takes an input u32, returns an [[#IReadSession]]. | | 3 || || Takes an input u32, returns an [[#IReadSession]]. | ||
|- | |- | ||
| 4 || || Takes an input u32, returns an [[#IWriteSession]]. | | [?-2.3.0] 4 || || Takes an input u32, returns an [[#IWriteSession]]. | ||
|} | |} | ||
Line 1,332: | Line 1,352: | ||
|- | |- | ||
| 11 || || | | 11 || || | ||
|- | |||
| 12 || [3.0.0+] || | |||
|} | |} | ||
Line 1,347: | Line 1,369: | ||
Cmd0 uses [[USB_services|PostBufferAsync]] etc with the INPUT endpoint. The size must be <=0x1000. The actual transfer size is returned in an output u64. The data is copied from the tmpbuf to the output buffer using the actual-transfer-size. | Cmd0 uses [[USB_services|PostBufferAsync]] etc with the INPUT endpoint. The size must be <=0x1000. The actual transfer size is returned in an output u64. The data is copied from the tmpbuf to the output buffer using the actual-transfer-size. | ||
[3.0.0+] Cmd0 now takes a total of 8-bytes of input. | |||
== IWriteSession == | == IWriteSession == | ||
This is "nn::ahid::IWriteSession". | This is "nn::ahid::IWriteSession". | ||
This was removed with [3.0.0+]. | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" |