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 no longer exists in [8.0.0+].  
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"