diff --git a/src/ds/d400/d400-device.cpp b/src/ds/d400/d400-device.cpp index 4d3f41960e..c01d8d044c 100644 --- a/src/ds/d400/d400-device.cpp +++ b/src/ds/d400/d400-device.cpp @@ -41,6 +41,9 @@ #include #include +#include +#include + #ifdef HWM_OVER_XU constexpr bool hw_mon_over_xu = true; #else @@ -965,6 +968,13 @@ namespace librealsense register_feature( std::make_shared< remove_ir_pattern_feature >() ); register_feature( std::make_shared< auto_exposure_roi_feature >( get_depth_sensor(), _hw_monitor ) ); + + if( pid != ds::RS457_PID && pid != ds::RS415_PID && fw_ver >= firmware_version( 5, 12, 10, 11 ) ) + { + register_feature( + std::make_shared< auto_exposure_limit_feature >( get_depth_sensor(), d400_device::_hw_monitor ) ); + register_feature( std::make_shared< gain_limit_feature >( get_depth_sensor(), d400_device::_hw_monitor ) ); + } } void d400_device::register_metadata(const synthetic_sensor &depth_sensor, const firmware_version& hdr_firmware_version) const diff --git a/src/ds/d400/d400-factory.cpp b/src/ds/d400/d400-factory.cpp index 2401588e3f..f2be41122a 100644 --- a/src/ds/d400/d400-factory.cpp +++ b/src/ds/d400/d400-factory.cpp @@ -670,14 +670,6 @@ namespace librealsense dev_info, d400_device::_hw_monitor, get_firmware_logs_command(), get_flash_logs_command() ) { check_and_restore_rgb_stream_extrinsic(); - if( _fw_version >= firmware_version( 5, 12, 10, 11 ) ) - { - register_feature( - std::make_shared< auto_exposure_limit_feature >( get_depth_sensor(), d400_device::_hw_monitor ) ); - register_feature( - std::make_shared< gain_limit_feature >( get_depth_sensor(), d400_device::_hw_monitor ) ); - - } } @@ -1012,15 +1004,6 @@ namespace librealsense dev_info, d400_device::_hw_monitor, get_firmware_logs_command(), get_flash_logs_command() ) , d400_thermal_tracking( d400_device::_thermal_monitor ) { - if( _fw_version >= firmware_version( 5, 12, 10, 11 ) ) - { - register_feature( - std::make_shared< auto_exposure_limit_feature >( get_depth_sensor(), d400_device::_hw_monitor ) ); - register_feature( - std::make_shared< gain_limit_feature >( get_depth_sensor(), d400_device::_hw_monitor ) ); - - - } } std::shared_ptr create_matcher(const frame_holder& frame) const override;