diff --git a/src/l500/l500-controls.cpp b/src/l500/l500-controls.cpp index dac13e553b..6942d8fe2b 100644 --- a/src/l500/l500-controls.cpp +++ b/src/l500/l500-controls.cpp @@ -53,7 +53,9 @@ namespace librealsense return val; } - l500_controls::l500_controls(std::shared_ptr ctx, const platform::backend_device_group & group) :l500_device(ctx, group) + l500_controls::l500_controls(std::shared_ptr ctx, const platform::backend_device_group & group) : + device(ctx, group), + l500_device(ctx, group) { auto& raw_depth_sensor = get_raw_depth_sensor(); auto& depth_sensor = get_depth_sensor(); @@ -139,13 +141,11 @@ namespace librealsense break; case low_ambient: _sensitivity->set_with_no_signal(sensetivity_short); - auto range = _hw_options[RS2_OPTION_LASER_POWER]->get_range(); - _hw_options[RS2_OPTION_LASER_POWER]->set_with_no_signal(range.max); + set_max_laser(); break; case max_range: _sensitivity->set_with_no_signal(sensetivity_long); - range = _hw_options[RS2_OPTION_LASER_POWER]->get_range(); - _hw_options[RS2_OPTION_LASER_POWER]->set_with_no_signal(range.max); + set_max_laser(); break; case short_range: _sensitivity->set_with_no_signal(sensetivity_short); @@ -172,4 +172,10 @@ namespace librealsense for (auto o : _hw_options) o.second->set_with_no_signal(-1); } + + void l500_controls::set_max_laser() + { + auto range = _hw_options[RS2_OPTION_LASER_POWER]->get_range(); + _hw_options[RS2_OPTION_LASER_POWER]->set_with_no_signal(range.max); + } } diff --git a/src/l500/l500-controls.h b/src/l500/l500-controls.h index 782bd313c9..46173263ae 100644 --- a/src/l500/l500-controls.h +++ b/src/l500/l500-controls.h @@ -113,6 +113,7 @@ namespace librealsense void change_preset(preset_values preset); void move_to_custom (); void reset_hw_controls(); + void set_max_laser(); std::map>> _hw_options; std::shared_ptr< signaled_option>> _sensitivity; diff --git a/src/l500/l500-factory.cpp b/src/l500/l500-factory.cpp index 57a4bdabff..6749becbac 100644 --- a/src/l500/l500-factory.cpp +++ b/src/l500/l500-factory.cpp @@ -24,7 +24,7 @@ namespace librealsense // l515 class rs515_device : public l500_depth, - public virtual l500_controls, + public l500_controls, public l500_color, public l500_motion, public l500_serializable_base