26 const std::vector<platform::uvc_device_info>& color_devices_info);
61 std::shared_ptr<context>
ctx,
64 :
synthetic_sensor(
"RGB Camera", uvc_sensor, owner, l500_color_fourcc_to_rs2_format, l500_color_fourcc_to_rs2_stream),
80 void reset_calibration()
override;
82 void reset_k_thermal_intrinsics();
91 for (
auto&&
p : results)
96 assign_stream(_owner->_color_stream,
p);
102 std::weak_ptr<l500_color_sensor> wp =
104 video->set_intrinsics([profile, wp]()
108 return sp->get_intrinsics(profile);
128 void close()
override;
134 void stop()
override;
143 void stop_stream_for_calibration();
146 void register_calibration_controls();
175 , previous_value(0.0
f)
176 , need_to_restore(false) {}
203 LOG_DEBUG(
"Sensor state changed from: " << state_to_string(_state) <<
204 " to: " << state_to_string(state));
211 void set_calibration_controls_to_defaults();
212 void restore_pre_calibration_controls();
processing_blocks get_recommended_processing_blocks() const override
static const textual_icon lock
std::shared_ptr< lazy< rs2_extrinsics > > _color_extrinsic
const float default_value
l500_color(std::shared_ptr< context > ctx, const platform::backend_device_group &group)
void delayed_start(frame_callback_ptr callback)
rs2_option
Defines general configuration controls. These can generally be mapped to camera UVC controls...
std::atomic< sensor_state > _state
std::shared_ptr< rs2_frame_callback > frame_callback_ptr
rs2_distortion
Distortion model: defines how pixel coordinates should be mapped to sensor coordinates.
std::shared_ptr< stream_interface > _color_stream
stream_profiles init_stream_profiles() override
void set_sensor_state(sensor_state state)
Video DSM (Digital Sync Module) parameters for calibration (same layout as in FW ac_depth_params) Thi...
processing_blocks get_color_recommended_proccesing_blocks()
virtual stream_profiles init_stream_profiles() override
std::map< uint32_t, rs2_format > l500_color_fourcc_to_rs2_format
GLsizei const GLchar *const * string
static const textual_icon stop
ivcam2::intrinsic_rgb read_intrinsics_table() const
void start(frame_callback_ptr callback) override
GLint GLsizei GLsizei height
void do_after_delay(std::function< void()> action, int milliseconds=2000)
l500_color_sensor(l500_color *owner, std::shared_ptr< uvc_sensor > uvc_sensor, std::shared_ptr< context > ctx, std::map< uint32_t, rs2_format > l500_color_fourcc_to_rs2_format, std::map< uint32_t, rs2_stream > l500_color_fourcc_to_rs2_stream)
l500_color_sensor * get_color_sensor() override
action_delayer _action_delayer
std::vector< std::shared_ptr< stream_profile_interface >> stream_profiles
static environment & get_instance()
extrinsics_graph & get_extrinsics_graph()
std::vector< uint8_t > get_raw_extrinsics_table() const
std::shared_ptr< synthetic_sensor > create_color_device(std::shared_ptr< context > ctx, const std::vector< platform::uvc_device_info > &color_devices_info)
uint8_t _color_device_idx
lazy< std::vector< uint8_t > > _color_extrinsics_table_raw
Cross-stream extrinsics: encodes the topology describing how the different devices are oriented...
stream_profile to_profile(const stream_profile_interface *sp)
lazy< ivcam2::intrinsic_rgb > _color_intrinsics_table
std::vector< calibration_control > _calib_controls
std::vector< tagged_profile > get_profiles_tags() const override
calibration_control(rs2_option opt, float def)
lazy< algo::thermal_loop::l500::thermal_calibration_table > _thermal_table
std::shared_ptr< rs2_intrinsics > _k_thermal_intrinsics
const rs2_distortion l500_distortion
std::map< uint32_t, rs2_stream > l500_color_fourcc_to_rs2_stream