<Instrument id="ADR"> <!-- subsystem -->
	<Port name="ADR" function="command" number="2201" type="ASCII" serverPort="false" >

	    <Command name="HouseKeeping" >
		<Argument name="tag"     type="java.lang.String" required="true" hidden="true" />
		<Argument name="Command" type="java.lang.String" required="true" hidden="true" />
		<Argument name="RATE"    type="java.lang.Integer" required="true" >
		    <ValidRange low="0" high="120000" />
		</Argument>
	    </Command>
 
           <!-- Note the special XML decimal-like encoding for NEWLINE terminator -->
<RecordFormat name="HouseKeeping" size="-1" ordered="true" terminator="&#10;" attributeSeparator=" ">
		<Format name="tag"     format="%s" size="16" ordered="true" />
		<Format name="Command" format="HOUSEKEEPING" size="-1" />
		<Format name="RATE"    format="%s" ordered="false" header="RATE=" />
	    </RecordFormat>
	</Port> 
	<Port function="data" name="ADR" number="2200" type="BINARY" serverPort="false" >

	    <Telemetry name="Status" >
		<Field name="tag"     type="java.lang.String" required="true" />
		<Field name="Time"    type="java.lang.Integer" required="true" />
		<ArrayField name="Temperatures" required="true" dimensions="10">
			<Field name="dataElement" type="java.lang.Float" required="true" />
		</ArrayField>
		<Field name="Heat Switch" type="java.lang.Integer" required="true" />
	    </Telemetry>

	   <RecordFormat name="Status" size="64" ordered="true" >
		<Format name="tag"     format="%s" size="16" ordered="true" />
		<Format name="Time"    format="%d" size="4" ordered="true" />
		<ArrayFormat name="Temperatures" size="40" ordered="true" >
			<Format name="dataElement" format="%f" size="4" ordered="true" />
		</ArrayFormat>
		<Format name="Heat Switch" format="%d" size="4" ordered="true" />
	    </RecordFormat>
	</Port>
   </Instrument>
