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
139  } rs2_option;
140 
146  const char* rs2_option_to_string(rs2_option option);
147 
153  rs2_option rs2_option_from_string( const char * option_name );
154 
157  typedef enum rs2_option_type
158  {
164 
166 
167  } rs2_option_type;
168 
173  const char * rs2_option_type_to_string( rs2_option_type type );
174 
179  typedef struct rs2_option_rect
180  {
181  int16_t x1, y1;
182  int16_t x2, y2;
183  } rs2_option_rect;
184 
187  typedef struct rs2_option_value
188  {
190  int is_valid;
192 #pragma pack(push,1)
193  union
194  {
195  char const * as_string;
196  float as_float;
197  int64_t as_integer;
199  };
200 #pragma pack(pop)
202 
205  {
220 
223  {
234 
237  {
248 
250  typedef enum rs2_sensor_mode
251  {
256  } rs2_sensor_mode;
257  const char* rs2_sensor_mode_to_string(rs2_sensor_mode preset);
258 
260  typedef enum rs2_ambient_light
261  {
266 
268  typedef enum rs2_digital_gain
269  {
274  const char* rs2_digital_gain_to_string(rs2_digital_gain preset);
275 
277  typedef enum rs2_host_perf_mode
278  {
285 
288  {
294 
297  {
303 
305  typedef enum rs2_safety_mode
306  {
311  } rs2_safety_mode;
312  const char* rs2_safety_mode_to_string( rs2_safety_mode mode );
313 
323 
325  typedef enum rs2_gyro_sensitivity
326  {
335 
343  int rs2_is_option_read_only(const rs2_options* options, rs2_option option, rs2_error** error);
344 
352  float rs2_get_option(const rs2_options* options, rs2_option option, rs2_error** error);
353 
361  rs2_option_value const * rs2_get_option_value( const rs2_options * options, rs2_option option_id, rs2_error ** error );
362 
370  void rs2_set_option(const rs2_options* options, rs2_option option, float value, rs2_error** error);
371 
378  void rs2_set_option_value( rs2_options const * options, rs2_option_value const * option_value, rs2_error ** error );
379 
386 
392  int rs2_get_options_list_size(const rs2_options_list* options, rs2_error** error);
393 
401  const char* rs2_get_option_name(const rs2_options* options, rs2_option option, rs2_error** error);
402 
409  rs2_option rs2_get_option_from_list(const rs2_options_list* options, int i, rs2_error** error);
410 
417  rs2_option_value const * rs2_get_option_value_from_list( const rs2_options_list * options, int i, rs2_error ** error );
418 
423  void rs2_delete_option_value( rs2_option_value const * handle );
424 
430 
438  int rs2_supports_option(const rs2_options* options, rs2_option option, rs2_error** error);
439 
450  void rs2_get_option_range(const rs2_options* sensor, rs2_option option, float* min, float* max, float* step, float* def, rs2_error** error);
451 
459  const char* rs2_get_option_description(const rs2_options* options, rs2_option option, rs2_error ** error);
460 
469  const char* rs2_get_option_value_description(const rs2_options* options, rs2_option option, float value, rs2_error ** error);
470 
481  rs2_error ** error );
482 
490  rs2_options_changed_callback * callback,
491  rs2_error ** error );
492 
493 #ifdef __cplusplus
494 }
495 #endif
496 #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:138
Definition: rs_option.h:272
Definition: rs_option.h:132
Definition: rs_option.h:329
Definition: rs_option.h:70
Definition: rs_option.h:53
Definition: rs_option.h:241
rs2_option_rect as_rect
Definition: rs_option.h:198
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:287
rs2_option id
Definition: rs_option.h:189
Definition: rs_option.h:37
Definition: rs_option.h:291
Definition: rs_option.h:242
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:281
Definition: rs_option.h:227
Definition: rs_option.h:206
rs2_depth_auto_exposure_mode
values for RS2_OPTION_DEPTH_AUTO_EXPOSURE_MODE option.
Definition: rs_option.h:296
Definition: rs_option.h:163
Definition: rs_option.h:229
Definition: rs_option.h:159
Definition: rs_option.h:215
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:317
Definition: rs_option.h:55
Definition: rs_option.h:253
Definition: rs_option.h:244
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:204
Definition: rs_option.h:108
const char * rs2_option_to_string(rs2_option option)
Definition: rs_option.h:238
Definition: rs_option.h:263
Definition: rs_option.h:105
Definition: rs_option.h:211
Definition: rs_option.h:45
Definition: rs_option.h:330
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:195
Definition: rs_option.h:252
Definition: rs_option.h:35
Definition: rs_option.h:179
int16_t x2
Definition: rs_option.h:182
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:190
Definition: rs_option.h:117
Definition: rs_option.h:49
Definition: rs_option.h:97
Definition: rs_option.h:43
Definition: rs_option.h:226
Definition: rs_option.h:298
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:277
Definition: rs_option.h:30
Definition: rs_option.h:228
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:187
int64_t as_integer
Definition: rs_option.h:197
const char * rs2_digital_gain_to_string(rs2_digital_gain preset)
Definition: rs_option.h:307
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:181
Definition: rs_option.h:332
Definition: rs_option.h:331
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:319
Definition: rs_option.h:309
Definition: rs_option.h:92
Definition: rs_option.h:64
Definition: rs_option.h:224
Definition: rs_option.h:28
Definition: rs_option.h:225
const char * rs2_get_option_name(const rs2_options *options, rs2_option option, rs2_error **error)
Definition: rs_option.h:160
Definition: rs_option.h:81
Definition: rs_option.h:239
void(* rs2_options_changed_callback_ptr)(const rs2_options_list *)
Definition: rs_types.h:321
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:300
Definition: rs_option.h:124
Definition: rs_option.h:214
Definition: rs_option.h:210
const char * rs2_d500_intercam_sync_mode_to_string(rs2_d500_intercam_sync_mode mode)
Definition: rs_option.h:245
Definition: rs_option.h:125
Definition: rs_option.h:113
Definition: rs_option.h:122
Definition: rs_option.h:299
float as_float
Definition: rs_option.h:196
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:270
Definition: rs_option.h:290
Definition: rs_option.h:78
Definition: rs_option.h:66
Definition: rs_option.h:101
Definition: rs_option.h:316
rs2_options_list * rs2_get_options_list(const rs2_options *options, rs2_error **error)
struct rs2_options rs2_options
Definition: rs_types.h:303
Definition: rs_option.h:318
Definition: rs_option.h:96
Definition: rs_option.h:255
Definition: rs_option.h:67
Definition: rs_option.h:76
Definition: rs_option.h:162
rs2_d500_intercam_sync_mode
values for RS2_OPTION_INTER_CAM_SYNC_MODE option.
Definition: rs_option.h:315
Definition: rs_option.h:123
Definition: rs_option.h:212
Definition: rs_option.h:80
Definition: rs_option.h:165
Definition: rs_option.h:231
Definition: rs_option.h:93
Definition: rs_option.h:84
Definition: rs_option.h:310
Definition: rs_option.h:327
Definition: rs_option.h:131
Definition: rs_option.h:213
Definition: rs_option.h:308
Definition: rs_option.h:73
rs2_gyro_sensitivity
values for RS2_OPTION_GYRO_SENSITIVITY option.
Definition: rs_option.h:325
rs2_sensor_mode
DEPRECATED! - For setting the camera_mode option.
Definition: rs_option.h:250
Definition: rs_option.h:207
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:305
Definition: rs_option.h:161
Definition: rs_option.h:240
Definition: rs_option.h:104
Definition: rs_option.h:118
Definition: rs_option.h:280
rs2_rs400_visual_preset
For RS400 devices: provides optimized settings (presets) for specific types of usage.
Definition: rs_option.h:222
Definition: rs_option.h:31
Definition: rs_option.h:262
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:279
rs2_ambient_light
DEPRECATED! - Use RS2_OPTION_DIGITAL_GAIN instead.
Definition: rs_option.h:260
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:216
Definition: rs_option.h:243
rs2_digital_gain
digital gain for RS2_OPTION_DIGITAL_GAIN option.
Definition: rs_option.h:268
int16_t y2
Definition: rs_option.h:182
Definition: rs_option.h:289
Definition: rs_option.h:103
Definition: rs_option.h:114
Definition: rs_option.h:72
Definition: rs_option.h:39
Definition: rs_option.h:328
Definition: rs_option.h:57
Definition: rs_option.h:75
Definition: rs_option.h:52
Definition: rs_option.h:115
Definition: rs_option.h:282
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:320
struct rs2_error rs2_error
Definition: rs_types.h:276
Definition: rs_option.h:271
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:304
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:254
Definition: rs_option.h:100
const char * rs2_ambient_light_to_string(rs2_ambient_light preset)
int16_t y1
Definition: rs_option.h:181
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:217
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:157
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:236
rs2_option_type type
Definition: rs_option.h:191