42 auto&& backend = ctx->get_backend();
53 std::vector<platform::uvc_device_info> color_devs_info;
58 if (color_devs_info_mi3.size() == 1)
61 color_devs_info = color_devs_info_mi3;
62 std::unique_ptr<frame_timestamp_reader> ds5_timestamp_reader_backup(
new ds5_timestamp_reader(backend.create_time_service()));
65 auto enable_global_time_option = std::shared_ptr<global_time_option>(
new global_time_option());
66 auto raw_color_ep = std::make_shared<uvc_sensor>(
"Raw RGB Camera",
67 backend.create_uvc_device(color_devs_info.front()),
71 auto color_ep = std::make_shared<ds5_color_sensor>(
this,
86 if (color_devs_info_mi0.size() == 1 || color_devs_info_mi0.size() == 3)
89 color_devs_info = color_devs_info_mi0;
96 << color_devs_info.size() <<
" found");
117 std::make_shared<auto_disabling_control>(
118 white_balance_option,
119 auto_white_balance_option));
129 std::map<float, std::string>{ { 0.f,
"Disabled"},
132 { 3.f,
"Auto" }, }));
154 std::make_shared<auto_disabling_control>(
156 auto_exposure_option));
158 std::make_shared<auto_disabling_control>(
160 auto_exposure_option));
166 if ((roi_sensor = dynamic_cast<roi_sensor_interface*>(&color_ep)))
197 {
return param * 100; }));
232 return *(
short*)&(param);
243 return *(
short*)&(param);
263 *_owner->_color_calib_table_raw,
273 for (
auto&&
p : results)
278 assign_stream(_owner->_color_stream,
p);
284 std::weak_ptr<ds5_color_sensor> wp =
286 video->set_intrinsics([
profile, wp]()
290 return sp->get_intrinsics(
profile);
synthetic_sensor & get_color_sensor()
static const textual_icon lock
std::shared_ptr< lazy< rs2_extrinsics > > _color_extrinsic
std::shared_ptr< md_attribute_parser_base > make_rs400_sensor_ts_parser(std::shared_ptr< md_attribute_parser_base > frame_ts_parser, std::shared_ptr< md_attribute_parser_base > sensor_ts_parser)
A helper function to create a specialized parser for RS4xx sensor timestamp.
std::shared_ptr< stream_interface > _color_stream
firmware_version _fw_version
std::shared_ptr< hw_monitor > _hw_monitor
rs2_extrinsics from_pose(pose a)
std::map< uint32_t, rs2_format > ds5_color_fourcc_to_rs2_format
std::shared_ptr< stream_interface > _color_stream
bool val_in_range(const T &val, const std::initializer_list< T > &list)
processing_blocks get_color_recommended_proccesing_blocks()
virtual stream_profiles init_stream_profiles() override
uvc_sensor & get_raw_color_sensor()
ds5_color(std::shared_ptr< context > ctx, const platform::backend_device_group &group)
uint32_t power_line_frequency
void create_color_device(std::shared_ptr< context > ctx, const platform::backend_device_group &group)
std::shared_ptr< time_diff_keeper > _tf_keeper
std::shared_ptr< ds5_thermal_monitor > _thermal_monitor
void register_extrinsics(const stream_interface &from, const stream_interface &to, std::weak_ptr< lazy< rs2_extrinsics >> extr)
uint8_t _depth_device_idx
uint32_t rs_fourcc(const T a, const T b, const T c, const T d)
lazy< std::vector< uint8_t > > _color_calib_table_raw
static processing_block_factory create_id_pbf(rs2_format format, rs2_stream stream, int idx=0)
std::shared_ptr< stream_interface > _depth_stream
std::map< uint32_t, rs2_stream > ds5_color_fourcc_to_rs2_stream
rs2_intrinsics get_intrinsic_by_resolution(const vector< uint8_t > &raw_data, calibration_table_id table_id, uint32_t width, uint32_t height)
std::shared_ptr< md_attribute_parser_base > make_uvc_header_parser(Attribute St::*attribute, attrib_modifyer mod=nullptr)
A utility function to create UVC metadata header parser.
std::vector< std::shared_ptr< stream_profile_interface >> stream_profiles
static environment & get_instance()
int add_sensor(const std::shared_ptr< sensor_interface > &sensor_base)
extrinsics_graph & get_extrinsics_graph()
processing_blocks get_recommended_processing_blocks() const override
std::shared_ptr< md_attribute_parser_base > make_attribute_parser(Attribute S::*attribute, Flag flag, unsigned long long offset, attrib_modifyer mod=nullptr)
A helper function to create a specialized attribute parser. Return it as a pointer to a base-class...
stream_profile to_profile(const stream_profile_interface *sp)
long long rs2_metadata_type
std::vector< rs2_format > map_supported_color_formats(rs2_format source_format)
typename::boost::move_detail::remove_reference< T >::type && move(T &&t) BOOST_NOEXCEPT
void register_stream_to_extrinsic_group(const stream_interface &stream, uint32_t groupd_index)
#define offsetof(STRUCTURE, FIELD)
uint32_t sensor_timestamp
stream_profiles init_stream_profiles() override
std::vector< platform::uvc_device_info > filter_by_mi(const std::vector< platform::uvc_device_info > &devices, uint32_t mi)
uint8_t _color_device_idx
rs2_intrinsics get_intrinsics(const stream_profile &profile) const override
pose get_color_stream_extrinsic(const std::vector< uint8_t > &raw_data)
std::vector< uint8_t > get_raw_calibration_table(ds::calibration_table_id table_id) const
virtual void set_roi_method(std::shared_ptr< region_of_interest_method > roi_method)=0
std::string to_string(T value)