RealSense Cross Platform API
RealSense Cross-platform API
rs_option.h
Go to the documentation of this file.
1 /* License: Apache 2.0. See LICENSE file in root directory.
2 Copyright(c) 2017 RealSense, Inc. All Rights Reserved. */
3 
10 #ifndef LIBREALSENSE_RS2_OPTION_H
11 #define LIBREALSENSE_RS2_OPTION_H
12 
13 
14 #include <stdint.h>
15 
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
21 #include "rs_types.h"
22 
26  typedef enum rs2_option
27  {
130  // Safety camera options
148  } rs2_option;
149 
155  const char* rs2_option_to_string(rs2_option option);
156 
162  rs2_option rs2_option_from_string( const char * option_name );
163 
166  typedef enum rs2_option_type
167  {
173 
175 
176  } rs2_option_type;
177 
182  const char * rs2_option_type_to_string( rs2_option_type type );
183 
188  typedef struct rs2_option_rect
189  {
190  int16_t x1, y1;
191  int16_t x2, y2;
192  } rs2_option_rect;
193 
197  typedef struct rs2_option_range
198  {
199  float min;
200  float max;
201  float def;
202  float step;
204 
207  typedef struct rs2_option_value
208  {
210  int is_valid;
212 #pragma pack(push,1)
213  union
214  {
215  char const * as_string;
216  float as_float;
217  int64_t as_integer;
219  };
220 #pragma pack(pop)
222 
225  {
240 
243  {
255 
258  {
269 
271  typedef enum rs2_sensor_mode
272  {
277  } rs2_sensor_mode;
278  const char* rs2_sensor_mode_to_string(rs2_sensor_mode preset);
279 
281  typedef enum rs2_ambient_light
282  {
287 
289  typedef enum rs2_digital_gain
290  {
295  const char* rs2_digital_gain_to_string(rs2_digital_gain preset);
296 
298  typedef enum rs2_host_perf_mode
299  {
306 
309  {
315 
318  {
324 
328  {
336 
338  typedef enum rs2_emitter_mode
339  {
346  const char* rs2_emitter_mode_to_string( rs2_emitter_mode mode );
347 
349  typedef enum rs2_safety_mode
350  {
355  } rs2_safety_mode;
356  const char* rs2_safety_mode_to_string( rs2_safety_mode mode );
357 
367 
369  typedef enum rs2_gyro_sensitivity
370  {
379 
387  int rs2_is_option_read_only(const rs2_options* options, rs2_option option, rs2_error** error);
388 
396  float rs2_get_option(const rs2_options* options, rs2_option option, rs2_error** error);
397 
405  rs2_option_value const * rs2_get_option_value( const rs2_options * options, rs2_option option_id, rs2_error ** error );
406 
414  void rs2_set_option(const rs2_options* options, rs2_option option, float value, rs2_error** error);
415 
422  void rs2_set_option_value( rs2_options const * options, rs2_option_value const * option_value, rs2_error ** error );
423 
430 
436  int rs2_get_options_list_size(const rs2_options_list* options, rs2_error** error);
437 
445  const char* rs2_get_option_name(const rs2_options* options, rs2_option option, rs2_error** error);
446 
453  rs2_option rs2_get_option_from_list(const rs2_options_list* options, int i, rs2_error** error);
454 
461  rs2_option_value const * rs2_get_option_value_from_list( const rs2_options_list * options, int i, rs2_error ** error );
462 
470  int rs2_get_option_range_from_list( const rs2_options_list * options, int i, rs2_option_range * out_range, rs2_error ** error );
471 
476  void rs2_delete_option_value( rs2_option_value const * handle );
477 
483 
491  int rs2_supports_option(const rs2_options* options, rs2_option option, rs2_error** error);
492 
503  void rs2_get_option_range(const rs2_options* sensor, rs2_option option, float* min, float* max, float* step, float* def, rs2_error** error);
504 
512  const char* rs2_get_option_description(const rs2_options* options, rs2_option option, rs2_error ** error);
513 
522  const char* rs2_get_option_value_description(const rs2_options* options, rs2_option option, float value, rs2_error ** error);
523 
534  rs2_error ** error );
535 
543  rs2_options_changed_callback * callback,
544  rs2_error ** error );
545 
546 #ifdef __cplusplus
547 }
548 #endif
549 #endif
const char * rs2_sensor_mode_to_string(rs2_sensor_mode preset)
void rs2_set_option_value(rs2_options const *options, rs2_option_value const *option_value, rs2_error **error)
Definition: rs_option.h:329
Definition: rs_option.h:147
Definition: rs_option.h:293
Definition: rs_option.h:132
Definition: rs_option.h:373
Definition: rs_option.h:70
Definition: rs_option.h:53
Definition: rs_option.h:262
rs2_option_rect as_rect
Definition: rs_option.h:218
const char * rs2_safety_mode_to_string(rs2_safety_mode mode)
Definition: rs_option.h:74
rs2_option_value const * rs2_get_option_value(const rs2_options *options, rs2_option option_id, rs2_error **error)
Definition: rs_types.hpp:100
float rs2_get_option(const rs2_options *options, rs2_option option, rs2_error **error)
const char * rs2_option_type_to_string(rs2_option_type type)
Definition: rs_option.h:106
Definition: rs_option.h:83
rs2_emitter_frequency_mode
values for RS2_EMITTER_FREQUENCY option.
Definition: rs_option.h:308
rs2_option id
Definition: rs_option.h:209
Definition: rs_option.h:37
Definition: rs_option.h:312
Definition: rs_option.h:263
Definition: rs_option.h:86
const char * rs2_host_perf_mode_to_string(rs2_host_perf_mode perf)
Definition: rs_option.h:85
Definition: rs_option.h:302
Definition: rs_option.h:247
Definition: rs_option.h:226
rs2_depth_auto_exposure_mode
values for RS2_OPTION_DEPTH_AUTO_EXPOSURE_MODE option.
Definition: rs_option.h:317
rs2_emitter_mode
values for RS2_OPTION_EMITTER_MODE option.
Definition: rs_option.h:338
Definition: rs_option.h:172
Definition: rs_option.h:249
Definition: rs_option.h:168
Definition: rs_option.h:235
Definition: rs_option.h:127
Definition: rs_option.h:61
Definition: rs_option.h:119
rs2_option
Defines general configuration controls. These can generally be mapped to camera UVC controls...
Definition: rs_option.h:26
Definition: rs_option.h:361
Definition: rs_option.h:55
Definition: rs_option.h:274
Definition: rs_option.h:265
Definition: rs_option.h:341
struct rs2_option_rect rs2_option_rect
Definition: rs_option.h:59
Definition: rs_option.h:120
Definition: rs_option.h:107
Definition: rs_option.h:98
Definition: rs_option.h:91
Definition: rs_option.h:128
const char * rs2_gyro_sensitivity_to_string(rs2_gyro_sensitivity mode)
Definition: rs_option.h:333
rs2_sr300_visual_preset
For SR300 devices: provides optimized settings (presets) for specific types of usage.
Definition: rs_option.h:224
Definition: rs_option.h:108
const char * rs2_option_to_string(rs2_option option)
Definition: rs_option.h:259
rs2_colored_ir_auto_exposure_mode
values for RS2_OPTION_DEPTH_AUTO_EXPOSURE_MODE option on colored-IR devices, where the same imagers f...
Definition: rs_option.h:327
Definition: rs_option.h:284
Definition: rs_option.h:105
Definition: rs_option.h:231
Definition: rs_option.h:45
Definition: rs_option.h:374
Definition: rs_option.h:68
const char * rs2_depth_auto_exposure_mode_to_string(rs2_depth_auto_exposure_mode mode)
Definition: rs_option.h:145
Definition: rs_option.h:112
Definition: rs_option.h:87
Definition: rs_option.h:94
char const * as_string
Definition: rs_option.h:215
Definition: rs_option.h:273
Definition: rs_option.h:35
Definition: rs_option.h:188
int16_t x2
Definition: rs_option.h:191
void rs2_set_options_changed_callback(rs2_options *options, rs2_options_changed_callback_ptr callback, rs2_error **error)
Definition: rs_option.h:51
int is_valid
Definition: rs_option.h:210
Definition: rs_option.h:117
Definition: rs_option.h:49
Definition: rs_option.h:97
float step
Definition: rs_option.h:202
Definition: rs_option.h:43
Definition: rs_option.h:246
const char * rs2_colored_ir_auto_exposure_mode_to_string(rs2_colored_ir_auto_exposure_mode mode)
Definition: rs_option.h:319
Definition: rs_option.h:137
rs2_option_value const * rs2_get_option_value_from_list(const rs2_options_list *options, int i, rs2_error **error)
Definition: rs_option.h:133
Definition: rs_option.h:82
rs2_host_perf_mode
values for RS2_OPTION_HOST_PERFORMANCE option.
Definition: rs_option.h:298
Definition: rs_option.h:30
Definition: rs_option.h:248
const char * rs2_sr300_visual_preset_to_string(rs2_sr300_visual_preset preset)
Definition: rs_option.h:56
void rs2_set_options_changed_callback_cpp(rs2_options *options, rs2_options_changed_callback *callback, rs2_error **error)
Definition: rs_option.h:34
Definition: rs_option.h:116
Definition: rs_option.h:88
The value of an option, in a known option type.
Definition: rs_option.h:207
int64_t as_integer
Definition: rs_option.h:217
const char * rs2_digital_gain_to_string(rs2_digital_gain preset)
Definition: rs_option.h:351
void rs2_delete_option_value(rs2_option_value const *handle)
Definition: rs_option.h:144
Definition: rs_option.h:134
Definition: rs_option.h:95
int16_t x1
Definition: rs_option.h:190
Definition: rs_option.h:376
Definition: rs_option.h:375
int rs2_get_option_range_from_list(const rs2_options_list *options, int i, rs2_option_range *out_range, rs2_error **error)
Definition: rs_option.h:197
Definition: rs_option.h:89
Definition: rs_option.h:41
int rs2_supports_option(const rs2_options *options, rs2_option option, rs2_error **error)
Definition: rs_option.h:50
Definition: rs_option.h:363
Definition: rs_option.h:353
Definition: rs_option.h:92
Definition: rs_option.h:64
Definition: rs_option.h:244
Definition: rs_option.h:28
Definition: rs_option.h:245
const char * rs2_get_option_name(const rs2_options *options, rs2_option option, rs2_error **error)
Definition: rs_option.h:169
Definition: rs_option.h:81
Definition: rs_option.h:260
void(* rs2_options_changed_callback_ptr)(const rs2_options_list *)
Definition: rs_types.h:341
Definition: rs_option.h:126
Exposes RealSense structs.
const char * rs2_get_option_value_description(const rs2_options *options, rs2_option option, float value, rs2_error **error)
Definition: rs_option.h:321
Definition: rs_option.h:124
Definition: rs_option.h:234
Definition: rs_option.h:230
const char * rs2_d500_intercam_sync_mode_to_string(rs2_d500_intercam_sync_mode mode)
Definition: rs_option.h:266
Definition: rs_option.h:125
Definition: rs_option.h:113
Definition: rs_option.h:122
struct rs2_option_range rs2_option_range
Definition: rs_option.h:320
Definition: rs_option.h:344
float as_float
Definition: rs_option.h:216
Definition: rs_option.h:33
Definition: rs_option.h:32
Definition: rs_option.h:47
void rs2_get_option_range(const rs2_options *sensor, rs2_option option, float *min, float *max, float *step, float *def, rs2_error **error)
Definition: rs_option.h:291
Definition: rs_option.h:311
Definition: rs_option.h:78
Definition: rs_option.h:66
Definition: rs_option.h:101
Definition: rs_option.h:332
Definition: rs_option.h:360
rs2_options_list * rs2_get_options_list(const rs2_options *options, rs2_error **error)
struct rs2_options rs2_options
Definition: rs_types.h:323
Definition: rs_option.h:362
Definition: rs_option.h:96
Definition: rs_option.h:276
Definition: rs_option.h:67
Definition: rs_option.h:76
Definition: rs_option.h:171
rs2_d500_intercam_sync_mode
values for RS2_OPTION_INTER_CAM_SYNC_MODE option.
Definition: rs_option.h:359
Definition: rs_option.h:123
Definition: rs_option.h:232
Definition: rs_option.h:80
Definition: rs_option.h:174
Definition: rs_option.h:252
Definition: rs_option.h:93
Definition: rs_option.h:84
Definition: rs_option.h:354
Definition: rs_option.h:371
Definition: rs_option.h:131
Definition: rs_option.h:233
Definition: rs_option.h:352
Definition: rs_option.h:73
rs2_gyro_sensitivity
values for RS2_OPTION_GYRO_SENSITIVITY option.
Definition: rs_option.h:369
rs2_sensor_mode
DEPRECATED! - For setting the camera_mode option.
Definition: rs_option.h:271
Definition: rs_option.h:227
Definition: rs_option.h:90
struct rs2_option_value rs2_option_value
The value of an option, in a known option type.
Definition: rs_option.h:111
rs2_option rs2_option_from_string(const char *option_name)
Definition: rs_option.h:110
Definition: rs_option.h:62
Definition: rs_option.h:142
Definition: rs_option.h:54
rs2_safety_mode
values for RS2_OPTION_SAFETY_MODE option.
Definition: rs_option.h:349
Definition: rs_option.h:170
Definition: rs_option.h:340
Definition: rs_option.h:261
Definition: rs_option.h:104
Definition: rs_option.h:118
Definition: rs_option.h:343
Definition: rs_option.h:139
Definition: rs_option.h:342
Definition: rs_option.h:301
rs2_rs400_visual_preset
For RS400 devices: provides optimized settings (presets) for specific types of usage.
Definition: rs_option.h:242
Definition: rs_option.h:31
float min
Definition: rs_option.h:199
Definition: rs_option.h:283
const char * rs2_get_option_description(const rs2_options *options, rs2_option option, rs2_error **error)
Definition: rs_option.h:121
Definition: rs_option.h:77
Definition: rs_option.h:300
rs2_ambient_light
DEPRECATED! - Use RS2_OPTION_DIGITAL_GAIN instead.
Definition: rs_option.h:281
Definition: rs_option.h:79
int rs2_is_option_read_only(const rs2_options *options, rs2_option option, rs2_error **error)
Definition: rs_option.h:38
Definition: rs_option.h:69
Definition: rs_option.h:236
Definition: rs_option.h:264
rs2_digital_gain
digital gain for RS2_OPTION_DIGITAL_GAIN option.
Definition: rs_option.h:289
int16_t y2
Definition: rs_option.h:191
Definition: rs_option.h:310
Definition: rs_option.h:103
const char * rs2_emitter_mode_to_string(rs2_emitter_mode mode)
Definition: rs_option.h:114
Definition: rs_option.h:72
Definition: rs_option.h:39
Definition: rs_option.h:143
Definition: rs_option.h:140
Definition: rs_option.h:372
Definition: rs_option.h:57
Definition: rs_option.h:75
Definition: rs_option.h:52
Definition: rs_option.h:115
Definition: rs_option.h:303
const char * rs2_rs400_visual_preset_to_string(rs2_rs400_visual_preset preset)
void rs2_set_option(const rs2_options *options, rs2_option option, float value, rs2_error **error)
const char * rs2_emitter_frequency_mode_to_string(rs2_emitter_frequency_mode mode)
Definition: rs_option.h:364
struct rs2_error rs2_error
Definition: rs_types.h:296
Definition: rs_option.h:292
Definition: rs_option.h:63
void rs2_delete_options_list(rs2_options_list *list)
const char * rs2_l500_visual_preset_to_string(rs2_l500_visual_preset preset)
Definition: rs_option.h:65
Definition: rs_option.h:36
struct rs2_options_list rs2_options_list
Definition: rs_types.h:324
Definition: rs_option.h:135
rs2_option rs2_get_option_from_list(const rs2_options_list *options, int i, rs2_error **error)
Definition: rs_option.h:58
Definition: rs_option.h:275
Definition: rs_option.h:100
const char * rs2_ambient_light_to_string(rs2_ambient_light preset)
int16_t y1
Definition: rs_option.h:190
Definition: rs_option.h:109
float max
Definition: rs_option.h:200
Definition: rs_option.h:42
float def
Definition: rs_option.h:201
Definition: rs_option.h:141
Definition: rs_option.h:40
int rs2_get_options_list_size(const rs2_options_list *options, rs2_error **error)
Definition: rs_option.h:99
Definition: rs_option.h:237
Definition: rs_option.h:29
Definition: rs_option.h:71
Definition: rs_option.h:44
Definition: rs_option.h:251
Definition: rs_option.h:48
rs2_option_type
Defines known option value types.
Definition: rs_option.h:166
Definition: rs_option.h:138
Definition: rs_option.h:146
Definition: rs_option.h:46
rs2_l500_visual_preset
For L500 devices: provides optimized settings (presets) for specific types of usage.
Definition: rs_option.h:257
rs2_option_type type
Definition: rs_option.h:211