Monado OpenXR Runtime
rs_source Struct Reference

RealSense source of camera and IMU data. More...

Inheritance diagram for rs_source:
Collaboration diagram for rs_source:

Data Fields

struct xrt_fs xfs
 
struct xrt_frame_node node
 
enum u_logging_level log_level
 Log level. More...
 
struct xrt_frame_sink left_sink
 Intermediate sink for left camera frames. More...
 
struct xrt_frame_sink right_sink
 Intermediate sink for right camera frames. More...
 
struct xrt_imu_sink imu_sink
 Intermediate sink for IMU samples. More...
 
struct xrt_slam_sinks in_sinks
 Pointers to intermediate sinks. More...
 
struct xrt_slam_sinks out_sinks
 Pointers to downstream sinks. More...
 
struct u_sink_debug ui_left_sink
 Sink to display left frames in UI. More...
 
struct u_sink_debug ui_right_sink
 Sink to display right frames in UI. More...
 
struct m_ff_vec3_f32gyro_ff
 Queue of gyroscope data to display in UI. More...
 
struct m_ff_vec3_f32accel_ff
 Queue of accelerometer data to display in UI. More...
 
bool ui_autoexposure
 Autoexposure value to set. More...
 
struct u_var_draggable_f32 ui_exposure
 Exposure value to set. More...
 
struct u_var_draggable_f32 ui_gain
 Gain value to set. More...
 
struct u_var_button ui_btn_apply
 Apply changes button. More...
 
struct rs_container rsc
 Container of RealSense API objects. More...
 
bool stereo
 Indicates whether to use one or two cameras. More...
 
rs2_format video_format
 Indicates desired frame color format. More...
 
enum xrt_format xrt_video_format
 corresponding format for video_format More...
 
int video_width
 Indicates desired frame width. More...
 
int video_height
 Indicates desired frame height. More...
 
int video_fps
 Indicates desired fps. More...
 
bool video_change_exposure
 Indicates whether to overwrite external device exposure settings. More...
 
bool video_autoexposure
 Indicates whether to enable autoexposure or use provided values. More...
 
int video_exposure
 Indicates desired exposure time in microseconds. More...
 
int video_gain
 Indicates desired gain (16-248) More...
 
int gyro_fps
 Indicates desired gyroscope samples per second. More...
 
int accel_fps
 Indicates desired accelerometer samples per second. More...
 
rs2_stream stream_type
 Indicates desired stream type for the cameras. More...
 
int stream1_index
 Indicates desired stream index for first stream. More...
 
int stream2_index
 Indicates desired stream index for second stream. More...
 
bool is_running
 Whether the device is streaming. More...
 
struct {
   struct os_mutex   mutex
 Gyro and accel come from separate threads. More...
 
   struct xrt_vec3   accel
 Last received accelerometer values. More...
 
