Joy-Con: Difference between revisions

These were swapped
 
(5 intermediate revisions by the same user not shown)
Line 128: Line 128:
! Description
! Description
|-
|-
| 0x43 || GetReport
| 0x43 || ReportOut
|-
|-
| 0x53 || SetReport
| 0x53 || ReportIn
|-
|-
| 0x91 || DeviceCommandIn
| 0x91 || DeviceCommandIn
Line 142: Line 142:
| 0x95 ||  
| 0x95 ||  
|-
|-
| 0x9A ||  
| 0x9A || Fifty
|-
|-
| 0xA3 ||  
| 0xA3 || ReportComplete
|-
|-
| 0xA5 || Handshake
| 0xA5 || Handshake
Line 650: Line 650:
| 0x72 || OtaReadReport
| 0x72 || OtaReadReport
|-
|-
| 0x73 || OtaWriteReport
| 0x73 || OtaEraseReport
|-
|-
| 0x74 || OtaEraseReport
| 0x74 || OtaWriteReport
|-
|-
| 0x75 || OtaLaunchReport
| 0x75 || OtaLaunchReport
Line 1,114: Line 1,114:
|-
|-
| 0x6000 || 0x1000 || [[#FactoryConfiguration|FactoryConfiguration]]
| 0x6000 || 0x1000 || [[#FactoryConfiguration|FactoryConfiguration]]
|-
| 0x7000 || 0x1000 || Reserved
|-
|-
| 0x8000 || 0x1000 || [[#UserCalibration|UserCalibration]]
| 0x8000 || 0x1000 || [[#UserCalibration|UserCalibration]]
Line 1,175: Line 1,177:
| 0x10 || 0x2 || Reserved
| 0x10 || 0x2 || Reserved
|-
|-
| 0x12 || 0x1 || [[#Type|Type]]
| 0x12 || 0x1 || [[#DeviceType|DeviceType]]
|-
|-
| 0x13 || 0x1 || BoardRevision
| 0x13 || 0x1 || BoardRevision
Line 1,207: Line 1,209:
| 0xAC || 0x1 || GyroscopeAxisAssignment
| 0xAC || 0x1 || GyroscopeAxisAssignment
|-
|-
| 0xAD || 0x1 || MainAnalogStickAxisAssignment
| 0xAD || 0x1 || AnalogStickMainAxisAssignment
|-
|-
| 0xAE || 0x1 || SubAnalogStickAxisAssignment
| 0xAE || 0x1 || AnalogStickSubAxisAssignment
|-
|-
| 0xAF || 0x151 || Reserved
| 0xAF || 0x151 || Reserved
Line 1,224: Line 1,226:
|-
|-
| 0xE00 || 0x100 || InspectionLog
| 0xE00 || 0x100 || InspectionLog
|-
| 0xF00 || 0x100 || Reserved
|}
|}


=== Type ===
=== DeviceType ===
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 1,232: Line 1,236:
! Description
! Description
|-
|-
| 0x01 || JoyLeft
| 0x01 || JoyConLeft
|-
|-
| 0x02 || JoyRight
| 0x02 || JoyConRight
|-
|-
| 0x03 || SwitchProController
| 0x03 || SwitchProController
|-
|-
| 0x04 || ([[HID_services#DeviceTypeInternal|DeviceType]] 4)
| 0x04 || MiyabiLeft
|-
|-
| 0x05 || ([[HID_services#DeviceTypeInternal|DeviceType]] 5)
| 0x05 || MiyabiRight
|-
|-
| 0x06 || Tarragon ([[HID_services#DeviceTypeInternal|DeviceType]] 6)
| 0x06 || Tarragon
|-
|-
| 0x07 || LarkHvc1
| 0x07 || LarkH1
|-
|-
| 0x08 || LarkHvc2
| 0x08 || LarkH2
|-
|-
| 0x09 || LarkNesLeft
| 0x09 || LarkNL
|-
|-
| 0x0A || LarkNesRight
| 0x0A || LarkNR
|-
|-
| 0x0B || Lucia
| 0x0B || Lucia
Line 1,258: Line 1,262:
| 0x0D || [13.0.0+] Lager
| 0x0D || [13.0.0+] Lager
|-
|-
| 0x0E || [14.0.0+] ([[HID_services#DeviceTypeInternal|DeviceType]] 30)
| 0x0E || [14.0.0+] Tarragon2
|-
|-
| 0x21 || FiftyLeft ([[HID_services#DeviceTypeInternal|DeviceType]] 14)
| 0x21 || FiftyL
|-
|-
| 0x22 || FiftyRight ([[HID_services#DeviceTypeInternal|DeviceType]] 18)
| 0x22 || FiftyR
|}
|}


Line 1,288: Line 1,292:
| 0x4 || 0x2 || Accelerometer0OffsetZ
| 0x4 || 0x2 || Accelerometer0OffsetZ
|-
|-
| 0x6 || 0x2 || Accelerometer1GScaleX
| 0x6 || 0x2 || Accelerometer1gScaleX
|-
|-
| 0x8 || 0x2 || Accelerometer1GScaleY
| 0x8 || 0x2 || Accelerometer1gScaleY
|-
|-
| 0xA || 0x2 || Accelerometer1GScaleZ
| 0xA || 0x2 || Accelerometer1gScaleZ
|-
|-
| 0xC || 0x2 || Gyroscope0OffsetX
| 0xC || 0x2 || Gyroscope0OffsetX
Line 1,300: Line 1,304:
| 0x10 || 0x2 || Gyroscope0OffsetZ
| 0x10 || 0x2 || Gyroscope0OffsetZ
|-
|-
| 0x12 || 0x2 || Gyroscope78RpmX
| 0x12 || 0x2 || Gyroscope78rpmScaleX
|-
|-
| 0x14 || 0x2 || Gyroscope78RpmY
| 0x14 || 0x2 || Gyroscope78rpmScaleY
|-
|-
| 0x16 || 0x2 || Gyroscope78RpmZ
| 0x16 || 0x2 || Gyroscope78rpmScaleZ
|}
|}


Line 1,314: Line 1,318:
! Description
! Description
|-
|-
| 0x0 || 0x9 || [[#MainAnalogStickCalibrationValue|MainAnalogStickCalibrationValue]]
| 0x0 || 0x9 || [[#AnalogStickCalibrationValue|AnalogStickMainCalibrationValue]]
|-
|-
| 0x9 || 0x9 || [[#SubAnalogStickCalibrationValue|SubAnalogStickCalibrationValue]]
| 0x9 || 0x9 || [[#AnalogStickCalibrationValue|AnalogStickSubCalibrationValue]]
|}
|}


==== MainAnalogStickCalibrationValue ====
==== AnalogStickCalibrationValue ====
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 1,326: Line 1,330:
! Description
! Description
|-
|-
| 0x0 || 0x3 || AnalogStickCalXPositiveAndAnalogStickCalYPositive
| 0x0 || 0x1 || AnalogStickCalXPositive
|-
| 0x3 || 0x3 || AnalogStickCalX0AndAnalogStickCalY0
|-
|-
| 0x6 || 0x3 || AnalogStickCalXNegativeAndAnalogStickCalYNegative
| 0x1 || 0x2 || AnalogStickCalYPositive
|}
 
==== SubAnalogStickCalibrationValue ====
{| class="wikitable" border="1"
|-
|-
! Offset
| 0x3 || 0x1 || AnalogStickCalX0
! Size
! Description
|-
|-
| 0x0 || 0x3 || AnalogStickCalX0AndAnalogStickCalY0
| 0x4 || 0x2 || AnalogStickCalY0
|-
|-
| 0x3 || 0x3 || AnalogStickCalXNegativeAndAnalogStickCalYNegative
| 0x6 || 0x1 || AnalogStickCalXNegative
|-
|-
| 0x6 || 0x3 || AnalogStickCalXPositiveAndAnalogStickCalYPositive
| 0x7 || 0x2 || AnalogStickCalYNegative
|}
|}


Line 1,366: Line 1,362:
! Description
! Description
|-
|-
| 0x0 || 0x3 || MainColor (body color of controller in RGB Hex, see [[Joy-Con#Colors|Joy-Con Colors]])
| 0x0 || 0x1 || MainColorR
|-
| 0x1 || 0x1 || MainColorG
|-
|-
| 0x3 || 0x3 || SubColor (button color of controller in RGB Hex, see [[Joy-Con#Colors|Joy-Con Colors]])
| 0x2 || 0x1 || MainColorB
|-
|-
| 0x6 || 0x3 || 3rdColor (left grip color of controller in RGB Hex)
| 0x3 || 0x1 || SubColorR
|-
|-
| 0x9 || 0x3 || 4thColor (right grip color of controller in RGB Hex)
| 0x4 || 0x1 || SubColorG
|-
| 0x5 || 0x1 || SubColorB
|-
| 0x6 || 0x1 || 3rdColorR
|-
| 0x7 || 0x1 || 3rdColorG
|-
| 0x8 || 0x1 || 3rdColorB
|-
| 0x9 || 0x1 || 4thColorR
|-
| 0xA || 0x1 || 4thColorG
|-
| 0xB || 0x1 || 4thColorB
|}
|}


Line 1,395: Line 1,407:
! Description
! Description
|-
|-
| 0x0 || 0x6 || [[#SixAxisSensorHorizontalOffset|SixAxisSensorHorizontalOffset]]
| 0x0 || 0x6 || [[#SixAxisSensorModelValue|SixAxisSensorModelValue]]
|-
|-
| 0x6 || 0x12 || [[#AnalogStickModuleParam|MainAnalogStickModuleParam]]
| 0x6 || 0x12 || [[#AnalogStickModelValue|AnalogStickMainModelValue]]
|}
|}


==== SixAxisSensorHorizontalOffset ====
==== SixAxisSensorModelValue ====
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 1,407: Line 1,419:
! Description
! Description
|-
|-
| 0x0 || 0x2 || HorizontalOffsetX
| 0x0 || 0x2 || SixAxisHorizontalOffsetX
|-
|-
| 0x2 || 0x2 || HorizontalOffsetY
| 0x2 || 0x2 || SixAxisHorizontalOffsetY
|-
|-
| 0x4 || 0x2 || HorizontalOffsetZ
| 0x4 || 0x2 || SixAxisHorizontalOffsetZ
|}
|}


==== AnalogStickModuleParam ====
==== AnalogStickModelValue ====
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 1,421: Line 1,433:
! Description
! Description
|-
|-
| 0x0 || 0x3 || TypicalStrokeXAndTypicalStrokeY
| 0x0 || 0x1 || AnalogStickModelNoise
|-
| 0x1 || 0x2 || AnalogStickModelTypicalStroke
|-
| 0x3 || 0x1 || AnalogStickModelCenterDeadZoneSize
|-
| 0x4 || 0x2 || AnalogStickModelCircuitDeadZoneScale
|-
| 0x6 || 0x1 || AnalogStickModelMinimumStrokeXPositive
|-
| 0x7 || 0x2 || AnalogStickModelMinimumStrokeYPositive
|-
| 0x9 || 0x1 || AnalogStickModelMinimumStrokeXNegative
|-
|-
| 0x3 || 0x3 || CenterDeadZoneSizeAndCircuitDeadZoneScale
| 0xA || 0x2 || AnalogStickModelMinimumStrokeYNegative
|-
|-
| 0x6 || 0x3 || MinimumStrokeXPositiveAndMinimumStrokeYPositive
| 0xC || 0x1 || AnalogStickModelCenterRangeXPositive
|-
|-
| 0x9 || 0x3 || MinimumStrokeXNegativeAndMinimumStrokeYNegative
| 0xD || 0x2 || AnalogStickModelCenterRangeYPositive
|-
|-
| 0xC || 0x3 || CenterRangeXPositiveAndCenterRangeYPositive
| 0xF || 0x1 || AnalogStickModelCenterRangeXNegative
|-
|-
| 0xF || 0x3 || CenterRangeXNegativeAndCenterRangeYNegative
| 0x10 || 0x2 || AnalogStickModelCenterRangeYNegative
|}
|}


Line 1,441: Line 1,465:
! Description
! Description
|-
|-
| 0x0 || 0x12 || [[#AnalogStickModuleParam|SubAnalogStickModuleParam]]
| 0x0 || 0x12 || [[#AnalogStickModelValue|AnalogStickSubModelValue]]
|}
|}


Line 1,467: Line 1,491:
! Description
! Description
|-
|-
| 0x0 || 0x2 || MagicNumber
| 0x0 || 0x2 || AnalogStickMainUserMagicNumber
|-
|-
| 0x2 || 0x9 || [[#MainAnalogStickCalibrationValue|MainAnalogStickUserCalibrationValue]]
| 0x2 || 0x9 || [[#AnalogStickCalibrationValue|AnalogStickMainUserCalibrationValue]]
|-
|-
| 0xB || 0x2 || MagicNumber
| 0xB || 0x2 || AnalogStickSubUserMagicNumber
|-
|-
| 0xD || 0x9 || [[#SubAnalogStickCalibrationValue|SubAnalogStickUserCalibrationValue]]
| 0xD || 0x9 || [[#AnalogStickCalibrationValue|AnalogStickSubUserCalibrationValue]]
|}
|}


Line 1,483: Line 1,507:
! Description
! Description
|-
|-
| 0x0 || 0x2 || MagicNumber
| 0x0 || 0x2 || SixAxisUserCalibrationMagicNumber
|-
|-
| 0x2 || 0x18 || [[#SixAxisSensorCalibrationValue|SixAxisSensorUserCalibrationValue]]
| 0x2 || 0x18 || [[#SixAxisSensorCalibrationValue|SixAxisUserCalibrationValue]]
|}
|}