Intel® RealSense™ Cross Platform API
Intel Realsense Cross-platform API
|
Go to the documentation of this file.
5 #ifndef LIBREALSENSE_DS_PRIVATE_H
6 #define LIBREALSENSE_DS_PRIVATE_H
17 const uvc::extension_unit lr_xu = {0, 2, 1, {0x18682d34, 0xdd2c, 0x4073, {0xad, 0x23, 0x72, 0x14, 0x73, 0x9a, 0x07, 0x4c}}};
59 case DS_LENS_DSL103:
return out <<
"Sunex DSL103: Internal standard";
65 case DS_LENS_AZW58:
return out <<
"58 degree lenses on the AZureWave boards (DS-526)";
67 case DS_LENS_DS6100:
return out <<
"Newmax 67.8 x 41.4 degs in 1080p";
68 case DS_LENS_DS6177:
return out <<
"Newmax 71.7 x 44.2 degs in 1080p";
69 case DS_LENS_DS6237:
return out <<
"Newmax 58.9 x 45.9 degs in VGA";
71 default:
return out <<
"Other lens type (" << (int)type <<
"), application needs update";
95 default:
return out <<
"Other lens coating type (" << (int)type <<
"), application needs update";
113 case DS_EMITTER_LD2:
return out <<
"Laser Driver 2, NO PWM Controls";
117 return out <<
"Other emitter type (" << (int)type <<
"), application needs update";
132 return out <<
"Unercognized OEM type (" << (int)type <<
"), application needs update";
147 return out <<
"Non-PRQ type (" << (int)type <<
")";
153 std::string date(
"Undefined value");
156 if (std::isnormal(val) && std::isfinite(val) && (!std::isnan(val)) )
158 auto time = time_t(val);
159 std::vector<char> outstr;
161 strftime(outstr.data(),outstr.size(),
"%Y-%m-%d %H:%M:%S",std::gmtime(&time));
162 date =
to_string()<< outstr.data() <<
" UTC";
168 struct ds_head_content
294 #pragma pack(push, 1)
327 std::chrono::high_resolution_clock::duration _duration;
328 std::chrono::high_resolution_clock::time_point _start_time;
331 time_pad(std::chrono::high_resolution_clock::duration duration) : _duration(duration) {}
334 _start_time = std::chrono::high_resolution_clock::now();
339 auto elapsed = std::chrono::high_resolution_clock::now() - _start_time;
340 if (elapsed < _duration)
342 auto left = _duration - elapsed;
343 std::this_thread::sleep_for(left);
358 bool get_emitter_state(
const uvc::device & device,
bool is_streaming,
bool is_depth_enabled);
375 for (
auto& elem : ae_vec)
380 ret_val.exposure_top_edge = std::min((uint16_t)elem.max, ret_val.exposure_top_edge);
384 ret_val.exposure_bottom_edge = std::min((uint16_t)elem.max, ret_val.exposure_bottom_edge);
388 ret_val.exposure_left_edge = std::min((uint16_t)elem.max, ret_val.exposure_left_edge);
392 ret_val.exposure_right_edge = std::min((uint16_t)elem.max, ret_val.exposure_right_edge);
413 throw std::logic_error(
"set_lr_auto_exposure_params failed.");
423 #pragma pack(push, 1)
448 const uvc::extension_unit fisheye_xu = { 3, 3, 2,{ 0xf6c3c3d1, 0x5cde, 0x4477,{ 0xad, 0xf0, 0x41, 0x33, 0xf5, 0x8d, 0xa6, 0xf4 } } };
463 #endif // DS_PRIVATE_H
int32_t nominal_baseline_third_imager
Definition: ds-private.h:179
rate_value get_lr_exposure(const uvc::device &device)
Definition: ds-private.h:371
Definition: ds-private.h:349
void set_temperature(uvc::device &device, temperature temp)
Definition: ds-private.h:409
double ky_special
Definition: ds-private.h:216
uint16_t exposure_right_edge
Definition: ds-private.h:305
@ DS_LENS_COATING_ALL_PASS
No IR coating.
Definition: ds-private.h:79
@ DS_LENS_DS917
RGB lens.
Definition: ds-private.h:48
uint32_t frameCount
Definition: ds-private.h:427
uint32_t camera_fpga_version
Definition: ds-private.h:192
uint32_t neighbor_thresh
Definition: ds-private.h:318
float mean_intensity_set_point
Definition: ds-private.h:297
temperature get_temperature(const uvc::device &device)
Definition: ds-private.h:368
double theta_z
Definition: ds-private.h:228
void get_register_value(uvc::device &device, uint32_t reg, uint32_t &value)
const int STATUS_BIT_LR_STREAMING
Definition: ds-private.h:20
uint32_t texture_count_thresh
Definition: ds-private.h:315
uint8_t get_fisheye_external_trigger(const uvc::device &device)
double cz_big
Definition: ds-private.h:209
Definition: ds-private.h:424
void set_lr_gain(uvc::device &device, rate_value gain)
Definition: ds-private.h:420
double calibration_date
Definition: ds-private.h:194
int8_t min
Definition: ds-private.h:351
void set_depth_params(uvc::device &device, dc_params params)
Definition: ds-private.h:410
double disparity_multiplier
Definition: ds-private.h:349
void claim_motion_module_interface(uvc::device &device)
float B
Definition: ds-private.h:30
discovery get_lr_exposure_discovery(const uvc::device &device)
Definition: ds-private.h:403
uint32_t exposureRightSum
Definition: ds-private.h:432
@ DS_LENS_DS6237
Newmax 58.9 x 45.9 degs in VGA.
Definition: ds-private.h:46
uint32_t resolution
Definition: ds-private.h:352
uint32_t median_thresh
Definition: ds-private.h:312
uint32_t pad4
Definition: ds-private.h:441
void set_lr_gain_discovery(uvc::device &device, discovery disc)
Definition: ds-private.h:418
@ DS_OEM_NONE
Definition: ds-private.h:123
void set_fisheye_strobe(uvc::device &device, uint8_t strobe)
void set_stream_intent(uvc::device &device, uint8_t &intent)
double theta_y
Definition: ds-private.h:227
void set_fisheye_external_trigger(uvc::device &device, uint8_t ext_trig)
uint32_t platform_camera_focus
Definition: ds-private.h:193
uint32_t camera_head_contents_size_bytes
Definition: ds-private.h:206
@ DS_LENS_COATING_IR_CUT
IR coating DS4: Innowave 670 cut off.
Definition: ds-private.h:78
double rectification_data_padding[26]
Definition: ds-private.h:199
double dz
Definition: ds-private.h:225
double cz_special
Definition: ds-private.h:214
uint8_t platform_camera_support
Definition: ds-private.h:187
double cy_qres
Definition: ds-private.h:201
int8_t current
Definition: ds-private.h:351
double calibration_y_error
Definition: ds-private.h:197
@ DS_LENS_DSL103
Sunex DSL103: Internal standard.
Definition: ds-private.h:36
uint32_t exposureRightDarkCount
Definition: ds-private.h:433
uint16_t exposure_left_edge
Definition: ds-private.h:304
uint32_t VDFerrorStatus
Definition: ds-private.h:440
uint32_t pad1
Definition: ds-private.h:437
@ DS_EMITTER_LD3
Laser Driver 3.
Definition: ds-private.h:103
uint8_t reserved1[2]
Definition: ds-private.h:189
double first_program_date
Definition: ds-private.h:177
uint16_t get_fisheye_exposure(const uvc::device &device)
void set_lr_exposure(uvc::device &device, rate_value exposure)
Definition: ds-private.h:419
The struct is aligned with the data layout in device.
Definition: ds-private.h:169
ds_lens_coating_type lens_coating_type
Definition: ds-private.h:234
ds_oem_id oem_id
Definition: ds-private.h:185
@ MAX_PRESETS
Definition: ds-private.h:321
uint8_t module_skew_version
Definition: ds-private.h:183
double registration_date
Definition: ds-private.h:229
@ DS_LENS_COUNT
AEOT lens.
Definition: ds-private.h:50
@ DS_LENS_DSL924A
Sunex DSL 924a.
Definition: ds-private.h:41
double kx_qres
Definition: ds-private.h:203
void set_fisheye_exposure(uvc::device &device, uint16_t exposure)
time_pad(std::chrono::high_resolution_clock::duration duration)
Definition: ds-private.h:331
dc_params get_depth_params(const uvc::device &device)
Definition: ds-private.h:369
uint32_t is_disparity_enabled
Definition: ds-private.h:349
uint32_t default_value
Definition: ds-private.h:352
double cy_big
Definition: ds-private.h:208
ds_emitter_type emitter_type
Definition: ds-private.h:190
void xu_write(uvc::device &device, uvc::extension_unit xu, control xu_ctrl, void *buffer, uint32_t length)
double cz_qres
Definition: ds-private.h:202
void set_lr_exposure_mode(uvc::device &device, uint8_t mode)
Definition: ds-private.h:415
double rectification_data_special[54]
Definition: ds-private.h:219
rs_intrinsics intrinsicsThird[2]
Definition: ds-private.h:28
uint16_t max
Definition: ds-private.h:348
uint8_t get_last_error(const uvc::device &device)
Definition: ds-private.h:370
void set_disparity_shift(uvc::device &device, uint32_t shift)
Definition: ds-private.h:416
ds_lens_coating_type
Definition: ds-private.h:75
uint8_t camera_head_data_little_endian
Definition: ds-private.h:217
uint32_t exposureLeftSum
Definition: ds-private.h:429
double kx_special
Definition: ds-private.h:215
uint32_t exposureLeftDarkCount
Definition: ds-private.h:430
double registration_rotation[9]
Definition: ds-private.h:230
int version
Definition: ds-private.h:25
uint8_t reserved3[37]
Definition: ds-private.h:239
int8_t max
Definition: ds-private.h:351
uint32_t value
Definition: ds-private.h:350
ds_head_content head_content
Definition: ds-private.h:246
uint8_t module_major_version
Definition: ds-private.h:181
double ky_big
Definition: ds-private.h:211
void stop()
Definition: ds-private.h:337
uint32_t serial_number
Definition: ds-private.h:172
uint32_t exposureLeftBrightCount
Definition: ds-private.h:431
std::string read_isp_firmware_version(uvc::device &device)
range get_min_max_depth(const uvc::device &device)
Definition: ds-private.h:366
double registration_translation[3]
Definition: ds-private.h:231
void set_min_max_depth(uvc::device &device, range min_max)
Definition: ds-private.h:407
@ lr_autoexposure_parameters
ds_prq_type prq_type
Definition: ds-private.h:188
static const dc_params presets[MAX_PRESETS]
Definition: ds-private.h:322
@ DS_LENS_DS6233
IR lens.
Definition: ds-private.h:47
uint16_t min
Definition: ds-private.h:348
double cx_big
Definition: ds-private.h:207
void set_disparity_mode(uvc::device &device, disp_mode mode)
Definition: ds-private.h:408
uint32_t pad2
Definition: ds-private.h:438
double kx_big
Definition: ds-private.h:210
uint32_t min
Definition: ds-private.h:352
ds_prq_type
Definition: ds-private.h:136
uint32_t imager_type_platform
Definition: ds-private.h:237
uint32_t pad0
Definition: ds-private.h:436
@ DS_LENS_COATING_COUNT
Definition: ds-private.h:82
double ky_qres
Definition: ds-private.h:204
void get_stream_status(const uvc::device &device, uint32_t &status)
Definition: ds-private.h:350
uint8_t module_version
Definition: ds-private.h:180
uint16_t exposure_bottom_edge
Definition: ds-private.h:303
std::ostream & operator<<(std::ostream &out, ds_lens_type type)
Definition: ds-private.h:54
ds_emitter_type
Definition: ds-private.h:99
std::string time_to_string(double val)
Definition: ds-private.h:151
uint8_t get_fisheye_strobe(const uvc::device &device)
ds_lens_type
Definition: ds-private.h:33
@ DS_LENS_Largan9386
50 HFOV 38 VFOV (60DFOV): CTM2/6 Module L&R
Definition: ds-private.h:43
uint32_t the_last_word
Definition: ds-private.h:238
std::string read_firmware_version(uvc::device &device)
ds_lens_type lens_type_third_imager
Definition: ds-private.h:184
@ DS_EMITTER_COUNT
Just count.
Definition: ds-private.h:105
@ DS_EMITTER_LD2
Laser Driver 2, NO PWM Controls.
Definition: ds-private.h:102
float Rthird[9]
Definition: ds-private.h:30
double focus_alignment_date
Definition: ds-private.h:178
Definition: ds-private.h:325
uint32_t rate
Definition: ds-private.h:350
@ RS_OPTION_R200_AUTO_EXPOSURE_LEFT_EDGE
Definition: rs.h:174
@ DS_EMITTER_LD4_1
Laser Driver 4.1.
Definition: ds-private.h:104
uint8_t reserved2[4]
Definition: ds-private.h:191
@ RS_OPTION_R200_AUTO_EXPOSURE_BOTTOM_EDGE
Definition: rs.h:173
int8_t min_fault
Definition: ds-private.h:351
uint32_t max
Definition: ds-private.h:352
uint8_t camera_options_1
Definition: ds-private.h:220
uint32_t camera_head_contents_version
Definition: ds-private.h:205
uint8_t body_serial_number[20]
Definition: ds-private.h:222
ds_oem_id
Definition: ds-private.h:121
@ DS_LENS_AZW58
58 degree lenses on the AZureWave boards (DS-526)
Definition: ds-private.h:42
const int STATUS_BIT_WEB_STREAMING
Definition: ds-private.h:21
double dx
Definition: ds-private.h:223
uint8_t camera_options_2
Definition: ds-private.h:221
float kp_gain
Definition: ds-private.h:299
uint32_t serial_number
Definition: ds-private.h:26
@ DS_LENS_AEOT_1LS0901L
Definition: ds-private.h:49
@ DS_LENS_DSL203
Sunex DSL 203.
Definition: ds-private.h:39
double cx_special
Definition: ds-private.h:212
@ DS_LENS_DS6177
Newmax 71.7 x 44.2 degs in 1080p.
Definition: ds-private.h:45
@ DS_LENS_PENTAX2514
Pentax cmount lens 25mm.
Definition: ds-private.h:40
Definition: ds-private.h:352
float kp_exposure
Definition: ds-private.h:300
@ DS_LENS_COATING_UNKNOWN
Definition: ds-private.h:77
double rectification_data_qres[54]
Definition: ds-private.h:198
double dy
Definition: ds-private.h:224
Definition: ds-private.h:348
@ DS_LENS_DS6100
Newmax 67.8 x 41.4 degs in 1080p.
Definition: ds-private.h:44
uint32_t exposureRightBrightCount
Definition: ds-private.h:434
double build_date
Definition: ds-private.h:176
@ DS_LENS_DSL821C
Sunex DSL 821C.
Definition: ds-private.h:37
Video stream intrinsics.
Definition: rs.h:300
uint8_t model_data[64]
Definition: ds-private.h:175
ds_lens_coating_type lens_coating_type_third_imager
Definition: ds-private.h:186
double cy_special
Definition: ds-private.h:213
void start()
Definition: ds-private.h:332
@ DS_LENS_COATING_IR_PASS
Visible-light block / IR pass: center 860, width 25nm.
Definition: ds-private.h:80
@ RS_OPTION_R200_AUTO_EXPOSURE_RIGHT_EDGE
Definition: rs.h:175
Definition: ds-private.h:351
float T[3]
Definition: ds-private.h:30
uint8_t get_lr_exposure_mode(const uvc::device &device)
Definition: ds-private.h:401
rs_intrinsics modesThird[2][2]
Definition: ds-private.h:29
double calibration_x_error
Definition: ds-private.h:196
uint16_t exposure_top_edge
Definition: ds-private.h:302
uint32_t robbins_munroe_minus_inc
Definition: ds-private.h:310
uint32_t texture_diff_thresh
Definition: ds-private.h:316
const int STATUS_BIT_Z_STREAMING
Definition: ds-private.h:19
void set_lr_auto_exposure_params(uvc::device &device, ae_params params)
Definition: ds-private.h:411
@ DS_LENS_UNKNOWN
Lens either unknown or not needing special treatment.
Definition: ds-private.h:35
uint32_t frameStatus
Definition: ds-private.h:428
ae_params get_lr_auto_exposure_params(const uvc::device &device, std::vector< supported_option > ae_vec)
Definition: ds-private.h:372
uint32_t fps
Definition: ds-private.h:352
@ DS_PRQ_READY
Definition: ds-private.h:138
uint32_t second_peak_thresh
Definition: ds-private.h:317
disp_mode get_disparity_mode(const uvc::device &device)
Definition: ds-private.h:367
void force_firmware_reset(uvc::device &device)
Definition: ds-private.h:295
uint32_t get_depth_units(const uvc::device &device)
Definition: ds-private.h:365
rate_value get_lr_gain(const uvc::device &device)
Definition: ds-private.h:400
uint32_t lr_thresh
Definition: ds-private.h:319
bool get_emitter_state(const uvc::device &device, bool is_streaming, bool is_depth_enabled)
void set_lr_exposure_discovery(uvc::device &device, discovery disc)
Definition: ds-private.h:417
uint32_t get_disparity_shift(const uvc::device &device)
Definition: ds-private.h:402
float bright_ratio_set_point
Definition: ds-private.h:298
float kp_dark_threshold
Definition: ds-private.h:301
control
Definition: ds-private.h:259
const uvc::extension_unit fisheye_xu
Definition: ds-private.h:448
void xu_read(const uvc::device &device, uvc::extension_unit xu, control xu_ctrl, void *buffer, uint32_t length)
uint32_t magicNumber
Definition: ds-private.h:426
void set_emitter_state(uvc::device &device, bool state)
uint32_t calibration_type
Definition: ds-private.h:195
uint32_t CAMmoduleStatus
Definition: ds-private.h:435
@ RS_OPTION_R200_AUTO_EXPOSURE_TOP_EDGE
Definition: rs.h:172
uint32_t imager_model_number
Definition: ds-private.h:173
Definition: ds-private.h:23
uint32_t lens_type_platform
Definition: ds-private.h:236
Definition: ds-private.h:308
uint32_t module_revision_number
Definition: ds-private.h:174
@ DS_LENS_DSL202A
Sunex DSL 202A.
Definition: ds-private.h:38
void set_depth_units(uvc::device &device, uint32_t units)
Definition: ds-private.h:406
@ DS_HEADER_VERSION_NUMBER
Definition: ds-private.h:171
void set_register_value(uvc::device &device, uint32_t reg, uint32_t value)
ds_lens_type lens_type
Definition: ds-private.h:233
double rectification_data_big[54]
Definition: ds-private.h:218
rs_intrinsics modesLR[3]
Definition: ds-private.h:27
int32_t nominal_baseline_platform[3]
Definition: ds-private.h:235
uint32_t pad3
Definition: ds-private.h:439
ds_calibration calibration
Definition: ds-private.h:247
Definition: ds-private.h:244
double theta_x
Definition: ds-private.h:226
const uvc::extension_unit lr_xu
Definition: ds-private.h:17
uint32_t nominal_baseline
Definition: ds-private.h:232
uint32_t robbins_munroe_plus_inc
Definition: ds-private.h:311
double cx_qres
Definition: ds-private.h:200
uint8_t module_minor_version
Definition: ds-private.h:182
@ DS_LENS_COATING_IR_PASS_859_43
Visible-light block / IR pass center 859, width 43nm.
Definition: ds-private.h:81
uint32_t score_max_thresh
Definition: ds-private.h:314
ds_info read_camera_info(uvc::device &device)
uint32_t score_min_thresh
Definition: ds-private.h:313
@ DS_EMITTER_NONE
Definition: ds-private.h:101
discovery get_lr_gain_discovery(const uvc::device &device)
Definition: ds-private.h:404