Changes

Jump to navigation Jump to search
592 bytes added ,  17:56, 2 April 2020
no edit summary
Line 1,248: Line 1,248:  
|}
 
|}
   −
The maximum element count is 6 for [[#PointingProcessorState]] or 5 for any of the other states.
+
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:  
|}
 
|}
   −
===== PointingProcessorState =====
+
===== PointingProcessorMarkerState =====
This is "nn::irsensor::PointingProcessorState" and "nn::irsensor::PointingProcessorMarkerState".
+
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 || 0x3 || Reserved
+
| 0x11 || 0xB || Reserved
 +
|-
 +
| 0x1C || 0x4 || float PositionX
 +
|-
 +
| 0x20 || 0x4 || float PositionY
 
|-
 
|-
| 0x14 || 0x1C || Position
+
| 0x24 || 0xC || Reserved
 
|-
 
|-
 
| 0x30 || 0x1 || PointingStatus
 
| 0x30 || 0x1 || PointingStatus
 
|-
 
|-
| 0x31 || 0x3 || Reserved
+
| 0x31 || 0xB || Reserved
 
|-
 
|-
| 0x34 || 0x1C || Position
+
| 0x3C || 0x4 || float PositionX
 +
|-
 +
| 0x40 || 0x4 || float PositionY
 +
|-
 +
| 0x44 || 0xC || Reserved
 
|-
 
|-
 
| 0x50 || 0x1 || PointingStatus
 
| 0x50 || 0x1 || PointingStatus
 
|-
 
|-
| 0x51 || 0x3 || Reserved
+
| 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
 
|-
 
|-
| 0x54 || 0x1C || Position
+
| 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 an u32.
+
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 an u32.
+
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 an u32.
+
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 an u32.
+
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 || [[#PointingProcessorState|PointingProcessor]]
+
| 4 || [[#PointingProcessorMarkerState|PointingProcessorMarker]]
 
|-
 
|-
 
| 5 || [[#TeraPluginProcessorState|TeraPluginProcessor]]
 
| 5 || [[#TeraPluginProcessorState|TeraPluginProcessor]]
Line 2,706: Line 2,740:     
= ImageProcessorStatus =
 
= ImageProcessorStatus =
This is "nn::irsensor::ImageProcessorStatus". This is an u32.
+
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 an u32.
+
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 a 0x20-byte struct.  
+
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 a 0x28-byte struct.
+
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 a 0x18-byte struct.
+
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 a 0x10-byte struct.
+
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 a 0x8-byte struct.
+
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 a 0xC-byte struct.
+
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? (default is 0)
+
| 0x0 || 0x2 || WindowOfInterestX (default is 0)
 
|-
 
|-
| 0x2 || 0x2 || WindowOfInterestY? (default is 0)
+
| 0x2 || 0x2 || WindowOfInterestY (default is 0)
 
|-
 
|-
| 0x4 || 0x2 || WindowOfInterestWidth? (default is 320)
+
| 0x4 || 0x2 || WindowOfInterestWidth (default is 320)
 
|-
 
|-
| 0x6 || 0x2 || WindowOfInterestHeight? (default is 240)
+
| 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 an u32.
+
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 a 0x20-byte struct.
+
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 a 0x8-byte struct.
+
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 0x8-bytes.
+
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 0x40-bytes.
+
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 an u32.
+
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 an u32. This must be one of the below values otherwise [[#EnableJoyPollingReceiveMode]] will assert.
+
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 =

Navigation menu