You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
3.2 KiB
75 lines
3.2 KiB
2 months ago
|
# License: Apache 2.0. See LICENSE file in root directory.
|
||
|
# Copyright(c) 2023 Intel Corporation. All Rights Reserved.
|
||
|
|
||
|
#test:device D455
|
||
|
|
||
|
import pyrealsense2 as rs
|
||
|
import pyrsutils as rsutils
|
||
|
from rspy import test, log
|
||
|
from rspy import tests_wrapper as tw
|
||
|
|
||
|
ctx = rs.context()
|
||
|
device = test.find_first_device_or_exit();
|
||
|
depth_sensor = device.first_depth_sensor()
|
||
|
fw_version = rsutils.version( device.get_info( rs.camera_info.firmware_version ))
|
||
|
tw.start_wrapper( device )
|
||
|
|
||
|
if fw_version < rsutils.version(5,15,0,0):
|
||
|
log.i(f"FW version {fw_version} does not support DEPTH_AUTO_EXPOSURE_MODE option, skipping test...")
|
||
|
test.print_results_and_exit()
|
||
|
|
||
|
REGULAR = 0.0
|
||
|
ACCELERATED = 1.0
|
||
|
################################################################################################
|
||
|
|
||
|
test.start("Verify camera AE mode default is REGULAR")
|
||
|
test.check_equal(depth_sensor.get_option(rs.option.auto_exposure_mode), REGULAR)
|
||
|
test.finish()
|
||
|
|
||
|
################################################################################################
|
||
|
|
||
|
test.start("Verify can set when auto exposure on")
|
||
|
depth_sensor.set_option(rs.option.enable_auto_exposure, True)
|
||
|
test.check_equal(bool(depth_sensor.get_option(rs.option.enable_auto_exposure)), True)
|
||
|
depth_sensor.set_option(rs.option.auto_exposure_mode, ACCELERATED)
|
||
|
test.check_equal(depth_sensor.get_option(rs.option.auto_exposure_mode), ACCELERATED)
|
||
|
depth_sensor.set_option(rs.option.auto_exposure_mode, REGULAR)
|
||
|
test.check_equal(depth_sensor.get_option(rs.option.auto_exposure_mode), REGULAR)
|
||
|
test.finish()
|
||
|
|
||
|
################################################################################################
|
||
|
test.start("Test Set during idle mode")
|
||
|
depth_sensor.set_option(rs.option.enable_auto_exposure, False)
|
||
|
test.check_equal(bool(depth_sensor.get_option(rs.option.enable_auto_exposure)), False)
|
||
|
depth_sensor.set_option(rs.option.auto_exposure_mode, ACCELERATED)
|
||
|
test.check_equal(depth_sensor.get_option(rs.option.auto_exposure_mode), ACCELERATED)
|
||
|
depth_sensor.set_option(rs.option.auto_exposure_mode,REGULAR)
|
||
|
test.check_equal(depth_sensor.get_option(rs.option.auto_exposure_mode), REGULAR)
|
||
|
test.finish()
|
||
|
|
||
|
################################################################################################
|
||
|
|
||
|
test.start("Test Set during streaming mode is not allowed")
|
||
|
# Reset option to REGULAR
|
||
|
depth_sensor.set_option(rs.option.enable_auto_exposure, False)
|
||
|
test.check_equal(bool(depth_sensor.get_option(rs.option.enable_auto_exposure)), False)
|
||
|
depth_sensor.set_option(rs.option.auto_exposure_mode, REGULAR)
|
||
|
test.check_equal(depth_sensor.get_option(rs.option.auto_exposure_mode), REGULAR)
|
||
|
# Start streaming
|
||
|
depth_profile = next(p for p in depth_sensor.profiles if p.stream_type() == rs.stream.depth)
|
||
|
depth_sensor.open(depth_profile)
|
||
|
depth_sensor.start(lambda x: None)
|
||
|
try:
|
||
|
depth_sensor.set_option(rs.option.auto_exposure_mode,ACCELERATED)
|
||
|
test.fail("Exception was expected while setting depth auto exposure mode during streaming depth sensor")
|
||
|
except:
|
||
|
test.check_equal(depth_sensor.get_option(rs.option.auto_exposure_mode), REGULAR)
|
||
|
|
||
|
depth_sensor.stop()
|
||
|
depth_sensor.close()
|
||
|
test.finish()
|
||
|
|
||
|
################################################################################################
|
||
|
tw.stop_wrapper( device )
|
||
|
test.print_results_and_exit()
|