<?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:20000" 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="50" index="j">
				<input device="host" id="host_in" gain="100" time="250" 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>
