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
142  } rs2_option;
143 
149  const char* rs2_option_to_string(rs2_option option);
150 
156  rs2_option rs2_option_from_string( const char * option_name );
157 
160  typedef enum rs2_option_type
161  {
167 
169 
170  } rs2_option_type;
171 
176  const char * rs2_option_type_to_string( rs2_option_type type );
177 
182  typedef struct rs2_option_rect
183  {
184  int16_t x1, y1;
185  int16_t x2, y2;
186  } rs2_option_rect;
187 
190  typedef struct rs2_option_value
191  {
193  int is_valid;
195 #pragma pack(push,1)
196  union
197  {
198  char const * as_string;
199  float as_float;
200  int64_t as_integer;
202  };
203 #pragma pack(pop)
205 
208  {
223 
226  {
237 
240  {
251 
253  typedef enum rs2_sensor_mode
254  {
259  } rs2_sensor_mode;
260  const char* rs2_sensor_mode_to_string(rs2_sensor_mode preset);
261 
263  typedef enum rs2_ambient_light
264  {
269 
271  typedef enum rs2_digital_gain
272  {
277  const char* rs2_digital_gain_to_string(rs2_digital_gain preset);
278 
280  typedef enum rs2_host_perf_mode
281  {
288 
291  {
297 
300  {
306 
308  typedef enum rs2_safety_mode
309  {
314  } rs2_safety_mode;
315  const char* rs2_safety_mode_to_string( rs2_safety_mode mode );
316 
326 
328  typedef enum rs2_gyro_sensitivity
329  {
338 
346  int rs2_is_option_read_only(const rs2_options* options, rs2_option option, rs2_error** error);
347 
355  float rs2_get_option(const rs2_options* options, rs2_option option, rs2_error** error);
356 
364  rs2_option_value const * rs2_get_option_value( const rs2_options * options, rs2_option option_id, rs2_error ** error );
365 
373  void rs2_set_option(const rs2_options* options, rs2_option option, float value, rs2_error** error);
374 
381  void rs2_set_option_value( rs2_options const * options, rs2_option_value const * option_value, rs2_error ** error );
382 
389 
395  int rs2_get_options_list_size(const rs2_options_list* options, rs2_error** error);
396 
404  const char* rs2_get_option_name(const rs2_options* options, rs2_option option, rs2_error** error);
405 
412  rs2_option rs2_get_option_from_list(const rs2_options_list* options, int i, rs2_error** error);
413 
420  rs2_option_value const * rs2_get_option_value_from_list( const rs2_options_list * options, int i, rs2_error ** error );
421 
426  void rs2_delete_option_value( rs2_option_value const * handle );
427 
433 
441  int rs2_supports_option(const rs2_options* options, rs2_option option, rs2_error** error);
442 
453  void rs2_get_option_range(const rs2_options* sensor, rs2_option option, float* min, float* max, float* step, float* def, rs2_error** error);
454 
462  const char* rs2_get_option_description(const rs2_options* options, rs2_option option, rs2_error ** error);
463 
472  const char* rs2_get_option_value_description(const rs2_options* options, rs2_option option, float value, rs2_error ** error);
473 
484  rs2_error ** error );
485 
493  rs2_options_changed_callback * callback,
494  rs2_error ** error );
495 
496 #ifdef __cplusplus
497 }
498 #endif
499 #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:141
Definition: rs_option.h:275
Definition: rs_option.h:132
Definition: rs_option.h:332
Definition: rs_option.h:70
Definition: rs_option.h:53
Definition: rs_option.h:244
rs2_option_rect as_rect
Definition: rs_option.h:201
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:105
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:290
rs2_option id
Definition: rs_option.h:192
Definition: rs_option.h:37
Definition: rs_option.h:294
Definition: rs_option.h:245
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:284
Definition: rs_option.h:230
Definition: rs_option.h:209
rs2_depth_auto_exposure_mode
values for RS2_OPTION_DEPTH_AUTO_EXPOSURE_MODE option.
Definition: rs_option.h:299
Definition: rs_option.h:166
Definition: rs_option.h:232
Definition: rs_option.h:162
Definition: rs_option.h:218
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:320
Definition: rs_option.h:55
Definition: rs_option.h:256
Definition: rs_option.h:247
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)
rs2_sr300_visual_preset
For SR300 devices: provides optimized settings (presets) for specific types of usage.
Definition: rs_option.h:207
Definition: rs_option.h:108
const char * rs2_option_to_string(rs2_option option)
Definition: rs_option.h:241
Definition: rs_option.h:266
Definition: rs_option.h:105
Definition: rs_option.h:214
Definition: rs_option.h:45
Definition: rs_option.h:333
Definition: rs_option.h:68
const char * rs2_depth_auto_exposure_mode_to_string(rs2_depth_auto_exposure_mode mode)
Definition: rs_option.h:112
Definition: rs_option.h:87
Definition: rs_option.h:94
char const * as_string
Definition: rs_option.h:198
Definition: rs_option.h:255
Definition: rs_option.h:35
Definition: rs_option.h:182
int16_t x2
Definition: rs_option.h:185
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:193
Definition: rs_option.h:117
Definition: rs_option.h:49
Definition: rs_option.h:97
Definition: rs_option.h:43
Definition: rs_option.h:229
Definition: rs_option.h:301
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:280
Definition: rs_option.h:30
Definition: rs_option.h:231
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:190
int64_t as_integer
Definition: rs_option.h:200
const char * rs2_digital_gain_to_string(rs2_digital_gain preset)
Definition: rs_option.h:310
void rs2_delete_option_value(rs2_option_value const *handle)
Definition: rs_option.h:134
Definition: rs_option.h:95
int16_t x1
Definition: rs_option.h:184
Definition: rs_option.h:335
Definition: rs_option.h:334
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:322
Definition: rs_option.h:312
Definition: rs_option.h:92
Definition: rs_option.h:64
Definition: rs_option.h:227
Definition: rs_option.h:28
Definition: rs_option.h:228
const char * rs2_get_option_name(const rs2_options *options, rs2_option option, rs2_error **error)
Definition: rs_option.h:163
Definition: rs_option.h:81
Definition: rs_option.h:242
void(* rs2_options_changed_callback_ptr)(const rs2_options_list *)
Definition: rs_types.h:340
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:303
Definition: rs_option.h:124
Definition: rs_option.h:217
Definition: rs_option.h:213
const char * rs2_d500_intercam_sync_mode_to_string(rs2_d500_intercam_sync_mode mode)
Definition: rs_option.h:248
Definition: rs_option.h:125
Definition: rs_option.h:113
Definition: rs_option.h:122
Definition: rs_option.h:302
float as_float
Definition: rs_option.h:199
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:273
Definition: rs_option.h:293
Definition: rs_option.h:78
Definition: rs_option.h:66
Definition: rs_option.h:101
Definition: rs_option.h:319
rs2_options_list * rs2_get_options_list(const rs2_options *options, rs2_error **error)
struct rs2_options rs2_options
Definition: rs_types.h:322
Definition: rs_option.h:321
Definition: rs_option.h:96
Definition: rs_option.h:258
Definition: rs_option.h:67
Definition: rs_option.h:76
Definition: rs_option.h:165
rs2_d500_intercam_sync_mode
values for RS2_OPTION_INTER_CAM_SYNC_MODE option.
Definition: rs_option.h:318
Definition: rs_option.h:123
Definition: rs_option.h:215
Definition: rs_option.h:80
Definition: rs_option.h:168
Definition: rs_option.h:234
Definition: rs_option.h:93
Definition: rs_option.h:84
Definition: rs_option.h:313
Definition: rs_option.h:330
Definition: rs_option.h:131
Definition: rs_option.h:216
Definition: rs_option.h:311
Definition: rs_option.h:73
rs2_gyro_sensitivity
values for RS2_OPTION_GYRO_SENSITIVITY option.
Definition: rs_option.h:328
rs2_sensor_mode
DEPRECATED! - For setting the camera_mode option.
Definition: rs_option.h:253
Definition: rs_option.h:210
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:54
rs2_safety_mode
values for RS2_OPTION_SAFETY_MODE option.
Definition: rs_option.h:308
Definition: rs_option.h:164
Definition: rs_option.h:243
Definition: rs_option.h:104
Definition: rs_option.h:118
Definition: rs_option.h:139
Definition: rs_option.h:283
rs2_rs400_visual_preset
For RS400 devices: provides optimized settings (presets) for specific types of usage.
Definition: rs_option.h:225
Definition: rs_option.h:31
Definition: rs_option.h:265
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:282
rs2_ambient_light
DEPRECATED! - Use RS2_OPTION_DIGITAL_GAIN instead.
Definition: rs_option.h:263
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:219
Definition: rs_option.h:246
rs2_digital_gain
digital gain for RS2_OPTION_DIGITAL_GAIN option.
Definition: rs_option.h:271
int16_t y2
Definition: rs_option.h:185
Definition: rs_option.h:292
Definition: rs_option.h:103
Definition: rs_option.h:114
Definition: rs_option.h:72
Definition: rs_option.h:39
Definition: rs_option.h:140
Definition: rs_option.h:331
Definition: rs_option.h:57
Definition: rs_option.h:75
Definition: rs_option.h:52
Definition: rs_option.h:115
Definition: rs_option.h:285
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:323
struct rs2_error rs2_error
Definition: rs_types.h:295
Definition: rs_option.h:274
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:323
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:257
Definition: rs_option.h:100
const char * rs2_ambient_light_to_string(rs2_ambient_light preset)
int16_t y1
Definition: rs_option.h:184
Definition: rs_option.h:109
Definition: rs_option.h:42
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:220
Definition: rs_option.h:29
Definition: rs_option.h:71
Definition: rs_option.h:44
Definition: rs_option.h:48
rs2_option_type
Defines known option value types.
Definition: rs_option.h:160
Definition: rs_option.h:138
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:239
rs2_option_type type
Definition: rs_option.h:194