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.
63 lines
2.0 KiB
63 lines
2.0 KiB
# License: Apache 2.0. See LICENSE file in root directory.
|
|
# Copyright(c) 2021 Intel Corporation. All Rights Reserved.
|
|
|
|
# test:device each(D400*)
|
|
# test:donotrun:!nightly
|
|
|
|
import pyrealsense2 as rs
|
|
from rspy import test, log
|
|
import time
|
|
import datetime
|
|
from rspy import tests_wrapper as tw
|
|
|
|
# Test multiple set_pu commands checking that the set control event polling works as expected.
|
|
# We expect no exception thrown - See [DSO-17185]
|
|
|
|
test_iterations = 200
|
|
gain_values = [16,74,132,190,248]
|
|
|
|
dev = test.find_first_device_or_exit()
|
|
time.sleep( 3 ) # The device starts at D0 (Operational) state, allow time for it to get into idle state
|
|
tw.start_wrapper( dev )
|
|
|
|
################################################################################################
|
|
test.start("Stress test for setting a PU (gain) option")
|
|
|
|
depth_ir_sensor = dev.first_depth_sensor()
|
|
|
|
# Test only devices that supports set gain option
|
|
if not depth_ir_sensor.supports(rs.option.gain):
|
|
test.finish()
|
|
tw.stop_wrapper( dev )
|
|
test.print_results_and_exit()
|
|
|
|
|
|
for i in range(test_iterations):
|
|
log.d("{} Iteration {} {}".format("=" * 50, i, "=" * 50))
|
|
|
|
# Reset Control values
|
|
log.d("Resetting Controls...")
|
|
|
|
if (depth_ir_sensor.supports(rs.option.enable_auto_exposure)):
|
|
depth_ir_sensor.set_option(rs.option.enable_auto_exposure, 0)
|
|
if (depth_ir_sensor.supports(rs.option.exposure)):
|
|
depth_ir_sensor.set_option(rs.option.exposure, 1)
|
|
|
|
depth_ir_sensor.set_option(rs.option.gain, 248)
|
|
|
|
log.d("Resetting Controls Done")
|
|
|
|
time.sleep(0.1)
|
|
for val in gain_values:
|
|
log.d("Setting Gain To: {}".format(val))
|
|
depth_ir_sensor.set_option(rs.option.gain, val)
|
|
get_val = depth_ir_sensor.get_option(rs.option.gain)
|
|
test.check(val == get_val)
|
|
log.d("Gain Set To: {}".format(get_val))
|
|
|
|
test.finish()
|
|
|
|
################################################################################################
|
|
tw.stop_wrapper( dev )
|
|
test.print_results_and_exit()
|