Remove non needed mics from config. Enhance XML schema
authorThorsten Kummermehr <thorsten.kummermehr@k2l.de>
Tue, 7 Nov 2017 21:09:05 +0000 (22:09 +0100)
committerThorsten Kummermehr <thorsten.kummermehr@k2l.de>
Tue, 7 Nov 2017 21:09:05 +0000 (22:09 +0100)
data/config_multichannel_audio_kit.xml
data/unicens.xsd

index 14da758..ad4a350 100644 (file)
     </SyncConnection>\r
   </Node>\r
   \r
-  <!-- 1st Microphone -->\r
-  <Node Address="0x210">\r
-    <StreamPort ClockConfig="64Fs" DataAlignment="Left24Bit"/>\r
-    <SyncConnection MuteMode="NoMuting">\r
-      <StreamSocket StreamPinID="SRXA0" Bandwidth="6"/>\r
-      <MOSTSocket Route="Microphone1" Bandwidth="6"/>\r
-    </SyncConnection>\r
-  </Node>\r
-\r
-  <!-- 2nd Microphone -->\r
-  <Node Address="0x211">\r
-    <StreamPort ClockConfig="64Fs" DataAlignment="Left24Bit"/>\r
-    <SyncConnection MuteMode="NoMuting">\r
-      <StreamSocket StreamPinID="SRXA0" Bandwidth="6"/>\r
-      <MOSTSocket Route="Microphone2" Bandwidth="6"/>\r
-    </SyncConnection>\r
-  </Node>\r
-\r
-  <!-- 3rd Microphone -->\r
-  <Node Address="0x212">\r
-    <StreamPort ClockConfig="64Fs" DataAlignment="Left24Bit"/>\r
-    <SyncConnection MuteMode="NoMuting">\r
-      <StreamSocket StreamPinID="SRXA0" Bandwidth="6"/>\r
-      <MOSTSocket Route="Microphone3" Bandwidth="6"/>\r
-    </SyncConnection>\r
-  </Node>\r
-\r
   <!-- 1st Slim Amplifier -->\r
   <Node Address="0x270" Script="slim-amp-config">\r
     <StreamPort ClockConfig="64Fs" DataAlignment="Left16Bit"/>\r
   <Script Name="aux-io-config">\r
     <I2CPortCreate Speed="FastMode"/>\r
     <I2CPortWrite Mode="BurstMode" BlockCount="10" Address="0x18" Length="3" Timeout="100"\r
-                  Payload="00 0f 02 01 00 00 02 a5 df 03 3f 3f 04 02 02 10 00 00 11 00 00 12 00 00 13 00 00 14 00 00"/>\r
+                  Payload="00 0f 02 01 00 00 02 a5 df 03 3f 3f 04 02 02 10 30 30 11 00 00 12 00 00 13 00 00 14 00 00"/>\r
     <I2CPortWrite Mode="BurstMode" BlockCount="4" Address="0x18" Length="3" Timeout="100"\r
                   Payload="20 00 00 21 00 00 22 00 00 23 00 00"/>\r
+  <GPIOPortPinMode PinConfiguration="03 35 04 35 05 35 06 35 07 41 08 40"/>\r
   </Script>\r
 </Unicens>\r
index 08a5ee6..1ca69bd 100644 (file)
 <?xml version="1.0" encoding="UTF-8"?>\r
-<!-- edited with XMLSpy v2017 rel. 3 (x64) (http://www.altova.com) by Pavel Hanak (Microchip Technology Germany II GmbH & Co. KG) -->\r
+<!-- committed 2017-09-22 -->\r
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">\r
        <xs:element name="Unicens">\r
                <xs:annotation>\r
-                       <xs:documentation>Schema for the description of a UNICENS configuration</xs:documentation>\r
+                       <xs:documentation>\r
+                               <UCSElementPath>/Unicens</UCSElementPath>\r
+Schema for the description of a UNICENS configuration</xs:documentation>\r
                </xs:annotation>\r
                <xs:complexType>\r
                        <xs:choice maxOccurs="unbounded">\r
                                <xs:element name="Node">\r
+                                       <xs:annotation>\r
+                                               <xs:documentation>\r
+                                                       <UCSElementPath>/Unicens/Node</UCSElementPath>\r
+Node is a connection point that can receive, create, store or send data along distributed network routes.</xs:documentation>\r
+                                       </xs:annotation>\r
                                        <xs:complexType>\r
                                                <xs:sequence>\r
                                                        <xs:choice minOccurs="0" maxOccurs="unbounded">\r
                                                                <xs:element name="USBPort">\r
+                                                                       <xs:annotation>\r
+                                                                               <xs:documentation>\r
+                                                                                       <UCSElementPath>/Unicens/Node/USBPort</UCSElementPath>\r
+Configuration Structure of a USB Port</xs:documentation>\r
+                                                                       </xs:annotation>\r
                                                                        <xs:complexType>\r
-                                                                               <xs:attribute name="PhysicalLayer" type="USBPortPhysicalLayer" use="required"/>\r
-                                                                               <xs:attribute name="DeviceInterfaces" type="HexNumber" use="required"/>\r
-                                                                               <xs:attribute name="StreamingIfEpInCount" type="DecNumber" use="required"/>\r
-                                                                               <xs:attribute name="StreamingIfEpOutCount" type="DecNumber" use="required"/>\r
+                                                                               <xs:attribute name="PhysicalLayer" type="USBPortPhysicalLayer" use="required">\r
+                                                                                       <xs:annotation>\r
+                                                                                               <xs:documentation>\r
+                                                                                                       <UCSElementPath>/Unicens/Node/USBPort/@PhysicalLayer</UCSElementPath>\r
+Interface of the USB Ports Physical Layer\r
+This attribute corresponds with the parameter PhysicalLayer of the INIC function INIC.USBPortCreate.\r
+</xs:documentation>\r
+                                                                                       </xs:annotation>\r
+                                                                               </xs:attribute>\r
+                                                                               <xs:attribute name="DeviceInterfaces" type="Number" use="required">\r
+                                                                                       <xs:annotation>\r
+                                                                                               <xs:documentation>\r
+                                                                                                       <UCSElementPath>/Unicens/Node/USBPort/@DeviceInterfaces</UCSElementPath>\r
+USB Devices interfaces mask.\r
+This attribute corresponds with the parameter DeviceInterfaces of the INIC function INIC.USBPortCreate.</xs:documentation>\r
+                                                                                       </xs:annotation>\r
+                                                                               </xs:attribute>\r
+                                                                               <xs:attribute name="StreamingIfEpInCount" type="Number" use="required">\r
+                                                                                       <xs:annotation>\r
+                                                                                               <xs:documentation>\r
+                                                                                                       <UCSElementPath>/Unicens/Node/USBPort/@StreamingIfEpInCount</UCSElementPath>\r
+IN Endpoints inside the streaming interfaces.\r
+This attribute corresponds with the parameter StreamingIfEpInCount of the INIC function INIC.USBPortCreate.</xs:documentation>\r
+                                                                                       </xs:annotation>\r
+                                                                               </xs:attribute>\r
+                                                                               <xs:attribute name="StreamingIfEpOutCount" type="Number" use="required">\r
+                                                                                       <xs:annotation>\r
+                                                                                               <xs:documentation>\r
+                                                                                                       <UCSElementPath>/Unicens/Node/USBPort/@StreamingIfEpOutCount</UCSElementPath>\r
+OUT Endpoints inside the streaming interfaces.\r
+This attribute corresponds with the parameter StreamingIfEpInCount of the INIC function INIC.USBPortCreate.</xs:documentation>\r
+                                                                                       </xs:annotation>\r
+                                                                               </xs:attribute>\r
                                                                        </xs:complexType>\r
                                                                </xs:element>\r
                                                                <xs:element name="MediaLBPort">\r
+                                                                       <xs:annotation>\r
+                                                                               <xs:documentation>\r
+                                                                                       <UCSElementPath>/Unicens/Node/MediaLBPort</UCSElementPath>\r
+Configuration Structure of a MediaLB Port\r
+The MediaLB Port is the interface to the Media Local Bus. \r
+It supports the handling of all MOST network data types and is available in two pin-out options: MediaLB 3-Pin (single-ended) and MediaLB 6-Pin (differential). </xs:documentation>\r
+                                                                       </xs:annotation>\r
                                                                        <xs:complexType>\r
-                                                                               <xs:attribute name="ClockConfig" type="MediaLBPortClockConfig" use="required"/>\r
+                                                                               <xs:attribute name="ClockConfig" type="MediaLBPortClockConfig" use="required">\r
+                                                                                       <xs:annotation>\r
+                                                                                               <xs:documentation>\r
+                                                                                                       <UCSElementPath>/Unicens/Node/MediaLBPort/@ClockConfig</UCSElementPath>\r
+Clock speed configuration.\r
+This attribute corresponds with the parameter ClockConfig of the INIC function INIC.MediaLBPortCreate.</xs:documentation>\r
+                                                                                       </xs:annotation>\r
+                                                                               </xs:attribute>\r
                                                                        </xs:complexType>\r
                                                                </xs:element>\r
                                                                <xs:element name="StreamPort">\r
+                                                                       <xs:annotation>\r
+                                                                               <xs:documentation>\r
+                                                                                       <UCSElementPath>/Unicens/Node/StreamPort</UCSElementPath>\r
+Configuration Structure of a Stream Port</xs:documentation>\r
+                                                                       </xs:annotation>\r
                                                                        <xs:complexType>\r
-                                                                               <xs:attribute name="ClockConfig" type="StreamPortClockConfig" use="required"/>\r
-                                                                               <xs:attribute name="DataAlignment" type="StreamPortDataAlignment" use="required"/>\r
+                                                                               <xs:attribute name="ClockConfig" type="StreamPortClockConfig" use="required">\r
+                                                                                       <xs:annotation>\r
+                                                                                               <xs:documentation>\r
+                                                                                                       <UCSElementPath>/Unicens/Node/StreamPort/@ClockConfig</UCSElementPath>\r
+Clock speed configuration.\r
+This attribute corresponds with the parameter ClockConfig of the INIC function INIC.StreamPortCreate.</xs:documentation>\r
+                                                                                       </xs:annotation>\r
+                                                                               </xs:attribute>\r
+                                                                               <xs:attribute name="DataAlignment" type="StreamPortDataAlignment" use="required">\r
+                                                                                       <xs:annotation>\r
+                                                                                               <xs:documentation>\r
+                                                                                                       <UCSElementPath>/Unicens/Node/StreamPort/@DataAlignment</UCSElementPath>\r
+Alignment of the data bytes .\r
+This attribute corresponds with the parameter DataAlignment of the INIC function INIC.StreamPortCreate</xs:documentation>\r
+                                                                                       </xs:annotation>\r
+                                                                               </xs:attribute>\r
                                                                        </xs:complexType>\r
                                                                </xs:element>\r
                                                        </xs:choice>\r
                                                        <xs:choice minOccurs="0" maxOccurs="unbounded">\r
                                                                <xs:element name="SyncConnection">\r
+                                                                       <xs:annotation>\r
+                                                                               <xs:documentation>\r
+                                                                                       <UCSElementPath>/Unicens/Node/SyncConnection</UCSElementPath>\r
+Configuration Structure of a SyncConnection It sets the connection in Sync mode.</xs:documentation>\r
+                                                                       </xs:annotation>\r
                                                                        <xs:complexType>\r
                                                                                <xs:complexContent>\r
                                                                                        <xs:extension base="Connection">\r
-                                                                                               <xs:attribute name="MuteMode" type="SyncConnectionMuteMode" use="optional"/>\r
+                                                                                               <xs:attribute name="MuteMode" type="SyncConnectionMuteMode" use="optional">\r
+                                                                                                       <xs:annotation>\r
+                                                                                                               <xs:documentation>\r
+                                                                                                                       <UCSElementPath>/Unicens/Node/SyncConnection/@MuteMode</UCSElementPath>\r
+Mode of operation of mute.\r
+This attribute corresponds with the parameter MuteMode of the INIC function INIC.SyncCreate</xs:documentation>\r
+                                                                                                       </xs:annotation>\r
+                                                                                               </xs:attribute>\r
                                                                                        </xs:extension>\r
                                                                                </xs:complexContent>\r
                                                                        </xs:complexType>\r
                                                                </xs:element>\r
                                                                <xs:element name="AVPConnection">\r
+                                                                       <xs:annotation>\r
+                                                                               <xs:documentation>\r
+                                                                                       <UCSElementPath>/Unicens/Node/AVPConnection</UCSElementPath>\r
+Configuration Structure of an AVP Connection. It sets the connection in AVP mode.</xs:documentation>\r
+                                                                       </xs:annotation>\r
                                                                        <xs:complexType>\r
                                                                                <xs:complexContent>\r
                                                                                        <xs:extension base="Connection">\r
-                                                                                               <xs:attribute name="IsocPacketSize" type="AVPConnectionIsocPacketSize" use="required"/>\r
+                                                                                               <xs:attribute name="IsocPacketSize" type="AVPConnectionIsocPacketSize" use="required">\r
+                                                                                                       <xs:annotation>\r
+                                                                                                               <xs:documentation>\r
+                                                                                                                       <UCSElementPath>/Unicens/Node/AVPConnection/@IsocPacketSize</UCSElementPath>\r
+Size of data packets.\r
+This attribute corresponds with the parameter IsocPacketSize of the INIC function INIC.AVPacketizedCreate</xs:documentation>\r
+                                                                                                       </xs:annotation>\r
+                                                                                               </xs:attribute>\r
                                                                                        </xs:extension>\r
                                                                                </xs:complexContent>\r
                                                                        </xs:complexType>\r
                                                                </xs:element>\r
                                                        </xs:choice>\r
                                                </xs:sequence>\r
-                                               <xs:attribute name="Address" type="HexNumber" use="required"/>\r
-                                               <xs:attribute name="Script" type="xs:string" use="optional"/>\r
+                                               <xs:attribute name="Address" type="Number" use="required">\r
+                                                       <xs:annotation>\r
+                                                               <xs:documentation>\r
+                                                                       <UCSElementPath>/Unicens/Node/@Address</UCSElementPath>\r
+Address of the Unicens node</xs:documentation>\r
+                                                       </xs:annotation>\r
+                                               </xs:attribute>\r
+                                               <xs:attribute name="Script" type="xs:string" use="optional">\r
+                                                       <xs:annotation>\r
+                                                               <xs:documentation>\r
+                                                                       <UCSElementPath>/Unicens/Node/@Script</UCSElementPath>\r
+Script to which the node is linked.</xs:documentation>\r
+                                                       </xs:annotation>\r
+                                               </xs:attribute>\r
+                                               <xs:attribute name="Name" use="optional"/>\r
                                        </xs:complexType>\r
                                </xs:element>\r
                                <xs:element name="Script">\r
+                                       <xs:annotation>\r
+                                               <xs:documentation>\r
+                                                       <UCSElementPath>/Unicens/Script</UCSElementPath>\r
+A script is a structure data composed of :\r
+The command based on INIC FBlock-Syntax to be transmitted\r
+The expected result also based on INIC FBlock-Syntax.\r
+The amount time [in milliseconds] to pause before sending the Tx command.\r
+\r
+</xs:documentation>\r
+                                       </xs:annotation>\r
                                        <xs:complexType>\r
                                                <xs:sequence>\r
                                                        <xs:choice maxOccurs="unbounded">\r
                                                                <xs:element name="GPIOPortCreate">\r
+                                                                       <xs:annotation>\r
+                                                                               <xs:documentation>\r
+                                                                                       <UCSElementPath>/Unicens/Script/GPIOPortCreate</UCSElementPath>\r
+Creates the GPIO port with its associated port instance identifier.</xs:documentation>\r
+                                                                       </xs:annotation>\r
                                                                        <xs:complexType>\r
-                                                                               <xs:attribute name="DebounceTime" type="DecNumber" use="required"/>\r
+                                                                               <xs:attribute name="DebounceTime" type="Number" use="required">\r
+                                                                                       <xs:annotation>\r
+                                                                                               <xs:documentation>\r
+                                                                                                       <UCSElementPath>/Unicens/Script/GPIOPortCreate/@DebounceTime</UCSElementPath>\r
+The timeout for the GPIO debounce timer (in ms).\r
+</xs:documentation>\r
+                                                                                       </xs:annotation>\r
+                                                                               </xs:attribute>\r
                                                                        </xs:complexType>\r
                                                                </xs:element>\r
                                                                <xs:element name="GPIOPortPinMode">\r
+                                                                       <xs:annotation>\r
+                                                                               <xs:documentation>\r
+                                                                                       <UCSElementPath>/Unicens/Script/GPIOPortPinMode</UCSElementPath>\r
+This function is used for GPIO pin configuration.\r
+To change a pin into a GPIO pin, it has to be configured via GPIOPortPinMode</xs:documentation>\r
+                                                                       </xs:annotation>\r
                                                                        <xs:complexType>\r
-                                                                               <xs:attribute name="PinConfiguration" type="HexData" use="required"/>\r
+                                                                               <xs:attribute name="PinConfiguration" type="HexData" use="required">\r
+                                                                                       <xs:annotation>\r
+                                                                                               <xs:documentation>\r
+                                                                                                       <UCSElementPath>/Unicens/Script/GPIOPortPinMode/@PinConfiguration</UCSElementPath>\r
+Defines the GPIO pin configuration and clears the trigger conditions on level-sensitive inputs and sticky inputs thereby allowing reporting of further trigger events.\r
+Note that trigger conditions are automatically cleared for all edge-sensitive input/output GPIO classes when the INIC.GPIOPortTriggerEvent.Status message is sent.</xs:documentation>\r
+                                                                                       </xs:annotation>\r
+                                                                               </xs:attribute>\r
                                                                        </xs:complexType>\r
                                                                </xs:element>\r
                                                                <xs:element name="GPIOPinState">\r
+                                                                       <xs:annotation>\r
+                                                                               <xs:documentation>\r
+                                                                                       <UCSElementPath>/Unicens/Script/GPIOPinState</UCSElementPath>TO DO - [State of GPIO Pin : High/Low]</xs:documentation>\r
+                                                                       </xs:annotation>\r
                                                                        <xs:complexType>\r
-                                                                               <xs:attribute name="Mask" type="HexNumber" use="required"/>\r
-                                                                               <xs:attribute name="Data" type="HexNumber" use="required"/>\r
+                                                                               <xs:attribute name="Mask" type="Number" use="required">\r
+                                                                                       <xs:annotation>\r
+                                                                                               <xs:documentation>\r
+                                                                                                       <UCSElementPath>/Unicens/Script/GPIOPinState/@Mask</UCSElementPath>\r
+TO DO - [Changing certain data elements within a data store so that the structure remains similar while the information itself is changed to protect sensitive information]</xs:documentation>\r
+                                                                                       </xs:annotation>\r
+                                                                               </xs:attribute>\r
+                                                                               <xs:attribute name="Data" type="Number" use="required">\r
+                                                                                       <xs:annotation>\r
+                                                                                               <xs:documentation>\r
+                                                                                                       <UCSElementPath>/Unicens/Script/GPIOPinState/@Data</UCSElementPath>  \r
+TO DO - [Data to be given to GPIO Pin State]</xs:documentation>\r
+                                                                                       </xs:annotation>\r
+                                                                               </xs:attribute>\r
                                                                        </xs:complexType>\r
                                                                </xs:element>\r
                                                                <xs:element name="I2CPortCreate">\r
+                                                                       <xs:annotation>\r
+                                                                               <xs:documentation>\r
+                                                                                       <UCSElementPath>/Unicens/Script/I2CPortCreate</UCSElementPath>\r
+This function is used to define the I2C Port working as I2C-bus master. \r
+The function creates the I2C Port with its associated port instance identifier. \r
+\r
+</xs:documentation>\r
+                                                                       </xs:annotation>\r
                                                                        <xs:complexType>\r
-                                                                               <xs:attribute name="Speed" type="I2CPortCreateSpeed" use="required"/>\r
+                                                                               <xs:attribute name="Speed" type="I2CPortCreateSpeed" use="required">\r
+                                                                                       <xs:annotation>\r
+                                                                                               <xs:documentation>\r
+                                                                                                       <UCSElementPath>/Unicens/Script/I2CPortCreate/@Speed</UCSElementPath>\r
+The speed grade of I2C port.</xs:documentation>\r
+                                                                                       </xs:annotation>\r
+                                                                               </xs:attribute>\r
                                                                        </xs:complexType>\r
                                                                </xs:element>\r
                                                                <xs:element name="I2CPortWrite">\r
+                                                                       <xs:annotation>\r
+                                                                               <xs:documentation>\r
+                                                                                       <UCSElementPath>/Unicens/Script/I2CPortWrite</UCSElementPath>\r
+This function writes a block of bytes to an I2C device at a specified I2C address. \r
+The function supports also a burst write mechanism for optimized transactions.\r
+\r
+</xs:documentation>\r
+                                                                       </xs:annotation>\r
                                                                        <xs:complexType>\r
-                                                                               <xs:attribute name="Mode" type="I2CPortWriteMode" use="optional"/>\r
-                                                                               <xs:attribute name="BlockCount" type="DecNumber" use="optional"/>\r
-                                                                               <xs:attribute name="Address" type="HexNumber" use="required"/>\r
-                                                                               <xs:attribute name="Length" type="DecNumber" use="optional"/>\r
-                                                                               <xs:attribute name="Payload" type="HexData" use="required"/>\r
-                                                                               <xs:attribute name="Timeout" type="DecNumber" use="optional"/>\r
+                                                                               <xs:attribute name="Mode" type="I2CPortWriteMode" use="optional">\r
+                                                                                       <xs:annotation>\r
+                                                                                               <xs:documentation>\r
+                                                                                                       <UCSElementPath>/Unicens/Script/I2CPortWrite/@Mode</UCSElementPath>\r
+The write transfer mode.</xs:documentation>\r
+                                                                                       </xs:annotation>\r
+                                                                               </xs:attribute>\r
+                                                                               <xs:attribute name="BlockCount" type="Number" use="optional">\r
+                                                                                       <xs:annotation>\r
+                                                                                               <xs:documentation>\r
+                                                                                                       <UCSElementPath>/Unicens/Script/I2CPortWrite/@BlockCount</UCSElementPath>\r
+The number of blocks to be written to the I2C address.\r
+If parameter mode is not set to Burst Mode, the value of block_count has to be set to 0.\r
+Otherwise the valid range of this parameter goes from 1 to 30. </xs:documentation>\r
+                                                                                       </xs:annotation>\r
+                                                                               </xs:attribute>\r
+                                                                               <xs:attribute name="Address" type="Number" use="required">\r
+                                                                                       <xs:annotation>\r
+                                                                                               <xs:documentation>\r
+                                                                                                       <UCSElementPath>/Unicens/Script/I2CPortWrite/@Address</UCSElementPath>\r
+Address of the target device. Use the UCS_ADDR_LOCAL_DEV macro to target the local device. \r
+The following address ranges are supported:\r
+â\80¢[0x10 ... 0x2FF]\r
+â\80¢[0x500 ... 0xFEF]\r
+â\80¢UCS_ADDR_LOCAL_DEV </xs:documentation>\r
+                                                                                       </xs:annotation>\r
+                                                                               </xs:attribute>\r
+                                                                               <xs:attribute name="Length" type="Number" use="optional">\r
+                                                                                       <xs:annotation>\r
+                                                                                               <xs:documentation>\r
+                                                                                                       <UCSElementPath>/Unicens/Script/I2CPortWrite/@Length</UCSElementPath>\r
+The total number of bytes to be written to the addressed I2C peripheral. \r
+Even if parameter mode is set to Burst Mode, the data_len shall correspond to the whole size of the burst transfer.\r
+That is, the data_len shall equal the size of a block times the block_count value.</xs:documentation>\r
+                                                                                       </xs:annotation>\r
+                                                                               </xs:attribute>\r
+                                                                               <xs:attribute name="Payload" type="HexData" use="required">\r
+                                                                                       <xs:annotation>\r
+                                                                                               <xs:documentation>\r
+                                                                                                       <UCSElementPath>/Unicens/Script/I2CPortWrite/@PayLoad</UCSElementPath>\r
+Payload bytes to be written on I2C</xs:documentation>\r
+                                                                                       </xs:annotation>\r
+                                                                               </xs:attribute>\r
+                                                                               <xs:attribute name="Timeout" type="Number" use="optional">\r
+                                                                                       <xs:annotation>\r
+                                                                                               <xs:documentation>\r
+                                                                                                       <UCSElementPath>/Unicens/Script/I2CPortWrite/@Timeout</UCSElementPath>\r
+The timeout for the I2C Port write. </xs:documentation>\r
+                                                                                       </xs:annotation>\r
+                                                                               </xs:attribute>\r
                                                                        </xs:complexType>\r
                                                                </xs:element>\r
                                                                <xs:element name="I2CPortRead">\r
+                                                                       <xs:annotation>\r
+                                                                               <xs:documentation>\r
+                                                                                       <UCSElementPath>/Unicens/Script/I2CPortRead</UCSElementPath>\r
+This function reads a block of bytes from an I2C device at a specified I2C address.\r
+The function can only be used, if the I2C Port has been configured as Master. \r
+If the I2C Port was configured as I2C-bus slave via the configuration string, an error message will be returned.  \r
+</xs:documentation>\r
+                                                                       </xs:annotation>\r
                                                                        <xs:complexType>\r
-                                                                               <xs:attribute name="Address" type="HexNumber" use="required"/>\r
-                                                                               <xs:attribute name="Length" type="DecNumber" use="required"/>\r
-                                                                               <xs:attribute name="Timeout" type="DecNumber" use="optional"/>\r
+                                                                               <xs:attribute name="Address" type="Number" use="required">\r
+                                                                                       <xs:annotation>\r
+                                                                                               <xs:documentation>\r
+                                                                                                       <UCSElementPath>/Unicens/Script/I2CPortRead/@Address</UCSElementPath>\r
+Address of the target device. Use the UCS_ADDR_LOCAL_DEV macro to target the local device. \r
+The following address ranges are supported:\r
+â\80¢[0x10 ... 0x2FF]\r
+â\80¢[0x500 ... 0xFEF]\r
+â\80¢UCS_ADDR_LOCAL_DEV </xs:documentation>\r
+                                                                                       </xs:annotation>\r
+                                                                               </xs:attribute>\r
+                                                                               <xs:attribute name="Length" type="Number" use="required">\r
+                                                                                       <xs:annotation>\r
+                                                                                               <xs:documentation>\r
+                                                                                                       <UCSElementPath>/Unicens/Script/I2CPortRead/@Length</UCSElementPath>\r
+Number of bytes to be read from the address.</xs:documentation>\r
+                                                                                       </xs:annotation>\r
+                                                                               </xs:attribute>\r
+                                                                               <xs:attribute name="Timeout" type="Number" use="optional">\r
+                                                                                       <xs:annotation>\r
+                                                                                               <xs:documentation>\r
+                                                                                                       <UCSElementPath>/Unicens/Script/I2CPortRead/@Timeout</UCSElementPath>\r
+The timeout for the I2C Port read.</xs:documentation>\r
+                                                                                       </xs:annotation>\r
+                                                                               </xs:attribute>\r
                                                                        </xs:complexType>\r
                                                                </xs:element>\r
                                                                <xs:element name="MsgSend">\r
+                                                                       <xs:annotation>\r
+                                                                               <xs:documentation>\r
+                                                                                       <UCSElementPath>/Unicens/Script/MsgSend</UCSElementPath>\r
+TO DO</xs:documentation>\r
+                                                                       </xs:annotation>\r
                                                                        <xs:complexType>\r
-                                                                               <xs:attribute name="FBlockId" type="HexNumber" use="required"/>\r
-                                                                               <xs:attribute name="FunctionId" type="HexNumber" use="required"/>\r
-                                                                               <xs:attribute name="OpTypeRequest" type="HexNumber" use="required"/>\r
-                                                                               <xs:attribute name="OpTypeResponse" type="HexNumber" use="optional"/>\r
-                                                                               <xs:attribute name="PayloadRequest" type="HexData" use="required"/>\r
-                                                                               <xs:attribute name="PayloadResponse" type="HexData" use="optional"/>\r
+                                                                               <xs:attribute name="FBlockId" type="Number" use="required">\r
+                                                                                       <xs:annotation>\r
+                                                                                               <xs:documentation>\r
+                                                                                                       <UCSElementPath>/Unicens/Script/MsgSend/@FBlockId</UCSElementPath>\r
+FBlockId of the config msg.</xs:documentation>\r
+                                                                                       </xs:annotation>\r
+                                                                               </xs:attribute>\r
+                                                                               <xs:attribute name="FunctionId" type="Number" use="required">\r
+                                                                                       <xs:annotation>\r
+                                                                                               <xs:documentation>\r
+                                                                                                       <UCSElementPath>/Unicens/Script/MsgSend/@FunctionId</UCSElementPath>\r
+TO DO</xs:documentation>\r
+                                                                                       </xs:annotation>\r
+                                                                               </xs:attribute>\r
+                                                                               <xs:attribute name="OpTypeRequest" type="Number" use="required">\r
+                                                                                       <xs:annotation>\r
+                                                                                               <xs:documentation>\r
+                                                                                                       <UCSElementPath>/Unicens/Script/MsgSend/@OpTypeRequest</UCSElementPath>\r
+TO DO</xs:documentation>\r
+                                                                                       </xs:annotation>\r
+                                                                               </xs:attribute>\r
+                                                                               <xs:attribute name="OpTypeResponse" type="Number" use="optional">\r
+                                                                                       <xs:annotation>\r
+                                                                                               <xs:documentation>\r
+                                                                                                       <UCSElementPath>/Unicens/Script/MsgSend/@OpTypeResponse</UCSElementPath>\r
+TO DO</xs:documentation>\r
+                                                                                       </xs:annotation>\r
+                                                                               </xs:attribute>\r
+                                                                               <xs:attribute name="PayloadRequest" type="HexData" use="required">\r
+                                                                                       <xs:annotation>\r
+                                                                                               <xs:documentation>\r
+                                                                                                       <UCSElementPath>/Unicens/Script/MsgSend/@PayloadRequest</UCSElementPath>\r
+TO DO</xs:documentation>\r
+                                                                                       </xs:annotation>\r
+                                                                               </xs:attribute>\r
+                                                                               <xs:attribute name="PayloadResponse" type="HexData" use="optional">\r
+                                                                                       <xs:annotation>\r
+                                                                                               <xs:documentation>\r
+                                                                                                       <UCSElementPath>/Unicens/Script/MsgSend/@PayloadResponse</UCSElementPath>\r
+TO DO</xs:documentation>\r
+                                                                                       </xs:annotation>\r
+                                                                               </xs:attribute>\r
                                                                        </xs:complexType>\r
                                                                </xs:element>\r
                                                                <xs:element name="Pause">\r
+                                                                       <xs:annotation>\r
+                                                                               <xs:documentation>\r
+                                                                                       <UCSElementPath>/Unicens/Script/Pause</UCSElementPath>\r
+Specifies the pause which shall be set before sending the configuration message.</xs:documentation>\r
+                                                                       </xs:annotation>\r
                                                                        <xs:complexType>\r
-                                                                               <xs:attribute name="WaitTime" type="DecNumber" use="required"/>\r
+                                                                               <xs:attribute name="WaitTime" type="Number" use="required">\r
+                                                                                       <xs:annotation>\r
+                                                                                               <xs:documentation>\r
+                                                                                                       <UCSElementPath>/Unicens/Script/Pause/@WaitTime</UCSElementPath>\r
+TO DO -[Time for which pause is to be done]</xs:documentation>\r
+                                                                                       </xs:annotation>\r
+                                                                               </xs:attribute>\r
                                                                        </xs:complexType>\r
                                                                </xs:element>\r
                                                        </xs:choice>\r
                                                </xs:sequence>\r
-                                               <xs:attribute name="Name" type="xs:string" use="required"/>\r
+                                               <xs:attribute name="Name" type="xs:string" use="required">\r
+                                                       <xs:annotation>\r
+                                                               <xs:documentation>\r
+                                                                       <UCSElementPath>/Unicens/Script/@Name</UCSElementPath>\r
+Name of the Script</xs:documentation>\r
+                                                       </xs:annotation>\r
+                                               </xs:attribute>\r
                                        </xs:complexType>\r
                                </xs:element>\r
                        </xs:choice>\r
-                       <xs:attribute name="AsyncBandwidth" type="DecNumber" use="required"/>\r
+                       <xs:attribute name="AsyncBandwidth" type="Number" use="required">\r
+                               <xs:annotation>\r
+                                       <xs:documentation>\r
+                                               <UCSElementPath>/Unicens/@AsyncBandwidth</UCSElementPath>\r
+Asynchronous bandwidth of the Unicens network.</xs:documentation>\r
+                               </xs:annotation>\r
+                       </xs:attribute>\r
                </xs:complexType>\r
        </xs:element>\r
        <xs:complexType name="Connection">\r
                <xs:choice minOccurs="2" maxOccurs="2">\r
-                       <xs:element name="MOSTSocket" type="MOSTSocketType"/>\r
+                       <xs:element name="MOSTSocket" type="MOSTSocketType">\r
+                               <xs:annotation>\r
+                                       <xs:documentation>\r
+                                               <UCSElementPath>/Unicens/MOSTSocket</UCSElementPath>\r
+Configuration Structure of a MOST Socket</xs:documentation>\r
+                               </xs:annotation>\r
+                       </xs:element>\r
                        <xs:element name="USBSocket">\r
+                               <xs:annotation>\r
+                                       <xs:documentation>\r
+                                               <UCSElementPath>/Unicens/USBSocket</UCSElementPath>\r
+Configuration Structure of a USB Socket.</xs:documentation>\r
+                               </xs:annotation>\r
                                <xs:complexType>\r
-                                       <xs:attribute name="EndpointAddress" type="HexNumber" use="required"/>\r
-                                       <xs:attribute name="FramesPerTransaction" type="DecNumber" use="required"/>\r
+                                       <xs:attribute name="EndpointAddress" type="Number" use="required">\r
+                                               <xs:annotation>\r
+                                                       <xs:documentation>\r
+                                                               <UCSElementPath>/Unicens/USBSocket/@EndpointAddress</UCSElementPath>\r
+Address of a USB Endpoint.\r
+This attribute corresponds with the parameter EndpointAddress of the INIC function INIC.USBSocketCreate</xs:documentation>\r
+                                               </xs:annotation>\r
+                                       </xs:attribute>\r
+                                       <xs:attribute name="FramesPerTransaction" type="Number" use="required">\r
+                                               <xs:annotation>\r
+                                                       <xs:documentation>\r
+                                                               <UCSElementPath>/Unicens/USBSocket/@FramesPerTransaction</UCSElementPath>\r
+ FramesPerTransaction defines the number of data frames that are transferred within one USB bulk transaction.The value depends on the data type being used.\r
+ The MOST network frame is six times shorter than the duration of one USB Microframe, the minimum number of FramesPerTransaction must be 7.</xs:documentation>\r
+                                               </xs:annotation>\r
+                                       </xs:attribute>\r
                                </xs:complexType>\r
                        </xs:element>\r
                        <xs:element name="MediaLBSocket">\r
+                               <xs:annotation>\r
+                                       <xs:documentation>\r
+                                               <UCSElementPath>/Unicens/MediaLBSocket</UCSElementPath>\r
+Configuration Structure of MediaLB Socket</xs:documentation>\r
+                               </xs:annotation>\r
                                <xs:complexType>\r
-                                       <xs:attribute name="ChannelAddress" type="HexNumber" use="required"/>\r
-                                       <xs:attribute name="Bandwidth" type="xs:integer" use="required"/>\r
+                                       <xs:attribute name="ChannelAddress" type="Number" use="required">\r
+                                               <xs:annotation>\r
+                                                       <xs:documentation>\r
+                                                               <UCSElementPath>/Unicens/MediaLBSocket/@ChannelAddress</UCSElementPath>\r
+MLB Channel address.\r
+This attribute corresponds with the parameter ChannelAddress of the INIC function INIC.MediaLBSocketCreate.</xs:documentation>\r
+                                               </xs:annotation>\r
+                                       </xs:attribute>\r
+                                       <xs:attribute name="Bandwidth" type="xs:integer" use="required">\r
+                                               <xs:annotation>\r
+                                                       <xs:documentation>\r
+                                                               <UCSElementPath>/Unicens/MediaLBSocket/@Bandwidth</UCSElementPath>\r
+Required socket bandwidth in bytes.\r
+This attribute corresponds with the parameter Bandwidth of the INIC function INIC.StreamSocketCreate.</xs:documentation>\r
+                                               </xs:annotation>\r
+                                       </xs:attribute>\r
                                </xs:complexType>\r
                        </xs:element>\r
                        <xs:element name="StreamSocket">\r
+                               <xs:annotation>\r
+                                       <xs:documentation>\r
+                                               <UCSElementPath>/Unicens/StreamSocket</UCSElementPath>\r
+Configuration Structure of a streaming data Socket</xs:documentation>\r
+                               </xs:annotation>\r
                                <xs:complexType>\r
-                                       <xs:attribute name="StreamPinID" type="StreamSocketStreamPinID" use="required"/>\r
-                                       <xs:attribute name="Bandwidth" type="xs:integer" use="required"/>\r
+                                       <xs:attribute name="StreamPinID" type="StreamSocketStreamPinID" use="required">\r
+                                               <xs:annotation>\r
+                                                       <xs:documentation>\r
+                                                               <UCSElementPath>/Unicens/StreamSocket/@StreamPinID</UCSElementPath>\r
+ID of the serial interface pin.\r
+This attribute corresponds with the parameter StreamPinID of the INIC function INIC.StreamSocketCreate.</xs:documentation>\r
+                                               </xs:annotation>\r
+                                       </xs:attribute>\r
+                                       <xs:attribute name="Bandwidth" type="xs:integer" use="required">\r
+                                               <xs:annotation>\r
+                                                       <xs:documentation>\r
+                                                               <UCSElementPath>/Unicens/StreamSocket/@Bandwidth</UCSElementPath>\r
+Required socket bandwidth in bytes.\r
+This attribute corresponds with the parameter Bandwidth of the INIC function INIC.StreamSocketCreate.</xs:documentation>\r
+                                               </xs:annotation>\r
+                                       </xs:attribute>\r
                                </xs:complexType>\r
                        </xs:element>\r
-                       <xs:element name="Splitter" type="SplitterCombinerType"/>\r
-                       <xs:element name="Combiner" type="SplitterCombinerType"/>\r
+                       <xs:element name="Splitter" type="SplitterCombinerType">\r
+                               <xs:annotation>\r
+                                       <xs:documentation>\r
+                                               <UCSElementPath>/Unicens/Splitter</UCSElementPath>\r
+Configuration Structure of a splitter resource.\r
+A splitter enables two variants of routing to be set-up. The first variant is a splitter created with a peripheral socket.\r
+It enables data routing from a specified segment of the peripheral socket to a MOST socket. \r
+The second variant is a splitter created with a MOST socket. \r
+This variant enables data routing in its whole (no segments) from the MOST socket to multiple peripheral sockets.\r
+</xs:documentation>\r
+                               </xs:annotation>\r
+                       </xs:element>\r
+                       <xs:element name="Combiner" type="SplitterCombinerType">\r
+                               <xs:annotation>\r
+                                       <xs:documentation>\r
+                                               <UCSElementPath>/Unicens/Combiner</UCSElementPath>\r
+Configuration Structure of a combiner resource.\r
+A combiner enables streaming data to be routed from a MOST socket to a specified segment of a peripheral socket. \r
+The same combiner may be used in multiple connections, which enables grouping of data streams from multiple MOST sockets into the same peripheral socket.\r
+</xs:documentation>\r
+                               </xs:annotation>\r
+                       </xs:element>\r
                </xs:choice>\r
        </xs:complexType>\r
-       <xs:simpleType name="HexNumber">\r
+       <xs:simpleType name="Number">\r
                <xs:annotation>\r
-                       <xs:documentation>Hexadecimal number in the format 0xd..d</xs:documentation>\r
+                       <xs:documentation>Hexadecimal or decimal number in the format 0xd..d</xs:documentation>\r
                </xs:annotation>\r
                <xs:restriction base="xs:string">\r
-                       <xs:pattern value="0x(0|[1-9a-fA-F][0-9a-fA-F]*)"/>\r
+                       <xs:pattern value="([0-9]+)|(0x(0|[1-9a-fA-F][0-9a-fA-F]*))"/>\r
                </xs:restriction>\r
        </xs:simpleType>\r
-       <xs:simpleType name="DecNumber">\r
-               <xs:annotation>\r
-                       <xs:documentation>Decimal number</xs:documentation>\r
-               </xs:annotation>\r
-               <xs:restriction base="xs:integer"/>\r
-       </xs:simpleType>\r
        <xs:simpleType name="USBPortPhysicalLayer">\r
                <xs:annotation>\r
                        <xs:documentation>Physical Layer of USB port</xs:documentation>\r
                </xs:restriction>\r
        </xs:simpleType>\r
        <xs:complexType name="SplitterCombinerType">\r
-               <xs:sequence>\r
-                       <xs:element name="MOSTSocket" type="SCMOSTSocketType" maxOccurs="unbounded"/>\r
+        <xs:annotation>\r
+               <xs:documentation><UCSElementPath>/Unicens/SplitterCombinerType</UCSElementPath>TO DO</xs:documentation>\r
+        </xs:annotation>\r
+        <xs:sequence>\r
+                       <xs:element name="MOSTSocket" type="SCMOSTSocketType" maxOccurs="unbounded">\r
+                               <xs:annotation>\r
+                                       <xs:documentation><UCSElementPath>/Unicens/SplitterCombinerType/MOSTSocket</UCSElementPath>TO DO - [Combination of Splitter and combiner.\r
+Splitter : enables two variants of routing to be set-up. The first variant is a splitter created with a peripheral socket.\r
+It enables data routing from a specified segment of the peripheral socket to a MOST socket. The second variant is a splitter created with a MOST socket. \r
+This variant enables data routing in its whole (no segments) from the MOST socket to multiple peripheral sockets.\r
+\r
+Combiner : A combiner enables streaming data to be routed from a MOST socket to a specified segment of a peripheral socket. \r
+The same combiner may be used in multiple connections, which enables grouping of data streams from multiple MOST sockets into the same peripheral socket ]</xs:documentation>\r
+                               </xs:annotation>\r
+                       </xs:element>\r
                </xs:sequence>\r
-               <xs:attribute name="BytesPerFrame" type="xs:integer" use="required"/>\r
+               <xs:attribute name="BytesPerFrame" type="xs:integer" use="required">\r
+                       <xs:annotation>\r
+                               <xs:documentation><UCSElementPath>/Unicens/SplitterCombinerType/@BytesPerFrame</UCSElementPath>\r
+Total number of data bytes to be transferred each MOST network frame.\r
+</xs:documentation>\r
+                       </xs:annotation>\r
+               </xs:attribute>\r
        </xs:complexType>\r
        <xs:complexType name="MOSTSocketType">\r
-               <xs:attribute name="Route" type="xs:string" use="required"/>\r
-               <xs:attribute name="Bandwidth" type="xs:integer" use="required"/>\r
-               <xs:attribute name="IsActive" type="xs:boolean" use="optional"/>\r
-               <xs:attribute name="RouteId" type="HexNumber" use="optional"/>\r
+        <xs:annotation>\r
+               <xs:documentation><UCSElementPath>/Unicens/MOSTSocketType</UCSElementPath>TO DO</xs:documentation>\r
+        </xs:annotation>\r
+        <xs:attribute name="Route" type="xs:string" use="required">\r
+                       <xs:annotation>\r
+                               <xs:documentation><UCSElementPath>/Unicens/MOSTSocketType/@Route</UCSElementPath>\r
+A (virtual) route is a logical unidirectional connection between two endpoints. An endpoint acts as a MOST connection in INIC plus the internal linked resources</xs:documentation>\r
+                       </xs:annotation>\r
+        </xs:attribute>\r
+               <xs:attribute name="Bandwidth" type="xs:integer" use="required">\r
+                       <xs:annotation>\r
+                               <xs:documentation><UCSElementPath>/Unicens/MOSTSocketType/@Bandwidth</UCSElementPath>TO DO - [Bandwidth of MOST Socket Type] </xs:documentation>\r
+                       </xs:annotation>\r
+               </xs:attribute>\r
+               <xs:attribute name="IsActive" type="xs:boolean" use="optional">\r
+                       <xs:annotation>\r
+                               <xs:documentation><UCSElementPath>/Unicens/MOSTSocketType/@IsActive</UCSElementPath>TO DO -[Determines the state of MOST Socket type : Active/Inactive]</xs:documentation>\r
+                       </xs:annotation>\r
+               </xs:attribute>\r
+               <xs:attribute name="RouteId" type="Number" use="optional">\r
+                       <xs:annotation>\r
+                               <xs:documentation><UCSElementPath>/Unicens/MOSTSocketType/@RouteId</UCSElementPath>\r
+User-defined route identifier</xs:documentation>\r
+                       </xs:annotation>\r
+               </xs:attribute>\r
        </xs:complexType>\r
        <xs:complexType name="SCMOSTSocketType">\r
-               <xs:complexContent>\r
+        <xs:annotation>\r
+               <xs:documentation><UCSElementPath>/Unicens/SCMOSTSocketType</UCSElementPath>TO DO</xs:documentation>\r
+        </xs:annotation>\r
+        <xs:complexContent>\r
                        <xs:extension base="MOSTSocketType">\r
-                               <xs:attribute name="Offset" type="xs:integer" use="required"/>\r
+                               <xs:attribute name="Offset" type="xs:integer" use="required">\r
+                                       <xs:annotation>\r
+                                               <xs:documentation><UCSElementPath>/Unicens/SCMOSTSocketType/@Offset</UCSElementPath>\r
+Offset from where the socket data should be routed from a splitter.\r
+</xs:documentation>\r
+                                       </xs:annotation></xs:attribute>\r
                        </xs:extension>\r
                </xs:complexContent>\r
        </xs:complexType>\r