Classes | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
librealsense::uvc_sensor Class Reference

#include <sensor.h>

Inheritance diagram for librealsense::uvc_sensor:
Inheritance graph
[legend]

Classes

struct  power
 

Public Member Functions

void close () override
 
std::vector< platform::stream_profileget_configuration () const
 
std::string get_device_path () const
 
platform::usb_spec get_usb_specification () const
 
std::shared_ptr< platform::uvc_deviceget_uvc_device ()
 
template<class T >
auto invoke_powered (T action) -> decltype(action(*static_cast< platform::uvc_device * >(nullptr)))
 
void open (const stream_profiles &requests) override
 
void register_pu (rs2_option id)
 
void register_xu (platform::extension_unit xu)
 
void start (frame_callback_ptr callback) override
 
void stop () override
 
 uvc_sensor (std::string name, std::shared_ptr< platform::uvc_device > uvc_device, std::unique_ptr< frame_timestamp_reader > timestamp_reader, device *dev)
 
virtual ~uvc_sensor () override
 
- Public Member Functions inherited from librealsense::sensor_base
rs2_format fourcc_to_rs2_format (uint32_t format) const
 
rs2_stream fourcc_to_rs2_stream (uint32_t fourcc_format) const
 
stream_profiles get_active_streams () const override
 
device_interfaceget_device () override
 
std::shared_ptr< std::map< uint32_t, rs2_format > > & get_fourcc_to_rs2_format_map ()
 
std::shared_ptr< std::map< uint32_t, rs2_stream > > & get_fourcc_to_rs2_stream_map ()
 
virtual frame_callback_ptr get_frames_callback () const override
 
const std::stringget_info (rs2_camera_info info) const override
 
notifications_callback_ptr get_notifications_callback () const override
 
virtual std::shared_ptr< notifications_processorget_notifications_processor () const
 
processing_blocks get_recommended_processing_blocks () const override
 
stream_profiles get_stream_profiles (int tag=profile_tag::PROFILE_TAG_ANY) const override
 
virtual bool is_opened () const
 
bool is_streaming () const override
 
int register_before_streaming_changes_callback (std::function< void(bool)> callback) override
 
virtual void register_metadata (rs2_frame_metadata_value metadata, std::shared_ptr< md_attribute_parser_base > metadata_parser) const
 
void register_notifications_callback (notifications_callback_ptr callback) override
 
void register_on_open (on_open callback)
 
 sensor_base (std::string name, device *device, recommended_proccesing_blocks_interface *owner)
 
virtual void set_frames_callback (frame_callback_ptr callback) override
 
void set_source_owner (sensor_base *owner)
 
bool supports_info (rs2_camera_info info) const override
 
void unregister_before_start_callback (int token) override
 
virtual ~sensor_base () override
 
- Public Member Functions inherited from librealsense::sensor_interface
virtual ~sensor_interface ()=default
 
- Public Member Functions inherited from librealsense::info_interface
virtual ~info_interface ()=default
 
- Public Member Functions inherited from librealsense::recordable< info_interface >
virtual ~recordable ()=default
 
- Public Member Functions inherited from librealsense::options_interface
virtual ~options_interface ()=default
 
- Public Member Functions inherited from librealsense::recordable< options_interface >
virtual ~recordable ()=default
 
- Public Member Functions inherited from librealsense::recommended_proccesing_blocks_interface
virtual ~recommended_proccesing_blocks_interface ()=default
 
- Public Member Functions inherited from librealsense::options_container
void create_snapshot (std::shared_ptr< options_interface > &snapshot) const override
 
void enable_recording (std::function< void(const options_interface &)> record_action) override
 
optionget_option (rs2_option id) override
 
const optionget_option (rs2_option id) const override
 
std::shared_ptr< optionget_option_handler (rs2_option id)
 
std::shared_ptr< optionget_option_handler (rs2_option id) const
 
virtual const char * get_option_name (rs2_option option) const override
 
std::vector< rs2_optionget_supported_options () const override
 
void register_option (rs2_option id, std::shared_ptr< option > option)
 
bool supports_option (rs2_option id) const override
 
void unregister_option (rs2_option id)
 
void update (std::shared_ptr< extension_snapshot > ext) override
 
- Public Member Functions inherited from librealsense::extension_snapshot
virtual ~extension_snapshot ()=default
 
- Public Member Functions inherited from librealsense::info_container
void create_snapshot (std::shared_ptr< info_interface > &snapshot) const override
 
void enable_recording (std::function< void(const info_interface &)> record_action) override
 
void register_info (rs2_camera_info info, const std::string &val)
 
void update (std::shared_ptr< extension_snapshot > ext) override
 
void update_info (rs2_camera_info info, const std::string &val)
 
- Public Member Functions inherited from librealsense::recommended_proccesing_blocks_base
virtual void create_snapshot (std::shared_ptr< recommended_proccesing_blocks_interface > &snapshot) const override
 
virtual void enable_recording (std::function< void(const recommended_proccesing_blocks_interface &)> recording_function) override
 
 recommended_proccesing_blocks_base (recommended_proccesing_blocks_interface *owner)
 
- Public Member Functions inherited from librealsense::recordable< recommended_proccesing_blocks_interface >
virtual ~recordable ()=default
 

Protected Member Functions

stream_profiles init_stream_profiles () override
 
rs2_extension stream_to_frame_types (rs2_stream stream) const
 
- Protected Member Functions inherited from librealsense::sensor_base
void assign_stream (const std::shared_ptr< stream_interface > &stream, std::shared_ptr< stream_profile_interface > target) const
 
