<?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" waitforcompletion="1" />
			<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:2,consti:1" 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>
