libnx  v4.2.0
irs.h
Go to the documentation of this file.
1 /**
2  * @file irs.h
3  * @brief HID IR sensor (irs) service IPC wrapper.
4  * @author yellows8
5  * @copyright libnx Authors
6  */
7 #pragma once
8 
9 #include "../types.h"
10 #include "../sf/service.h"
11 #include "../services/hid.h"
12 
13 #define IRS_MAX_CAMERAS 0x9
14 
15 /// IrCameraStatus
16 typedef enum {
17  IrsIrCameraStatus_Available = 0, ///< Available
18  IrsIrCameraStatus_Unsupported = 1, ///< Unsupported
19  IrsIrCameraStatus_Unconnected = 2, ///< Unconnected
21 
22 /// IrCameraInternalStatus
23 typedef enum {
25  IrsIrCameraInternalStatus_FirmwareUpdateNeeded = 1, ///< FirmwareUpdateNeeded
29  IrsIrCameraInternalStatus_FirmwareVersionRequested = 5, ///< FirmwareVersionRequested
30  IrsIrCameraInternalStatus_FirmwareVersionIsInvalid = 6, ///< FirmwareVersionIsInvalid
31  IrsIrCameraInternalStatus_Ready = 7, ///< [4.0.0+] Ready
32  IrsIrCameraInternalStatus_Setting = 8, ///< [4.0.0+] Setting
34 
35 /// IrSensorMode
36 typedef enum {
37  IrsIrSensorMode_None = 0, ///< None
38  IrsIrSensorMode_MomentProcessor = 1, ///< MomentProcessor
39  IrsIrSensorMode_ClusteringProcessor = 2, ///< ClusteringProcessor
40  IrsIrSensorMode_ImageTransferProcessor = 3, ///< ImageTransferProcessor
41  IrsIrSensorMode_PointingProcessor = 4, ///< PointingProcessor
42  IrsIrSensorMode_TeraPluginProcessor = 5, ///< TeraPluginProcessor
43  IrsIrSensorMode_IrLedProcessor = 6, ///< IrLedProcessor (doesn't apply to IrsDeviceFormat::ir_sensor_mode)
45 
46 /// ImageProcessorStatus
47 typedef enum {
51 
52 /// ImageTransferProcessorFormat. IR Sensor image resolution.
53 typedef enum {
57  IrsImageTransferProcessorFormat_40x30 = 3, ///< [4.0.0+] 40x30
58  IrsImageTransferProcessorFormat_20x15 = 4, ///< [4.0.0+] 20x15
60 
61 /// AdaptiveClusteringMode
62 typedef enum {
66 
67 /// AdaptiveClusteringTargetDistance
68 typedef enum {
73 
74 /// HandAnalysisMode
75 typedef enum {
76  IrsHandAnalysisMode_Silhouette = 1, ///< Silhouette
77  IrsHandAnalysisMode_Image = 2, ///< Image
78  IrsHandAnalysisMode_SilhouetteAndImage = 3, ///< SilhouetteAndImage
79  IrsHandAnalysisMode_SilhouetteOnly = 4, ///< [4.0.0+] SilhouetteOnly
81 
82 /// Internal validation callblack.
83 typedef bool (*IrsValidationCb)(void* userdata, void* arg);
84 
85 /// IrCameraHandle
86 typedef struct {
87  u8 player_number; ///< PlayerNumber
88  u8 device_type; ///< DeviceType
89  u8 reserved[0x2]; ///< Reserved
91 
92 /// PackedMcuVersion
93 typedef struct {
94  u16 major_version; ///< MajorVersion
95  u16 minor_version; ///< MinorVersion
97 
98 /// PackedFunctionLevel
99 typedef struct {
100  u8 ir_sensor_function_level; ///< IrSensorFunctionLevel
101  u8 reserved[0x3]; ///< Reserved
103 
104 /// Rect
105 typedef struct {
106  s16 x; ///< X
107  s16 y; ///< Y
108  s16 width; ///< Width
109  s16 height; ///< Height
110 } IrsRect;
111 
112 /// IrsMomentProcessorConfig
113 typedef struct {
114  u64 exposure_time; ///< IR Sensor exposure time in nanoseconds.
115  u32 light_target; ///< Controls the IR leds. 0: All leds, 1: Bright group, 2: Dim group, 3: None.
116  u32 gain; ///< IR sensor signal's digital gain.
117  u8 is_negative_image_used; ///< Inverts the colors of the captured image. 0: Normal image, 1: Negative image.
118  u8 reserved[0x7]; ///< Reserved.
119  IrsRect window_of_interest; ///< WindowOfInterest
120  u32 preprocess; ///< Preprocess
121  u32 preprocess_intensity_threshold; ///< PreprocessIntensityThreshold
123 
124 /// PackedMomentProcessorConfig
125 typedef struct {
126  u64 exposure_time; ///< IR Sensor exposure time in nanoseconds.
127  u8 light_target; ///< Controls the IR leds. 0: All leds, 1: Bright group, 2: Dim group, 3: None.
128  u8 gain; ///< IR sensor signal's digital gain.
129  u8 is_negative_image_used; ///< Inverts the colors of the captured image. 0: Normal image, 1: Negative image.
130  u8 reserved[0x5]; ///< Reserved.
131  IrsRect window_of_interest; ///< WindowOfInterest
132  IrsPackedMcuVersion required_mcu_version; ///< RequiredMcuVersion
133  u8 preprocess; ///< Preprocess
134  u8 preprocess_intensity_threshold; ///< PreprocessIntensityThreshold
135  u8 reserved2[0x2]; ///< Reserved.
137 
138 /// ClusteringProcessorConfig
139 typedef struct {
140  u64 exposure_time; ///< IR Sensor exposure time in nanoseconds.
141  u32 light_target; ///< Controls the IR leds. 0: All leds, 1: Bright group, 2: Dim group, 3: None.
142  u32 gain; ///< IR sensor signal's digital gain.
143  u8 is_negative_image_used; ///< Inverts the colors of the captured image. 0: Normal image, 1: Negative image.
144  u8 reserved[0x7]; ///< Reserved.
145  IrsRect window_of_interest; ///< WindowOfInterest
146  u32 object_pixel_count_min; ///< ObjectPixelCountMin
147  u32 object_pixel_count_max; ///< ObjectPixelCountMax
148  u32 object_intensity_min; ///< ObjectIntensityMin
149  u8 is_external_light_filter_enabled; ///< IsExternalLightFilterEnabled
151 
152 /// PackedClusteringProcessorConfig
153 typedef struct {
154  u64 exposure_time; ///< IR Sensor exposure time in nanoseconds.
155  u8 light_target; ///< Controls the IR leds. 0: All leds, 1: Bright group, 2: Dim group, 3: None.
156  u8 gain; ///< IR sensor signal's digital gain.
157  u8 is_negative_image_used; ///< Inverts the colors of the captured image. 0: Normal image, 1: Negative image.
158  u8 reserved[0x5]; ///< Reserved.
159  IrsRect window_of_interest; ///< WindowOfInterest
160  IrsPackedMcuVersion required_mcu_version; ///< RequiredMcuVersion
161  u32 object_pixel_count_min; ///< ObjectPixelCountMin
162  u32 object_pixel_count_max; ///< ObjectPixelCountMax
163  u8 object_intensity_min; ///< ObjectIntensityMin
164  u8 is_external_light_filter_enabled; ///< IsExternalLightFilterEnabled
165  u8 reserved2[0x2]; ///< Reserved.
167 
168 /// ImageTransferProcessorConfig
169 typedef struct {
170  u64 exposure_time; ///< IR Sensor exposure time in nanoseconds.
171  u32 light_target; ///< Controls the IR leds. 0: All leds, 1: Bright group, 2: Dim group, 3: None.
172  u32 gain; ///< IR sensor signal's digital gain.
173  u8 is_negative_image_used; ///< Inverts the colors of the captured image. 0: Normal image, 1: Negative image.
174  u8 reserved[0x7]; ///< Reserved.
175  u32 format; ///< \ref IrsImageTransferProcessorFormat
177 
178 /// ImageTransferProcessorExConfig
179 typedef struct {
180  u64 exposure_time; ///< IR Sensor exposure time in nanoseconds.
181  u32 light_target; ///< Controls the IR leds. 0: All leds, 1: Bright group, 2: Dim group, 3: None.
182  u32 gain; ///< IR sensor signal's digital gain.
183  u8 is_negative_image_used; ///< Inverts the colors of the captured image. 0: Normal image, 1: Negative image.
184  u8 reserved[0x7]; ///< Reserved.
185  u32 orig_format; ///< OrigFormat \ref IrsImageTransferProcessorFormat
186  u32 trimming_format; ///< TrimmingFormat \ref IrsImageTransferProcessorFormat
187  u16 trimming_start_x; ///< TrimmingStartX
188  u16 trimming_start_y; ///< TrimmingStartY
189  u8 is_external_light_filter_enabled; ///< IsExternalLightFilterEnabled
191 
192 /// PackedImageTransferProcessorConfig
193 typedef struct {
194  u64 exposure_time; ///< IR Sensor exposure time in nanoseconds.
195  u8 light_target; ///< Controls the IR leds. 0: All leds, 1: Bright group, 2: Dim group, 3: None.
196  u8 gain; ///< IR sensor signal's digital gain.
197  u8 is_negative_image_used; ///< Inverts the colors of the captured image. 0: Normal image, 1: Negative image.
198  u8 reserved[0x5]; ///< Reserved.
199  IrsPackedMcuVersion required_mcu_version; ///< RequiredMcuVersion
200  u8 format; ///< \ref IrsImageTransferProcessorFormat
201  u8 reserved2[0x3]; ///< Reserved.
203 
204 /// PackedImageTransferProcessorExConfig
205 typedef struct {
206  u64 exposure_time; ///< IR Sensor exposure time in nanoseconds.
207  u8 light_target; ///< Controls the IR leds. 0: All leds, 1: Bright group, 2: Dim group, 3: None.
208  u8 gain; ///< IR sensor signal's digital gain.
209  u8 is_negative_image_used; ///< Inverts the colors of the captured image. 0: Normal image, 1: Negative image.
210  u8 reserved[0x5]; ///< Reserved.
211  IrsPackedMcuVersion required_mcu_version; ///< RequiredMcuVersion
212  u8 orig_format; ///< OrigFormat \ref IrsImageTransferProcessorFormat
213  u8 trimming_format; ///< TrimmingFormat \ref IrsImageTransferProcessorFormat
214  u16 trimming_start_x; ///< TrimmingStartX
215  u16 trimming_start_y; ///< TrimmingStartY
216  u8 is_external_light_filter_enabled; ///< IsExternalLightFilterEnabled
217  u8 reserved2[0x5]; ///< Reserved.
219 
220 /// ImageTransferProcessorState
221 typedef struct {
222  u64 sampling_number; ///< SamplingNumber
223  u32 ambient_noise_level; ///< AmbientNoiseLevel
224  u8 reserved[0x4]; ///< Reserved
226 
227 /// PackedPointingProcessorConfig
228 typedef struct {
229  IrsRect window_of_interest; ///< WindowOfInterest
230  IrsPackedMcuVersion required_mcu_version; ///< RequiredMcuVersion
232 
233 /// TeraPluginProcessorConfig
234 typedef struct {
235  u8 mode; ///< Mode
236  u8 unk_x1; ///< [6.0.0+] Unknown
237  u8 unk_x2; ///< [6.0.0+] Unknown
238  u8 unk_x3; ///< [6.0.0+] Unknown
240 
241 /// PackedTeraPluginProcessorConfig
242 typedef struct {
243  IrsPackedMcuVersion required_mcu_version; ///< RequiredMcuVersion
244  u8 mode; ///< Mode
245  u8 unk_x5; ///< [6.0.0+] This is set to 0x2 | (IrsTeraPluginProcessorConfig::unk_x1 << 7).
246  u8 unk_x6; ///< [6.0.0+] IrsTeraPluginProcessorConfig::unk_x2
247  u8 unk_x7; ///< [6.0.0+] IrsTeraPluginProcessorConfig::unk_x3
249 
250 /// IrLedProcessorConfig
251 typedef struct {
252  u32 light_target; ///< Controls the IR leds. 0: All leds, 1: Bright group, 2: Dim group, 3: None.
254 
255 /// PackedIrLedProcessorConfig
256 typedef struct {
257  IrsPackedMcuVersion required_mcu_version; ///< RequiredMcuVersion
258  u8 light_target; ///< Controls the IR leds. 0: All leds, 1: Bright group, 2: Dim group, 3: None.
259  u8 pad[0x3]; ///< Padding
261 
262 /// AdaptiveClusteringProcessorConfig
263 typedef struct {
264  u32 mode; ///< \ref IrsAdaptiveClusteringMode
265  u32 target_distance; ///< [6.0.0+] \ref IrsAdaptiveClusteringTargetDistance
267 
268 /// HandAnalysisConfig
269 typedef struct {
270  u32 mode; ///< \ref IrsHandAnalysisMode
272 
273 /// MomentStatistic
274 typedef struct {
275  float average_intensity; ///< AverageIntensity
276  float centroid_x; ///< CentroidX
277  float centroid_y; ///< CentroidY
279 
280 /// MomentProcessorState
281 typedef struct {
282  s64 sampling_number; ///< SamplingNumber
283  u64 timestamp; ///< TimeStamp
284 
285  u32 ambient_noise_level; ///< AmbientNoiseLevel
286  u8 reserved[0x4]; ///< Reserved
287  IrsMomentStatistic statistic[0x30]; ///< \ref IrsMomentStatistic
289 
290 /// ClusteringData
291 typedef struct {
292  float average_intensity; ///< AverageIntensity
293  float centroid_x; ///< CentroidX
294  float centroid_y; ///< CentroidY
295  u32 pixel_count; ///< PixelCount
296  u16 bound_x; ///< BoundX
297  u16 bound_y; ///< BoundY
298  u16 boundt_width; ///< BoundtWidth
299  u16 bound_height; ///< BoundHeight
301 
302 /// ClusteringProcessorState
303 typedef struct {
304  s64 sampling_number; ///< SamplingNumber
305  u64 timestamp; ///< TimeStamp
306 
307  u8 object_count; ///< ObjectCount
308  u8 reserved[0x3]; ///< Reserved
309  u32 ambient_noise_level; ///< AmbientNoiseLevel
310  IrsClusteringData data[0x10]; ///< \ref IrsClusteringData
312 
313 /// PointingProcessorMarkerState
314 typedef struct {
315  s64 sampling_number; ///< SamplingNumber
316  u64 timestamp; ///< TimeStamp
317 
318  struct {
319  u8 pointing_status; ///< PointingStatus
320  u8 reserved[0x3]; ///< Reserved
321  u8 unk_x4[0x4]; ///< Unknown
322  float unk_x8; ///< Unknown
323  float position_x; ///< PositionX
324  float position_y; ///< PositionY
325  float unk_x14; ///< Unknown
326  IrsRect window_of_interest; ///< WindowOfInterest
327  } data[3];
329 
330 /// PointingProcessorState
331 typedef struct {
332  s64 sampling_number; ///< SamplingNumber
333  u64 timestamp; ///< TimeStamp
334 
335  u32 pointing_status; ///< PointingStatus
336  float position_x; ///< PositionX
337  float position_y; ///< PositionY
338  u8 reserved[0x4]; ///< Reserved
340 
341 /// TeraPluginProcessorState
342 typedef struct {
343  s64 sampling_number; ///< SamplingNumber
344  u64 timestamp; ///< TimeStamp
345  u32 ambient_noise_level; ///< AmbientNoiseLevel
346  u8 plugin_data[0x12c]; ///< PluginData
348 
349 /// ProcessorState
350 typedef struct {
351  s64 start; ///< Start
352  u32 count; ///< Count
353  u32 pad; ///< Padding
354 
355  u8 data[0xe10]; ///< Contains an array of *ProcessorState, depending on IrsDeviceFormat::ir_sensor_mode.
357 
358 /// DeviceFormat
359 typedef struct {
360  u32 ir_camera_status; ///< \ref IrsIrCameraStatus
361  u32 ir_camera_internal_status; ///< \ref IrsIrCameraInternalStatus
362  u32 ir_sensor_mode; ///< \ref IrsIrSensorMode
363  u32 pad; ///< Padding
364 
365  IrsProcessorState processor_state; ///< \ref IrsProcessorState
367 
368 /// AruidFormat
369 typedef struct {
370  u64 ir_sensor_aruid; ///< IrSensorAruid
371  u32 ir_sensor_aruid_status; ///< IrSensorAruidStatus
372  u32 pad; ///< Padding
374 
375 /// StatusManager
376 typedef struct {
377  IrsDeviceFormat device_format[IRS_MAX_CAMERAS];
378  IrsAruidFormat aruid_format[0x5];
380 
381 /// Initialize irs.
382 Result irsInitialize(void);
383 
384 /// Exit irs.
385 void irsExit(void);
386 
387 /// Gets the Service object for the actual irs service session.
389 
390 /// Gets the address of the SharedMemory (\ref IrsStatusManager).
391 void* irsGetSharedmemAddr(void);
392 
393 /// Gets the \ref IrsIrCameraHandle for the specified controller.
395 
396 /// GetIrCameraStatus
398 
399 /// CheckFirmwareUpdateNecessity
400 /// When successful where the output flag is set, the user should use \ref hidLaShowControllerFirmwareUpdate.
401 /// Only available on [4.0.0+].
403 
404 /// GetImageProcessorStatus
405 /// Only available on [4.0.0+].
407 
408 /// Stop the current Processor.
409 /// \ref irsExit calls this with all IrCameraHandles which were not already used with \ref irsStopImageProcessor.
411 
412 /// Stop the current Processor, async.
413 /// Only available on [4.0.0+].
415 
416 /**
417  * @brief Run the MomentProcessor.
418  * @param[in] handle \ref IrsIrCameraHandle
419  * @param[in] config Input config.
420  */
422 
423 /**
424  * @brief Gets the states for MomentProcessor or IrLedProcessor.
425  * @note The official GetIrLedProcessorState is essentially the same as this, except it uses hard-coded count=1 with output-array on stack, without returning that data. Hence we don't implement a seperate func for that.
426  * @param[in] handle \ref IrsIrCameraHandle
427  * @param[out] states Output array of \ref IrsMomentProcessorState.
428  * @param[in] count Size of the states array in entries. Must be 1-5.
429  * @param[out] total_out Total output entries.
430  */
432 
433 /**
434  * @brief Calculates an \ref IrsMomentStatistic from the specified region in the input \ref IrsMomentProcessorState.
435  * @param[in] state \ref IrsMomentProcessorState
436  * @param[in] rect \ref IrsRect, containing the image width and height.
437  * @param[in] region_x Region x, must be 0-5 (clamped to this range otherwise). region_x = image_x/6.
438  * @param[in] region_y Region y, must be 0-7 (clamped to this range otherwise). region_y = image_y/8.
439  * @param[in] region_width Region width. region_x+region_width must be <=6 (clamped to this range otherwise).
440  * @param[in] region_height Region height. region_y+region_height must be <=8 (clamped to this range otherwise).
441  */
442 IrsMomentStatistic irsCalculateMomentRegionStatistic(const IrsMomentProcessorState *state, IrsRect rect, s32 region_x, s32 region_y, s32 region_width, s32 region_height);
443 
444 /**
445  * @brief Run the ClusteringProcessor.
446  * @param[in] handle \ref IrsIrCameraHandle
447  * @param[in] config Input config.
448  */
450 
451 /**
452  * @brief Gets the states for ClusteringProcessor.
453  * @param[in] handle \ref IrsIrCameraHandle
454  * @param[out] states Output array of \ref IrsClusteringProcessorState.
455  * @param[in] count Size of the states array in entries. Must be 1-5.
456  * @param[out] total_out Total output entries.
457  */
459 
460 /**
461  * @brief Run the ImageTransferProcessor.
462  * @param[in] handle \ref IrsIrCameraHandle
463  * @param[in] config Input config.
464  * @param[in] size Work-buffer size, must be 0x1000-byte aligned.
465  */
467 
468 /**
469  * @brief Run the ImageTransferExProcessor.
470  * @note Only available on [4.0.0+].
471  * @param[in] handle \ref IrsIrCameraHandle
472  * @param[in] config Input config.
473  * @param[in] size Work-buffer size, must be 0x1000-byte aligned.
474  */
476 
477 /// GetImageTransferProcessorState
479 
480 /**
481  * @brief Run the PointingProcessor.
482  * @param[in] handle \ref IrsIrCameraHandle
483  */
485 
486 /**
487  * @brief Gets the states for PointingProcessor.
488  * @param[in] handle \ref IrsIrCameraHandle
489  * @param[out] states Output array of \ref IrsPointingProcessorMarkerState.
490  * @param[in] count Size of the states array in entries. Must be 1-6.
491  * @param[out] total_out Total output entries.
492  */
494 
495 /**
496  * @brief Gets the states for \ref IrsPointingProcessorState.
497  * @note This uses \ref irsGetPointingProcessorMarkerStates, then converts the output to \ref IrsPointingProcessorState.
498  * @param[in] handle \ref IrsIrCameraHandle
499  * @param[out] states Output array of \ref IrsPointingProcessorState.
500  * @param[in] count Size of the states array in entries. Must be 1-6.
501  * @param[out] total_out Total output entries.
502  */
504 
505 /**
506  * @brief Run the TeraPluginProcessor.
507  * @param[in] handle \ref IrsIrCameraHandle
508  * @param[in] config Input config.
509  */
511 
512 /**
513  * @brief Gets the states for TeraPluginProcessor, filtered using the input params.
514  * @param[in] handle \ref IrsIrCameraHandle
515  * @param[out] states Output array of \ref IrsTeraPluginProcessorState.
516  * @param[in] count Size of the states array in entries. Must be 1-5.
517  * @param[in] sampling_number Minimum value for IrsTeraPluginProcessorState::sampling_number.
518  * @param[in] prefix_data Only used when prefix_bitcount is not 0. The first prefix_bitcount bits from prefix_data must match the first prefix_bitcount bits in IrsTeraPluginProcessorState::plugin_data.
519  * @param[in] prefix_bitcount Total bits for prefix_data.
520  * @param[out] total_out Total output entries.
521  */
522 Result irsGetTeraPluginProcessorStates(IrsIrCameraHandle handle, IrsTeraPluginProcessorState *states, s32 count, s64 sampling_number, u32 prefix_data, u32 prefix_bitcount, s32 *total_out);
523 
524 /**
525  * @brief Run the IrLedProcessor.
526  * @note Only available on [4.0.0+].
527  * @param[in] handle \ref IrsIrCameraHandle
528  * @param[in] config Input config.
529  */
531 
532 /**
533  * @brief Run the AdaptiveClusteringProcessor.
534  * @note Only available on [5.0.0+].
535  * @param[in] handle \ref IrsIrCameraHandle
536  * @param[in] config Input config.
537  */
539 
540 /**
541  * @brief Run HandAnalysis.
542  * @param[in] handle \ref IrsIrCameraHandle
543  * @param[in] config Input config.
544  */
546 
547 /**
548  * Gets the default configuration for MomentProcessor.
549  */
551 
552 /**
553  * Gets the default configuration for ClusteringProcessor.
554  */
556 
557 /**
558  * Gets the default configuration for ImageTransferProcessor.
559  * Defaults are exposure 300us, 8x digital gain, the rest is all-zero. Format is ::IrsImageTransferProcessorFormat_320x240.
560  */
562 
563 /**
564  * Gets the default configuration for ImageTransferProcessorEx.
565  * Defaults are exposure 300us, 8x digital gain, the rest is all-zero. OrigFormat/TrimmingFormat are ::IrsImageTransferProcessorFormat_320x240.
566  */
568 
569 /**
570  * Gets the default configuration for IrLedProcessor.
571  */
573  config->light_target = 0;
574 }
IrsRect
Rect.
Definition: irs.h:105
irsGetDefaultImageTransferProcessorConfig
void irsGetDefaultImageTransferProcessorConfig(IrsImageTransferProcessorConfig *config)
Gets the default configuration for ImageTransferProcessor.
s64
int64_t s64
64-bit signed integer.
Definition: types.h:28
IrsPackedMomentProcessorConfig
PackedMomentProcessorConfig.
Definition: irs.h:125
IrsPackedMomentProcessorConfig::window_of_interest
IrsRect window_of_interest
WindowOfInterest.
Definition: irs.h:131
IrsImageTransferProcessorExConfig::is_external_light_filter_enabled
u8 is_external_light_filter_enabled
IsExternalLightFilterEnabled.
Definition: irs.h:189
irsRunImageTransferExProcessor
Result irsRunImageTransferExProcessor(IrsIrCameraHandle handle, const IrsImageTransferProcessorExConfig *config, size_t size)
Run the ImageTransferExProcessor.
IrsImageTransferProcessorExConfig::trimming_start_y
u16 trimming_start_y
TrimmingStartY.
Definition: irs.h:188
IrsPackedImageTransferProcessorConfig::exposure_time
u64 exposure_time
IR Sensor exposure time in nanoseconds.
Definition: irs.h:194
IrsIrSensorMode
IrsIrSensorMode
IrSensorMode.
Definition: irs.h:36
irsGetMomentProcessorStates
Result irsGetMomentProcessorStates(IrsIrCameraHandle handle, IrsMomentProcessorState *states, s32 count, s32 *total_out)
Gets the states for MomentProcessor or IrLedProcessor.
IrsPointingProcessorMarkerState::window_of_interest
IrsRect window_of_interest
WindowOfInterest.
Definition: irs.h:326
irsRunAdaptiveClusteringProcessor
Result irsRunAdaptiveClusteringProcessor(IrsIrCameraHandle handle, const IrsAdaptiveClusteringProcessorConfig *config)
Run the AdaptiveClusteringProcessor.
IrsRect::x
s16 x
X.
Definition: irs.h:106
IrsImageTransferProcessorFormat_40x30
@ IrsImageTransferProcessorFormat_40x30
[4.0.0+] 40x30
Definition: irs.h:57
IrsPackedMcuVersion
PackedMcuVersion.
Definition: irs.h:93
IrsAdaptiveClusteringMode
IrsAdaptiveClusteringMode
AdaptiveClusteringMode.
Definition: irs.h:62
IrsRect::y
s16 y
Y.
Definition: irs.h:107
IrsPointingProcessorMarkerState
PointingProcessorMarkerState.
Definition: irs.h:314
IrsPackedIrLedProcessorConfig::light_target
u8 light_target
Controls the IR leds. 0: All leds, 1: Bright group, 2: Dim group, 3: None.
Definition: irs.h:258
IrsImageTransferProcessorConfig::light_target
u32 light_target
Controls the IR leds. 0: All leds, 1: Bright group, 2: Dim group, 3: None.
Definition: irs.h:171
IrsAdaptiveClusteringProcessorConfig::mode
u32 mode
IrsAdaptiveClusteringMode
Definition: irs.h:264
IrsImageTransferProcessorExConfig::trimming_start_x
u16 trimming_start_x
TrimmingStartX.
Definition: irs.h:187
IrsClusteringProcessorConfig::light_target
u32 light_target
Controls the IR leds. 0: All leds, 1: Bright group, 2: Dim group, 3: None.
Definition: irs.h:141
IrsMomentProcessorState::timestamp
u64 timestamp
TimeStamp.
Definition: irs.h:283
IrsClusteringProcessorConfig::gain
u32 gain
IR sensor signal's digital gain.
Definition: irs.h:142
IrsMomentProcessorConfig::gain
u32 gain
IR sensor signal's digital gain.
Definition: irs.h:116
IrsTeraPluginProcessorState::sampling_number
s64 sampling_number
SamplingNumber.
Definition: irs.h:343
IrsMomentProcessorConfig::exposure_time
u64 exposure_time
IR Sensor exposure time in nanoseconds.
Definition: irs.h:114
irsRunMomentProcessor
Result irsRunMomentProcessor(IrsIrCameraHandle handle, const IrsMomentProcessorConfig *config)
Run the MomentProcessor.
IrsTeraPluginProcessorConfig::mode
u8 mode
Mode.
Definition: irs.h:235
u8
uint8_t u8
8-bit unsigned integer.
Definition: types.h:19
IrsIrSensorMode_MomentProcessor
@ IrsIrSensorMode_MomentProcessor
MomentProcessor.
Definition: irs.h:38
NX_CONSTEXPR
#define NX_CONSTEXPR
Flags a function as constexpr in C++14 and above; or as (always) inline otherwise.
Definition: types.h:88
IrsTeraPluginProcessorConfig
TeraPluginProcessorConfig.
Definition: irs.h:234
IrsImageTransferProcessorExConfig
ImageTransferProcessorExConfig.
Definition: irs.h:179
IrsIrSensorMode_TeraPluginProcessor
@ IrsIrSensorMode_TeraPluginProcessor
TeraPluginProcessor.
Definition: irs.h:42
s16
int16_t s16
16-bit signed integer.
Definition: types.h:26
IrsClusteringProcessorState::object_count
u8 object_count
ObjectCount.
Definition: irs.h:307
IrsImageTransferProcessorState::sampling_number
u64 sampling_number
SamplingNumber.
Definition: irs.h:222
IrsPackedFunctionLevel
PackedFunctionLevel.
Definition: irs.h:99
IrsPackedClusteringProcessorConfig::object_pixel_count_min
u32 object_pixel_count_min
ObjectPixelCountMin.
Definition: irs.h:161
IrsIrCameraHandle::device_type
u8 device_type
DeviceType.
Definition: irs.h:88
IrsClusteringData::bound_x
u16 bound_x
BoundX.
Definition: irs.h:296
IrsHandAnalysisMode_SilhouetteOnly
@ IrsHandAnalysisMode_SilhouetteOnly
[4.0.0+] SilhouetteOnly
Definition: irs.h:79
irsRunTeraPluginProcessor
Result irsRunTeraPluginProcessor(IrsIrCameraHandle handle, const IrsTeraPluginProcessorConfig *config)
Run the TeraPluginProcessor.
irsRunHandAnalysis
Result irsRunHandAnalysis(IrsIrCameraHandle handle, const IrsHandAnalysisConfig *config)
Run HandAnalysis.
irsGetImageProcessorStatus
Result irsGetImageProcessorStatus(IrsIrCameraHandle handle, IrsImageProcessorStatus *out)
GetImageProcessorStatus Only available on [4.0.0+].
IrsPointingProcessorMarkerState::position_x
float position_x
PositionX.
Definition: irs.h:323
IrsPackedClusteringProcessorConfig::required_mcu_version
IrsPackedMcuVersion required_mcu_version
RequiredMcuVersion.
Definition: irs.h:160
IrsIrCameraInternalStatus_FirmwareVersionRequested
@ IrsIrCameraInternalStatus_FirmwareVersionRequested
FirmwareVersionRequested.
Definition: irs.h:29
IrsAruidFormat::ir_sensor_aruid_status
u32 ir_sensor_aruid_status
IrSensorAruidStatus.
Definition: irs.h:371
IrsIrCameraStatus_Available
@ IrsIrCameraStatus_Available
Available.
Definition: irs.h:17
IrsIrSensorMode_IrLedProcessor
@ IrsIrSensorMode_IrLedProcessor
IrLedProcessor (doesn't apply to IrsDeviceFormat::ir_sensor_mode)
Definition: irs.h:43
IrsPackedFunctionLevel::ir_sensor_function_level
u8 ir_sensor_function_level
IrSensorFunctionLevel.
Definition: irs.h:100
IrsMomentProcessorState::ambient_noise_level
u32 ambient_noise_level
AmbientNoiseLevel.
Definition: irs.h:285
IrsPackedImageTransferProcessorExConfig::light_target
u8 light_target
Controls the IR leds. 0: All leds, 1: Bright group, 2: Dim group, 3: None.
Definition: irs.h:207
IrsClusteringData::centroid_y
float centroid_y
CentroidY.
Definition: irs.h:294
IrsProcessorState::start
s64 start
Start.
Definition: irs.h:351
IrsAruidFormat::pad
u32 pad
Padding.
Definition: irs.h:372
IrsPackedImageTransferProcessorConfig::gain
u8 gain
IR sensor signal's digital gain.
Definition: irs.h:196
s32
int32_t s32
32-bit signed integer.
Definition: types.h:27
IrsPackedMomentProcessorConfig::required_mcu_version
IrsPackedMcuVersion required_mcu_version
RequiredMcuVersion.
Definition: irs.h:132
IrsPointingProcessorMarkerState::unk_x14
float unk_x14
Unknown.
Definition: irs.h:325
IrsTeraPluginProcessorConfig::unk_x3
u8 unk_x3
[6.0.0+] Unknown
Definition: irs.h:238
IrsImageTransferProcessorState
ImageTransferProcessorState.
Definition: irs.h:221
IrsMomentProcessorConfig::preprocess_intensity_threshold
u32 preprocess_intensity_threshold
PreprocessIntensityThreshold.
Definition: irs.h:121
IrsImageTransferProcessorExConfig::gain
u32 gain
IR sensor signal's digital gain.
Definition: irs.h:182
IrsImageTransferProcessorConfig::gain
u32 gain
IR sensor signal's digital gain.
Definition: irs.h:172
IrsClusteringProcessorState::sampling_number
s64 sampling_number
SamplingNumber.
Definition: irs.h:304
IrsPackedPointingProcessorConfig::required_mcu_version
IrsPackedMcuVersion required_mcu_version
RequiredMcuVersion.
Definition: irs.h:230
IrsPackedImageTransferProcessorConfig::light_target
u8 light_target
Controls the IR leds. 0: All leds, 1: Bright group, 2: Dim group, 3: None.
Definition: irs.h:195
IrsClusteringData
ClusteringData.
Definition: irs.h:291
IrsPackedTeraPluginProcessorConfig::mode
u8 mode
Mode.
Definition: irs.h:244
IrsIrSensorMode_ImageTransferProcessor
@ IrsIrSensorMode_ImageTransferProcessor
ImageTransferProcessor.
Definition: irs.h:40
IrsClusteringData::boundt_width
u16 boundt_width
BoundtWidth.
Definition: irs.h:298
irsCalculateMomentRegionStatistic
IrsMomentStatistic irsCalculateMomentRegionStatistic(const IrsMomentProcessorState *state, IrsRect rect, s32 region_x, s32 region_y, s32 region_width, s32 region_height)
Calculates an IrsMomentStatistic from the specified region in the input IrsMomentProcessorState.
irsGetIrCameraHandle
Result irsGetIrCameraHandle(IrsIrCameraHandle *handle, HidNpadIdType id)
Gets the IrsIrCameraHandle for the specified controller.
IrsPackedTeraPluginProcessorConfig::unk_x6
u8 unk_x6
[6.0.0+] IrsTeraPluginProcessorConfig::unk_x2
Definition: irs.h:246
IrsPointingProcessorState::sampling_number
s64 sampling_number
SamplingNumber.
Definition: irs.h:332
IrsAdaptiveClusteringProcessorConfig
AdaptiveClusteringProcessorConfig.
Definition: irs.h:263
IrsPackedImageTransferProcessorExConfig::is_negative_image_used
u8 is_negative_image_used
Inverts the colors of the captured image. 0: Normal image, 1: Negative image.
Definition: irs.h:209
IrsPackedClusteringProcessorConfig::is_external_light_filter_enabled
u8 is_external_light_filter_enabled
IsExternalLightFilterEnabled.
Definition: irs.h:164
IrsPackedMomentProcessorConfig::is_negative_image_used
u8 is_negative_image_used
Inverts the colors of the captured image. 0: Normal image, 1: Negative image.
Definition: irs.h:129
IrsPackedImageTransferProcessorExConfig::gain
u8 gain
IR sensor signal's digital gain.
Definition: irs.h:208
IrsClusteringProcessorConfig::object_pixel_count_min
u32 object_pixel_count_min
ObjectPixelCountMin.
Definition: irs.h:146
irsGetClusteringProcessorStates
Result irsGetClusteringProcessorStates(IrsIrCameraHandle handle, IrsClusteringProcessorState *states, s32 count, s32 *total_out)
Gets the states for ClusteringProcessor.
HidNpadIdType
HidNpadIdType
HID controller IDs.
Definition: hid.h:214
IrsImageProcessorStatus_Running
@ IrsImageProcessorStatus_Running
Running.
Definition: irs.h:49
irsGetPointingProcessorStates
Result irsGetPointingProcessorStates(IrsIrCameraHandle handle, IrsPointingProcessorState *states, s32 count, s32 *total_out)
Gets the states for IrsPointingProcessorState.
IrsTeraPluginProcessorState::timestamp
u64 timestamp
TimeStamp.
Definition: irs.h:344
irsGetTeraPluginProcessorStates
Result irsGetTeraPluginProcessorStates(IrsIrCameraHandle handle, IrsTeraPluginProcessorState *states, s32 count, s64 sampling_number, u32 prefix_data, u32 prefix_bitcount, s32 *total_out)
Gets the states for TeraPluginProcessor, filtered using the input params.
irsRunIrLedProcessor
Result irsRunIrLedProcessor(IrsIrCameraHandle handle, const IrsIrLedProcessorConfig *config)
Run the IrLedProcessor.
IrsImageTransferProcessorFormat_320x240
@ IrsImageTransferProcessorFormat_320x240
320x240
Definition: irs.h:54
IrsPackedTeraPluginProcessorConfig::unk_x7
u8 unk_x7
[6.0.0+] IrsTeraPluginProcessorConfig::unk_x3
Definition: irs.h:247
IrsTeraPluginProcessorConfig::unk_x1
u8 unk_x1
[6.0.0+] Unknown
Definition: irs.h:236
IrsIrCameraHandle
IrCameraHandle.
Definition: irs.h:86
IrsHandAnalysisMode_SilhouetteAndImage
@ IrsHandAnalysisMode_SilhouetteAndImage
SilhouetteAndImage.
Definition: irs.h:78
IrsProcessorState::count
u32 count
Count.
Definition: irs.h:352
IrsClusteringData::bound_height
u16 bound_height
BoundHeight.
Definition: irs.h:299
IrsHandAnalysisConfig::mode
u32 mode
IrsHandAnalysisMode
Definition: irs.h:270
IrsImageTransferProcessorExConfig::exposure_time
u64 exposure_time
IR Sensor exposure time in nanoseconds.
Definition: irs.h:180
IrsImageTransferProcessorState::ambient_noise_level
u32 ambient_noise_level
AmbientNoiseLevel.
Definition: irs.h:223
IrsIrCameraInternalStatus_FirmwareUpdateNeeded
@ IrsIrCameraInternalStatus_FirmwareUpdateNeeded
FirmwareUpdateNeeded.
Definition: irs.h:25
IrsImageTransferProcessorExConfig::trimming_format
u32 trimming_format
TrimmingFormat IrsImageTransferProcessorFormat.
Definition: irs.h:186
IrsHandAnalysisMode_Image
@ IrsHandAnalysisMode_Image
Image.
Definition: irs.h:77
IrsDeviceFormat::ir_camera_internal_status
u32 ir_camera_internal_status
IrsIrCameraInternalStatus
Definition: irs.h:361
IrsClusteringProcessorConfig::is_negative_image_used
u8 is_negative_image_used
Inverts the colors of the captured image. 0: Normal image, 1: Negative image.
Definition: irs.h:143
IrsPackedMomentProcessorConfig::light_target
u8 light_target
Controls the IR leds. 0: All leds, 1: Bright group, 2: Dim group, 3: None.
Definition: irs.h:127
IrsIrCameraInternalStatus_FirmwareVersionIsInvalid
@ IrsIrCameraInternalStatus_FirmwareVersionIsInvalid
FirmwareVersionIsInvalid.
Definition: irs.h:30
IrsPackedPointingProcessorConfig::window_of_interest
IrsRect window_of_interest
WindowOfInterest.
Definition: irs.h:229
IrsPackedClusteringProcessorConfig::window_of_interest
IrsRect window_of_interest
WindowOfInterest.
Definition: irs.h:159
irsGetIrLedProcessorDefaultConfig
static void irsGetIrLedProcessorDefaultConfig(IrsIrLedProcessorConfig *config)
Gets the default configuration for IrLedProcessor.
Definition: irs.h:572
IrsImageTransferProcessorConfig
ImageTransferProcessorConfig.
Definition: irs.h:169
IrsMomentProcessorState
MomentProcessorState.
Definition: irs.h:281
IrsTeraPluginProcessorState
TeraPluginProcessorState.
Definition: irs.h:342
IrsPackedImageTransferProcessorExConfig::orig_format
u8 orig_format
OrigFormat IrsImageTransferProcessorFormat.
Definition: irs.h:212
IrsImageTransferProcessorConfig::format
u32 format
IrsImageTransferProcessorFormat
Definition: irs.h:175
IrsIrCameraInternalStatus_Setting
@ IrsIrCameraInternalStatus_Setting
[4.0.0+] Setting
Definition: irs.h:32
u32
uint32_t u32
32-bit unsigned integer.
Definition: types.h:21
IrsPackedClusteringProcessorConfig::object_pixel_count_max
u32 object_pixel_count_max
ObjectPixelCountMax.
Definition: irs.h:162
irsGetDefaultImageTransferProcessorExConfig
void irsGetDefaultImageTransferProcessorExConfig(IrsImageTransferProcessorExConfig *config)
Gets the default configuration for ImageTransferProcessorEx.
IrsIrCameraStatus_Unconnected
@ IrsIrCameraStatus_Unconnected
Unconnected.
Definition: irs.h:19
IrsHandAnalysisMode_Silhouette
@ IrsHandAnalysisMode_Silhouette
Silhouette.
Definition: irs.h:76
IrsImageTransferProcessorExConfig::light_target
u32 light_target
Controls the IR leds. 0: All leds, 1: Bright group, 2: Dim group, 3: None.
Definition: irs.h:181
IrsIrCameraStatus
IrsIrCameraStatus
IrCameraStatus.
Definition: irs.h:16
IrsAruidFormat::ir_sensor_aruid
u64 ir_sensor_aruid
IrSensorAruid.
Definition: irs.h:370
IrsDeviceFormat
DeviceFormat.
Definition: irs.h:359
IrsPackedIrLedProcessorConfig::required_mcu_version
IrsPackedMcuVersion required_mcu_version
RequiredMcuVersion.
Definition: irs.h:257
IrsDeviceFormat::ir_sensor_mode
u32 ir_sensor_mode
IrsIrSensorMode
Definition: irs.h:362
IrsPackedImageTransferProcessorConfig::format
u8 format
IrsImageTransferProcessorFormat
Definition: irs.h:200
IrsPackedTeraPluginProcessorConfig
PackedTeraPluginProcessorConfig.
Definition: irs.h:242
IrsMomentProcessorState::sampling_number
s64 sampling_number
SamplingNumber.
Definition: irs.h:282
IrsClusteringProcessorConfig::is_external_light_filter_enabled
u8 is_external_light_filter_enabled
IsExternalLightFilterEnabled.
Definition: irs.h:149
IrsIrLedProcessorConfig
IrLedProcessorConfig.
Definition: irs.h:251
IrsClusteringProcessorState
ClusteringProcessorState.
Definition: irs.h:303
IrsPackedImageTransferProcessorExConfig::trimming_start_x
u16 trimming_start_x
TrimmingStartX.
Definition: irs.h:214
IrsPackedClusteringProcessorConfig
PackedClusteringProcessorConfig.
Definition: irs.h:153
IrsMomentStatistic::average_intensity
float average_intensity
AverageIntensity.
Definition: irs.h:275
IrsPointingProcessorMarkerState::timestamp
u64 timestamp
TimeStamp.
Definition: irs.h:316
irsGetImageTransferProcessorState
Result irsGetImageTransferProcessorState(IrsIrCameraHandle handle, void *buffer, size_t size, IrsImageTransferProcessorState *state)
GetImageTransferProcessorState.
u64
uint64_t u64
64-bit unsigned integer.
Definition: types.h:22
IrsImageProcessorStatus
IrsImageProcessorStatus
ImageProcessorStatus.
Definition: irs.h:47
IrsHandAnalysisConfig
HandAnalysisConfig.
Definition: irs.h:269
IrsClusteringData::pixel_count
u32 pixel_count
PixelCount.
Definition: irs.h:295
IrsProcessorState
ProcessorState.
Definition: irs.h:350
irsStopImageProcessorAsync
Result irsStopImageProcessorAsync(IrsIrCameraHandle handle)
Stop the current Processor, async.
IrsPackedClusteringProcessorConfig::exposure_time
u64 exposure_time
IR Sensor exposure time in nanoseconds.
Definition: irs.h:154
IrsAdaptiveClusteringTargetDistance
IrsAdaptiveClusteringTargetDistance
AdaptiveClusteringTargetDistance.
Definition: irs.h:68
IrsIrCameraInternalStatus_Ready
@ IrsIrCameraInternalStatus_Ready
[4.0.0+] Ready
Definition: irs.h:31
IrsClusteringProcessorConfig::exposure_time
u64 exposure_time
IR Sensor exposure time in nanoseconds.
Definition: irs.h:140
IrsAdaptiveClusteringProcessorConfig::target_distance
u32 target_distance
[6.0.0+] IrsAdaptiveClusteringTargetDistance
Definition: irs.h:265
IrsMomentProcessorConfig::light_target
u32 light_target
Controls the IR leds. 0: All leds, 1: Bright group, 2: Dim group, 3: None.
Definition: irs.h:115
IrsDeviceFormat::pad
u32 pad
Padding.
Definition: irs.h:363
IrsIrLedProcessorConfig::light_target
u32 light_target
Controls the IR leds. 0: All leds, 1: Bright group, 2: Dim group, 3: None.
Definition: irs.h:252
Result
u32 Result
Function error code result type.
Definition: types.h:44
IrsIrCameraStatus_Unsupported
@ IrsIrCameraStatus_Unsupported
Unsupported.
Definition: irs.h:18
IrsPackedTeraPluginProcessorConfig::required_mcu_version
IrsPackedMcuVersion required_mcu_version
RequiredMcuVersion.
Definition: irs.h:243
IrsImageTransferProcessorExConfig::orig_format
u32 orig_format
OrigFormat IrsImageTransferProcessorFormat.
Definition: irs.h:185
IrsPointingProcessorState::position_y
float position_y
PositionY.
Definition: irs.h:337
IrsIrCameraHandle::player_number
u8 player_number
PlayerNumber.
Definition: irs.h:87
IrsClusteringData::bound_y
u16 bound_y
BoundY.
Definition: irs.h:297
IrsHandAnalysisMode
IrsHandAnalysisMode
HandAnalysisMode.
Definition: irs.h:75
irsGetPointingProcessorMarkerStates
Result irsGetPointingProcessorMarkerStates(IrsIrCameraHandle handle, IrsPointingProcessorMarkerState *states, s32 count, s32 *total_out)
Gets the states for PointingProcessor.
irsGetServiceSession
Service * irsGetServiceSession(void)
Gets the Service object for the actual irs service session.
IrsPackedMomentProcessorConfig::preprocess
u8 preprocess
Preprocess.
Definition: irs.h:133
irsGetClusteringProcessorDefaultConfig
void irsGetClusteringProcessorDefaultConfig(IrsClusteringProcessorConfig *config)
Gets the default configuration for ClusteringProcessor.
IrsIrCameraInternalStatus
IrsIrCameraInternalStatus
IrCameraInternalStatus.
Definition: irs.h:23
IrsRect::height
s16 height
Height.
Definition: irs.h:109
IrsProcessorState::pad
u32 pad
Padding.
Definition: irs.h:353
IrsMomentStatistic
MomentStatistic.
Definition: irs.h:274
IrsPackedImageTransferProcessorExConfig::trimming_format
u8 trimming_format
TrimmingFormat IrsImageTransferProcessorFormat.
Definition: irs.h:213
irsInitialize
Result irsInitialize(void)
Initialize irs.
IrsClusteringProcessorConfig::window_of_interest
IrsRect window_of_interest
WindowOfInterest.
Definition: irs.h:145
IrsPackedImageTransferProcessorExConfig::is_external_light_filter_enabled
u8 is_external_light_filter_enabled
IsExternalLightFilterEnabled.
Definition: irs.h:216
IrsPackedClusteringProcessorConfig::object_intensity_min
u8 object_intensity_min
ObjectIntensityMin.
Definition: irs.h:163
IrsPointingProcessorMarkerState::pointing_status
u8 pointing_status
PointingStatus.
Definition: irs.h:319
IrsPointingProcessorState::timestamp
u64 timestamp
TimeStamp.
Definition: irs.h:333
IrsPackedMomentProcessorConfig::preprocess_intensity_threshold
u8 preprocess_intensity_threshold
PreprocessIntensityThreshold.
Definition: irs.h:134
IrsPackedImageTransferProcessorExConfig::exposure_time
u64 exposure_time
IR Sensor exposure time in nanoseconds.
Definition: irs.h:206
IrsPackedImageTransferProcessorExConfig
PackedImageTransferProcessorExConfig.
Definition: irs.h:205
IrsValidationCb
bool(* IrsValidationCb)(void *userdata, void *arg)
Internal validation callblack.
Definition: irs.h:83
IrsDeviceFormat::ir_camera_status
u32 ir_camera_status
IrsIrCameraStatus
Definition: irs.h:360
IrsPackedClusteringProcessorConfig::gain
u8 gain
IR sensor signal's digital gain.
Definition: irs.h:156
IrsMomentStatistic::centroid_x
float centroid_x
CentroidX.
Definition: irs.h:276
IrsPackedImageTransferProcessorExConfig::required_mcu_version
IrsPackedMcuVersion required_mcu_version
RequiredMcuVersion.
Definition: irs.h:211
IrsPackedTeraPluginProcessorConfig::unk_x5
u8 unk_x5
[6.0.0+] This is set to 0x2 | (IrsTeraPluginProcessorConfig::unk_x1 << 7).
Definition: irs.h:245
IrsPackedClusteringProcessorConfig::is_negative_image_used
u8 is_negative_image_used
Inverts the colors of the captured image. 0: Normal image, 1: Negative image.
Definition: irs.h:157
irsRunImageTransferProcessor
Result irsRunImageTransferProcessor(IrsIrCameraHandle handle, const IrsImageTransferProcessorConfig *config, size_t size)
Run the ImageTransferProcessor.
IrsPointingProcessorState::position_x
float position_x
PositionX.
Definition: irs.h:336
IrsMomentProcessorConfig::window_of_interest
IrsRect window_of_interest
WindowOfInterest.
Definition: irs.h:119
IrsImageTransferProcessorFormat_160x120
@ IrsImageTransferProcessorFormat_160x120
160x120
Definition: irs.h:55
irsStopImageProcessor
Result irsStopImageProcessor(IrsIrCameraHandle handle)
Stop the current Processor.
IrsPackedImageTransferProcessorConfig
PackedImageTransferProcessorConfig.
Definition: irs.h:193
irsCheckFirmwareUpdateNecessity
Result irsCheckFirmwareUpdateNecessity(IrsIrCameraHandle handle, bool *out)
CheckFirmwareUpdateNecessity When successful where the output flag is set, the user should use hidLaS...
IrsIrSensorMode_None
@ IrsIrSensorMode_None
None.
Definition: irs.h:37
IrsMomentStatistic::centroid_y
float centroid_y
CentroidY.
Definition: irs.h:277
IrsStatusManager
StatusManager.
Definition: irs.h:376
IrsIrCameraInternalStatus_Stopped
@ IrsIrCameraInternalStatus_Stopped
Stopped.
Definition: irs.h:24
IrsPackedImageTransferProcessorExConfig::trimming_start_y
u16 trimming_start_y
TrimmingStartY.
Definition: irs.h:215
irsGetIrCameraStatus
Result irsGetIrCameraStatus(IrsIrCameraHandle handle, IrsIrCameraStatus *out)
GetIrCameraStatus.
IrsPackedMcuVersion::major_version
u16 major_version
MajorVersion.
Definition: irs.h:94
irsGetSharedmemAddr
void * irsGetSharedmemAddr(void)
Gets the address of the SharedMemory (IrsStatusManager).
IrsIrSensorMode_ClusteringProcessor
@ IrsIrSensorMode_ClusteringProcessor
ClusteringProcessor.
Definition: irs.h:39
IrsTeraPluginProcessorConfig::unk_x2
u8 unk_x2
[6.0.0+] Unknown
Definition: irs.h:237
IrsAruidFormat
AruidFormat.
Definition: irs.h:369
IrsTeraPluginProcessorState::ambient_noise_level
u32 ambient_noise_level
AmbientNoiseLevel.
Definition: irs.h:345
IrsIrCameraInternalStatus_Unknown4
@ IrsIrCameraInternalStatus_Unknown4
Unknown.
Definition: irs.h:28
IrsPackedMomentProcessorConfig::exposure_time
u64 exposure_time
IR Sensor exposure time in nanoseconds.
Definition: irs.h:126
IrsDeviceFormat::processor_state
IrsProcessorState processor_state
IrsProcessorState
Definition: irs.h:365
IrsIrCameraInternalStatus_Unknown3
@ IrsIrCameraInternalStatus_Unknown3
Unknown.
Definition: irs.h:27
Service
Service object structure.
Definition: service.h:13
IrsImageTransferProcessorFormat_20x15
@ IrsImageTransferProcessorFormat_20x15
[4.0.0+] 20x15
Definition: irs.h:58
IrsImageTransferProcessorFormat
IrsImageTransferProcessorFormat
ImageTransferProcessorFormat. IR Sensor image resolution.
Definition: irs.h:53
IrsClusteringProcessorConfig
ClusteringProcessorConfig.
Definition: irs.h:139
IrsAdaptiveClusteringTargetDistance_Near
@ IrsAdaptiveClusteringTargetDistance_Near
Near.
Definition: irs.h:69
IrsAdaptiveClusteringTargetDistance_Far
@ IrsAdaptiveClusteringTargetDistance_Far
Far.
Definition: irs.h:71
IrsClusteringProcessorState::timestamp
u64 timestamp
TimeStamp.
Definition: irs.h:305
IrsMomentProcessorConfig
IrsMomentProcessorConfig.
Definition: irs.h:113
IrsClusteringData::average_intensity
float average_intensity
AverageIntensity.
Definition: irs.h:292
IrsPackedClusteringProcessorConfig::light_target
u8 light_target
Controls the IR leds. 0: All leds, 1: Bright group, 2: Dim group, 3: None.
Definition: irs.h:155
IrsPackedImageTransferProcessorConfig::is_negative_image_used
u8 is_negative_image_used
Inverts the colors of the captured image. 0: Normal image, 1: Negative image.
Definition: irs.h:197
IrsAdaptiveClusteringTargetDistance_Middle
@ IrsAdaptiveClusteringTargetDistance_Middle
Middle.
Definition: irs.h:70
IrsClusteringProcessorState::ambient_noise_level
u32 ambient_noise_level
AmbientNoiseLevel.
Definition: irs.h:309
IrsClusteringData::centroid_x
float centroid_x
CentroidX.
Definition: irs.h:293
IrsPointingProcessorMarkerState::unk_x8
float unk_x8
Unknown.
Definition: irs.h:322
IrsImageTransferProcessorExConfig::is_negative_image_used
u8 is_negative_image_used
Inverts the colors of the captured image. 0: Normal image, 1: Negative image.
Definition: irs.h:183
IrsPointingProcessorMarkerState::sampling_number
s64 sampling_number
SamplingNumber.
Definition: irs.h:315
IrsPackedImageTransferProcessorConfig::required_mcu_version
IrsPackedMcuVersion required_mcu_version
RequiredMcuVersion.
Definition: irs.h:199
IrsIrCameraInternalStatus_Unknown2
@ IrsIrCameraInternalStatus_Unknown2
Unknown.
Definition: irs.h:26
IrsPackedMcuVersion::minor_version
u16 minor_version
MinorVersion.
Definition: irs.h:95
IrsPackedMomentProcessorConfig::gain
u8 gain
IR sensor signal's digital gain.
Definition: irs.h:128
IrsPackedIrLedProcessorConfig
PackedIrLedProcessorConfig.
Definition: irs.h:256
IrsImageTransferProcessorConfig::exposure_time
u64 exposure_time
IR Sensor exposure time in nanoseconds.
Definition: irs.h:170
irsRunClusteringProcessor
Result irsRunClusteringProcessor(IrsIrCameraHandle handle, const IrsClusteringProcessorConfig *config)
Run the ClusteringProcessor.
IrsAdaptiveClusteringMode_StaticFov
@ IrsAdaptiveClusteringMode_StaticFov
StaticFov.
Definition: irs.h:63
irsRunPointingProcessor
Result irsRunPointingProcessor(IrsIrCameraHandle handle)
Run the PointingProcessor.
IrsRect::width
s16 width
Width.
Definition: irs.h:108
IrsImageTransferProcessorFormat_80x60
@ IrsImageTransferProcessorFormat_80x60
80x60
Definition: irs.h:56
IrsPointingProcessorState
PointingProcessorState.
Definition: irs.h:331
IrsPointingProcessorMarkerState::position_y
float position_y
PositionY.
Definition: irs.h:324
u16
uint16_t u16
16-bit unsigned integer.
Definition: types.h:20
IrsAdaptiveClusteringMode_DynamicFov
@ IrsAdaptiveClusteringMode_DynamicFov
DynamicFov.
Definition: irs.h:64
IrsPackedPointingProcessorConfig
PackedPointingProcessorConfig.
Definition: irs.h:228
IrsIrSensorMode_PointingProcessor
@ IrsIrSensorMode_PointingProcessor
PointingProcessor.
Definition: irs.h:41
IrsMomentProcessorConfig::is_negative_image_used
u8 is_negative_image_used
Inverts the colors of the captured image. 0: Normal image, 1: Negative image.
Definition: irs.h:117
irsExit
void irsExit(void)
Exit irs.
IrsPointingProcessorState::pointing_status
u32 pointing_status
PointingStatus.
Definition: irs.h:335
IrsImageTransferProcessorConfig::is_negative_image_used
u8 is_negative_image_used
Inverts the colors of the captured image. 0: Normal image, 1: Negative image.
Definition: irs.h:173
irsGetMomentProcessorDefaultConfig
void irsGetMomentProcessorDefaultConfig(IrsMomentProcessorConfig *config)
Gets the default configuration for MomentProcessor.
IrsClusteringProcessorConfig::object_intensity_min
u32 object_intensity_min
ObjectIntensityMin.
Definition: irs.h:148
IrsMomentProcessorConfig::preprocess
u32 preprocess
Preprocess.
Definition: irs.h:120
IrsClusteringProcessorConfig::object_pixel_count_max
u32 object_pixel_count_max
ObjectPixelCountMax.
Definition: irs.h:147
IrsImageProcessorStatus_Stopped
@ IrsImageProcessorStatus_Stopped
Stopped.
Definition: irs.h:48