HID services: Difference between revisions

No edit summary
No edit summary
(3 intermediate revisions by the same user not shown)
Line 2,599: Line 2,599:
|-
|-
| 4 || [4.0.0+] 20x15
| 4 || [4.0.0+] 20x15
|}
= MomentProcessorConfig =
This is "nn::irsensor::MomentProcessorConfig".
{| class="wikitable" border="1"
|-
! Offset || Size || Description
|-
| 0x0 || 0x8 || ExposureTime (default is 0x493E0)
|-
| 0x8 || 0x4 || LightTarget (default is 0)
|-
| 0xC || 0x4 || Gain (default is 0x8)
|-
| 0x10 || 0x1 || IsNegativeImageUsed (default is 0)
|-
| 0x11 || 0x7 || Reserved
|-
| 0x18 || 0x2 || WindowOfInterestX (default is 0)
|-
| 0x1A || 0x2 || WindowOfInterestY (default is 0)
|-
| 0x1C || 0x2 || WindowOfInterestWidth (default is 0x140)
|-
| 0x1E || 0x2 || WindowOfInterestHeight (default is 0xF0)
|-
| 0x20 || 0x4 || Preprocess (default is 0x1)
|-
| 0x24 || 0x4 || PreprocessIntensityThreshold (default is 0x50)
|}
|}


= PackedMomentProcessorConfig =
= PackedMomentProcessorConfig =
This is "nn::irsensor::PackedMomentProcessorConfig". This is a 0x20-byte struct.  
This is "nn::irsensor::PackedMomentProcessorConfig". This is a 0x20-byte struct.  
This is converted from [[#MomentProcessorConfig]].


{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 2,633: Line 2,665:
|-
|-
| 0x1E || 0x2 || Reserved
| 0x1E || 0x2 || Reserved
|}
= ClusteringProcessorConfig =
This is "nn::irsensor::ClusteringProcessorConfig".
{| class="wikitable" border="1"
|-
! Offset || Size || Description
|-
| 0x0 || 0x8 || ExposureTime (default is 200000)
|-
| 0x8 || 0x4 || LightTarget (default is 0)
|-
| 0xC || 0x4 || Gain (default is 0x2)
|-
| 0x10 || 0x1 || IsNegativeImageUsed (default is 0)
|-
| 0x11 || 0x7 || Reserved
|-
| 0x18 || 0x2 || WindowOfInterestX (default is 0)
|-
| 0x1A || 0x2 || WindowOfInterestY (default is 0)
|-
| 0x1C || 0x2 || WindowOfInterestWidth (default is 320)
|-
| 0x1E || 0x2 || WindowOfInterestHeight (default is 240)
|-
| 0x20 || 0x4 || ObjectPixelCountMin (default is 0x3)
|-
| 0x24 || 0x4 || ObjectPixelCountMax (default is 0x12C00)
|-
| 0x28 || 0x4 || ObjectIntensityMin (default is 150)
|-
| 0x2C || 0x1 || IsExternalLightFilterEnabled (default is 0x1)
|}
|}


= PackedClusteringProcessorConfig =
= PackedClusteringProcessorConfig =
This is "nn::irsensor::PackedClusteringProcessorConfig". This is a 0x28-byte struct.
This is "nn::irsensor::PackedClusteringProcessorConfig". This is a 0x28-byte struct.
This is converted from [[#ClusteringProcessorConfig]].


{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 2,731: Line 2,799:
|-
|-
| 0x9 || 0x7 || Reserved
| 0x9 || 0x7 || Reserved
|}
= TeraPluginProcessorConfig =
This is "nn::irsensor::TeraPluginProcessorConfig".
{| class="wikitable" border="1"
|-
! Offset || Size || Description
|-
| 0x0 || 0x1 || Mode
|-
| 0x1 || 0x1 ||
|-
| 0x2 || 0x1 ||
|-
| 0x3 || 0x1 ||
|}
|}


Line 2,736: Line 2,820:
This is "nn::irsensor::PackedTeraPluginProcessorConfig". This is a 0x8-byte struct.
This is "nn::irsensor::PackedTeraPluginProcessorConfig". This is a 0x8-byte struct.


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+].
 
[[#TeraPluginProcessorConfig]] +0x0, +0x2, and +0x3 are copied to +0x4, 0x6, and +0x7 here. +0x5 here is set to 0x2 | ([[#TeraPluginProcessorConfig]]+0x1 << 7).


{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 2,760: Line 2,846:
! Offset || Size || Description
! Offset || Size || Description
|-
|-
| 0x0 || 0x8 ||  
| 0x0 || 0x2 || WindowOfInterestX? (default is 0)
|-
| 0x2 || 0x2 || WindowOfInterestY? (default is 0)
|-
| 0x4 || 0x2 || WindowOfInterestWidth? (default is 320)
|-
| 0x6 || 0x2 || WindowOfInterestHeight? (default is 240)
|-
|-
| 0x8 || 0x4 || [[#PackedMcuVersion|RequiredMcuVersion]]
| 0x8 || 0x4 || [[#PackedMcuVersion|RequiredMcuVersion]]