%implements Constant "C"
%function BlockInstanceSetup(block,system) void
%<LibBlockSetIsExpressionCompliant(block)>
%endfunction
%function BlockOutputSignal(block,system,portIdx,ucv,lcv,idx,retType) void
%switch retType
%case "Signal"
%return LibBlockParameter(Value,ucv,lcv,idx)
%case "SignalAddr"
%assign idNum = SLibGetReimAndIdx(idx)
%if ucv == "" && lcv == "" && idNum[0] == "" && idNum[1] == 0
%return SLibBlockParameterBaseAddrAsOutputExpr(Value)
%else
%return SLibBlockParameterAddrAsOutputExpr(Value, ucv, lcv, idx)
%endif
%default
%assign errTxt = "Unsupported return type: %<retType>"
%<LibBlockReportError(block,errTxt)>
%endswitch
%endfunction