1 <?xml version="1.0" encoding="UTF-8"?>
\r
2 <!-- edited with XMLSpy v2017 rel. 3 (x64) (http://www.altova.com) by Pavel Hanak (Microchip Technology Germany II GmbH & Co. KG) -->
\r
3 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
\r
4 <xs:element name="Unicens">
\r
6 <xs:documentation>Schema for the description of a UNICENS configuration</xs:documentation>
\r
9 <xs:choice maxOccurs="unbounded">
\r
10 <xs:element name="Node">
\r
13 <xs:choice minOccurs="0" maxOccurs="unbounded">
\r
14 <xs:element name="USBPort">
\r
16 <xs:attribute name="PhysicalLayer" type="USBPortPhysicalLayer" use="required"/>
\r
17 <xs:attribute name="DeviceInterfaces" type="HexNumber" use="required"/>
\r
18 <xs:attribute name="StreamingIfEpInCount" type="DecNumber" use="required"/>
\r
19 <xs:attribute name="StreamingIfEpOutCount" type="DecNumber" use="required"/>
\r
22 <xs:element name="MediaLBPort">
\r
24 <xs:attribute name="ClockConfig" type="MediaLBPortClockConfig" use="required"/>
\r
27 <xs:element name="StreamPort">
\r
29 <xs:attribute name="ClockConfig" type="StreamPortClockConfig" use="required"/>
\r
30 <xs:attribute name="DataAlignment" type="StreamPortDataAlignment" use="required"/>
\r
34 <xs:choice minOccurs="0" maxOccurs="unbounded">
\r
35 <xs:element name="SyncConnection">
\r
38 <xs:extension base="Connection">
\r
39 <xs:attribute name="MuteMode" type="SyncConnectionMuteMode" use="optional"/>
\r
41 </xs:complexContent>
\r
44 <xs:element name="AVPConnection">
\r
47 <xs:extension base="Connection">
\r
48 <xs:attribute name="IsocPacketSize" type="AVPConnectionIsocPacketSize" use="required"/>
\r
50 </xs:complexContent>
\r
55 <xs:attribute name="Address" type="HexNumber" use="required"/>
\r
56 <xs:attribute name="Script" type="xs:string" use="optional"/>
\r
59 <xs:element name="Script">
\r
62 <xs:choice maxOccurs="unbounded">
\r
63 <xs:element name="GPIOPortCreate">
\r
65 <xs:attribute name="DebounceTime" type="DecNumber" use="required"/>
\r
68 <xs:element name="GPIOPortPinMode">
\r
70 <xs:attribute name="PinConfiguration" type="HexData" use="required"/>
\r
73 <xs:element name="GPIOPinState">
\r
75 <xs:attribute name="Mask" type="HexNumber" use="required"/>
\r
76 <xs:attribute name="Data" type="HexNumber" use="required"/>
\r
79 <xs:element name="I2CPortCreate">
\r
81 <xs:attribute name="Speed" type="I2CPortCreateSpeed" use="required"/>
\r
84 <xs:element name="I2CPortWrite">
\r
86 <xs:attribute name="Mode" type="I2CPortWriteMode" use="optional"/>
\r
87 <xs:attribute name="BlockCount" type="DecNumber" use="optional"/>
\r
88 <xs:attribute name="Address" type="HexNumber" use="required"/>
\r
89 <xs:attribute name="Length" type="DecNumber" use="optional"/>
\r
90 <xs:attribute name="Payload" type="HexData" use="required"/>
\r
91 <xs:attribute name="Timeout" type="DecNumber" use="optional"/>
\r
94 <xs:element name="I2CPortRead">
\r
96 <xs:attribute name="Address" type="HexNumber" use="required"/>
\r
97 <xs:attribute name="Length" type="DecNumber" use="required"/>
\r
98 <xs:attribute name="Timeout" type="DecNumber" use="optional"/>
\r
101 <xs:element name="MsgSend">
\r
103 <xs:attribute name="FBlockId" type="HexNumber" use="required"/>
\r
104 <xs:attribute name="FunctionId" type="HexNumber" use="required"/>
\r
105 <xs:attribute name="OpTypeRequest" type="HexNumber" use="required"/>
\r
106 <xs:attribute name="OpTypeResponse" type="HexNumber" use="optional"/>
\r
107 <xs:attribute name="PayloadRequest" type="HexData" use="required"/>
\r
108 <xs:attribute name="PayloadResponse" type="HexData" use="optional"/>
\r
111 <xs:element name="Pause">
\r
113 <xs:attribute name="WaitTime" type="DecNumber" use="required"/>
\r
118 <xs:attribute name="Name" type="xs:string" use="required"/>
\r
122 <xs:attribute name="AsyncBandwidth" type="DecNumber" use="required"/>
\r
125 <xs:complexType name="Connection">
\r
126 <xs:choice minOccurs="2" maxOccurs="2">
\r
127 <xs:element name="MOSTSocket" type="MOSTSocketType"/>
\r
128 <xs:element name="USBSocket">
\r
130 <xs:attribute name="EndpointAddress" type="HexNumber" use="required"/>
\r
131 <xs:attribute name="FramesPerTransaction" type="DecNumber" use="required"/>
\r
134 <xs:element name="MediaLBSocket">
\r
136 <xs:attribute name="ChannelAddress" type="HexNumber" use="required"/>
\r
137 <xs:attribute name="Bandwidth" type="xs:integer" use="required"/>
\r
140 <xs:element name="StreamSocket">
\r
142 <xs:attribute name="StreamPinID" type="StreamSocketStreamPinID" use="required"/>
\r
143 <xs:attribute name="Bandwidth" type="xs:integer" use="required"/>
\r
146 <xs:element name="Splitter" type="SplitterCombinerType"/>
\r
147 <xs:element name="Combiner" type="SplitterCombinerType"/>
\r
150 <xs:simpleType name="HexNumber">
\r
152 <xs:documentation>Hexadecimal number in the format 0xd..d</xs:documentation>
\r
154 <xs:restriction base="xs:string">
\r
155 <xs:pattern value="0x(0|[1-9a-fA-F][0-9a-fA-F]*)"/>
\r
158 <xs:simpleType name="DecNumber">
\r
160 <xs:documentation>Decimal number</xs:documentation>
\r
162 <xs:restriction base="xs:integer"/>
\r
164 <xs:simpleType name="USBPortPhysicalLayer">
\r
166 <xs:documentation>Physical Layer of USB port</xs:documentation>
\r
168 <xs:restriction base="xs:string">
\r
169 <xs:enumeration value="Standard"/>
\r
170 <xs:enumeration value="HSIC"/>
\r
173 <xs:simpleType name="MediaLBPortClockConfig">
\r
175 <xs:documentation>Clock Config of MediaLB port</xs:documentation>
\r
177 <xs:restriction base="xs:string">
\r
178 <xs:enumeration value="256Fs"/>
\r
179 <xs:enumeration value="512Fs"/>
\r
180 <xs:enumeration value="1024Fs"/>
\r
181 <xs:enumeration value="2048Fs"/>
\r
182 <xs:enumeration value="3072Fs"/>
\r
183 <xs:enumeration value="4096Fs"/>
\r
184 <xs:enumeration value="6114Fs"/>
\r
185 <xs:enumeration value="8192Fs"/>
\r
188 <xs:simpleType name="StreamPortClockConfig">
\r
190 <xs:documentation>Clock Config of Stream port</xs:documentation>
\r
192 <xs:restriction base="xs:string">
\r
193 <xs:enumeration value="8Fs"/>
\r
194 <xs:enumeration value="16fs"/>
\r
195 <xs:enumeration value="32Fs"/>
\r
196 <xs:enumeration value="64Fs"/>
\r
197 <xs:enumeration value="128Fs"/>
\r
198 <xs:enumeration value="256Fs"/>
\r
199 <xs:enumeration value="512Fs"/>
\r
200 <xs:enumeration value="Willdcard"/>
\r
203 <xs:simpleType name="StreamPortDataAlignment">
\r
205 <xs:documentation>Data Alignment of Stream port</xs:documentation>
\r
207 <xs:restriction base="xs:string">
\r
208 <xs:enumeration value="Left16Bit"/>
\r
209 <xs:enumeration value="Left24Bit"/>
\r
210 <xs:enumeration value="Right16Bit"/>
\r
211 <xs:enumeration value="Right24Bit"/>
\r
212 <xs:enumeration value="Seq"/>
\r
215 <xs:simpleType name="StreamSocketStreamPinID">
\r
217 <xs:documentation>Stream Pin ID of Stream socket</xs:documentation>
\r
219 <xs:restriction base="xs:string">
\r
220 <xs:enumeration value="SRXA0"/>
\r
221 <xs:enumeration value="SRXA1"/>
\r
222 <xs:enumeration value="SRXB0"/>
\r
223 <xs:enumeration value="SRXB1"/>
\r
226 <xs:simpleType name="SyncConnectionMuteMode">
\r
228 <xs:documentation>Mute Mode of Sync connection</xs:documentation>
\r
230 <xs:restriction base="xs:string">
\r
231 <xs:enumeration value="NoMuting"/>
\r
232 <xs:enumeration value="MuteSignal"/>
\r
235 <xs:simpleType name="AVPConnectionIsocPacketSize">
\r
237 <xs:documentation>Isoc Packet Size of AVP connection</xs:documentation>
\r
239 <xs:restriction base="xs:integer">
\r
240 <xs:enumeration value="188"/>
\r
241 <xs:enumeration value="196"/>
\r
242 <xs:enumeration value="206"/>
\r
245 <xs:simpleType name="I2CPortCreateSpeed">
\r
247 <xs:documentation>Speed parameter of I2CPortCreate</xs:documentation>
\r
249 <xs:restriction base="xs:string">
\r
250 <xs:enumeration value="SlowMode"/>
\r
251 <xs:enumeration value="FastMode"/>
\r
254 <xs:simpleType name="I2CPortWriteMode">
\r
256 <xs:documentation>Mode parameter of I2CPortWrite</xs:documentation>
\r
258 <xs:restriction base="xs:string">
\r
259 <xs:enumeration value="DefaultMode"/>
\r
260 <xs:enumeration value="RepeatedStartMode"/>
\r
261 <xs:enumeration value="BurstMode"/>
\r
264 <xs:simpleType name="HexData">
\r
266 <xs:documentation>String which represents byte array as hexadecimal digits with space after each two digits</xs:documentation>
\r
268 <xs:restriction base="xs:string">
\r
269 <xs:pattern value="[0-9a-fA-F]{2}(\s+[0-9a-fA-F]{2})*"/>
\r
272 <xs:complexType name="SplitterCombinerType">
\r
274 <xs:element name="MOSTSocket" type="SCMOSTSocketType" maxOccurs="unbounded"/>
\r
276 <xs:attribute name="BytesPerFrame" type="xs:integer" use="required"/>
\r
278 <xs:complexType name="MOSTSocketType">
\r
279 <xs:attribute name="Route" type="xs:string" use="required"/>
\r
280 <xs:attribute name="Bandwidth" type="xs:integer" use="required"/>
\r
281 <xs:attribute name="IsActive" type="xs:boolean" use="optional"/>
\r
282 <xs:attribute name="RouteId" type="HexNumber" use="optional"/>
\r
284 <xs:complexType name="SCMOSTSocketType">
\r
285 <xs:complexContent>
\r
286 <xs:extension base="MOSTSocketType">
\r
287 <xs:attribute name="Offset" type="xs:integer" use="required"/>
\r
289 </xs:complexContent>
\r