<?xml version="1.0" encoding="UTF-8"?> <!-- edited with XMLSpy v2017 rel. 3 (x64) (http://www.altova.com) by Pavel Hanak (Microchip Technology Germany II GmbH & Co. KG) --> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:element name="Unicens"> <xs:annotation> <xs:documentation>Schema for the description of a UNICENS configuration</xs:documentation> </xs:annotation> <xs:complexType> <xs:choice maxOccurs="unbounded"> <xs:element name="Node"> <xs:complexType> <xs:sequence> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="USBPort"> <xs:complexType> <xs:attribute name="PhysicalLayer" type="USBPortPhysicalLayer" use="required"/> <xs:attribute name="DeviceInterfaces" type="HexNumber" use="required"/> <xs:attribute name="StreamingIfEpInCount" type="DecNumber" use="required"/> <xs:attribute name="StreamingIfEpOutCount" type="DecNumber" use="required"/> </xs:complexType> </xs:element> <xs:element name="MediaLBPort"> <xs:complexType> <xs:attribute name="ClockConfig" type="MediaLBPortClockConfig" use="required"/> </xs:complexType> </xs:element> <xs:element name="StreamPort"> <xs:complexType> <xs:attribute name="ClockConfig" type="StreamPortClockConfig" use="required"/> <xs:attribute name="DataAlignment" type="StreamPortDataAlignment" use="required"/> </xs:complexType> </xs:element> </xs:choice> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="SyncConnection"> <xs:complexType> <xs:complexContent> <xs:extension base="Connection"> <xs:attribute name="MuteMode" type="SyncConnectionMuteMode" use="optional"/> </xs:extension> </xs:complexContent> </xs:complexType> </xs:element> <xs:element name="AVPConnection"> <xs:complexType> <xs:complexContent> <xs:extension base="Connection"> <xs:attribute name="IsocPacketSize" type="AVPConnectionIsocPacketSize" use="required"/> </xs:extension> </xs:complexContent> </xs:complexType> </xs:element> </xs:choice> </xs:sequence> <xs:attribute name="Address" type="HexNumber" use="required"/> <xs:attribute name="Script" type="xs:string" use="optional"/> </xs:complexType> </xs:element> <xs:element name="Script"> <xs:complexType> <xs:sequence> <xs:choice maxOccurs="unbounded"> <xs:element name="GPIOPortCreate"> <xs:complexType> <xs:attribute name="DebounceTime" type="DecNumber" use="required"/> </xs:complexType> </xs:element> <xs:element name="GPIOPortPinMode"> <xs:complexType> <xs:attribute name="PinConfiguration" type="HexData" use="required"/> </xs:complexType> </xs:element> <xs:element name="GPIOPinState"> <xs:complexType> <xs:attribute name="Mask" type="HexNumber" use="required"/> <xs:attribute name="Data" type="HexNumber" use="required"/> </xs:complexType> </xs:element> <xs:element name="I2CPortCreate"> <xs:complexType> <xs:attribute name="Speed" type="I2CPortCreateSpeed" use="required"/> </xs:complexType> </xs:element> <xs:element name="I2CPortWrite"> <xs:complexType> <xs:attribute name="Mode" type="I2CPortWriteMode" use="optional"/> <xs:attribute name="BlockCount" type="DecNumber" use="optional"/> <xs:attribute name="Address" type="HexNumber" use="required"/> <xs:attribute name="Length" type="DecNumber" use="optional"/> <xs:attribute name="Payload" type="HexData" use="required"/> <xs:attribute name="Timeout" type="DecNumber" use="optional"/> </xs:complexType> </xs:element> <xs:element name="I2CPortRead"> <xs:complexType> <xs:attribute name="Address" type="HexNumber" use="required"/> <xs:attribute name="Length" type="DecNumber" use="required"/> <xs:attribute name="Timeout" type="DecNumber" use="optional"/> </xs:complexType> </xs:element> <xs:element name="MsgSend"> <xs:complexType> <xs:attribute name="FBlockId" type="HexNumber" use="required"/> <xs:attribute name="FunctionId" type="HexNumber" use="required"/> <xs:attribute name="OpTypeRequest" type="HexNumber" use="required"/> <xs:attribute name="OpTypeResponse" type="HexNumber" use="optional"/> <xs:attribute name="PayloadRequest" type="HexData" use="required"/> <xs:attribute name="PayloadResponse" type="HexData" use="optional"/> </xs:complexType> </xs:element> <xs:element name="Pause"> <xs:complexType> <xs:attribute name="WaitTime" type="DecNumber" use="required"/> </xs:complexType> </xs:element> </xs:choice> </xs:sequence> <xs:attribute name="Name" type="xs:string" use="required"/> </xs:complexType> </xs:element> </xs:choice> <xs:attribute name="AsyncBandwidth" type="DecNumber" use="required"/> </xs:complexType> </xs:element> <xs:complexType name="Connection"> <xs:choice minOccurs="2" maxOccurs="2"> <xs:element name="MOSTSocket" type="MOSTSocketType"/> <xs:element name="USBSocket"> <xs:complexType> <xs:attribute name="EndpointAddress" type="HexNumber" use="required"/> <xs:attribute name="FramesPerTransaction" type="DecNumber" use="required"/> </xs:complexType> </xs:element> <xs:element name="MediaLBSocket"> <xs:complexType> <xs:attribute name="ChannelAddress" type="HexNumber" use="required"/> <xs:attribute name="Bandwidth" type="xs:integer" use="required"/> </xs:complexType> </xs:element> <xs:element name="StreamSocket"> <xs:complexType> <xs:attribute name="StreamPinID" type="StreamSocketStreamPinID" use="required"/> <xs:attribute name="Bandwidth" type="xs:integer" use="required"/> </xs:complexType> </xs:element> <xs:element name="Splitter" type="SplitterCombinerType"/> <xs:element name="Combiner" type="SplitterCombinerType"/> </xs:choice> </xs:complexType> <xs:simpleType name="HexNumber"> <xs:annotation> <xs:documentation>Hexadecimal number in the format 0xd..d</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="0x(0|[1-9a-fA-F][0-9a-fA-F]*)"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="DecNumber"> <xs:annotation> <xs:documentation>Decimal number</xs:documentation> </xs:annotation> <xs:restriction base="xs:integer"/> </xs:simpleType> <xs:simpleType name="USBPortPhysicalLayer"> <xs:annotation> <xs:documentation>Physical Layer of USB port</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="Standard"/> <xs:enumeration value="HSIC"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="MediaLBPortClockConfig"> <xs:annotation> <xs:documentation>Clock Config of MediaLB port</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="256Fs"/> <xs:enumeration value="512Fs"/> <xs:enumeration value="1024Fs"/> <xs:enumeration value="2048Fs"/> <xs:enumeration value="3072Fs"/> <xs:enumeration value="4096Fs"/> <xs:enumeration value="6114Fs"/> <xs:enumeration value="8192Fs"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="StreamPortClockConfig"> <xs:annotation> <xs:documentation>Clock Config of Stream port</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="8Fs"/> <xs:enumeration value="16fs"/> <xs:enumeration value="32Fs"/> <xs:enumeration value="64Fs"/> <xs:enumeration value="128Fs"/> <xs:enumeration value="256Fs"/> <xs:enumeration value="512Fs"/> <xs:enumeration value="Willdcard"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="StreamPortDataAlignment"> <xs:annotation> <xs:documentation>Data Alignment of Stream port</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="Left16Bit"/> <xs:enumeration value="Left24Bit"/> <xs:enumeration value="Right16Bit"/> <xs:enumeration value="Right24Bit"/> <xs:enumeration value="Seq"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="StreamSocketStreamPinID"> <xs:annotation> <xs:documentation>Stream Pin ID of Stream socket</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="SRXA0"/> <xs:enumeration value="SRXA1"/> <xs:enumeration value="SRXB0"/> <xs:enumeration value="SRXB1"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="SyncConnectionMuteMode"> <xs:annotation> <xs:documentation>Mute Mode of Sync connection</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="NoMuting"/> <xs:enumeration value="MuteSignal"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="AVPConnectionIsocPacketSize"> <xs:annotation> <xs:documentation>Isoc Packet Size of AVP connection</xs:documentation> </xs:annotation> <xs:restriction base="xs:integer"> <xs:enumeration value="188"/> <xs:enumeration value="196"/> <xs:enumeration value="206"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="I2CPortCreateSpeed"> <xs:annotation> <xs:documentation>Speed parameter of I2CPortCreate</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="SlowMode"/> <xs:enumeration value="FastMode"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="I2CPortWriteMode"> <xs:annotation> <xs:documentation>Mode parameter of I2CPortWrite</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="DefaultMode"/> <xs:enumeration value="RepeatedStartMode"/> <xs:enumeration value="BurstMode"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="HexData"> <xs:annotation> <xs:documentation>String which represents byte array as hexadecimal digits with space after each two digits</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="[0-9a-fA-F]{2}(\s+[0-9a-fA-F]{2})*"/> </xs:restriction> </xs:simpleType> <xs:complexType name="SplitterCombinerType"> <xs:sequence> <xs:element name="MOSTSocket" type="SCMOSTSocketType" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="BytesPerFrame" type="xs:integer" use="required"/> </xs:complexType> <xs:complexType name="MOSTSocketType"> <xs:attribute name="Route" type="xs:string" use="required"/> <xs:attribute name="Bandwidth" type="xs:integer" use="required"/> <xs:attribute name="IsActive" type="xs:boolean" use="optional"/> <xs:attribute name="RouteId" type="HexNumber" use="optional"/> </xs:complexType> <xs:complexType name="SCMOSTSocketType"> <xs:complexContent> <xs:extension base="MOSTSocketType"> <xs:attribute name="Offset" type="xs:integer" use="required"/> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema>