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.
129 lines
4.2 KiB
129 lines
4.2 KiB
# License: Apache 2.0. See LICENSE file in root directory.
|
|
# Copyright(c) 2021 Intel Corporation. All Rights Reserved.
|
|
|
|
# test:device D400*
|
|
import sys
|
|
|
|
import pyrealsense2 as rs
|
|
from rspy import test
|
|
|
|
ctx = rs.context()
|
|
dev = ctx.query_devices()[0]
|
|
pid = dev.get_info(rs.camera_info.product_id)
|
|
print(dev.get_info(rs.camera_info.name) + " found")
|
|
if pid != "0B5B":
|
|
print("This test is dedicated to run with D405 only - stepping over test")
|
|
sys.exit(0)
|
|
|
|
#############################################################################################
|
|
test.start("D405 explicit configuration - IR calibration, Color in HD")
|
|
try:
|
|
pipeline = rs.pipeline()
|
|
config = rs.config()
|
|
config.enable_stream(rs.stream.infrared, 1, 1288, 808, rs.format.y16, 15)
|
|
config.enable_stream(rs.stream.infrared, 2, 1288, 808, rs.format.y16, 15)
|
|
config.enable_stream(rs.stream.color, 1280, 720, rs.format.rgb8, 15)
|
|
pipeline.start(config)
|
|
|
|
iteration = 0
|
|
while True:
|
|
iteration = iteration + 1
|
|
if iteration > 10:
|
|
break
|
|
frames = pipeline.wait_for_frames()
|
|
test.check(frames.size() == 3)
|
|
ir_1_stream_found = False
|
|
ir_2_stream_found = False
|
|
color_stream_found = False
|
|
for f in frames:
|
|
profile = f.get_profile()
|
|
if profile.stream_type() == rs.stream.infrared:
|
|
if profile.stream_index() == 1:
|
|
ir_1_stream_found = True
|
|
elif profile.stream_index() == 2:
|
|
ir_2_stream_found = True
|
|
elif profile.stream_type() == rs.stream.color:
|
|
color_stream_found = True
|
|
test.check(ir_1_stream_found and ir_2_stream_found and color_stream_found)
|
|
pass
|
|
|
|
except Exception as e:
|
|
print(e)
|
|
pass
|
|
|
|
test.finish()
|
|
|
|
#############################################################################################
|
|
test.start("D405 explicit configuration - IR calibration, Color in VGA")
|
|
try:
|
|
pipeline = rs.pipeline()
|
|
config = rs.config()
|
|
config.enable_stream(rs.stream.infrared, 1, 1288, 808, rs.format.y16, 15)
|
|
config.enable_stream(rs.stream.infrared, 2, 1288, 808, rs.format.y16, 15)
|
|
config.enable_stream(rs.stream.color, 640, 480, rs.format.rgb8, 15)
|
|
pipeline.start(config)
|
|
|
|
iteration = 0
|
|
while True:
|
|
iteration = iteration + 1
|
|
if iteration > 10:
|
|
break
|
|
frames = pipeline.wait_for_frames()
|
|
test.check(frames.size() == 3)
|
|
ir_1_stream_found = False
|
|
ir_2_stream_found = False
|
|
color_stream_found = False
|
|
for f in frames:
|
|
profile = f.get_profile()
|
|
if profile.stream_type() == rs.stream.infrared:
|
|
if profile.stream_index() == 1:
|
|
ir_1_stream_found = True
|
|
elif profile.stream_index() == 2:
|
|
ir_2_stream_found = True
|
|
elif profile.stream_type() == rs.stream.color:
|
|
color_stream_found = True
|
|
test.check(ir_1_stream_found and ir_2_stream_found and color_stream_found)
|
|
pass
|
|
|
|
except Exception as e:
|
|
print(e)
|
|
pass
|
|
|
|
test.finish()
|
|
#############################################################################################
|
|
test.start("D405 implicit configuration - IR calibration, Color")
|
|
try:
|
|
pipeline = rs.pipeline()
|
|
config = rs.config()
|
|
config.enable_stream(rs.stream.infrared, rs.format.y16, 15)
|
|
config.enable_stream(rs.stream.color)
|
|
pipeline.start(config)
|
|
|
|
iteration = 0
|
|
while True:
|
|
iteration = iteration + 1
|
|
if iteration > 10:
|
|
break
|
|
frames = pipeline.wait_for_frames()
|
|
test.check(frames.size() == 2)
|
|
ir_1_stream_found = False
|
|
color_stream_found = False
|
|
for f in frames:
|
|
profile = f.get_profile()
|
|
if profile.stream_type() == rs.stream.infrared:
|
|
if profile.stream_index() == 1:
|
|
ir_1_stream_found = True
|
|
elif profile.stream_type() == rs.stream.color:
|
|
color_stream_found = True
|
|
test.check(ir_1_stream_found and color_stream_found)
|
|
pass
|
|
|
|
except Exception as e:
|
|
print(e)
|
|
pass
|
|
|
|
test.finish()
|
|
|
|
|
|
test.print_results_and_exit()
|