<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>
<!---->
</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<br>Not enough available bandwidth to build streaming connection.</Description>
</TEnumValue>
<TEnumValue Name="DeviceBusy" Code="17">
<Description>Device Busy<br>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<br>A persistent source error.</Description>
</TEnumValue>
<TEnumValue Name="SinkError" Code="19">
<Description>Sink error<br>A persistent sink error.</Description>
</TEnumValue>
<TEnumValue Name="SinkInUse" Code="20">
<Description>Sink in use<br>The sink is already in use and no connection was built.</Description>
</TEnumValue>
<TEnumValue Name="SourceSinkMismatch" Code="21">
<Description>Source sink mismatch<br>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.<br><br><b><i>Note:</i></b><i> An implementation
may include either the Ack OPTypes or the non-Ack OPTypes. They must not
be mixed.</i><br>
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>