HID services: Difference between revisions
No edit summary |
|||
Line 1,248: | Line 1,248: | ||
|} | |} | ||
The maximum element count is 6 for [[# | The maximum element count is 6 for [[#PointingProcessorMarkerState]] or 5 for any of the other states. | ||
ProcessorState is specialized depending on the value of [[#IrSensorMode]]. | ProcessorState is specialized depending on the value of [[#IrSensorMode]]. | ||
Line 1,330: | Line 1,330: | ||
|} | |} | ||
===== | ===== PointingProcessorMarkerState ===== | ||
This is | This is "nn::irsensor::PointingProcessorMarkerState". | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 1,343: | Line 1,343: | ||
| 0x10 || 0x1 || PointingStatus | | 0x10 || 0x1 || PointingStatus | ||
|- | |- | ||
| 0x11 || | | 0x11 || 0xB || Reserved | ||
|- | |||
| 0x1C || 0x4 || float PositionX | |||
|- | |||
| 0x20 || 0x4 || float PositionY | |||
|- | |- | ||
| | | 0x24 || 0xC || Reserved | ||
|- | |- | ||
| 0x30 || 0x1 || PointingStatus | | 0x30 || 0x1 || PointingStatus | ||
|- | |- | ||
| 0x31 || | | 0x31 || 0xB || Reserved | ||
|- | |- | ||
| | | 0x3C || 0x4 || float PositionX | ||
|- | |||
| 0x40 || 0x4 || float PositionY | |||
|- | |||
| 0x44 || 0xC || Reserved | |||
|- | |- | ||
| 0x50 || 0x1 || PointingStatus | | 0x50 || 0x1 || PointingStatus | ||
|- | |- | ||
| 0x51 || | | 0x51 || 0xB || Reserved | ||
|- | |||
| 0x5C || 0x4 || float PositionX | |||
|- | |||
| 0x60 || 0x4 || float PositionY | |||
|- | |||
| 0x64 || 0xC || Reserved | |||
|} | |||
===== PointingProcessorState ===== | |||
This is "nn::irsensor::PointingProcessorState". | |||
This is created from [[#PointingProcessorMarkerState]]. | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset || Size || Description | |||
|- | |||
| 0x0 || 0x8 || SamplingNumber | |||
|- | |- | ||
| | | 0x8 || 0x8 || TimeStamp | ||
|- | |||
| 0x10 || 0x4 || PointingStatus | |||
|- | |||
| 0x14 || 0x4 || float PositionX | |||
|- | |||
| 0x18 || 0x4 || float PositionY | |||
|- | |||
| 0x1C || 0x4 || Reserved | |||
|} | |} | ||
Line 2,630: | Line 2,664: | ||
= IrCameraHandle = | = IrCameraHandle = | ||
This is "nn::irsensor::IrCameraHandle" | This is "nn::irsensor::IrCameraHandle". | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 2,644: | Line 2,678: | ||
= IrCameraStatus = | = IrCameraStatus = | ||
This is "nn::irsensor::IrCameraStatus" | This is "nn::irsensor::IrCameraStatus". | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 2,658: | Line 2,692: | ||
= IrCameraInternalStatus = | = IrCameraInternalStatus = | ||
This is "nn::irsensor::IrCameraInternalStatus" | This is "nn::irsensor::IrCameraInternalStatus". | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 2,684: | Line 2,718: | ||
= IrSensorMode = | = IrSensorMode = | ||
This is "nn::irsensor::detail::StatusManager::IrSensorMode" | This is "nn::irsensor::detail::StatusManager::IrSensorMode". | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 2,698: | Line 2,732: | ||
| 3 || [[#ImageTransferProcessorState|ImageTransferProcessor]] | | 3 || [[#ImageTransferProcessorState|ImageTransferProcessor]] | ||
|- | |- | ||
| 4 || [[# | | 4 || [[#PointingProcessorMarkerState|PointingProcessorMarker]] | ||
|- | |- | ||
| 5 || [[#TeraPluginProcessorState|TeraPluginProcessor]] | | 5 || [[#TeraPluginProcessorState|TeraPluginProcessor]] | ||
Line 2,706: | Line 2,740: | ||
= ImageProcessorStatus = | = ImageProcessorStatus = | ||
This is "nn::irsensor::ImageProcessorStatus" | This is "nn::irsensor::ImageProcessorStatus". | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 2,718: | Line 2,752: | ||
= ImageTransferProcessorFormat = | = ImageTransferProcessorFormat = | ||
This is "nn::irsensor::ImageTransferProcessorFormat" | This is "nn::irsensor::ImageTransferProcessorFormat". | ||
This controls the IR Sensor image resolution. | This controls the IR Sensor image resolution. | ||
Line 2,768: | Line 2,802: | ||
= PackedMomentProcessorConfig = | = PackedMomentProcessorConfig = | ||
This is "nn::irsensor::PackedMomentProcessorConfig" | This is "nn::irsensor::PackedMomentProcessorConfig". | ||
This is converted from [[#MomentProcessorConfig]]. | This is converted from [[#MomentProcessorConfig]]. | ||
Line 2,838: | Line 2,872: | ||
= PackedClusteringProcessorConfig = | = PackedClusteringProcessorConfig = | ||
This is "nn::irsensor::PackedClusteringProcessorConfig" | This is "nn::irsensor::PackedClusteringProcessorConfig". | ||
This is converted from [[#ClusteringProcessorConfig]]. | This is converted from [[#ClusteringProcessorConfig]]. | ||
Line 2,898: | Line 2,932: | ||
= PackedImageTransferProcessorConfig = | = PackedImageTransferProcessorConfig = | ||
This is "nn::irsensor::PackedImageTransferProcessorConfig" | This is "nn::irsensor::PackedImageTransferProcessorConfig". | ||
This is converted from [[#ImageTransferProcessorConfig]]. | This is converted from [[#ImageTransferProcessorConfig]]. | ||
Line 2,924: | Line 2,958: | ||
= ImageTransferProcessorState = | = ImageTransferProcessorState = | ||
This is "nn::irsensor::ImageTransferProcessorState" | This is "nn::irsensor::ImageTransferProcessorState". | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 2,954: | Line 2,988: | ||
= PackedTeraPluginProcessorConfig = | = PackedTeraPluginProcessorConfig = | ||
This is "nn::irsensor::PackedTeraPluginProcessorConfig" | This is "nn::irsensor::PackedTeraPluginProcessorConfig". | ||
This is converted from [[#TeraPluginProcessorConfig]]. The data starting at offset 0x5 is only initialized by the user-process with [6.0.0+]. | This is converted from [[#TeraPluginProcessorConfig]]. The data starting at offset 0x5 is only initialized by the user-process with [6.0.0+]. | ||
Line 2,973: | Line 3,007: | ||
|- | |- | ||
| 0x7 || 0x1 || | | 0x7 || 0x1 || | ||
|} | |||
= PointingProcessorConfig = | |||
This is "nn::irsensor::PointingProcessorConfig". | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset || Size || Description | |||
|- | |||
| 0x0 || 0x2 || WindowOfInterestX (default is 0) | |||
|- | |||
| 0x2 || 0x2 || WindowOfInterestY (default is 0) | |||
|- | |||
| 0x4 || 0x2 || WindowOfInterestWidth (default is 320) | |||
|- | |||
| 0x6 || 0x2 || WindowOfInterestHeight (default is 240) | |||
|} | |} | ||
= PackedPointingProcessorConfig = | = PackedPointingProcessorConfig = | ||
This is "nn::irsensor::PackedPointingProcessorConfig". This is | This is "nn::irsensor::PackedPointingProcessorConfig". | ||
This is converted from [[#PointingProcessorConfig]]. | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 2,982: | Line 3,034: | ||
! Offset || Size || Description | ! Offset || Size || Description | ||
|- | |- | ||
| 0x0 || 0x2 || WindowOfInterestX | | 0x0 || 0x2 || WindowOfInterestX (default is 0) | ||
|- | |- | ||
| 0x2 || 0x2 || WindowOfInterestY | | 0x2 || 0x2 || WindowOfInterestY (default is 0) | ||
|- | |- | ||
| 0x4 || 0x2 || WindowOfInterestWidth | | 0x4 || 0x2 || WindowOfInterestWidth (default is 320) | ||
|- | |- | ||
| 0x6 || 0x2 || WindowOfInterestHeight | | 0x6 || 0x2 || WindowOfInterestHeight (default is 240) | ||
|- | |- | ||
| 0x8 || 0x4 || [[#PackedMcuVersion|RequiredMcuVersion]] | | 0x8 || 0x4 || [[#PackedMcuVersion|RequiredMcuVersion]] | ||
Line 2,994: | Line 3,046: | ||
= PackedMcuVersion = | = PackedMcuVersion = | ||
This is "nn::irsensor::PackedMcuVersion" | This is "nn::irsensor::PackedMcuVersion". | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 3,080: | Line 3,132: | ||
= PackedImageTransferProcessorExConfig = | = PackedImageTransferProcessorExConfig = | ||
This is "nn::irsensor::PackedImageTransferProcessorExConfig" | This is "nn::irsensor::PackedImageTransferProcessorExConfig". | ||
This is converted from [[#ImageTransferProcessorExConfig]]. | This is converted from [[#ImageTransferProcessorExConfig]]. | ||
Line 3,124: | Line 3,176: | ||
= PackedIrLedProcessorConfig = | = PackedIrLedProcessorConfig = | ||
This is "nn::irsensor::PackedIrLedProcessorConfig" | This is "nn::irsensor::PackedIrLedProcessorConfig". | ||
This is converted from [[#IrLedProcessorConfig]]. | This is converted from [[#IrLedProcessorConfig]]. | ||
Line 3,212: | Line 3,264: | ||
= BusHandle = | = BusHandle = | ||
This is "nn::hidbus::BusHandle" | This is "nn::hidbus::BusHandle". | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 3,230: | Line 3,282: | ||
= JoyPollingReceivedData = | = JoyPollingReceivedData = | ||
This is "nn::hidbus::JoyPollingReceivedData" | This is "nn::hidbus::JoyPollingReceivedData". | ||
This is copied from the entries in [[#EnableJoyPollingReceiveMode|TransferMemory]] by GetJoyPollingReceivedData. | This is copied from the entries in [[#EnableJoyPollingReceiveMode|TransferMemory]] by GetJoyPollingReceivedData. | ||
Line 3,246: | Line 3,298: | ||
= BusType = | = BusType = | ||
This is "nn::hidbus::BusType" | This is "nn::hidbus::BusType". | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 3,260: | Line 3,312: | ||
= JoyPollingMode = | = JoyPollingMode = | ||
This is "nn::hidbus::JoyPollingMode" | This is "nn::hidbus::JoyPollingMode". | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 3,272: | Line 3,324: | ||
| 2 || [6.0.0+] sdknso uses <code>GetJoyButtonOnlyPollingDataAccessor</code> with this. | | 2 || [6.0.0+] sdknso uses <code>GetJoyButtonOnlyPollingDataAccessor</code> with this. | ||
|} | |} | ||
Other values causes [[#EnableJoyPollingReceiveMode]] to assert. | |||
= ExternalDevices = | = ExternalDevices = |