diff --git a/src/ds/advanced_mode/advanced_mode.cpp b/src/ds/advanced_mode/advanced_mode.cpp index 5627f19c47..d91d234b55 100644 --- a/src/ds/advanced_mode/advanced_mode.cpp +++ b/src/ds/advanced_mode/advanced_mode.cpp @@ -734,6 +734,8 @@ namespace librealsense preset ds_advanced_mode_base::get_all() const { preset p; + + rsutils::deferred depth_bulk = _depth_sensor.bulk_operation(); get_depth_control_group(&p.depth_controls); get_rsm(&p.rsm); get_rau_support_vector_control(&p.rsvc); @@ -753,6 +755,10 @@ namespace librealsense get_depth_auto_exposure(&p.depth_auto_exposure); get_depth_gain(&p.depth_gain); get_depth_auto_white_balance(&p.depth_auto_white_balance); + + rsutils::deferred color_bulk; + if( *_color_sensor ) + color_bulk = ( *_color_sensor )->bulk_operation(); get_color_exposure(&p.color_exposure); get_color_auto_exposure(&p.color_auto_exposure); get_color_backlight_compensation(&p.color_backlight_compensation); @@ -766,6 +772,7 @@ namespace librealsense get_color_white_balance(&p.color_white_balance); get_color_auto_white_balance(&p.color_auto_white_balance); get_color_power_line_frequency(&p.color_power_line_frequency); + return p; } @@ -778,6 +785,8 @@ namespace librealsense void ds_advanced_mode_base::set_all_depth(const preset& p) { + rsutils::deferred depth_bulk = _depth_sensor.bulk_operation(); + set(p.depth_controls, advanced_mode_traits::group); set(p.rsm , advanced_mode_traits::group); set(p.rsvc , advanced_mode_traits::group); @@ -813,6 +822,10 @@ namespace librealsense void ds_advanced_mode_base::set_all_rgb( const preset & p ) { + rsutils::deferred color_bulk; + if( *_color_sensor ) + color_bulk = ( *_color_sensor )->bulk_operation(); + set_color_auto_exposure(p.color_auto_exposure); if (p.color_auto_exposure.was_set && p.color_auto_exposure.auto_exposure == 0) {