%if EXISTS("_RTMDLDEFS_") == 0
%assign _RTMDLDEFS_ = 1
%function SLibInitCoderDataGroupRTMdlRecs() void
%assert !RTMCreateRTModelRecShell()
%assign NO_QUALIFIER = ""
%assign ERT_MACRO_NONE = [0, 0, 0, 0]
%assign ERT_MACRO_PUB_SET_PUB_GET = [1, 1, 0, 0]
%if ::CompiledModel.GenerateSampleERTMain || ...
(SLibAutosarActive() && MultiInstanceERTCode)
%assign MACRO_FOR_MODEL_DATA = ERT_MACRO_NONE
%else
%assign MACRO_FOR_MODEL_DATA = ERT_MACRO_PUB_SET_PUB_GET
%endif
%if ::CompiledModel.SLCI == "on"
%assign MODELDATA = "ModelData"
%else
%assign MODELDATA = ""
%endif
%foreach idx = ::CompiledModel.NumCoderDataGroups
%assign group = ::CompiledModel.CoderDataGroup[idx]
%if SLibStandAloneSingleInstance(group)
%continue
%endif
%assign baseSystem = ::CompiledModel.System[GetBaseSystemIdx()]
%assign varGroupIndex = FcnSysVarGroupIndex(baseSystem, "CoderDataGroup" + group.Name, 0)
%if varGroupIndex < 0 || !SLibHaveRootDataGroupVarGroup(group)
%continue
%endif
%assign fieldName = SLibCoderDataGroupRTMFieldName(group)
%assign typeKey = "CoderDataGroup" + group.Name
%assign typeString = FcnSysVarGroupType(::CompiledModel.System[GetBaseSystemIdx()], typeKey)
%if !ISEMPTY(typeString) && !ISEMPTY(fieldName)
%if group.AsStructure == "InSelf"
%<RTMAddRecSclr(...
fieldName, ...
fieldName, ...
MODELDATA, ...
typeString, ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
"RTMModelPtrsToCoderDataGroupIsReqFcn(%<group.GroupIndex>)")>
%else
%<RTMAddRecPntr(...
fieldName, ...
fieldName, ...
MODELDATA, ...
typeString, ...
SLibTypeQualifierForGroup(group), ...
MACRO_FOR_MODEL_DATA, ...
"RTMModelPtrsToCoderDataGroupIsReqFcn(%<group.GroupIndex>)")>
%endif
%endif
%endforeach
%endfunction
%function SLibInitRTMdlRecs() void
%assign created = RTMCreateRTModelRecShell()
%if !created
%return
%endif
%assign NO_PARENT = ""
%if ::CompiledModel.SLCI == "on"
%assign MODELDATA = "ModelData"
%else
%assign MODELDATA = ""
%endif
%assign CONST_QUALIFIER = "CONST"
%assign NO_QUALIFIER = ""
%assign NO_GET_FCN = ""
%assign NO_SET_FCN = ""
%assign NO_IS_FCN = ""
%assign NO_RTM_ARG_WHEN_ERRSTAT_SUPPRESSED = 3
%assign HAS_RTM_ARG = 2
%assign NO_RTM_ARG_FOR_RTWMR = 1
%assign NO_RTM_ARG_FOR_MR = 0
%assign NO_TIMING_BRIDGE = [0, 0, 0]
%assign GET_FCN_USE_TIMING_BRIDGE = [1, 0, 0]
%assign GET_FCN_USE_TIMING_BRIDGE_GLOBAL_TID = [2, 0, 0]
%assign SET_FCN_USE_TIMING_BRIDGE = [0, 1, 0]
%assign IS_FCN_USE_TIMING_BRIDGE = [0, 0, 1]
%assign IS_FCN_USE_TIMING_BRIDGE_GLOBAL_TID = [0, 0, 2]
%assign GET_SET_FCN_USE_TIMING_BRIDGE = [1, 1, 0]
%assign GET_IS_FCN_USE_TIMING_BRIDGE = [1, 0, 1]
%assign SET_IS_FCN_USE_TIMING_BRIDGE = [0, 1, 1]
%assign SET_IS_FCN_USE_TIMING_BRIDGE_GLOBAL_TID = [0, 2, 2]
%assign GET_SET_IS_FCN_USE_TIMING_BRIDGE = [1, 1, 1]
%assign ERT_MACRO_NONE = [0, 0, 0, 0]
%assign ERT_MACRO_PUB_SET_PUB_GET = [1, 1, 0, 0]
%assign ERT_MACRO_NO_SET_PUB_GET = [0, 1, 0, 0]
%assign ERT_MACRO_PRV_IS = [0, 0, 2, 0]
%assign ERT_MACRO_PUB_IS = [0, 0, 1, 0]
%assign ERT_MACRO_PRV_OTHER = [0, 0, 0, 2]
%assign ERT_MACRO_PUB_OTHER = [0, 0, 0, 1]
%assign ERT_MACRO_PRV_SET_PUB_GET = [2, 1, 0, 0]
%assign ERT_MACRO_PRV_SET_PRV_GET = [2, 2, 0, 0]
%assign ERT_MACRO_NO_SET_PRV_GET = [0, 2, 0, 0]
%assign ERT_MACRO_PRV_SET_PRV_IS = [2, 0, 2, 0]
%assign ERT_MACRO_PUB_SET_PUB_IS = [1, 0, 1, 0]
%assign FORCE_NO_MACRO = [-1, -1, -1, -1]
%if (::CompiledModel.Solver == "ode14x")
%assign solverODE14X = TLC_TRUE
%elseif (::CompiledModel.Solver == "ode1be")
%assign solverODE1BE = TLC_TRUE
%assign solverODE14X = TLC_FALSE
%assign solverODE8 = TLC_FALSE
%elseif (::CompiledModel.Solver == "ode8")
%assign solverODE8 = TLC_TRUE
%assign solverODE1BE = TLC_FALSE
%assign solverODE14X = TLC_FALSE
%assign solverOrder = IDNUM(::CompiledModel.Solver)[1]
%if (solverOrder == 8)
%assign solverOrder = 13
%endif
%else
%assign solverODE1BE = TLC_FALSE
%assign solverODE14X = TLC_FALSE
%assign solverODE8 = TLC_FALSE
%assign solverOrder = IDNUM(::CompiledModel.Solver)[1]
%if (solverOrder == 5)
%assign solverOrder = solverOrder + 1
%endif
%endif
%if ::CompiledModel.GenerateSampleERTMain || ...
(SLibAutosarActive() && MultiInstanceERTCode)
%assign MACRO_FOR_MODEL_DATA = ERT_MACRO_NONE
%else
%assign MACRO_FOR_MODEL_DATA = ERT_MACRO_PUB_SET_PUB_GET
%endif
%<RTMAddRecPntr(...
"Path", ...
"path", ...
NO_PARENT, ...
"CHAR", ...
CONST_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMModelPtrsForNonERTIsReqFcn()")>
%<RTMAddRecPntr(...
"ModelName", ...
"modelName", ...
NO_PARENT, ...
"CHAR", ...
CONST_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMModelPtrsForNonERTIsReqFcn()")>
%<RTMAddRecPntr(...
"SFunctions", ...
"childSfunctions", ...
NO_PARENT, ...
"SIMSTRUCT_PTR", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMChildSfunctionIsReqFcn()")>
%if IsModelReferenceForASimstructBasedTarget()
%<RTMAddRecPntr(...
"MdlRefSfcnS", ...
tMdlRefSfcnS, ...
NO_PARENT, ...
"SIMSTRUCT", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMAlwaysReqIsReqFcn()")>
%<RTMAddRecSclr(...
"NonContDerivMemory", ...
"NonContDerivMemory", ...
"", ...
"NONCONT_DERIV_SIGS_MEMORY", ...
NO_QUALIFIER, ...
ERT_MACRO_PUB_SET_PUB_GET, ...
"RTMNeedsNonContDerivSigs()")>
%<RTMAddRecArry(...
"NonContDerivSignal", ...
"nonContDerivSignal", ...
NO_PARENT, ...
"NONCONT_SIGS", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
["%<GetNumberOfNoncontSignalsFeedingDerivPorts()>"], ...
"RTMNeedsNonContDerivSigs()")>
%endif
%if IsModelReferenceTarget()
%if !IsSimstructBasedTarget()
%<RTMAddRecPntrPntr(...
"ErrorStatusFlag", ...
"errorStatus", ...
NO_PARENT, ...
"CHAR", ...
CONST_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMErrorStatusIsReqFcn()")>
%endif
%else
%if RTMErrorStatusNeedVolatile()
%<RTMAddRecVolatilePntr(...
"ErrorStatusFlag", ...
"errorStatus", ...
NO_PARENT, ...
"CHAR", ...
CONST_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMErrorStatusIsReqFcn()")>
%else
%<RTMAddRecPntr(...
"ErrorStatusFlag", ...
"errorStatus", ...
NO_PARENT, ...
"CHAR", ...
CONST_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMErrorStatusIsReqFcn()")>
%endif
%endif
%if (::CompiledModel.ModelIsLinearlyImplicit == "yes")
%if IsModelReferenceTarget()
%<RTMAddRecPntr(...
"MassMatrixBasePr", ...
"massMatrixBasePr", ...
NO_PARENT, ...
"REAL", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMAlwaysReqIsReqFcn()")>
%endif
%endif
%<RTMAddRecSclr(...
"SimMode", ...
"simMode", ...
NO_PARENT, ...
"SS_SIMMODE", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMChildSfunctionIsReqFcn()")>
%if !::CompiledModel.GenerateSampleERTMain
%<RTMAddRecPntr(...
"RTWLogInfo", ...
"rtwLogInfo", ...
NO_PARENT, ...
"RTW_LOG_INFO", ...
NO_QUALIFIER, ...
ERT_MACRO_NO_SET_PUB_GET, ...
"RTMLogInfoIsReqFcn()")>
%else
%<RTMAddRecPntr(...
"RTWLogInfo", ...
"rtwLogInfo", ...
NO_PARENT, ...
"RTW_LOG_INFO", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMLogInfoIsReqFcn()")>
%endif
%if !::CompiledModel.GenerateSampleERTMain
%<RTMAddRecPntr(...
"RTWExtModeInfo", ...
"extModeInfo", ...
NO_PARENT, ...
"EXT_MODE_INFO", ...
NO_QUALIFIER, ...
ERT_MACRO_NO_SET_PUB_GET, ...
"RTMExtModeInfoIsReqFcn()")>
%else
%<RTMAddRecPntr(...
"RTWExtModeInfo", ...
"extModeInfo", ...
NO_PARENT, ...
"EXT_MODE_INFO", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMExtModeInfoIsReqFcn()")>
%endif
%<RTMAddRecSclr(...
"RTWRTModelMethodsInfo", ...
"modelMethodsInfo", ...
NO_PARENT, ...
"MODEL_METHODS_INFO", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMMdlMthIsReqFcn()")>
%if SLibIsERTCodeFormat()
%if IsModelReferenceNonSimstructBasedRTWTarget() || UsingMalloc
%<RTMAddRecPntr(...
"RTWSolverInfo", ...
"solverInfo", ...
NO_PARENT, ...
"SOLVER_INFO", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMContTimeErtOnlyIsReqFcn() || RTMChildSfunctionIsReqFcn() || GenerateGRTWrapper")>
%elseif !ConfigSet.PurelyIntegerCode
%<RTMAddRecSclr(...
"RTWSolverInfo", ...
"solverInfo", ...
NO_PARENT, ...
"SOLVER_INFO", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMContTimeErtOnlyIsReqFcn() || RTMChildSfunctionIsReqFcn() || GenerateGRTWrapper")>
%endif
%<RTMAddRecPntr(...
"RTWSolverInfoPtr", ...
"solverInfoPtr", ...
NO_PARENT, ...
"SOLVER_INFO", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMChildSfunctionIsReqFcn()")>
%else
%<RTMAddRecPntr(...
"RTWSolverInfo", ...
"solverInfo", ...
NO_PARENT, ...
"SOLVER_INFO", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMModelPtrsForNonERTIsReqFcn()")>
%endif
%<RTMAddRecPntr(...
"RTWSfcnInfo", ...
"sfcnInfo", ...
NO_PARENT, ...
"VOID", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMChildSfunctionIsReqFcn()")>
%if SLibIsERTCodeFormat()
%<RTMAddRecSclr(...
"NonInlinedSFcns", ...
"NonInlinedSFcns", ...
NO_PARENT, ...
"NONINLINED_SFCS", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMNonInlinedSFcnsIsReqFcn()")>
%endif
%<RTMAddRecArry(...
"Checksums", ...
"checksums", ...
"Sizes", ...
"UINT32", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
[4], ...
"RTMExtModeInfoIsReqFcn()")>
%<RTMAddRecSclr(...
"Options", ...
"options", ...
"Sizes", ...
"UINT32", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMChildSfunctionIsReqFcn()")>
%<RTMAddRecSclr(...
"NumContStates", ...
"numContStates", ...
"Sizes", ...
"INT", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMContStateErtNoMdlRefIsReqFcn() || RTMChildSfunctionIsReqFcn()")>
%<RTMAddRecSclr(...
"NumPeriodicContStates", ...
"numPeriodicContStates", ...
"Sizes", ...
"INT", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMContStateErtNoMdlRefIsReqFcn()")>
%<RTMAddRecSclr(...
"NumU",...
"numU",...
"Sizes", ...
"INT", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMChildSfunctionIsReqFcn()")>
%<RTMAddRecSclr(...
"NumY", ...
"numY", ...
"Sizes", ...
"INT", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMChildSfunctionIsReqFcn()")>
%<RTMAddRecSclr(...
"NumSampleTimes", ...
"numSampTimes", ...
"Sizes", ...
"INT", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMNumSampleTimesReqFcn()")>
%<RTMAddRecSclr(...
"NumBlocks", ...
"numBlocks", ...
"Sizes", ...
"INT", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMChildSfunctionIsReqFcn()")>
%<RTMAddRecSclr(...
"NumBlockIO", ...
"numBlockIO", ...
"Sizes", ...
"INT", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMChildSfunctionIsReqFcn()")>
%<RTMAddRecSclr(...
"NumBlockParams", ...
"numBlockPrms", ...
"Sizes", ...
"INT", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMChildSfunctionIsReqFcn()")>
%<RTMAddRecSclr(...
"NumDWork", ...
"numDwork", ...
"Sizes", ...
"INT", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMChildSfunctionIsReqFcn()")>
%<RTMAddRecSclr(...
"NumSFcnParams", ...
"numSFcnPrms", ...
"Sizes", ...
"INT", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMChildSfunctionIsReqFcn()")>
%<RTMAddRecSclr(...
"NumSFunctions", ...
"numSFcns", ...
"Sizes", ...
"INT", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMChildSfunctionIsReqFcn()")>
%<RTMAddRecSclr(...
"NumInputPorts", ...
"numIports", ...
"Sizes", ...
"INT", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMChildSfunctionIsReqFcn()")>
%<RTMAddRecSclr(...
"NumOutputPorts", ...
"numOports", ...
"Sizes", ...
"INT", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMChildSfunctionIsReqFcn()")>
%<RTMAddRecSclr(...
"NumNonSampledZCs", ...
"numNonSampZCs", ...
"Sizes", ...
"INT", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMChildSfunctionIsReqFcn()")>
%<RTMAddRecSclr(...
"DirectFeedThrough", ...
"sysDirFeedThru", ...
"Sizes", ...
"INT", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMChildSfunctionIsReqFcn()")>
%<RTMAddRecSclr(...
"RTWGeneratedSFcn", ...
"rtwGenSfcn", ...
"Sizes", ...
"INT", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMChildSfunctionIsReqFcn()")>
%<RTMAddRecSclr(...
"StepSize", ...
"stepSize", ...
"Timing", ...
"TIME", ...
NO_QUALIFIER, ...
ERT_MACRO_NO_SET_PUB_GET, ...
"RTMStepSizeIsReqFcn() || RTMChildSfunctionIsReqFcn()")>
%if IsModelReferenceTarget()
%<RTMAddRecPntr(...
"timingBridge", ...
"timingBridge", ...
NO_PARENT, ...
"TIMING_BRIDGE", ...
CONST_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMTimingBridgeIsReqFcn()")>
%else
%<RTMAddRecSclr(...
"timingBridge", ...
"timingBridge", ...
NO_PARENT, ...
"TIMING_BRIDGE", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMTimingBridgeIsReqFcn()")>
%endif
%foreach idx = ::CompiledModel.NumSampleTimes
%with ::CompiledModel
%assign dtId = SampleTime[idx].ClockTickDataTypeId
%assign dType = DataTypes.DataType[dtId].DTName
%endwith
%if dType == "timer_uint32_pair"
%assign dType = "UINT32"
%endif
%if !IsModelReferenceTarget() && !SLibUsingTimingServices()
%<RTMAddRecSclr(...
"TaskTime%<idx>", ...
"taskTime%<idx>", ...
"Timing", ...
"TIME", ...
NO_QUALIFIER, ...
FORCE_NO_MACRO, ...
"RTMTaskTimeIsReqFcnForTID(%<idx>)")>
%<RTMAddRecSclr(...
"ClockTick%<idx>", ...
"clockTick%<idx>", ...
"Timing", ...
"%<dType>", ...
NO_QUALIFIER, ...
FORCE_NO_MACRO, ...
"ClockTickForTIDIsReqFcn(%<idx>)")>
%<RTMAddRecSclr(...
"ClockTickH%<idx>", ...
"clockTickH%<idx>", ...
"Timing", ...
"UINT32", ...
NO_QUALIFIER, ...
FORCE_NO_MACRO, ...
"LongClockTickForTIDIsReqFcn(%<idx>)")>
%endif
%<RTMAddRecSclr(...
"StepSize%<idx>", ...
"stepSize%<idx>", ...
"Timing", ...
"TIME", ...
NO_QUALIFIER, ...
FORCE_NO_MACRO, ...
"RTMStepSizeForTIDIsReqFcn(%<idx>)")>
%if SLibConcurrentTasks()
%<RTMAddRecPntr(...
"SemIdForTask%<idx>", ...
"semIdForTask%<idx>", ...
"Timing", ...
"VOID", ...
NO_QUALIFIER, ...
FORCE_NO_MACRO, ...
"RTMAbsTimeNeedTransProtection(%<idx>)")>
%<RTMAddRecSclr(...
"ClockTickBuf%<idx>", ...
"rtmClockTickBuf%<idx>", ...
"Timing", ...
"%<dType>", ...
NO_QUALIFIER, ...
FORCE_NO_MACRO, ...
"RTMAbsTimeNeedTransProtection(%<idx>)")>
%<RTMAddRecSclr(...
"ClockTickHBuf%<idx>", ...
"rtmBufClockTickBufH%<idx>", ...
"Timing", ...
"UINT32", ...
NO_QUALIFIER, ...
FORCE_NO_MACRO, ...
"RTMAbsTimeNeedTransProtection(%<idx>) && LongClockTickForTIDIsReqFcn(0)")>
%else
%<RTMAddRecSclr(...
"DbBufReadBuf%<idx>", ...
"rtmDbBufReadBuf%<idx>", ...
"Timing", ...
"UINT8", ...
NO_QUALIFIER, ...
FORCE_NO_MACRO, ...
"RTMClockTick0DbBufIsReqFcn(%<idx>) || RTMContTDbBufIsReqFcn(%<idx>)")>
%<RTMAddRecSclr(...
"DbBufWriteBuf%<idx>", ...
"rtmDbBufWriteBuf%<idx>", ...
"Timing", ...
"UINT8", ...
NO_QUALIFIER, ...
FORCE_NO_MACRO, ...
"RTMClockTick0DbBufIsReqFcn(%<idx>) || RTMContTDbBufIsReqFcn(%<idx>)")>
%<RTMAddRecSclr(...
"DbBufLastBufWr%<idx>", ...
"rtmDbBufLastBufWr%<idx>", ...
"Timing", ...
"BOOLEAN", ...
NO_QUALIFIER, ...
FORCE_NO_MACRO, ...
"RTMClockTick0DbBufIsReqFcn(%<idx>) || RTMContTDbBufIsReqFcn(%<idx>)")>
%<RTMAddRecArry(...
"DbBufClockTick%<idx>", ...
"rtmDbBufClockTick%<idx>", ...
"Timing", ...
"%<dType>", ...
NO_QUALIFIER, ...
FORCE_NO_MACRO, ...
[2], ...
"RTMClockTick0DbBufIsReqFcn(%<idx>)")>
%<RTMAddRecArry(...
"DbBufClockTickH%<idx>", ...
"rtmDbBufClockTickH%<idx>", ...
"Timing", ...
"UINT32", ...
NO_QUALIFIER, ...
FORCE_NO_MACRO, ...
[2], ...
"RTMClockTick0DbBufIsReqFcn(%<idx>) && LongClockTickForTIDIsReqFcn(0)")>
%<RTMAddRecArry(...
"DbBufContT%<idx>", ...
"rtmDbBufContT%<idx>", ...
"Timing", ...
"DOUBLE", ...
NO_QUALIFIER, ...
FORCE_NO_MACRO, ...
[2], ...
"RTMContTDbBufIsReqFcn(%<idx>)")>
%<RTMAddRecSclr(...
"H2LBufBeingRead%<idx>", ...
"rtmH2LBufBeingRead%<idx>", ...
"Timing", ...
"UINT8", ...
NO_QUALIFIER, ...
FORCE_NO_MACRO, ...
"RTMClockTick0H2LIsReqFcn(%<idx>) || RTMContTH2LIsReqFcn(%<idx>)")>
%<RTMAddRecSclr(...
"H2LLastBufWr%<idx>", ...
"rtmH2LLastBufWr%<idx>", ...
"Timing", ...
"UINT8", ...
NO_QUALIFIER, ...
FORCE_NO_MACRO, ...
"RTMClockTick0H2LIsReqFcn(%<idx>) || RTMContTH2LIsReqFcn(%<idx>)")>
%<RTMAddRecArry(...
"H2LDbBufClockTick%<idx>", ...
"rtmH2LDbBufClockTick%<idx>", ...
"Timing", ...
"%<dType>", ...
NO_QUALIFIER, ...
FORCE_NO_MACRO, ...
[2], ...
"RTMClockTick0H2LIsReqFcn(%<idx>)")>
%<RTMAddRecArry(...
"H2LDbBufClockTickH%<idx>", ...
"rtmH2LDbBufClockTickH%<idx>", ...
"Timing", ...
"UINT32", ...
NO_QUALIFIER, ...
FORCE_NO_MACRO, ...
[2], ...
"RTMClockTick0H2LIsReqFcn(%<idx>) && LongClockTickForTIDIsReqFcn(0)")>
%<RTMAddRecArry(...
"H2LDbBufContT%<idx>", ...
"rtmH2LDbBufContT%<idx>", ...
"Timing", ...
"DOUBLE", ...
NO_QUALIFIER, ...
FORCE_NO_MACRO, ...
[2], ...
"RTMContTH2LIsReqFcn(%<idx>)")>
%if !IsModelReferenceTarget() && idx == 0
%<RTMAddRecSclr(...
"L2HLastBufWr", ...
"rtmL2HLastBufWr", ...
"Timing", ...
"UINT8", ...
NO_QUALIFIER, ...
FORCE_NO_MACRO, ...
"RTMClockTick0L2HIsReqFcn() || RTMContTL2HIsReqFcn()")>
%<RTMAddRecArry(...
"L2HDbBufClockTick", ...
"rtmL2HDbBufClockTick", ...
"Timing", ...
"%<dType>", ...
NO_QUALIFIER, ...
FORCE_NO_MACRO, ...
[2], ...
"RTMClockTick0L2HIsReqFcn()")>
%<RTMAddRecArry(...
"L2HDbBufClockTickH", ...
"rtmL2HDbBufClockTickH", ...
"Timing", ...
"UINT32", ...
NO_QUALIFIER, ...
FORCE_NO_MACRO, ...
[2], ...
"RTMClockTick0L2HIsReqFcn() && LongClockTickForTIDIsReqFcn(0)")>
%<RTMAddRecArry(...
"L2HDbBufContT", ...
"rtmL2HDbBufContT", ...
"Timing", ...
"DOUBLE", ...
NO_QUALIFIER, ...
FORCE_NO_MACRO, ...
[2], ...
"RTMContTL2HIsReqFcn()")>
%endif
%endif
%endforeach
%with ::CompiledModel
%<RTMAddRecArry(...
"MdlRefGlobalTID", ...
"mdlref_GlobalTID", ...
"Timing", ...
"INT", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
["%<SLibGetNumTIDsForGlobalTIDMap()>"], ...
"RTMMdlRefGlobalTIDIsReqFcn()")>
%endwith
%<RTMAddRecSclr(...
"MdlRefTriggerTID", ...
"mdlref_TriggerTID", ...
"Timing", ...
"INT", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMMdlRefTriggerTIDIsReqFcn()")>
%<RTMAddRecSclr(...
"FirstInitCondFlag", ...
"firstInitCondFlag", ...
"Timing", ...
"BOOLEAN", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMFirstInitCondFlagIsReqFcn()")>
%<RTMAddRecSclr(...
"TaskCounters", ...
"TaskCounters", ...
"Timing", ...
"TASK_COUNTERS", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMTaskCountersIsReqFcn()")>
%<RTMAddRecArry(...
"CtrlRateNumTicksToNextHit", ...
"CtrlRateNumTicksToNextHit", ...
"Timing", ...
"UINT32", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
["%<::CompiledModel.NumControllableSampleTimes>"], ...
"RTMCtrlRateNumTicksToNextHitIsReqFcn() ")>
%<RTMAddRecSclr(...
"CtrlRateMdlRefTiming", ...
"CtrlRateMdlRefTiming", ...
"Timing", ...
"CTRLRATE_TIMING", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMCtrlRateMdlRefTimingIsReqFcn() ")>
%<RTMAddRecPntr(...
"CtrlRateMdlRefTimingPtr", ...
"CtrlRateMdlRefTimingPtr", ...
"Timing", ...
"CTRLRATE_TIMING", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMCtrlRateMdlRefTimingPtrIsReqFcn()")>
%<RTMAddRecSclr(...
"PerTaskSampleHits", ...
"RateInteraction", ...
"Timing", ...
"RATE_INTERACTION", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMERTPerTaskSampleHitsIsReqFcn()")>
%<RTMAddRecSclr(...
"StartTime", ...
"tStart", ...
"Timing", ...
"TIME", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMChildSfunctionIsReqFcn()")>
%<RTMAddRecSclr(...
"FinalTime", ...
"tFinal", ...
"Timing", ...
"TIME", ...
NO_QUALIFIER, ...
ERT_MACRO_NO_SET_PUB_GET, ...
"RTMTFinalIsReqFcn()")>
%<RTMAddRecSclr(...
"_TimeOfLastOutput", ...
"timeOfLastOutput", ...
"Timing", ...
"TIME", ...
NO_QUALIFIER, ...
ERT_MACRO_NO_SET_PUB_GET, ...
"RTMChildSfunctionIsReqFcn()")>
%<RTMAddRecPntr(...
"TimingData", ...
"timingData", ...
"Timing", ...
"VOID", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMModelPtrsForNonERTIsReqFcn()")>
%<RTMAddRecPntr(...
"VarNextHitTimesListPtr", ...
"varNextHitTimesList", ...
"Timing", ...
"REAL", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMModelPtrsForNonERTIsReqFcn()")>
%if IsModelReferenceRTWTarget()
%<RTMAddRecPntr(...
"SimTimeStepPtr", ...
"simTimeStep", ...
"Timing", ...
"SIM_TIME_STEP", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMContTimeErtIsReqFcn()")>
%else
%<RTMAddRecSclr(...
"SimTimeStep", ...
"simTimeStep", ...
"Timing", ...
"SIM_TIME_STEP", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMContTimeErtIsReqFcn() || GenerateGRTWrapper")>
%endif
%if IsModelReferenceTarget()
%if !IsSimstructBasedTarget()
%<RTMAddRecPntr(...
"StopRequestedFlag", ...
"stopRequestedFlag", ...
"Timing", ...
"BOOLEAN", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMMdlStopReqIsReqFcn()")>
%endif
%else
%<RTMAddRecSclr(...
"StopRequestedFlag", ...
"stopRequestedFlag", ...
"Timing", ...
"BOOLEAN", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMMdlStopReqIsReqFcn()")>
%endif
%<RTMAddRecPntr(...
"SampleTimePtr", ...
"sampleTimes", ...
"Timing", ...
"TIME", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMModelPtrsForNonERTIsReqFcn() || RTMChildSfunctionIsReqFcn()")>
%<RTMAddRecPntr(...
"OffsetTimePtr", ...
"offsetTimes", ...
"Timing", ...
"TIME", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMModelPtrsForNonERTIsReqFcn() || RTMChildSfunctionIsReqFcn()")>
%<RTMAddRecPntr(...
"SampleTimeTaskIDPtr", ...
"sampleTimeTaskIDPtr", ...
"Timing", ...
"INT", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMModelPtrsForNonERTIsReqFcn() || RTMChildSfunctionIsReqFcn()")>
%if GenerateGRTWrapper
%<RTMAddRecPntr(...
"SampleHitPtr", ...
"sampleHits", ...
"Timing", ...
"INT", ...
NO_QUALIFIER, ...
ERT_MACRO_NO_SET_PUB_GET, ...
"TLC_TRUE")>
%else
%<RTMAddRecPntr(...
"SampleHitPtr", ...
"sampleHits", ...
"Timing", ...
"INT", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMChildSfunctionIsReqFcn()")>
%endif
%<RTMAddRecPntr(...
"PerTaskSampleHitsPtr", ...
"perTaskSampleHits", ...
"Timing", ...
"INT", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMChildSfunctionIsReqFcn()")>
%<RTMAddRecPntr(...
"TimePtr", ...
"t", ...
"Timing", ...
"TIME", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMTimePtrIsReqFcn()")>
%if SLibIsERTCodeFormat()
%with ::CompiledModel
%<RTMAddRecArry(...
"SampleTimeArray", ...
"sampleTimesArray", ...
"Timing", ...
"TIME", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
["%<NumRuntimeExportedRates>"], ...
"RTMModelPtrsForNonERTIsReqFcn() || RTMChildSfunctionIsReqFcn()")>
%<RTMAddRecArry(...
"OffsetTimeArray", ...
"offsetTimesArray", ...
"Timing", ...
"TIME", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
["%<NumRuntimeExportedRates>"], ...
"RTMModelPtrsForNonERTIsReqFcn() || RTMChildSfunctionIsReqFcn()")>
%<RTMAddRecArry(...
"SampleTimeTaskIDArray", ...
"sampleTimeTaskIDArray", ...
"Timing", ...
"INT", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
["%<NumRuntimeExportedRates>"], ...
"RTMModelPtrsForNonERTIsReqFcn() || RTMChildSfunctionIsReqFcn()")>
%<RTMAddRecArry(...
"SampleHitArray", ...
"sampleHitArray", ...
"Timing", ...
"INT", ...
NO_QUALIFIER, ...
ERT_MACRO_NO_SET_PUB_GET, ...
["%<NumRuntimeExportedRates>"], ...
"GenerateGRTWrapper || RTMChildSfunctionIsReqFcn()")>
%<RTMAddRecArry(...
"PerTaskSampleHitsArray", ...
"perTaskSampleHitsArray", ...
"Timing", ...
"INT", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
["%"], ...
"RTMChildSfunctionIsReqFcn()")>
%<RTMAddRecArry(...
"TaskTimeArray", ...
"tArray", ...
"Timing", ...
"TIME", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
["%<NumSampleTimes>"], ...
"RTMTimePtrIsReqFcn()")>
%endwith
%endif
%if GenerateGRTWrapper || isGRTMalloc
%assign RTMBlockIOType = "VOID"
%else
%assign RTMBlockIOType = "BLOCKIO"
%endif
%<RTMAddRecPntr(...
"BlockIO", ...
"blockIO", ...
MODELDATA, ...
RTMBlockIOType, ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
"RTMModelPtrsToBlockIOIsReqFcn()")>
%<RTMAddRecPntr(...
"ConstBlockIO", ...
"constBlockIO", ...
MODELDATA, ...
"VOID", ...
CONST_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
"RTMModelPtrsToConstBlockIOIsReqFcn()")>
%if GenerateGRTWrapper || isGRTMalloc
%assign RTMParameterType = "VOID"
%else
%assign RTMParameterType = "PARAMETER"
%endif
%<RTMAddRecPntr(...
"DefaultParam", ...
"defaultParam", ...
MODELDATA, ...
RTMParameterType, ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
"RTMModelPtrsToDefaultParamIsReqFcn()")>
%<RTMAddRecPntr(...
"PrevZCSigState", ...
"prevZCSigState", ...
MODELDATA, ...
"ZC_SIG_STATE", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
"RTMModelPtrsToPrevZcSigStateIsReqFcn()")>
%if GRTInterface || isGRTMalloc
%assign RTMContStatesType = "REAL"
%else
%assign RTMContStatesType = "CONT_STATES"
%endif
%<RTMAddRecPntr(...
"ContStates", ...
"contStates", ...
MODELDATA, ...
RTMContStatesType, ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
"RTMContStateErtNoMdlRefIsReqFcn()")>
%<RTMAddRecPntr(...
"PeriodicContStateIndices", ...
"periodicContStateIndices", ...
MODELDATA, ...
"INT", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
"RTMContStateErtNoMdlRefIsReqFcn()")>
%<RTMAddRecPntr(...
"PeriodicContStateRanges", ...
"periodicContStateRanges", ...
MODELDATA, ...
"REAL", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
"RTMContStateErtNoMdlRefIsReqFcn()")>
%<RTMAddRecPntr(...
"dX", ...
"derivs", ...
MODELDATA, ...
"REAL", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
"RTMContStateErtNoMdlRefIsReqFcn()")>
%if (::CompiledModel.SolverType == "VariableStep")
%<RTMAddRecPntr(...
"AbsTolVector", ...
"absTol", ...
MODELDATA, ...
"REAL", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
"RTMContStateErtNoMdlRefIsReqFcn()")>
%endif
%if (::CompiledModel.SolverType == "VariableStep")
%<RTMAddRecPntr(...
"JacobianPerturbationBoundsMinVec", ...
"JacobianPerturbationBoundsMin", ...
MODELDATA, ...
"REAL", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
"RTMContStateErtNoMdlRefIsReqFcn()")>
%endif
%if (::CompiledModel.SolverType == "VariableStep")
%<RTMAddRecPntr(...
"JacobianPerturbationBoundsMaxVec", ...
"JacobianPerturbationBoundsMax", ...
MODELDATA, ...
"REAL", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
"RTMContStateErtNoMdlRefIsReqFcn()")>
%endif
%<RTMAddRecPntr(...
"ZCSignalValues", ...
"zcSignalValues", ...
MODELDATA, ...
"VOID", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
"RTMModelPtrsToZCSignalValuesIsReqFcn()")>
%if GenerateGRTWrapper || isGRTMalloc
%assign RTMInputsType = "VOID"
%else
%assign RTMInputsType = "INPUTS"
%endif
%<RTMAddRecPntr(...
"U", ...
"inputs", ...
MODELDATA, ...
RTMInputsType, ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
"RTMModelPtrsToInputsIsReqFcn()")>
%if GenerateGRTWrapper || isGRTMalloc
%assign RTMOutputsType = "VOID"
%else
%assign RTMOutputsType = "OUTPUTS"
%endif
%<RTMAddRecPntr(...
"Y", ...
"outputs", ...
MODELDATA, ...
RTMOutputsType, ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
"RTMModelPtrsToOutputsIsReqFcn()")>
%<RTMAddRecPntr(...
"ContStateDisabled", ...
"contStateDisabled", ...
MODELDATA, ...
"BOOLEAN", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
"RTMContStateErtNoMdlRefIsReqFcn()")>
%<RTMAddRecSclr(...
"ZCCacheNeedsReset", ...
"zCCacheNeedsReset", ...
MODELDATA, ...
"BOOLEAN", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
"RTMContStateErtNoMdlRefIsReqFcn() || RTMChildSfunctionIsReqFcn()")>
%<RTMAddRecSclr(...
"DerivCacheNeedsReset", ...
"derivCacheNeedsReset", ...
MODELDATA, ...
"BOOLEAN", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
"RTMContStateErtNoMdlRefIsReqFcn() || RTMChildSfunctionIsReqFcn()")>
%<RTMAddRecSclr(...
"ContTimeOutputInconsistentWithStateAtMajorStepFlag", ...
"CTOutputIncnstWithState", ...
MODELDATA, ...
"BOOLEAN", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
"RTMContStateErtNoMdlRefIsReqFcn() || RTMChildSfunctionIsReqFcn()")>
%<RTMAddRecSclr(...
"ParamIsMalloced", ...
"paramIsMalloced", ...
MODELDATA, ...
"BOOLEAN", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
"RTMParamIsMallocedIsReqFcn()")>
%if (::CompiledModel.ModelIsLinearlyImplicit == "yes")
%<RTMAddRecSclr(...
"MassMatrixType", ...
"massMatrixType", ...
MODELDATA, ...
"INT", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
"RTMContStateErtNoMdlRefIsReqFcn()")>
%<RTMAddRecSclr(...
"MassMatrixNzMax", ...
"massMatrixNzMax", ...
MODELDATA, ...
"INT", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
"RTMContStateErtNoMdlRefIsReqFcn()")>
%<RTMAddRecPntr(...
"MassMatrixIr", ...
"massMatrixIr", ...
MODELDATA, ...
"INT", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
"RTMContStateErtNoMdlRefIsReqFcn()")>
%<RTMAddRecPntr(...
"MassMatrixJc", ...
"massMatrixJc", ...
MODELDATA, ...
"INT", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
"RTMContStateErtNoMdlRefIsReqFcn()")>
%<RTMAddRecPntr(...
"MassMatrixPr", ...
"massMatrixPr", ...
MODELDATA, ...
"REAL", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
"RTMContStateErtNoMdlRefIsReqFcn()")>
%endif
%if solverODE14X
%<RTMAddRecArry(...
"OdeX0", ...
"odeX0", ...
MODELDATA, ...
"REAL", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
["%<::CompiledModel.NumContStates>"], ...
"RTMContainerErtIsReqFcn()")>
%<RTMAddRecArry(...
"OdeF0", ...
"odeF0", ...
MODELDATA, ...
"REAL", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
["%<::CompiledModel.NumContStates>"], ...
"RTMContainerErtIsReqFcn()")>
%<RTMAddRecArry(...
"OdeX1START", ...
"odeX1START", ...
MODELDATA, ...
"REAL", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
["%<::CompiledModel.NumContStates>"], ...
"RTMContainerErtIsReqFcn()")>
%<RTMAddRecArry(...
"OdeF1", ...
"odeF1", ...
MODELDATA, ...
"REAL", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
["%<::CompiledModel.NumContStates>"], ...
"RTMContainerErtIsReqFcn()")>
%<RTMAddRecArry(...
"OdeDELTA", ...
"odeDELTA", ...
MODELDATA, ...
"REAL", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
["%<::CompiledModel.NumContStates>"], ...
"RTMContainerErtIsReqFcn()")>
%<RTMAddRecArry(...
"OdeE", ...
"odeE", ...
MODELDATA, ...
"REAL", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
["4*%<::CompiledModel.NumContStates>"], ...
"RTMContainerErtIsReqFcn()")>
%<RTMAddRecArry(...
"OdeFAC", ...
"odeFAC", ...
MODELDATA, ...
"REAL", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
["%<::CompiledModel.NumContStates>"], ...
"RTMContainerErtIsReqFcn()")>
%<RTMAddRecArry(...
"OdeDFDX", ...
"odeDFDX", ...
MODELDATA, ...
"REAL", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
["%<::CompiledModel.NumContStates>*%<::CompiledModel.NumContStates>"], ...
"RTMContainerErtIsReqFcn()")>
%<RTMAddRecArry(...
"OdeW", ...
"odeW", ...
MODELDATA, ...
"REAL", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
["%<::CompiledModel.NumContStates>*%<::CompiledModel.NumContStates>"], ...
"RTMContainerErtIsReqFcn()")>
%<RTMAddRecArry(...
"OdePIVOTS", ...
"odePIVOTS", ...
MODELDATA, ...
"INT", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
["%<::CompiledModel.NumContStates>"], ...
"RTMContainerErtIsReqFcn()")>
%<RTMAddRecArry(...
"OdeXTMP", ...
"odeXTMP", ...
MODELDATA, ...
"REAL", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
["%<::CompiledModel.NumContStates>"], ...
"RTMContainerErtIsReqFcn()")>
%<RTMAddRecArry(...
"OdeZTMP", ...
"odeZTMP", ...
MODELDATA, ...
"REAL", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
["%<::CompiledModel.NumContStates>"], ...
"RTMContainerErtIsReqFcn()")>
%if (::CompiledModel.ModelIsLinearlyImplicit == "yes")
%<RTMAddRecArry(...
"OdeMASSMATRIX_M", ...
"odeMASSMATRIX_M", ...
MODELDATA, ...
"REAL", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
["%<::CompiledModel.ModelMassMatrixNzMax>"], ...
"RTMContainerErtIsReqFcn()")>
%if (SLibModelMassMatrixType() != "constant")
%<RTMAddRecArry(...
"OdeMASSMATRIX_M1", ...
"odeMASSMATRIX_M1", ...
MODELDATA, ...
"REAL", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
["%<::CompiledModel.ModelMassMatrixNzMax>"], ...
"RTMContainerErtIsReqFcn()")>
%endif
%if (SLibModelMassMatrixType() == "statedep")
%<RTMAddRecArry(...
"OdeEDOT", ...
"odeEDOT", ...
MODELDATA, ...
"REAL", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
["4*%<::CompiledModel.NumContStates>"], ...
"RTMContainerErtIsReqFcn()")>
%<RTMAddRecArry(...
"OdeXDOT", ...
"odeXDOT", ...
MODELDATA, ...
"REAL", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
["%<::CompiledModel.NumContStates>"], ...
"RTMContainerErtIsReqFcn()")>
%<RTMAddRecArry(...
"OdeFMXDOT", ...
"odeFMXDOT", ...
MODELDATA, ...
"REAL", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
["%<::CompiledModel.NumContStates>"], ...
"RTMContainerErtIsReqFcn()")>
%endif
%endif
%elseif solverODE1BE
%<RTMAddRecArry(...
"OdeX0", ...
"odeX0", ...
MODELDATA, ...
"REAL", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
["%<::CompiledModel.NumContStates>"], ...
"RTMContainerErtIsReqFcn()")>
%<RTMAddRecArry(...
"OdeF0", ...
"odeF0", ...
MODELDATA, ...
"REAL", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
["%<::CompiledModel.NumContStates>"], ...
"RTMContainerErtIsReqFcn()")>
%<RTMAddRecArry(...
"OdeF1", ...
"odeF1", ...
MODELDATA, ...
"REAL", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
["%<::CompiledModel.NumContStates>"], ...
"RTMContainerErtIsReqFcn()")>
%<RTMAddRecArry(...
"OdeDELTA", ...
"odeDELTA", ...
MODELDATA, ...
"REAL", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
["%<::CompiledModel.NumContStates>"], ...
"RTMContainerErtIsReqFcn()")>
%<RTMAddRecArry(...
"OdeFAC", ...
"odeFAC", ...
MODELDATA, ...
"REAL", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
["%<::CompiledModel.NumContStates>"], ...
"RTMContainerErtIsReqFcn()")>
%<RTMAddRecArry(...
"OdeDFDX", ...
"odeDFDX", ...
MODELDATA, ...
"REAL", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
["%<::CompiledModel.NumContStates>*%<::CompiledModel.NumContStates>"], ...
"RTMContainerErtIsReqFcn()")>
%<RTMAddRecArry(...
"OdeW", ...
"odeW", ...
MODELDATA, ...
"REAL", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
["%<::CompiledModel.NumContStates>*%<::CompiledModel.NumContStates>"], ...
"RTMContainerErtIsReqFcn()")>
%<RTMAddRecArry(...
"OdePIVOTS", ...
"odePIVOTS", ...
MODELDATA, ...
"INT", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
["%<::CompiledModel.NumContStates>"], ...
"RTMContainerErtIsReqFcn()")>
%<RTMAddRecArry(...
"OdeZ", ...
"odeZ", ...
MODELDATA, ...
"REAL", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
["%<::CompiledModel.NumContStates>"], ...
"RTMContainerErtIsReqFcn()")>
%if (::CompiledModel.ModelIsLinearlyImplicit == "yes")
%<RTMAddRecArry(...
"OdeMASSMATRIX_M", ...
"odeMASSMATRIX_M", ...
MODELDATA, ...
"REAL", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
["%<::CompiledModel.ModelMassMatrixNzMax>"], ...
"RTMContainerErtIsReqFcn()")>
%endif
%elseif solverODE8
%<RTMAddRecArry(...
"OdeDeltaY", ...
"OdeDeltaY", ...
MODELDATA, ...
"REAL", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
["%<::CompiledModel.NumContStates>"], ...
"RTMSolverYIsReqFcn()")>
%<RTMAddRecArry(...
"OdeF", ...
"odeF", ...
MODELDATA, ...
"REAL", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
["%<solverOrder>", "%<::CompiledModel.NumContStates>"], ...
"RTMContainerErtIsReqFcn()")>
%<RTMAddRecArry(...
"OdeX0", ...
"odeX0", ...
MODELDATA, ...
"REAL", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
["%<::CompiledModel.NumContStates>"], ...
"RTMSolverYIsReqFcn()")>
%else
%<RTMAddRecArry(...
"OdeY", ...
"odeY", ...
MODELDATA, ...
"REAL", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
["%<::CompiledModel.NumContStates>"], ...
"RTMSolverYIsReqFcn()")>
%<RTMAddRecArry(...
"OdeF", ...
"odeF", ...
MODELDATA, ...
"REAL", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
["%<solverOrder>", "%<::CompiledModel.NumContStates>"], ...
"RTMContainerErtIsReqFcn()")>
%endif
%<RTMAddRecSclr(...
"IntgData", ...
"intgData", ...
MODELDATA, ...
"INTG", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
"RTMContainerErtIsReqFcn()")>
%if GenerateGRTWrapper || isGRTMalloc
%assign RTMDWorkType = "VOID"
%else
%assign RTMDWorkType = "DWORK"
%endif
%<RTMAddRecPntr(...
"RootDWork", ...
"dwork", ...
MODELDATA, ...
RTMDWorkType, ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
"RTMModelPtrsToRootDWorkIsReqFcn()")>
%<RTMAddRecPntr(...
"Self", ...
"self", ...
MODELDATA, ...
"SELF", ...
NO_QUALIFIER, ...
MACRO_FOR_MODEL_DATA, ...
"RTMNeverReqIsReqFcn()")>
%<RTMAddRecPntr(...
"ModelMappingInfo", ...
"mappingInfo", ...
"SpecialInfo", ...
"VOID", ...
CONST_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMMappingInfoIsReqFcn()")>
%<RTMAddRecPntr(...
"ReservedForXPC", ...
"xpcData", ...
"SpecialInfo", ...
"VOID", ...
NO_QUALIFIER, ...
ERT_MACRO_NONE, ...
"RTMModelPtrsToReservedForXPCIsReqFcn()")>
%<RTMAddRecSclr(...
"DataMapInfo", ...
"DataMapInfo", ...
"", ...
"DATA_MAP_INFO", ...
NO_QUALIFIER, ...
ERT_MACRO_PUB_SET_PUB_GET, ...
"RTMDataMapInfoIsReqFcn()")>
%<RTMAddRecDummy("MdlInfoPtr")>
%<RTMAddRecDummy("RootSS")>
%<RTMAddRecDummy("Version")>
%<RTMAddRecIdxedAccs(...
"SFunction", ...
"SFunctions")>
%<RTMAddRecIdxedAccs(...
"VarNextHitTimeList", ...
"VarNextHitTimesListPtr")>
%<RTMAddRecIdxedAccs(...
"SampleTime", ...
"SampleTimePtr")>
%<RTMAddRecIdxedAccs(...
"OffsetTime", ...
"OffsetTimePtr")>
%<RTMAddRecIdxedAccs(...
"SampleTimeTaskID", ...
"SampleTimeTaskIDPtr")>
%<RTMAddRecIdxedAccs(...
"DWork", ...
"RootDWork")>
%<RTMAddRecIdxedAccs(...
"ChecksumVal", ...
"Checksums")>
%assign NO_ARG_FOR_SET = TLC_FALSE
%assign ARG_FOR_SET = TLC_TRUE
%assign NO_OTHER_FCN = ""
%<RTMAddRecSpecialAccs(...
"T", ...
"RTMSpecAccsGetT", ...
"RTMSpecAccsSetT", ...
NO_IS_FCN, ...
NO_OTHER_FCN, ...
ARG_FOR_SET, ...
0, ...
[], ...
GET_FCN_USE_TIMING_BRIDGE, ...
RTMTimingBridgeIsInstanceBased() ? HAS_RTM_ARG : NO_RTM_ARG_FOR_RTWMR, ...
ERT_MACRO_NO_SET_PUB_GET)>
%<RTMAddRecSpecialAccs(...
"TimeOfLastOutput", ...
"RTMSpecAccsGetTimeOfLastOutput", ...
"RTMSpecAccsSetTimeOfLastOutput", ...
NO_IS_FCN, ...
NO_OTHER_FCN, ...
ARG_FOR_SET, ...
0, ...
[], ...
NO_TIMING_BRIDGE, ...
HAS_RTM_ARG, ...
ERT_MACRO_NO_SET_PUB_GET)>
%<RTMAddRecSpecialAccs(...
"TStart", ...
"RTMSpecAccsGetTStart", ...
"RTMSpecAccsSetTStart", ...
NO_IS_FCN, ...
NO_OTHER_FCN, ...
ARG_FOR_SET, ...
0, ...
[], ...
NO_TIMING_BRIDGE, ...
HAS_RTM_ARG, ...
ERT_MACRO_NO_SET_PUB_GET)>
%if (IsModelReferenceRTWTarget() && IsSimstructBasedTarget()) ||...
IsModelReferenceSimTarget()
%<RTMAddRecSpecialAccs(...
"RaiseEventWithEnqueueUsingRateIndex", ...
NO_GET_FCN, ...
NO_SET_FCN, ...
NO_IS_FCN, ...
"RTMSpecAccsRaiseEventWithEnqueueUsingRateIndex", ...
NO_ARG_FOR_SET, ...
1, ...
["sti"], ...
NO_TIMING_BRIDGE, ...
HAS_RTM_ARG, ...
ERT_MACRO_PRV_OTHER)>
%<RTMAddRecSpecialAccs(...
"DisableTaskUsingRateIndex", ...
NO_GET_FCN, ...
NO_SET_FCN, ...
NO_IS_FCN, ...
"RTMSpecAccsDisableTaskUsingRateIndex", ...
NO_ARG_FOR_SET, ...
1, ...
["sti"], ...
NO_TIMING_BRIDGE, ...
HAS_RTM_ARG, ...
ERT_MACRO_PRV_OTHER)>
%<RTMAddRecSpecialAccs(...
"EnableTaskUsingRateIndex", ...
NO_GET_FCN, ...
NO_SET_FCN, ...
NO_IS_FCN, ...
"RTMSpecAccsEnableTaskUsingRateIndex", ...
NO_ARG_FOR_SET, ...
1, ...
["sti"], ...
NO_TIMING_BRIDGE, ...
HAS_RTM_ARG, ...
ERT_MACRO_PRV_OTHER)>
%endif
%if (IsModelReferenceRTWTarget() && IsSimstructBasedTarget()) ||...
IsModelReferenceSimTarget()
%<RTMAddRecSpecialAccs(...
"LogOutput", ...
"RTMSpecAccsGetLogOutput", ...
NO_SET_FCN,...
NO_IS_FCN, ...
NO_OTHER_FCN, ...
ARG_FOR_SET, ...
0, ...
[], ...
NO_TIMING_BRIDGE, ...
HAS_RTM_ARG, ...
ERT_MACRO_NO_SET_PUB_GET)>
%endif
%if GenerateGRTWrapper
%<RTMAddRecSpecialAccs(...
"TFinal", ...
"RTMSpecAccsGetTFinal", ...
"RTMSpecAccsSetTFinal", ...
NO_IS_FCN, ...
NO_OTHER_FCN, ...
ARG_FOR_SET, ...
0, ...
[], ...
NO_TIMING_BRIDGE, ...
HAS_RTM_ARG, ...
ERT_MACRO_PUB_SET_PUB_GET)>
%<RTMAddRecSpecialAccs(...
"TPtr", ...
"RTMSpecAccsGetTPtr", ...
"RTMSpecAccsSetTPtr", ...
NO_IS_FCN, ...
NO_OTHER_FCN, ...
ARG_FOR_SET, ...
0, ...
[], ...
NO_TIMING_BRIDGE, ...
NO_RTM_ARG_FOR_RTWMR, ...
ERT_MACRO_PRV_SET_PUB_GET)>
%else
%<RTMAddRecSpecialAccs(...
"TFinal", ...
"RTMSpecAccsGetTFinal", ...
"RTMSpecAccsSetTFinal", ...
NO_IS_FCN, ...
NO_OTHER_FCN, ...
ARG_FOR_SET, ...
0, ...
[], ...
NO_TIMING_BRIDGE, ...
HAS_RTM_ARG, ...
ERT_MACRO_PRV_SET_PUB_GET)>
%<RTMAddRecSpecialAccs(...
"TPtr", ...
"RTMSpecAccsGetTPtr", ...
"RTMSpecAccsSetTPtr", ...
NO_IS_FCN, ...
NO_OTHER_FCN, ...
ARG_FOR_SET, ...
0, ...
[], ...
NO_TIMING_BRIDGE, ...
HAS_RTM_ARG, ...
ERT_MACRO_PRV_SET_PUB_GET)>
%endif
%if IsModelReferenceTarget()
%if !IsSimstructBasedTarget()
%<RTMAddRecSpecialAccs(...
"StopRequested", ...
"RTMSpecAccsGetStopRequestedValStoredAsPtr", ...
"RTMSpecAccsSetStopRequestedValStoredAsPtr", ...
NO_IS_FCN, ...
NO_OTHER_FCN, ...
ARG_FOR_SET, ...
0, ...
[], ...
NO_TIMING_BRIDGE, ...
HAS_RTM_ARG, ...
ERT_MACRO_PUB_SET_PUB_GET)>
%<RTMAddRecSpecialAccs(...
"StopRequestedPtr", ...
"RTMSpecAccsGetStopRequestedPtrStoredAsPtr", ...
"RTMSpecAccsSetStopRequestedPtrStoredAsPtr", ...
NO_IS_FCN, ...
NO_OTHER_FCN, ...
ARG_FOR_SET, ...
0, ...
[], ...
NO_TIMING_BRIDGE, ...
HAS_RTM_ARG, ...
ERT_MACRO_PUB_SET_PUB_GET)>
%endif
%else
%<RTMAddRecSpecialAccs(...
"StopRequested", ...
"RTMSpecAccsGetStopRequested", ...
"RTMSpecAccsSetStopRequested", ...
NO_IS_FCN, ...
NO_OTHER_FCN, ...
ARG_FOR_SET, ...
0, ...
[], ...
NO_TIMING_BRIDGE, ...
HAS_RTM_ARG, ...
ERT_MACRO_PUB_SET_PUB_GET)>
%<RTMAddRecSpecialAccs(...
"StopRequestedPtr", ...
"RTMSpecAccsGetStopRequestedPtr", ...
NO_SET_FCN, ...
NO_IS_FCN, ...
NO_OTHER_FCN, ...
ARG_FOR_SET, ...
0, ...
[], ...
NO_TIMING_BRIDGE, ...
HAS_RTM_ARG, ...
ERT_MACRO_PUB_SET_PUB_GET)>
%endif
%if IsModelReferenceTarget()
%if !IsSimstructBasedTarget()
%<RTMAddRecSpecialAccs(...
"ErrorStatus", ...
"RTMSpecAccsGetErrorStatusPointer", ...
"RTMSpecAccsSetErrorStatusPointer", ...
NO_IS_FCN, ...
NO_OTHER_FCN, ...
ARG_FOR_SET, ...
0, ...
[], ...
NO_TIMING_BRIDGE, ...
NO_RTM_ARG_WHEN_ERRSTAT_SUPPRESSED, ...
ERT_MACRO_PUB_SET_PUB_GET)>
%<RTMAddRecSpecialAccs(...
"ErrorStatusPointer", ...
"RTMSpecAccsGetErrorStatusPointerPointer", ...
"RTMSpecAccsSetErrorStatusPointerPointer", ...
NO_IS_FCN, ...
NO_OTHER_FCN, ...
ARG_FOR_SET, ...
0, ...
[], ...
NO_TIMING_BRIDGE, ...
NO_RTM_ARG_WHEN_ERRSTAT_SUPPRESSED, ...
ERT_MACRO_PUB_SET_PUB_GET)>
%<RTMAddRecSpecialAccs(...
"SimTimeStep", ...
"RTMSpecAccsGetSimTimeStepPointer", ...
NO_SET_FCN, ...
NO_IS_FCN, ...
NO_OTHER_FCN, ...
ARG_FOR_SET, ...
0, ...
[], ...
NO_TIMING_BRIDGE, ...
HAS_RTM_ARG, ...
ERT_MACRO_PUB_SET_PUB_GET)>
%<RTMAddRecSpecialAccs(...
"SimTimeStepPointer", ...
"RTMSpecAccsGetSimTimeStepPointerPointer", ...
"RTMSpecAccsSetSimTimeStepPointerPointer", ...
NO_IS_FCN, ...
NO_OTHER_FCN, ...
ARG_FOR_SET, ...
0, ...
[], ...
NO_TIMING_BRIDGE, ...
HAS_RTM_ARG, ...
ERT_MACRO_PUB_SET_PUB_GET)>
%endif
%else
%<RTMAddRecSpecialAccs(...
"ErrorStatus", ...
"RTMSpecAccsGetErrorStatus", ...
"RTMSpecAccsSetErrorStatus", ...
NO_IS_FCN, ...
NO_OTHER_FCN, ...
ARG_FOR_SET, ...
0, ...
[], ...
NO_TIMING_BRIDGE, ...
HAS_RTM_ARG, ...
ERT_MACRO_PUB_SET_PUB_GET)>
%<RTMAddRecSpecialAccs(...
"ErrorStatusPointer", ...
"RTMSpecAccsGetErrorStatusPointerPointer", ...
NO_SET_FCN, ...
NO_IS_FCN, ...
NO_OTHER_FCN, ...
ARG_FOR_SET, ...
0, ...
[], ...
NO_TIMING_BRIDGE, ...
HAS_RTM_ARG, ...
ERT_MACRO_PUB_SET_PUB_GET)>
%endif
%<RTMAddRecSpecialAccs(...
"MajorTimeStep", ...
NO_GET_FCN, ...
NO_SET_FCN, ...
"RTMSpecAccsIsMajorTimeStep", ...
NO_OTHER_FCN, ...
NO_ARG_FOR_SET, ...
0, ...
[], ...
NO_TIMING_BRIDGE, ...
HAS_RTM_ARG, ...
ERT_MACRO_PRV_IS)>
%<RTMAddRecSpecialAccs(...
"MinorTimeStep", ...
NO_GET_FCN, ...
NO_SET_FCN, ...
"RTMSpecAccsIsMinorTimeStep", ...
NO_OTHER_FCN, ...
NO_ARG_FOR_SET, ...
0, ...
[], ...
NO_TIMING_BRIDGE, ...
HAS_RTM_ARG, ...
ERT_MACRO_PRV_IS)>
%<RTMAddRecSpecialAccs(...
"FirstInitCond", ...
NO_GET_FCN, ...
"RTMSpecAccsSetFirstInitCond", ...
"RTMSpecAccsIsFirstInitCond", ...
NO_OTHER_FCN, ...
ARG_FOR_SET, ...
0, ...
[], ...
IS_FCN_USE_TIMING_BRIDGE, ...
RTMTimingBridgeIsInstanceBased() ? HAS_RTM_ARG : NO_RTM_ARG_FOR_RTWMR, ...
ERT_MACRO_PRV_SET_PRV_IS)>
%<RTMAddRecSpecialAccs(...
"SampleHitInTask", ...
NO_GET_FCN, ...
"RTMSpecAccsSetSampleHitInTask", ...
NO_IS_FCN, ...
NO_OTHER_FCN, ...
ARG_FOR_SET, ...
2, ...
["tIdxj", "tIdxi"], ...
NO_TIMING_BRIDGE, ...
HAS_RTM_ARG, ...
ERT_MACRO_NONE)>
%<RTMAddRecSpecialAccs(...
"ContinuousTask", ...
NO_GET_FCN, ...
NO_SET_FCN, ...
"RTMSpecAccsIsContinuousTask", ...
NO_OTHER_FCN, ...
NO_ARG_FOR_SET, ...
1, ...
["tid"], ...
NO_TIMING_BRIDGE, ...
HAS_RTM_ARG, ...
ERT_MACRO_NONE)>
%<RTMAddRecSpecialAccs(...
"TaskTime", ...
"RTMSpecAccsGetTaskTime", ...
"RTMSpecAccsSetTaskTime", ...
NO_IS_FCN, ...
NO_OTHER_FCN, ...
ARG_FOR_SET, ...
1, ...
["sti"], ...
NO_TIMING_BRIDGE, ...
NO_RTM_ARG_FOR_RTWMR, ...
IsModelReferenceForASimstructBasedTarget() ? ...
ERT_MACRO_PUB_SET_PUB_GET : ...
ERT_MACRO_NO_SET_PUB_GET)>
%if IsModelReferenceTarget() && ...
SLibModelHasControllableRate()
%<RTMAddRecSpecialAccs( ...
"NumTicksToNextHitForCtrlRateInMdlRef", ...
"RTMSpecAccsGetNumTicksToNextHit", ...
"RTMSpecAccsSetNumTicksToNextHit", ...
NO_IS_FCN, ...
NO_OTHER_FCN, ...
ARG_FOR_SET, ...
1, ...
["sti"], ...
NO_TIMING_BRIDGE, ...
HAS_RTM_ARG, ...
ERT_MACRO_PUB_SET_PUB_GET)>
%endif
%if IsModelReferenceForASimstructBasedTarget()
%<RTMAddRecSpecialAccs(...
"SampleHit", ...
NO_GET_FCN, ...
"RTMSpecAccsSetSampleHit", ...
"RTMSpecAccsIsSampleHit", ...
NO_OTHER_FCN, ...
ARG_FOR_SET, ...
2, ...
["sti", "tid"], ...
SET_IS_FCN_USE_TIMING_BRIDGE_GLOBAL_TID, ...
HAS_RTM_ARG, ...
ERT_MACRO_PUB_SET_PUB_IS)>
%<RTMAddRecSpecialAccs( ...
"VarNextHitTime", ...
"RTMSpecAccsGetVarNextHitTime", ...
"RTMSpecAccsSetVarNextHitTime", ...
NO_IS_FCN, ...
NO_OTHER_FCN, ...
ARG_FOR_SET, ...
1, ...
["sti"], ...
SET_FCN_USE_TIMING_BRIDGE, ...
RTMMdlRefGlobalTIDIsInstanceBased() ? ...
HAS_RTM_ARG : NO_RTM_ARG_FOR_RTWMR, ...
ERT_MACRO_PUB_SET_PUB_GET)>
%<RTMAddRecSpecialAccs( ...
"TNextWasAdjusted", ...
"RTMSpecAccsGetTNextWasAdjusted", ...
NO_SET_FCN, ...
NO_IS_FCN, ...
NO_OTHER_FCN, ...
NO_ARG_FOR_SET, ...
1, ...
["sti"], ...
SET_FCN_USE_TIMING_BRIDGE, ...
RTMMdlRefGlobalTIDIsInstanceBased() ? ...
HAS_RTM_ARG : NO_RTM_ARG_FOR_RTWMR, ...
ERT_MACRO_NO_SET_PUB_GET)>
%else
%if GenerateGRTWrapper && ExtMode
%<RTMAddRecSpecialAccs(...
"SampleHit", ...
NO_GET_FCN, ...
NO_SET_FCN, ...
"RTMSpecAccsIsSampleHit", ...
NO_OTHER_FCN, ...
NO_ARG_FOR_SET, ...
2, ...
["sti", "tid"], ...
IS_FCN_USE_TIMING_BRIDGE_GLOBAL_TID, ...
HAS_RTM_ARG, ...
ERT_MACRO_PUB_IS)>
%else
%<RTMAddRecSpecialAccs(...
"SampleHit", ...
NO_GET_FCN, ...
NO_SET_FCN, ...
"RTMSpecAccsIsSampleHit", ...
NO_OTHER_FCN, ...
NO_ARG_FOR_SET, ...
2, ...
["sti", "tid"], ...
IS_FCN_USE_TIMING_BRIDGE_GLOBAL_TID, ...
RTMMdlRefGlobalTIDIsInstanceBased() || RTMTimingBridgeIsInstanceBased() ? ...
HAS_RTM_ARG : NO_RTM_ARG_FOR_RTWMR, ...
ERT_MACRO_PRV_IS)>
%endif
%endif
%<RTMAddRecSpecialAccs(...
"SpecialSampleHit", ...
NO_GET_FCN, ...
NO_SET_FCN, ...
"RTMSpecAccsIsSpecialSampleHit", ...
NO_OTHER_FCN, ...
NO_ARG_FOR_SET, ...
3, ...
["sti", "prom_sti", "tid"], ...
IS_FCN_USE_TIMING_BRIDGE_GLOBAL_TID, ...
RTMMdlRefGlobalTIDIsInstanceBased() || RTMTimingBridgeIsInstanceBased() ? ...
HAS_RTM_ARG : NO_RTM_ARG_FOR_RTWMR, ...
ERT_MACRO_PRV_IS)>
%<RTMAddRecSpecialAccs(...
"UpdateSubrateTaskTime", ...
NO_GET_FCN, ...
NO_SET_FCN, ...
NO_IS_FCN, ...
"RTMSpecAccsUpdateSubrateTaskTime", ...
NO_ARG_FOR_SET, ...
1, ...
["tid"], ...
NO_TIMING_BRIDGE, ...
HAS_RTM_ARG, ...
ERT_MACRO_PRV_OTHER)>
%<RTMAddRecSpecialAccs(...
"UpdateRealAbsoluteTime", ...
NO_GET_FCN, ...
NO_SET_FCN, ...
NO_IS_FCN, ...
"RTMSpecAccsUpdateRealAbsoluteTime", ...
NO_ARG_FOR_SET, ...
0, ...
[], ...
NO_TIMING_BRIDGE, ...
HAS_RTM_ARG, ...
ERT_MACRO_PRV_OTHER)>
%<RTMAddRecSpecialAccs(...
"UpdateIntegerAbsoluteTime", ...
NO_GET_FCN, ...
NO_SET_FCN, ...
NO_IS_FCN, ...
"RTMSpecAccsUpdateIntegerAbsoluteTime", ...
NO_ARG_FOR_SET, ...
0, ...
[], ...
NO_TIMING_BRIDGE, ...
HAS_RTM_ARG, ...
ERT_MACRO_PRV_OTHER)>
%if RTMTaskCountersIsReqFcn()
%<RTMAddRecSpecialAccs(...
"StepTask", ...
NO_GET_FCN, ...
NO_SET_FCN, ...
NO_IS_FCN, ...
"RTMSpecAccsTaskRunsThisBaseStep", ...
NO_ARG_FOR_SET, ...
1, ...
["idx"], ...
NO_TIMING_BRIDGE, ...
HAS_RTM_ARG, ...
ERT_MACRO_PUB_OTHER)>
%endif
%if RTMTaskCountersIsReqFcn()
%<RTMAddRecSpecialAccs(...
"TaskCounter", ...
NO_GET_FCN, ...
NO_SET_FCN, ...
NO_IS_FCN, ...
"RTMSpecAccsTaskCounter", ...
NO_ARG_FOR_SET, ...
1, ...
["idx"], ...
NO_TIMING_BRIDGE, ...
HAS_RTM_ARG, ...
ERT_MACRO_PUB_OTHER)>
%endif
%if ::CompiledModel.SuppressMultiTaskScheduler && ...
!::CompiledModel.GenerateSampleERTMain
%<RTMAddRecSpecialAccs(...
"CounterLimit", ...
NO_GET_FCN, ...
NO_SET_FCN, ...
NO_IS_FCN, ...
"RTMSpecAccsCounterLimit", ...
NO_ARG_FOR_SET, ...
1, ...
["idx"], ...
NO_TIMING_BRIDGE, ...
HAS_RTM_ARG, ...
ERT_MACRO_PUB_OTHER)>
%endif
%if IsModelReferenceTarget()
%foreach idx = ::CompiledModel.NumSampleTimes
%if SLibExplicitTaskingTID(idx) && ...
(::CompiledModel.SampleTime[idx].TimeSource == "Self_internal")
%<RTMAddRecSclr(...
"ClockTick%<idx>", ...
"clockTick%<idx>", ...
"Timing", ...
"%<dType>", ...
NO_QUALIFIER, ...
FORCE_NO_MACRO, ...
"ClockTickForTIDIsReqFcn(%<idx>)")>
%<RTMAddRecSclr(...
"ClockTickH%<idx>", ...
"clockTickH%<idx>", ...
"Timing", ...
"UINT32", ...
NO_QUALIFIER, ...
FORCE_NO_MACRO, ...
"LongClockTickForTIDIsReqFcn(%<idx>)")>
%else
%<RTMAddRecSpecialAccs(...
"ClockTick%<idx>", ...
"RTMSpecAccsGetClockTick", ...
NO_SET_FCN, ...
NO_IS_FCN, ...
NO_OTHER_FCN, ...
NO_ARG_FOR_SET, ...
0, ...
[], ...
GET_FCN_USE_TIMING_BRIDGE_GLOBAL_TID, ...
RTMMdlRefGlobalTIDIsInstanceBased() || RTMMdlRefTriggerTIDMayBeRequired() || ...
RTMTimingBridgeIsInstanceBased() ? HAS_RTM_ARG : NO_RTM_ARG_FOR_RTWMR, ...
ERT_MACRO_NO_SET_PUB_GET)>
%<RTMAddRecSpecialAccs(...
"ClockTickH%<idx>", ...
"RTMSpecAccsGetClockTickH", ...
NO_SET_FCN, ...
NO_IS_FCN, ...
NO_OTHER_FCN, ...
NO_ARG_FOR_SET, ...
0, ...
[], ...
GET_FCN_USE_TIMING_BRIDGE_GLOBAL_TID, ...
RTMMdlRefGlobalTIDIsInstanceBased() || RTMMdlRefTriggerTIDMayBeRequired() || ...
RTMTimingBridgeIsInstanceBased() ? HAS_RTM_ARG : NO_RTM_ARG_FOR_RTWMR, ...
ERT_MACRO_NO_SET_PUB_GET)>
%endif
%endforeach
%endif
%endfunction
%function (ssName) void
%openfile tmpBuff
%switch ssName
%case "Sizes"
* The following substructure contains sizes information
* for many of the model attributes such as inputs, outputs,
* dwork, sample times, etc.
%break
%case "ModelData"
* The following substructure contains information regarding
* the data used in the model.
%break
%case "Timing"
* The following substructure contains information regarding
* the timing information for the model.
%break
%case "Work"
* The following substructure contains information regarding
* the work vectors in the model.
%break
%case "SpecialInfo"
* The following substructure contains special information
* related to other components that are dependent on RTW.
%break
%default
%break
%endswitch
%closefile tmpBuff
%openfile cmntBuff
%if !WHITE_SPACE(tmpBuff)
/*
* %<ssName>:
%<tmpBuff> /
*/
%endif
%closefile cmntBuff
%return cmntBuff
%endfunction
%function RTMGetLoggingObject() void
%assign retVal = ""
%if GenRTModel
%assign retVal = "%<RTMGetModelSS()>->rtwLogInfo"
%else
%assign retVal = "ssGetRTWLogInfo(%<RTMGetModelSS()>)"
%endif
%return retVal
%endfunction
%function RTMGetSolverInfo() void
%assign retVal = ""
%if SLibIsERTCodeFormat() && !UsingMalloc && ...
!IsModelReferenceNonSimstructBasedRTWTarget()
%assign retVal = "&%<RTMGet("RTWSolverInfo")>"
%else
%assign retVal = "%<RTMGet("RTWSolverInfo")>"
%endif
%return retVal
%endfunction
%function RTMGetSolverInfoBuffer() void
%assign retVal = ""
%if UsingMalloc
%assign retVal = "&%<RTMGet("RTWSolverInfoBuffer")>"
%else
%assign retVal = "#error /"Unexpected code format in RTMGetSolverInfoBuffer()/""
%endif
%return retVal
%endfunction
%endif