Intel® RealSense™ Cross Platform API
Intel Realsense Cross-platform API
rs_internal.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_INTERNAL_H
11 #define LIBREALSENSE_RS2_INTERNAL_H
12 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16 #include "rs_types.h"
17 #include "rs_context.h"
18 #include "rs_sensor.h"
19 #include "rs_frame.h"
20 #include "rs_option.h"
25 typedef enum rs2_recording_mode
26 {
27  RS2_RECORDING_MODE_BLANK_FRAMES, /* frame metadata will be recorded, but pixel data will be replaced with zeros to save space */
28  RS2_RECORDING_MODE_COMPRESSED, /* frames will be encoded using a proprietary lossy encoding, aiming at x5 compression at some CPU expense */
29  RS2_RECORDING_MODE_BEST_QUALITY, /* frames will not be compressed, but rather stored as-is. This gives best quality and low CPU overhead, but you might run out of memory */
32 
34 typedef struct rs2_video_stream
35 {
37  int index;
38  int uid;
39  int width;
40  int height;
41  int fps;
42  int bpp;
46 
48 typedef struct rs2_motion_stream
49 {
51  int index;
52  int uid;
53  int fps;
57 
59 typedef struct rs2_pose_stream
60 {
62  int index;
63  int uid;
64  int fps;
67 
70 {
71  void* pixels;
72  void(*deleter)(void*);
73  int stride;
74  int bpp;
80 
83 {
84  void* data;
85  void(*deleter)(void*);
91 
94 {
96  {
97  float translation[3];
98  float velocity[3];
99  float acceleration[3];
100  float rotation[4];
105  };
106  void* data;
107  void(*deleter)(void*);
113 
116 {
118  int type;
120  const char* description;
121  const char* serialized_data;
123 
125 
134 rs2_context* rs2_create_recording_context(int api_version, const char* filename, const char* section, rs2_recording_mode mode, rs2_error** error);
135 
145 rs2_context* rs2_create_mock_context(int api_version, const char* filename, const char* section, rs2_error** error);
146 
157 rs2_context* rs2_create_mock_context_versioned(int api_version, const char* filename, const char* section, const char* min_api_version, rs2_error** error);
158 
166 
174 rs2_sensor* rs2_software_device_add_sensor(rs2_device* dev, const char* sensor_name, rs2_error** error);
175 
183 
191 
199 
200 
208 
217 
225 
233 
241 
249 void rs2_software_device_register_info(rs2_device* dev, rs2_camera_info info, const char *val, rs2_error** error);
250 
258 void rs2_software_device_update_info(rs2_device* dev, rs2_camera_info info, const char * val, rs2_error** error);
259 
267 
276 
284 
293 
301 
310 
319 
328 
340 void rs2_software_sensor_add_option(rs2_sensor* sensor, rs2_option option, float min, float max, float step, float def, int is_writable, rs2_error** error);
341 
349 
350 
358 
367 
376 
382 
389 const unsigned char* rs2_fw_log_message_data(rs2_firmware_log_message* msg, rs2_error** error);
390 
398 
399 
407 
415 
423 int rs2_init_fw_log_parser(rs2_device* dev, const char* xml_content, rs2_error** error);
424 
425 
433 
439 
440 
450 
457 unsigned int rs2_get_number_of_fw_logs(rs2_device* dev, rs2_error** error);
465 
473 
481 
489 
496 unsigned int rs2_get_fw_log_parsed_line(rs2_firmware_log_parsed_message* fw_log_parsed_msg, rs2_error** error);
497 
505 
513 
520 rs2_terminal_parser* rs2_create_terminal_parser(const char* xml_content, rs2_error** error);
521 
527 
537  const char* command, unsigned int size_of_command, rs2_error** error);
538 
550  const char* command, unsigned int size_of_command,
551  const void* response, unsigned int size_of_response, rs2_error** error);
552 
553 
554 #ifdef __cplusplus
555 }
556 #endif
557 #endif
Exposes RealSense context functionality for C compilers.
Exposes RealSense frame functionality for C compilers.
rs2_timestamp_domain
Specifies the clock in relation to which the frame timestamp was measured.
Definition: rs_frame.h:20
rs2_frame_metadata_value
Per-Frame-Metadata is the set of read-only properties that might be exposed for each individual frame...
Definition: rs_frame.h:30
rs2_log_severity rs2_get_fw_log_parsed_severity(rs2_firmware_log_parsed_message *fw_log_parsed_msg, rs2_error **error)
Gets RealSense firmware log parsed message severity.
void rs2_software_device_set_destruction_callback(const rs2_device *dev, rs2_software_device_destruction_callback_ptr on_notification, void *user, rs2_error **error)
void rs2_software_device_update_info(rs2_device *dev, rs2_camera_info info, const char *val, rs2_error **error)
unsigned int rs2_fw_log_message_timestamp(rs2_firmware_log_message *msg, rs2_error **error)
Gets RealSense firmware log message timestamp.
struct rs2_motion_stream rs2_motion_stream
All the parameters required to define a motion stream.
void rs2_delete_fw_log_parsed_message(rs2_firmware_log_parsed_message *fw_log_parsed_msg)
Deletes RealSense firmware log parsed message.
void rs2_software_sensor_set_metadata(rs2_sensor *sensor, rs2_frame_metadata_value value, rs2_metadata_type type, rs2_error **error)
void rs2_software_sensor_add_option(rs2_sensor *sensor, rs2_option option, float min, float max, float step, float def, int is_writable, rs2_error **error)
rs2_device * rs2_create_software_device(rs2_error **error)
rs2_firmware_log_message * rs2_create_fw_log_message(rs2_device *dev, rs2_error **error)
Creates RealSense firmware log message.
rs2_context * rs2_create_mock_context(int api_version, const char *filename, const char *section, rs2_error **error)
rs2_stream_profile * rs2_software_sensor_add_motion_stream(rs2_sensor *sensor, rs2_motion_stream motion_stream, rs2_error **error)
rs2_stream_profile * rs2_software_sensor_add_pose_stream(rs2_sensor *sensor, rs2_pose_stream pose_stream, rs2_error **error)
void rs2_software_sensor_on_pose_frame(rs2_sensor *sensor, rs2_software_pose_frame frame, rs2_error **error)
unsigned int rs2_get_number_of_fw_logs(rs2_device *dev, rs2_error **error)
Returns number of fw logs already polled from device but not by user yet.
rs2_terminal_parser * rs2_create_terminal_parser(const char *xml_content, rs2_error **error)
Creates RealSense terminal parser.
const char * rs2_get_fw_log_parsed_file_name(rs2_firmware_log_parsed_message *fw_log_parsed_msg, rs2_error **error)
Gets RealSense firmware log parsed message file name.
rs2_context * rs2_create_recording_context(int api_version, const char *filename, const char *section, rs2_recording_mode mode, rs2_error **error)
rs2_sensor * rs2_software_device_add_sensor(rs2_device *dev, const char *sensor_name, rs2_error **error)
unsigned int rs2_get_fw_log_parsed_sequence_id(rs2_firmware_log_parsed_message *fw_log_parsed_msg, rs2_error **error)
Gets RealSense firmware log parsed message sequence id - cyclic number of FW log with [0....
void rs2_software_sensor_on_notification(rs2_sensor *sensor, rs2_software_notification notif, rs2_error **error)
rs2_recording_mode
Definition: rs_internal.h:26
@ RS2_RECORDING_MODE_BEST_QUALITY
Definition: rs_internal.h:29
@ RS2_RECORDING_MODE_BLANK_FRAMES
Definition: rs_internal.h:27
@ RS2_RECORDING_MODE_COUNT
Definition: rs_internal.h:30
@ RS2_RECORDING_MODE_COMPRESSED
Definition: rs_internal.h:28
rs2_stream_profile * rs2_software_sensor_add_motion_stream_ex(rs2_sensor *sensor, rs2_motion_stream motion_stream, int is_default, rs2_error **error)
void rs2_software_device_create_matcher(rs2_device *dev, rs2_matchers matcher, rs2_error **error)
void rs2_software_device_set_destruction_callback_cpp(const rs2_device *dev, rs2_software_device_destruction_callback *callback, rs2_error **error)
const char * rs2_get_fw_log_parsed_message(rs2_firmware_log_parsed_message *fw_log_parsed_msg, rs2_error **error)
Gets RealSense firmware log parsed message.
int rs2_parse_firmware_log(rs2_device *dev, rs2_firmware_log_message *fw_log_msg, rs2_firmware_log_parsed_message *parsed_msg, rs2_error **error)
Gets RealSense firmware log parser.
rs2_stream_profile * rs2_software_sensor_add_pose_stream_ex(rs2_sensor *sensor, rs2_pose_stream pose_stream, int is_default, rs2_error **error)
void rs2_software_sensor_detach(rs2_sensor *sensor, rs2_error **error)
void rs2_software_sensor_update_read_only_option(rs2_sensor *sensor, rs2_option option, float val, rs2_error **error)
unsigned int rs2_get_fw_log_parsed_line(rs2_firmware_log_parsed_message *fw_log_parsed_msg, rs2_error **error)
Gets RealSense firmware log parsed message relevant line (in the file that is returned by rs2_get_fw_...
int rs2_get_fw_log(rs2_device *dev, rs2_firmware_log_message *fw_log_msg, rs2_error **error)
Gets RealSense firmware log.
void rs2_software_sensor_on_video_frame(rs2_sensor *sensor, rs2_software_video_frame frame, rs2_error **error)
struct rs2_software_notification rs2_software_notification
All the parameters required to define a sensor notification.
int rs2_init_fw_log_parser(rs2_device *dev, const char *xml_content, rs2_error **error)
Initializes RealSense firmware logs parser in device.
rs2_context * rs2_create_mock_context_versioned(int api_version, const char *filename, const char *section, const char *min_api_version, rs2_error **error)
struct rs2_software_motion_frame rs2_software_motion_frame
All the parameters required to define a motion frame.
int rs2_fw_log_message_size(rs2_firmware_log_message *msg, rs2_error **error)
Gets RealSense firmware log message size.
void rs2_software_sensor_add_read_only_option(rs2_sensor *sensor, rs2_option option, float val, rs2_error **error)
rs2_raw_data_buffer * rs2_terminal_parse_response(rs2_terminal_parser *terminal_parser, const char *command, unsigned int size_of_command, const void *response, unsigned int size_of_response, rs2_error **error)
Parses terminal response via RealSense terminal parser.
rs2_stream_profile * rs2_software_sensor_add_video_stream(rs2_sensor *sensor, rs2_video_stream video_stream, rs2_error **error)
int rs2_get_flash_log(rs2_device *dev, rs2_firmware_log_message *fw_log_msg, rs2_error **error)
Gets RealSense flash log - this is a fw log that has been written in the device during the previous s...
void rs2_delete_fw_log_message(rs2_firmware_log_message *msg)
const char * rs2_get_fw_log_parsed_thread_name(rs2_firmware_log_parsed_message *fw_log_parsed_msg, rs2_error **error)
Gets RealSense firmware log parsed message thread name.
void rs2_delete_terminal_parser(rs2_terminal_parser *terminal_parser)
Deletes RealSense terminal parser.
rs2_log_severity rs2_fw_log_message_severity(const rs2_firmware_log_message *msg, rs2_error **error)
Gets RealSense firmware log message severity.
struct rs2_software_pose_frame rs2_software_pose_frame
All the parameters required to define a pose frame.
void rs2_software_device_register_info(rs2_device *dev, rs2_camera_info info, const char *val, rs2_error **error)
rs2_raw_data_buffer * rs2_terminal_parse_command(rs2_terminal_parser *terminal_parser, const char *command, unsigned int size_of_command, rs2_error **error)
Parses terminal command via RealSense terminal parser.
unsigned int rs2_get_fw_log_parsed_timestamp(rs2_firmware_log_parsed_message *fw_log_parsed_msg, rs2_error **error)
Gets RealSense firmware log parsed message timestamp.
struct rs2_video_stream rs2_video_stream
All the parameters required to define a video stream.
const unsigned char * rs2_fw_log_message_data(rs2_firmware_log_message *msg, rs2_error **error)
Gets RealSense firmware log message data.
rs2_firmware_log_parsed_message * rs2_create_fw_log_parsed_message(rs2_device *dev, rs2_error **error)
Creates RealSense firmware log parsed message.
rs2_stream_profile * rs2_software_sensor_add_video_stream_ex(rs2_sensor *sensor, rs2_video_stream video_stream, int is_default, rs2_error **error)
struct rs2_pose_stream rs2_pose_stream
All the parameters required to define a pose stream.
struct rs2_software_video_frame rs2_software_video_frame
All the parameters required to define a video frame.
void rs2_software_sensor_on_motion_frame(rs2_sensor *sensor, rs2_software_motion_frame frame, rs2_error **error)
Exposes sensor options functionality for C compilers.
rs2_option
Defines general configuration controls. These can generally be mapped to camera UVC controls,...
Definition: rs_option.h:23
Exposes RealSense sensor functionality for C compilers.
rs2_stream
Streams are different types of data provided by RealSense devices.
Definition: rs_sensor.h:43
rs2_camera_info
Read-only strings that can be queried from the device. Not all information attributes are available o...
Definition: rs_sensor.h:22
rs2_format
A stream's format identifies how binary data is encoded within a frame.
Definition: rs_sensor.h:60
Exposes RealSense structs.
struct rs2_sensor rs2_sensor
Definition: rs_types.h:274
rs2_log_severity
Severity of the librealsense logger.
Definition: rs_types.h:147
struct rs2_stream_profile rs2_stream_profile
Definition: rs_types.h:261
rs2_notification_category
Category of the librealsense notification.
Definition: rs_types.h:17
void(* rs2_software_device_destruction_callback_ptr)(void *)
Definition: rs_types.h:286
struct rs2_device rs2_device
Definition: rs_types.h:249
struct rs2_firmware_log_message rs2_firmware_log_message
Definition: rs_types.h:280
double rs2_time_t
Definition: rs_types.h:292
struct rs2_firmware_log_parsed_message rs2_firmware_log_parsed_message
Definition: rs_types.h:281
struct rs2_error rs2_error
Definition: rs_types.h:250
struct rs2_raw_data_buffer rs2_raw_data_buffer
Definition: rs_types.h:252
rs2_matchers
Specifies types of different matchers.
Definition: rs_types.h:223
struct rs2_terminal_parser rs2_terminal_parser
Definition: rs_types.h:283
long long rs2_metadata_type
Definition: rs_types.h:293
struct rs2_context rs2_context
Definition: rs_types.h:271
Video stream intrinsics.
Definition: rs_types.h:59
Motion device intrinsics: scale, bias, and variances.
Definition: rs_types.h:98
All the parameters required to define a motion stream.
Definition: rs_internal.h:49
int index
Definition: rs_internal.h:51
rs2_motion_device_intrinsic intrinsics
Definition: rs_internal.h:55
rs2_format fmt
Definition: rs_internal.h:54
int fps
Definition: rs_internal.h:53
int uid
Definition: rs_internal.h:52
rs2_stream type
Definition: rs_internal.h:50
All the parameters required to define a pose stream.
Definition: rs_internal.h:60
int index
Definition: rs_internal.h:62
rs2_stream type
Definition: rs_internal.h:61
rs2_format fmt
Definition: rs_internal.h:65
int fps
Definition: rs_internal.h:64
int uid
Definition: rs_internal.h:63
Definition: rs_types.hpp:49
All the parameters required to define a motion frame.
Definition: rs_internal.h:83
rs2_timestamp_domain domain
Definition: rs_internal.h:87
void(* deleter)(void *)
Definition: rs_internal.h:85
rs2_time_t timestamp
Definition: rs_internal.h:86
void * data
Definition: rs_internal.h:84
int frame_number
Definition: rs_internal.h:88
const rs2_stream_profile * profile
Definition: rs_internal.h:89
All the parameters required to define a sensor notification.
Definition: rs_internal.h:116
rs2_notification_category category
Definition: rs_internal.h:117
const char * serialized_data
Definition: rs_internal.h:121
rs2_log_severity severity
Definition: rs_internal.h:119
int type
Definition: rs_internal.h:118
const char * description
Definition: rs_internal.h:120
Definition: rs_internal.h:96
float rotation[4]
Definition: rs_internal.h:100
float angular_velocity[3]
Definition: rs_internal.h:101
float translation[3]
Definition: rs_internal.h:97
float angular_acceleration[3]
Definition: rs_internal.h:102
float acceleration[3]
Definition: rs_internal.h:99
int tracker_confidence
Definition: rs_internal.h:103
float velocity[3]
Definition: rs_internal.h:98
int mapper_confidence
Definition: rs_internal.h:104
All the parameters required to define a pose frame.
Definition: rs_internal.h:94
int frame_number
Definition: rs_internal.h:110
void * data
Definition: rs_internal.h:106
rs2_time_t timestamp
Definition: rs_internal.h:108
rs2_timestamp_domain domain
Definition: rs_internal.h:109
void(* deleter)(void *)
Definition: rs_internal.h:107
const rs2_stream_profile * profile
Definition: rs_internal.h:111
All the parameters required to define a video frame.
Definition: rs_internal.h:70
int stride
Definition: rs_internal.h:73
rs2_time_t timestamp
Definition: rs_internal.h:75
int bpp
Definition: rs_internal.h:74
const rs2_stream_profile * profile
Definition: rs_internal.h:78
void(* deleter)(void *)
Definition: rs_internal.h:72
void * pixels
Definition: rs_internal.h:71
rs2_timestamp_domain domain
Definition: rs_internal.h:76
int frame_number
Definition: rs_internal.h:77
All the parameters required to define a video stream.
Definition: rs_internal.h:35
int width
Definition: rs_internal.h:39
rs2_stream type
Definition: rs_internal.h:36
rs2_intrinsics intrinsics
Definition: rs_internal.h:44
int uid
Definition: rs_internal.h:38
int height
Definition: rs_internal.h:40
int fps
Definition: rs_internal.h:41
int bpp
Definition: rs_internal.h:42
int index
Definition: rs_internal.h:37
rs2_format fmt
Definition: rs_internal.h:43