<?xml version="1.0" encoding="utf-8"?>

<!-- Copyright (C) 2012 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->

<case name="dut_speaker_calibration" version="1.0" description="Calibrate host recording gain">
	<setup> <!-- 1 setup -->
		<!-- prepare sound source id: to be used in output, sine 1000Hz, 20000ms long -->
		<sound id="sound1" type="sin:32000:1000:5000" preload="1" />
	</setup>

	<action> <!-- 1 action -->
		<!--  equivalent of for loop. all children will be completed before moving to the next
		      stage.repeat up to 100 times unless stopped by some condition -->
		<sequential repeat="20" index="i">
			<!--  sync start : execute only sync complete : execute + complete
			      For sync start, complete will be called when the parent completes -->
			<output device="DUT" id="sound1" gain="100" sync="start"/>
			<sequential repeat="8" index="j">
				<input device="host" id="host_in" gain="100" time="500" sync="complete" />
				<!-- ------------moving average RMS        min for pass, max for pass                result calculated -->
				<process method="builtin:rms_mva" input="id:host_in,consti:1000,consti:8000" output="val:rms_$i_$j" />
				<!-- <message input="val:passfail" output_low="Volume Low" output_ok="Volume OK" output_high="Volume High" /> -->
			</sequential>
		</sequential>
	</action>
	<save file="host_in" report="rms_.*" />
</case>
