ErrorCode and ErrorInfo parameters are required for the OPTypes Error and ErrorAck. In the function catalog, however, they only appear if their content deviates from the values that are described in the MOST Specification. A common example is the use of function specific errors.
Below is an example from the ConnectionMaster FBlock (FBlockID 0x03). As mandated by the MOST Specification, ErrorCode always is of type Unsigned Byte.
ErrorInfo is modeled as a Stream case with only one row populated. That is the row that matches an ErrorCode value of 0x20, which is the function specific error. The Stream case links to additional parameters, namely CMErrorCode and CMErrorInfo, which provide additional details regarding the error.
CMErrorCode is an Enum, which lists different error cases. It also serves as Stream Selector for the CMErrorInfo stream, which, depending on the error condition, offers more information on what went wrong. For the case CMErrorCode=0x10 (not enough bandwidth), the required bandwidth and the available bandwidth are listed.
Finally, the actual definition of the AvailableBandwidth and the RequiredBandwidth parameters is shown.
.