std::shared_ptr< framegenerate_frame_from_data (const platform::frame_object &fo, frame_timestamp_reader *timestamp_reader, const rs2_time_t &last_timestamp, const unsigned long long &last_frame_number, std::shared_ptr< stream_profile_interface > profile)
 
void raise_on_before_streaming_changes (bool streaming)
 
void set_active_streams (const stream_profiles &requests)
 

Private Member Functions

void acquire_power ()
 
void release_power ()
 
void reset_streaming ()
 

Private Attributes

std::mutex _configure_lock
 
std::shared_ptr< platform::uvc_device_device
 
std::unique_ptr< power_power
 
std::mutex _power_lock
 
std::unique_ptr< frame_timestamp_reader_timestamp_reader
 
std::atomic< int > _user_count
 
std::vector< platform::extension_unit_xus
 

Additional Inherited Members

- Protected Attributes inherited from librealsense::sensor_base
std::shared_ptr< std::map< uint32_t, rs2_format > > _fourcc_to_rs2_format
 
std::shared_ptr< std::map< uint32_t, rs2_stream > > _fourcc_to_rs2_stream
 
std::vector< platform::stream_profile_internal_config
 
std::atomic< bool > _is_opened
 
std::atomic< bool > _is_streaming
 
std::shared_ptr< metadata_parser_map_metadata_parsers = nullptr
 
std::shared_ptr< notifications_processor_notifications_processor
 
on_open _on_open
 
device_owner
 
frame_source _source
 
sensor_base_source_owner = nullptr
 
std::vector< platform::stream_profile_uvc_profiles
 
- Protected Attributes inherited from librealsense::options_container
std::map< rs2_option, std::shared_ptr< option > > _options
 
std::function< void(const options_interface &)> _recording_function = [](const options_interface&) {}
 

Detailed Description

Definition at line 323 of file sensor.h.

Constructor & Destructor Documentation

librealsense::uvc_sensor::uvc_sensor ( std::string  name,
std::shared_ptr< platform::uvc_device uvc_device,
std::unique_ptr< frame_timestamp_reader timestamp_reader,
device dev 
)
explicit

Definition at line 940 of file sensor.cpp.

librealsense::uvc_sensor::~uvc_sensor ( )
overridevirtual

Definition at line 288 of file sensor.cpp.

Member Function Documentation

void librealsense::uvc_sensor::acquire_power ( )
private

Definition at line 512 of file sensor.cpp.

void librealsense::uvc_sensor::close ( )
overridevirtual

Implements librealsense::sensor_interface.

Definition at line 449 of file sensor.cpp.

std::vector<platform::stream_profile> librealsense::uvc_sensor::get_configuration ( ) const
inline

Definition at line 337 of file sensor.h.

std::string librealsense::uvc_sensor::get_device_path ( ) const
inline

Definition at line 340 of file sensor.h.

platform::usb_spec librealsense::uvc_sensor::get_usb_specification ( ) const
inline

Definition at line 339 of file sensor.h.

std::shared_ptr<platform::uvc_device> librealsense::uvc_sensor::get_uvc_device ( )
inline

Definition at line 338 of file sensor.h.

stream_profiles librealsense::uvc_sensor::init_stream_profiles ( )
overrideprotectedvirtual

Implements librealsense::sensor_base.

Definition at line 560 of file sensor.cpp.

template<class T >
auto librealsense::uvc_sensor::invoke_powered ( action) -> decltype(action(*static_cast<platform::uvc_device*>(nullptr)))
inline

Definition at line 343 of file sensor.h.

void librealsense::uvc_sensor::open ( const stream_profiles requests)
overridevirtual

Implements librealsense::sensor_interface.

Definition at line 304 of file sensor.cpp.

void librealsense::uvc_sensor::register_pu ( rs2_option  id)

Definition at line 653 of file sensor.cpp.

void librealsense::uvc_sensor::register_xu ( platform::extension_unit  xu)

Definition at line 475 of file sensor.cpp.

void librealsense::uvc_sensor::release_power ( )
private

Definition at line 538 of file sensor.cpp.

void librealsense::uvc_sensor::reset_streaming ( )
private

Definition at line 505 of file sensor.cpp.

void librealsense::uvc_sensor::start ( frame_callback_ptr  callback)
overridevirtual

Implements librealsense::sensor_interface.

Definition at line 480 of file sensor.cpp.

void librealsense::uvc_sensor::stop ( )
overridevirtual

Implements librealsense::sensor_interface.

Definition at line 494 of file sensor.cpp.

rs2_extension librealsense::uvc_sensor::stream_to_frame_types ( rs2_stream  stream) const
protected

Definition at line 586 of file sensor.cpp.

Member Data Documentation

std::mutex librealsense::uvc_sensor::_configure_lock
private

Definition at line 389 of file sensor.h.

std::shared_ptr<platform::uvc_device> librealsense::uvc_sensor::_device
private

Definition at line 386 of file sensor.h.

std::unique_ptr<power> librealsense::uvc_sensor::_power
private

Definition at line 391 of file sensor.h.

std::mutex librealsense::uvc_sensor::_power_lock
private

Definition at line 388 of file sensor.h.

std::unique_ptr<frame_timestamp_reader> librealsense::uvc_sensor::_timestamp_reader
private

Definition at line 392 of file sensor.h.

std::atomic<int> librealsense::uvc_sensor::_user_count
private

Definition at line 387 of file sensor.h.

std::vector<platform::extension_unit> librealsense::uvc_sensor::_xus
private

Definition at line 390 of file sensor.h.


The documentation for this class was generated from the following files:


librealsense2
Author(s): Sergey Dorodnicov , Doron Hirshberg , Mark Horn , Reagan Lopez , Itay Carpis
autogenerated on Mon May 3 2021 02:50:38