<mipdefs>
	<descriptor_set name="ULTRACAL_PLATE" descriptor="0x64">
		<field descriptor="0x41" name="config" proprietary="true">
			Configures plate processor functionality.
			<enum name="BandwidthTestMode" type="u8">
				<value name="OFF" value="0" />
				<value name="RAW" value="1" />
				<value name="MIP" value="2" />
			</enum>
			<param name="bandwidth_test" index="0" type="BandwidthTestMode" />
			<param name="output_period" index="1" type="u32" />
			<param name="count" index="5" type="u8" />
			<param name="descriptors" index="6" type="u8" count="count" />
		</field>
		<field descriptor="0x42" name="leds" proprietary="true">
			Set or get plate LED states, including the UUT LEDs.
			<bitfield name="PlateLedCommand" type="u8">
				<value name="colorIndex" firstBit="0" />
				<value name="colorSwap" firstBit="1" />
				<value name="blink" firstBit="2" />
				<value name="fade" firstBit="3" />
				<value name="mode" firstBit="2" lastBit="3" />
			</bitfield>
			<param name="plate_led_mode" index="0" type="PlateLedCommand" />
			<param name="plate_led_red" index="1" type="u8" />
			<param name="plate_led_green" index="2" type="u8" />
			<param name="plate_led_blue" index="3" type="u8" />
			<param name="plate_led_duration" index="4" type="u8" />
			<param name="plate_led_on_time" index="5" type="u8" />
			<param name="plate_led_blink_cnt" index="6" type="u8" />
			<param name="uut_led_mask" index="7" type="u8" />
			<bitfield name="UutLedCommand" type="u8">
				<value name="color1" firstBit="0" lastBit="1" />
				<value name="color2" firstBit="2" lastBit="3" />
				<value name="blink" firstBit="4" lastBit="6" />
				<value name="pulse" firstBit="7" />
			</bitfield>
			<param name="uut_leds" index="8" type="UutLedCommand" count="8" />
		</field>
		<field descriptor="0x44" name="power" proprietary="true" functions="WRD">
			Controls the UUT power supply. DANGER: setting the voltage incorrectly may damage the UUTs.
			<param name="enable" index="0" type="bool" />
			<param name="voltage" index="1" type="float" />
			<response descriptor="0xC4">
				<param name="enable" index="0" type="bool" />
				<param name="voltage" index="1" type="float" />
			</response>
		</field>
		<field descriptor="0x45" name="uut_power" proprietary="true" functions="WR">
			Controls power to each of the UUTs connected to a given plate processor.
			<param name="uut_mask" index="0" type="u8" />
			<param name="enable" index="1" type="bool" />
			<response descriptor="0xC5">
				<param name="uut_mask" index="0" type="u8" />
			</response>
		</field>
		<field descriptor="0x46" name="pps_control" proprietary="true">
			Controls the behavior of the PPS line.
			<enum name="PlatePpsMode" type="u8">
				<value name="DISABLED" value="0" />
				<value name="EXTERNAL" value="1" />
				<value name="GENERATE" value="2" />
				<value name="OVERRIDE_LOW" value="3" />
				<value name="OVERRIDE_HIGH" value="4" />
			</enum>
			<param name="mode" index="0" type="PlatePpsMode" />
		</field>
		<field descriptor="0x47" name="gpio_control" proprietary="true" functions="WR">
			Controls plate or UUT GPIO lines.
			<param name="uutMask" index="0" type="u8" functions="WR" />
			<param name="pinMask" index="1" type="u16" />
			<param name="states" index="3" type="u16" />
			<response descriptor="0xC7">
				<param name="uutMask" index="0" type="u8" />
				<param name="states" index="1" type="u16" />
			</response>
		</field>
		<field descriptor="0x5F" name="uut_broadcast" proprietary="true">
			Sends a packet to all UUT interfaces.
			<param name="reserved" index="0" type="u8" />
			<param name="uut_mask" index="1" type="u8" />
			<param name="num_bytes" index="2" type="u8" />
			<param name="data" index="3" type="u8" count="num_bytes" />
		</field>
		<field descriptor="0x60" name="gpio_config" proprietary="true" functions="WD">
			Advanced version of Plate Gpio Control.
			<param name="uutMask" index="0" type="u8" functions="WD" />
			<param name="pinMask" index="1" type="u16" functions="WD" />
			<param name="mode" index="3" type="u8" />
			<param name="opendrain" index="4" type="bool" />
			<param name="pull" index="5" type="u8" />
			<param name="speed" index="6" type="u8" />
			<param name="state" index="7" type="bool" />
			<param name="af" index="8" type="u8" />
		</field>
		<field descriptor="0x61" name="uart_config" proprietary="true" functions="WRD">
			<param name="index" index="0" type="u8" functions="WRD" />
			<param name="baud" index="1" type="u32" />
			<response descriptor="0xE1">
				<param name="index" index="0" type="u8" />
				<param name="baud" index="1" type="u32" />
			</response>
		</field>
		<field descriptor="0x62" name="i2c_control" proprietary="true" functions="WR">
			<param name="bus" index="0" type="s8" functions="WR" />
			<param name="slave" index="1" type="u16" functions="WR" />
			<param name="count" index="3" type="u8" functions="WR" />
			<param name="data" index="4" type="u8" count="count" />
			<response descriptor="0xE2">
				<param name="bus" index="0" type="s8" />
				<param name="slave" index="1" type="u16" />
				<param name="count" index="3" type="u8" />
				<param name="data" index="4" type="u8" count="count" />
			</response>
		</field>
		<field descriptor="0x6F" name="Plate Hardware Configuration" proprietary="true" functions="WRD">
			Controls the plate's hardware configuration.
			<param name="security_key" index="0" type="u32" functions="WRD" />
			<param name="section" index="4" type="u8" functions="WRD" />
			<param name="subsection" index="5" type="u8" functions="WRD" />
			<param name="size" index="6" type="u8" />
			<param name="reserved" index="7" type="u8" />
			<param name="data" index="8" type="u8" count="size" />
			<response descriptor="0xEF">
				<param name="security_key" index="0" type="u32" functions="WRD" />
				<param name="section" index="4" type="u8" functions="WRD" />
				<param name="subsection" index="5" type="u8" functions="WRD" />
				<param name="size" index="6" type="u8" />
				<param name="reserved" index="7" type="u8" />
				<param name="data" index="8" type="u8" count="size" />
			</response>
		</field>
	</descriptor_set>
</mipdefs>
