Intel® RealSense™ Cross Platform API
Intel 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 Intel Corporation. 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  {
129  } rs2_option;
130 
136  const char* rs2_option_to_string(rs2_option option);
137 
143  rs2_option rs2_option_from_string( const char * option_name );
144 
147  typedef enum rs2_option_type
148  {
154 
156 
157  } rs2_option_type;
158 
163  const char * rs2_option_type_to_string( rs2_option_type type );
164 
169  typedef struct rs2_option_rect
170  {
171  int16_t x1, y1;
172  int16_t x2, y2;
173  } rs2_option_rect;
174 
177  typedef struct rs2_option_value
178  {
180  int is_valid;
182 #pragma pack(push,1)
183  union
184  {
185  char const * as_string;
186  float as_float;
187  int64_t as_integer;
189  };
190 #pragma pack(pop)
192 
195  {
210 
213  {
224 
227  {
238 
240  typedef enum rs2_sensor_mode
241  {
246  } rs2_sensor_mode;
247  const char* rs2_sensor_mode_to_string(rs2_sensor_mode preset);
248 
250  typedef enum rs2_ambient_light
251  {
256 
258  typedef enum rs2_digital_gain
259  {
264  const char* rs2_digital_gain_to_string(rs2_digital_gain preset);
265 
267  typedef enum rs2_host_perf_mode
268  {
275 
278  {
284 
287  {
293 
295  typedef enum rs2_gyro_sensitivity
296  {
305 
313  int rs2_is_option_read_only(const rs2_options* options, rs2_option option, rs2_error** error);
314 
322  float rs2_get_option(const rs2_options* options, rs2_option option, rs2_error** error);
323 
331  rs2_option_value const * rs2_get_option_value( const rs2_options * options, rs2_option option_id, rs2_error ** error );
332 
340  void rs2_set_option(const rs2_options* options, rs2_option option, float value, rs2_error** error);
341 
348  void rs2_set_option_value( rs2_options const * options, rs2_option_value const * option_value, rs2_error ** error );
349 
356 
362  int rs2_get_options_list_size(const rs2_options_list* options, rs2_error** error);
363 
371  const char* rs2_get_option_name(const rs2_options* options, rs2_option option, rs2_error** error);
372 
379  rs2_option rs2_get_option_from_list(const rs2_options_list* options, int i, rs2_error** error);
380 
387  rs2_option_value const * rs2_get_option_value_from_list( const rs2_options_list * options, int i, rs2_error ** error );
388 
393  void rs2_delete_option_value( rs2_option_value const * handle );
394 
400 
408  int rs2_supports_option(const rs2_options* options, rs2_option option, rs2_error** error);
409 
420  void rs2_get_option_range(const rs2_options* sensor, rs2_option option, float* min, float* max, float* step, float* def, rs2_error** error);
421 
429  const char* rs2_get_option_description(const rs2_options* options, rs2_option option, rs2_error ** error);
430 
439  const char* rs2_get_option_value_description(const rs2_options* options, rs2_option option, float value, rs2_error ** error);
440 
451  rs2_error ** error );
452 
460  rs2_options_changed_callback * callback,
461  rs2_error ** error );
462 
463 #ifdef __cplusplus
464 }
465 #endif
466 #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:128
Definition: rs_option.h:262
Definition: rs_option.h:299
Definition: rs_option.h:70
Definition: rs_option.h:53
Definition: rs_option.h:231
rs2_option_rect as_rect
Definition: rs_option.h:188
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:277
rs2_option id
Definition: rs_option.h:179
Definition: rs_option.h:37
Definition: rs_option.h:281
Definition: rs_option.h:232
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:271
Definition: rs_option.h:217
Definition: rs_option.h:196
rs2_depth_auto_exposure_mode
values for RS2_OPTION_DEPTH_AUTO_EXPOSURE_MODE option.
Definition: rs_option.h:286
Definition: rs_option.h:153
Definition: rs_option.h:219
Definition: rs_option.h:149
Definition: rs_option.h:205
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:55
Definition: rs_option.h:243
Definition: rs_option.h:234
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
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:194
Definition: rs_option.h:108
const char * rs2_option_to_string(rs2_option option)
Definition: rs_option.h:228
Definition: rs_option.h:253
Definition: rs_option.h:105
Definition: rs_option.h:201
Definition: rs_option.h:45
Definition: rs_option.h:300
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:185
Definition: rs_option.h:242
Definition: rs_option.h:35
Definition: rs_option.h:169
int16_t x2
Definition: rs_option.h:172
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:180
Definition: rs_option.h:117
Definition: rs_option.h:49
Definition: rs_option.h:97
Definition: rs_option.h:43
Definition: rs_option.h:216
Definition: rs_option.h:288
rs2_option_value const * rs2_get_option_value_from_list(const rs2_options_list *options, int i, rs2_error **error)
Definition: rs_option.h:82
rs2_host_perf_mode
values for RS2_OPTION_HOST_PERFORMANCE option.
Definition: rs_option.h:267
Definition: rs_option.h:30
Definition: rs_option.h:218
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:177
int64_t as_integer
Definition: rs_option.h:187
const char * rs2_digital_gain_to_string(rs2_digital_gain preset)
void rs2_delete_option_value(rs2_option_value const *handle)
Definition: rs_option.h:95
int16_t x1
Definition: rs_option.h:171
Definition: rs_option.h:302
Definition: rs_option.h:301
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:92
Definition: rs_option.h:64
Definition: rs_option.h:214
Definition: rs_option.h:28
Definition: rs_option.h:215
const char * rs2_get_option_name(const rs2_options *options, rs2_option option, rs2_error **error)
Definition: rs_option.h:150
Definition: rs_option.h:81
Definition: rs_option.h:229
void(* rs2_options_changed_callback_ptr)(const rs2_options_list *)
Definition: rs_types.h:271
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:290
Definition: rs_option.h:124
Definition: rs_option.h:204
Definition: rs_option.h:200
Definition: rs_option.h:235
Definition: rs_option.h:125
Definition: rs_option.h:113
Definition: rs_option.h:122
Definition: rs_option.h:289
float as_float
Definition: rs_option.h:186
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:260
Definition: rs_option.h:280
Definition: rs_option.h:78
Definition: rs_option.h:66
Definition: rs_option.h:101
rs2_options_list * rs2_get_options_list(const rs2_options *options, rs2_error **error)
struct rs2_options rs2_options
Definition: rs_types.h:254
Definition: rs_option.h:96
Definition: rs_option.h:245
Definition: rs_option.h:67
Definition: rs_option.h:76
Definition: rs_option.h:152
Definition: rs_option.h:123
Definition: rs_option.h:202
Definition: rs_option.h:80
Definition: rs_option.h:155
Definition: rs_option.h:221
Definition: rs_option.h:93
Definition: rs_option.h:84
Definition: rs_option.h:297
Definition: rs_option.h:203
Definition: rs_option.h:73
rs2_gyro_sensitivity
values for RS2_OPTION_GYRO_SENSITIVITY option.
Definition: rs_option.h:295
rs2_sensor_mode
For setting the camera_mode option.
Definition: rs_option.h:240
Definition: rs_option.h:197
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
Definition: rs_option.h:151
Definition: rs_option.h:230
Definition: rs_option.h:104
Definition: rs_option.h:118
Definition: rs_option.h:270
rs2_rs400_visual_preset
For RS400 devices: provides optimized settings (presets) for specific types of usage.
Definition: rs_option.h:212
Definition: rs_option.h:31
Definition: rs_option.h:252
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:269
rs2_ambient_light
DEPRECATED! - Use RS2_OPTION_DIGITAL_GAIN instead.
Definition: rs_option.h:250
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:206
Definition: rs_option.h:233
rs2_digital_gain
digital gain for RS2_OPTION_DIGITAL_GAIN option.
Definition: rs_option.h:258
int16_t y2
Definition: rs_option.h:172
Definition: rs_option.h:279
Definition: rs_option.h:103
Definition: rs_option.h:114
Definition: rs_option.h:72
Definition: rs_option.h:39
Definition: rs_option.h:298
Definition: rs_option.h:57
Definition: rs_option.h:75
Definition: rs_option.h:52
Definition: rs_option.h:115
Definition: rs_option.h:272
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)
struct rs2_error rs2_error
Definition: rs_types.h:229
Definition: rs_option.h:261
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:255
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:244
Definition: rs_option.h:100
const char * rs2_ambient_light_to_string(rs2_ambient_light preset)
int16_t y1
Definition: rs_option.h:171
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:207
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:147
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:226
rs2_option_type type
Definition: rs_option.h:181