   struct xrt_vec3   gyro
 Last received gyroscope values. More...
 
partial_imu_sample
 Very simple struct to merge the two acc/gyr streams into one IMU stream. More...
 
- Data Fields inherited from xrt_fs
char name [512]
 Name of the frame server source, from the subsystem. More...
 
char product [32]
 Frame server product identifier, matches the prober device. More...
 
char manufacturer [32]
 Frame server manufacturer, matches the prober device. More...
 
char serial [32]
 Frame server serial number, matches the prober device. More...
 
uint64_t source_id
 All frames produced by this frameserver are tagged with this id. More...
 
bool(* enumerate_modes )(struct xrt_fs *xfs, struct xrt_fs_mode **out_modes, uint32_t *out_count)
 Enumerate all available modes that this frameserver supports. More...
 
bool(* configure_capture )(struct xrt_fs *xfs, struct xrt_fs_capture_parameters *cp)
 Set the capture parameters, may not be supported on all capture devices. More...
 
bool(* stream_start )(struct xrt_fs *xfs, struct xrt_frame_sink *xs, enum xrt_fs_capture_type capture_type, uint32_t descriptor_index)
 Start the capture stream. More...
 
bool(* slam_stream_start )(struct xrt_fs *xfs, struct xrt_slam_sinks *sinks)
 Setup SLAM sinks for all the sensors a SLAM implementation may supports and start the frame server stream. More...
 
bool(* stream_stop )(struct xrt_fs *xfs)
 Stop the capture stream. More...
 
bool(* is_running )(struct xrt_fs *xfs)
 Is the capture stream running. More...
 
- Data Fields inherited from xrt_frame_node
struct xrt_frame_nodenext
 
void(* break_apart )(struct xrt_frame_node *node)
 Called first in when the graph is being destroyed, remove any references frames and other objects and stop threads. More...
 
void(* destroy )(struct xrt_frame_node *node)
 Do the actual freeing of the objects. More...
 

Additional Inherited Members

- Public Member Functions inherited from xrt_fs
static bool xrt_fs_enumerate_modes (struct xrt_fs *xfs, struct xrt_fs_mode **out_modes, uint32_t *out_count)
 Enumerate all available modes that this frameserver supports. More...
 
static bool xrt_fs_configure_capture (struct xrt_fs *xfs, struct xrt_fs_capture_parameters *cp)
 Set the capture parameters, may not be supported on all capture devices. More...
 
static bool xrt_fs_stream_start (struct xrt_fs *xfs, struct xrt_frame_sink *xs, enum xrt_fs_capture_type capture_type, uint32_t descriptor_index)
 Start the capture stream. More...
 
static bool xrt_fs_slam_stream_start (struct xrt_fs *xfs, struct xrt_slam_sinks *sinks)
 Setup SLAM sinks for all the sensors a SLAM implementation may supports and start the frame server stream. More...
 
static bool xrt_fs_stream_stop (struct xrt_fs *xfs)
 Stop the capture stream. More...
 
static bool xrt_fs_is_running (struct xrt_fs *xfs)
 Is the capture stream running. More...
 

Detailed Description

RealSense source of camera and IMU data.

Field Documentation

◆ accel

struct xrt_vec3 rs_source::accel

Last received accelerometer values.

Referenced by partial_imu_sample_push().

◆ accel_ff

struct m_ff_vec3_f32* rs_source::accel_ff

Queue of accelerometer data to display in UI.

◆ accel_fps

int rs_source::accel_fps

Indicates desired accelerometer samples per second.

Referenced by check_global_time().

◆ gyro

struct xrt_vec3 rs_source::gyro

Last received gyroscope values.

Referenced by partial_imu_sample_push().

◆ gyro_ff

struct m_ff_vec3_f32* rs_source::gyro_ff

Queue of gyroscope data to display in UI.

◆ gyro_fps

int rs_source::gyro_fps

Indicates desired gyroscope samples per second.

Referenced by check_global_time().

◆ imu_sink

struct xrt_imu_sink rs_source::imu_sink

Intermediate sink for IMU samples.

◆ in_sinks

struct xrt_slam_sinks rs_source::in_sinks

Pointers to intermediate sinks.

◆ is_running

bool rs_source::is_running

Whether the device is streaming.

◆ left_sink

struct xrt_frame_sink rs_source::left_sink

Intermediate sink for left camera frames.

Referenced by receive_left_frame().

◆ log_level

enum u_logging_level rs_source::log_level

Log level.

Referenced by rs_source_create().

◆ mutex

struct os_mutex rs_source::mutex

Gyro and accel come from separate threads.

Referenced by partial_imu_sample_push().

◆ out_sinks

struct xrt_slam_sinks rs_source::out_sinks

Pointers to downstream sinks.

◆ 

struct { ... } rs_source::partial_imu_sample

Very simple struct to merge the two acc/gyr streams into one IMU stream.

It just pushes on every gyro sample and reuses the latest acc sample.

Referenced by partial_imu_sample_push().

◆ right_sink

struct xrt_frame_sink rs_source::right_sink

Intermediate sink for right camera frames.

◆ rsc

struct rs_container rs_source::rsc

Container of RealSense API objects.

Referenced by set_option_in_all_sensors().

◆ stereo

bool rs_source::stereo

Indicates whether to use one or two cameras.

◆ stream1_index

int rs_source::stream1_index

Indicates desired stream index for first stream.

◆ stream2_index

int rs_source::stream2_index

Indicates desired stream index for second stream.

◆ stream_type

rs2_stream rs_source::stream_type

Indicates desired stream type for the cameras.

◆ ui_autoexposure

bool rs_source::ui_autoexposure

Autoexposure value to set.

◆ ui_btn_apply

struct u_var_button rs_source::ui_btn_apply

Apply changes button.

◆ ui_exposure

struct u_var_draggable_f32 rs_source::ui_exposure

Exposure value to set.

◆ ui_gain

struct u_var_draggable_f32 rs_source::ui_gain

Gain value to set.

◆ ui_left_sink

struct u_sink_debug rs_source::ui_left_sink

Sink to display left frames in UI.

◆ ui_right_sink

struct u_sink_debug rs_source::ui_right_sink

Sink to display right frames in UI.

◆ video_autoexposure

bool rs_source::video_autoexposure

Indicates whether to enable autoexposure or use provided values.

Referenced by update_options().

◆ video_change_exposure

bool rs_source::video_change_exposure

Indicates whether to overwrite external device exposure settings.

◆ video_exposure

int rs_source::video_exposure

Indicates desired exposure time in microseconds.

Referenced by update_options().

◆ video_format

rs2_format rs_source::video_format

Indicates desired frame color format.

◆ video_fps

int rs_source::video_fps

Indicates desired fps.

◆ video_gain

int rs_source::video_gain

Indicates desired gain (16-248)

Referenced by update_options().

◆ video_height

int rs_source::video_height

Indicates desired frame height.

◆ video_width

int rs_source::video_width

Indicates desired frame width.

◆ xrt_video_format

enum xrt_format rs_source::xrt_video_format

corresponding format for video_format


The documentation for this struct was generated from the following file: