<FunctionCatalog xmlns="http://www.mostcooperation.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mostcooperation.com mostfcat_3_1_0.xsd">
  
<CatalogVersion Release="3.1.0" Date="2014-04-08+02:00" Time="00:00:00.000+02:00" SchemaVersion="3.1.0">
    
<Author>WG DA</Author>
    
<Company>MOST Cooperation</Company>
    
<!--Generated by MOST Editor 3.4.0.7-->
  
</CatalogVersion>
  
<SharedParameters>
    
<SharedParameter Name="CMErrorCode_0">
      
<Parameter Name="CMErrorCode">
        
<Description>Function specific error codes for the ConnectionMaster.</Description>
        
<DataType>
          
<TEnum>
            
<TEnumValue Name="NotEnoughBandwidth" Code="16">
              
<Description>Not enough bandwidth&lt;br&gt;Not enough available bandwidth to build streaming connection.</Description>
            
</TEnumValue>
            
<TEnumValue Name="DeviceBusy" Code="17">
              
<Description>Device Busy&lt;br&gt;Source or sink is busy at the moment and no connection was built or removed. </Description>
            
</TEnumValue>
            
<TEnumValue Name="SourceError" Code="18">
              
<Description>Source error&lt;br&gt;A persistent source error.</Description>
            
</TEnumValue>
            
<TEnumValue Name="SinkError" Code="19">
              
<Description>Sink error&lt;br&gt;A persistent sink error.</Description>
            
</TEnumValue>
            
<TEnumValue Name="SinkInUse" Code="20">
              
<Description>Sink in use&lt;br&gt;The sink is already in use and no connection was built.</Description>
            
</TEnumValue>
            
<TEnumValue Name="SourceSinkMismatch" Code="21">
              
<Description>Source sink mismatch&lt;br&gt;The sink does not support the data format that is received from the source.</Description>
            
</TEnumValue>
          
</TEnum>
        
</DataType>
      
</Parameter>
    
</SharedParameter>
    
<SharedParameter Name="SenderHandle_0">
      
<Parameter Name="SenderHandle">
        
<Description>Unique identifier of the requesting task within the device.</Description>
        
<DataType>
          
<TUWord Unit="none" Step="1" Exponent="0" />
        
</DataType>
      
</Parameter>
    
</SharedParameter>
    
<SharedParameter Name="SinkFBlock_0">
      
<Parameter Name="SinkFBlock">
        
<Description>FBlockID of the streaming data sink.</Description>
        
<DataType>
          
<TUByte Unit="none" Step="1" Exponent="0">
            
<ValueRange Min="1" Max="254" />
          
</TUByte>
        
</DataType>
      
</Parameter>
    
</SharedParameter>
    
<SharedParameter Name="SinkInstID_0">
      
<Parameter Name="SinkInstID">
        
<Description>Instance ID of the streaming data sink.</Description>
        
<DataType>
          
<TUByte Unit="none" Step="1" Exponent="0">
            
<ValueRange Min="1" Max="254" />
          
</TUByte>
        
</DataType>
      
</Parameter>
    
</SharedParameter>
    
<SharedParameter Name="SinkNr_0">
      
<Parameter Name="SinkNr">
        
<Description>Number of the data sink within the sink FBlock. 0x01 is used for the first sink.</Description>
        
<DataType>
          
<TUByte Unit="none" Step="1" Exponent="0">
            
<ValueRange Min="1" Max="255" />
          
</TUByte>
        
</DataType>
      
</Parameter>
    
</SharedParameter>
    
<SharedParameter Name="SourceFBlock_0">
      
<Parameter Name="SourceFBlock">
        
<Description>FBlock ID of the streaming data source.</Description>
        
<DataType>
          
<TUByte Unit="none" Step="1" Exponent="0">
            
<ValueRange Min="1" Max="254" />
          
</TUByte>
        
</DataType>
      
</Parameter>
    
</SharedParameter>
    
<SharedParameter Name="SourceInstID_0">
      
<Parameter Name="SourceInstID">
        
<Description>Instance ID of the streaming data source.</Description>
        
<DataType>
          
<TUByte Unit="none" Step="1" Exponent="0">
            
<ValueRange Min="1" Max="254" />
          
</TUByte>
        
</DataType>
      
</Parameter>
    
</SharedParameter>
    
<SharedParameter Name="SourceNr_0">
      
<Parameter Name="SourceNr">
        
<Description>Number of the data source within the source FBlock. 0x01 is used for the first source.</Description>
        
<DataType>
          
<TUByte Unit="none" Step="1" Exponent="0">
            
<ValueRange Min="1" Max="255" />
          
</TUByte>
        
</DataType>
      
</Parameter>
    
</SharedParameter>
  
</SharedParameters>
  
<FBlock Id="3" Name="ConnectionMaster">
    
<Description>
  
</Description>
    
<FBlockVersion Release="3.1.0" Date="2015-05-06+02:00" Time="00:00:00.000+02:00" Access="public">
      
<Author>WG DA</Author>
      
<Company>MOST Cooperation</Company>
    
</FBlockVersion>
    
<Function Name="BuildConnection" Id="512" Virtual="false" Wellknown="false" Occurrence="Mandatory">
      
<Description>
    This method instructs the ConnectionMaster to build a streaming connection 
    between sink and source.&lt;br&gt;&lt;br&gt;&lt;b&gt;&lt;i&gt;Note:&lt;/i&gt;&lt;/b&gt;&lt;i&gt; An implementation 
    may include either the Ack OPTypes or the non-Ack OPTypes. They must not 
    be mixed.&lt;/i&gt;&lt;br&gt;
    Here, the method is used to illustrate the modeling of of function specific errors.
  
</Description>
      
<FunctionVersion Release="0.0.1" Date="2015-04-08+02:00" Time="19:30:55.997+02:00" Access="public">
        
<Modification>
          
<Change />
          
<Reason />
        
</Modification>
      
</FunctionVersion>
      
<Parameters>
        
<Parameter Name="ErrorCode">
          
<Description>(Refer to the MOST Specification, section "Structure of MOST Messages: OPType")</Description>
          
<DataType>
            
<TUByte Unit="none" Step="1" Exponent="0" />
          
</DataType>
        
</Parameter>
        
<Parameter Name="ErrorInfo">
          
<Description>Besides the error information provided in the MOST Specification,
 additional function specific error info values are specified here.
</Description>
          
<DataType>
            
<TStream>
              
<Parameters>
                
<SharedParameterReference Name="CMErrorCode_0" />
                
<Parameter Name="CMErrorInfo">
                  
<Description />
                  
<DataType>
                    
<TStream>
                      
<StreamSwitch SelectorName="CMErrorCode_0">
                        
<ParamStreamCase MinSelectorValue="16" MaxSelectorValue="16" />
                        
<ParamStreamCase MinSelectorValue="17" MaxSelectorValue="21">
                          
<Description>No info.</Description>
                        
</ParamStreamCase>
                      
</StreamSwitch>
                    
</TStream>
                  
</DataType>
                
</Parameter>
              
</Parameters>
              
<ParameterSequence>
                
<StreamParamReference Name="CMErrorCode_0" />
                
<StreamParamReference Name="CMErrorInfo" />
              
</ParameterSequence>
            
</TStream>
          
</DataType>
        
</Parameter>
        
<SharedParameterReference Name="SenderHandle_0" />
        
<SharedParameterReference Name="SinkFBlock_0" />
        
<SharedParameterReference Name="SinkInstID_0" />
        
<SharedParameterReference Name="SinkNr_0" />
        
<SharedParameterReference Name="SourceFBlock_0" />
        
<SharedParameterReference Name="SourceInstID_0" />
        
<SharedParameterReference Name="SourceNr_0" />
      
</Parameters>
      
<Method Class="Sequence Method">
        
<StartResult>
          
<ParameterReference Name="SourceFBlock_0" />
          
<ParameterReference Name="SourceInstID_0" />
          
<ParameterReference Name="SourceNr_0" />
          
<ParameterReference Name="SinkFBlock_0" />
          
<ParameterReference Name="SinkInstID_0" />
          
<ParameterReference Name="SinkNr_0" />
        
</StartResult>
        
<StartResultAck>
          
<ParameterReference Name="SenderHandle_0" />
          
<ParameterReference Name="SourceFBlock_0" />
          
<ParameterReference Name="SourceInstID_0" />
          
<ParameterReference Name="SourceNr_0" />
          
<ParameterReference Name="SinkFBlock_0" />
          
<ParameterReference Name="SinkInstID_0" />
          
<ParameterReference Name="SinkNr_0" />
        
</StartResultAck>
        
<ErrorAck>
          
<ParameterReference Name="SenderHandle_0" />
          
<ParameterReference Name="ErrorCode" />
          
<ParameterReference Name="ErrorInfo" />
        
</ErrorAck>
        
<ProcessingAck>
          
<ParameterReference Name="SenderHandle_0" />
        
</ProcessingAck>
        
<Processing />
        
<Result>
          
<ParameterReference Name="SourceFBlock_0" />
          
<ParameterReference Name="SourceInstID_0" />
          
<ParameterReference Name="SourceNr_0" />
          
<ParameterReference Name="SinkFBlock_0" />
          
<ParameterReference Name="SinkInstID_0" />
          
<ParameterReference Name="SinkNr_0" />
        
</Result>
        
<ResultAck>
          
<ParameterReference Name="SenderHandle_0" />
          
<ParameterReference Name="SourceFBlock_0" />
          
<ParameterReference Name="SourceInstID_0" />
          
<ParameterReference Name="SourceNr_0" />
          
<ParameterReference Name="SinkFBlock_0" />
          
<ParameterReference Name="SinkInstID_0" />
          
<ParameterReference Name="SinkNr_0" />
        
</ResultAck>
        
<Error>
          
<ParameterReference Name="ErrorCode" />
          
<ParameterReference Name="ErrorInfo" />
        
</Error>
      
</Method>
    
</Function>
  
</FBlock>
</FunctionCatalog>