Writing S-Functions |
|
Index
- Ada S-functions
- creating
- example
- GNAT Ada95 compiler
mex
syntax
- source file format
- specification
- additional parameters for M-file S-functions
- array bounds
- checking
- block I/O ports
- block-based sample times
- specifying
- Build Info pane
- S-Function Builder
- C language header file
matlabroot/simulink/include/simstruc.h
- C MEX S-functions
- advantages
- converting from level 1 to level 2
- creating
- definition
- example
- modes for compiling
- S-Function Builder
- Simulink interaction
- C++ objects
- making persistent
- C++ S-functions
- building
mex
command
- callback methods
- CFortran
cg_sfun.h
- checking array bounds
- compiler compatibility
- Fortran
- continuous blocks
- setting sample time
- Continuous Derivatives pane
- S-Function Builder
- continuous state S-function example (C MEX)
- continuous state S-function example (M-file)
- creating persistent C++ objects
- C-to-Fortran gateway S-function
- data types
- using user-defined
- direct feedthrough
- direct index lookup table example
- direct-index lookup table algorithm
- discrete state S-function example (C MEX)
- discrete state S-function example (M-file)
- Discrete Update pane
- S-Function Builder
- dynamically sized inputs
- error handling
- checking array bounds
- exception free code
- examples
- Ada S-function specification
- C MEX S-function
- continuous state S-function (C MEX)
- continuous state S-function (M-file)
- direct index lookup table
- discrete state S-function (C MEX)
- discrete state S-function (M-file)
- Fortran MEX S-function
- hybrid system S-function (C MEX)
- hybrid system S-function (M-file)
- multiport S-function
- pointer work vector
- sample time for continuous block
- sample time for hybrid block
- time-varying continuous transfer function (C MEX)
- variable-step S-function (C MEX)
- variable-step S-function (M-file)
- zero-crossing S-function (C MEX)
- exception free code
extern "C"
statement
- Fortran compilers
- Fortran math library
- Fortran MEX S-functions
- example
- template file
- function-call subsystems
- header files
- hybrid blocks
- setting sample time
- hybrid sample times
- specifying
- hybrid system S-function example (C MEX)
- hybrid system S-function example (M-file)
- Initialization pane
- S-Function Builder
- inlined S-functions
- with
mdlRTW
routine
- input arguments for M-file S-functions
- input ports
- how to create
- inputs, dynamically sized
- Level 1 C MEX S-functions
- converting to level 2
- Libraries pane
- S-Function Builder
- masked multiport S-functions
matlabroot/simulink/include/simstruc.h
C language header file
matlabroot/simulink/src/csfunc.c
example file
matlabroot/simulink/src/dsfunc.c
example file
matlabroot/simulink/src/mixedm.c
example file
matlabroot/simulink/src/sfun_counter_cpp.cpp
- ensuring Simulink compatibility of C++ S-functions
matlabroot/simulink/src/sfun_multiport.c
example file
matlabroot/simulink/src/sfun_timestwo_for.for
Fortran example file
matlabroot/simulink/src/sfun_zc_sat.c
example file
matlabroot/simulink/src/stvctf.c
example file
matlabroot/simulink/src/vsfunc.c
example file
matlabroot/toolbox/simulink/blocks/tlc_c/sfun_multiport.tlc
example file
matrix.h
mdlCheckParameters
mdlDerivatives
mdlGetTimeOfNextVarHit
mdlInitializeConditions
mdlInitializeSampleTimes
mdlInitializeSizes
- and
sizes
structure
- calling
sizes
mdlOutputs
mdlProcessParameters
mdlRTW
mdlRTW
routine
- writing inlined S-functions
mdlSetDefaultPortComplexSignals
mdlSetDefaultPortDataTypes
mdlSetDefaultPortDimensionInfo
mdlSetInputPortComplexSignal
mdlSetInputPortDataType
mdlSetInputPortDimensionInfo
mdlSetInputPortFrameData
mdlSetInputPortSampleTime
mdlSetInputPortWidth
mdlSetOutputPortComplexSignal
mdlSetOutputPortDataType
mdlSetOutputPortDimensionInfo
mdlSetOutputPortSampleTime
mdlSetOutputPortWidth
mdlSetWorkWidths
mdlStart
mdlTerminate
mdlUpdate
mdlZeroCrossings
- memory allocation
- memory and work vectors
mex
command
- building Ada S-functions
- building C MEX S-functions
- building C++ S-functions
- MEX S-function wrapper
- definition
mex.h
- M-file S-functions
- arguments
- creating
- defining characteristics
- definition
- passing additional parameters
- routines
- multiport S-function example
- multirate S-Function blocks
- synchronizing
- noninlined S-functions
- obsolete macros
- options, S-function
- output ports
- how to create
- Outputs pane
- S-Function Builder
- parameters
- M-file S-functions
- passing to S-functions
- run-time parameters
- tunable parameters
penddemo
demo
- persistence
- C++ objects
- port-based sample times
- constant
- inherited
- specifying
- triggered
- reentrancy
RTWdata
structure
- inlining an S-function
- run-time parameter names, uniqueness of
- run-time parameters
- run-time routines
S_FUNCTION_LEVEL 2
, #define
S_FUNCTION_NAME
, #define
- sample times
- block-based
- continuous block example
- hybrid block example
- port-based
- specifying block-based <1> <2>
- specifying hybrid
- specifying port-based
- scalar expansion of inputs
- S-Function blocks
- multirate
- S-functions parameters field
- synchronizing multirate
- S-Function Builder
- Build Info pane
- Continuous Derivatives pane
- customizing
- Discrete Update pane
- for C MEX S-functions
- Initialization pane
- Libraries pane
- Outputs pane
- setting the include path
- S-function routines
- M-file
- <$nopageS-functions
- <it M-file S-functions
- S-functions
- building C++
- C MEX
- creating Ada
- creating C MEX
- creating Fortran
- creating level 2 with Fortran
- creating persistent C++ objects
- creating run-time parameters
- definition
- direct feedthrough
- exception free code
- fully inlined with
mdlRTW
routine
- inlined
- input arguments for M-files
- level 1 and level 2
- masked multiport
- noninlined
- options
- purpose
- routines
- run-time parameters
- run-time routines
- that work with Real-Time Workshop
- types of
- using in models
- when to use
- wrapper
- writing in C++
- See also Ada S-functions
- See also C MEX S-functions
- See also C++ S-functions
- See also Fortran MEX S-functions
- S-functions parameters field
- S-Function block
sfuntmpl.c
template
sfuntmpl.m
template
- M-file S-function
sfuntmpl_fortran.for
template
simsizes
function
- M-file S-function
SimStruct
- SimStruct macros
- simulation loop
- simulation stages
simulink.c
sizes
structure
- fields
- M-file S-function
- returned in
mdlInitializeSizes
SS_OPTION_ALLOW_INPUT_SCALAR_EXPANSION
SS_OPTION_ALLOW_PARTIAL_DIMENSIONS_CALL
SS_OPTION_ASYNC_RATE_TRANSITION
SS_OPTION_ASYNCHRONOUS
SS_OPTION_CALL_TERMINATE_ON_EXIT
SS_OPTION_DISALLOW_CONSTANT_SAMPLE_TIME
SS_OPTION_DISCRETE_VALUED_OUTPUT
SS_OPTION_EXCEPTION_FREE_CODE
SS_OPTION_FORCE_NONINLINED_FCNCALL
SS_OPTION_PLACE_ASAP
SS_OPTION_RUNTIME_EXCEPTION_FREE_CODE
SS_OPTION_SIM_VIEWING_DEVICE
SS_OPTION_USE_TLC_WITH_ACCELERATOR
ssCallExternalModeFcn
ssCallSystemWithTid
<1> <2>
ssGetAbsTol
ssGetBlockReduction
ssGetContStateAddress
ssGetContStates
ssGetDataTypeId
ssGetDataTypeName
ssGetDataTypeSize
ssGetDataTypeZero
ssGetDiscStates
ssGetDTypeIdFromMxArray
ssGetDWork
ssGetDWorkComplexSignal
ssGetDWorkDataType
ssGetDWorkName
<1> <2> <3> <4> <5> <6>
ssGetDWorkRTWTypeQualifier
ssGetDWorkUsedAsDState
ssGetDWorkWidth
ssGetdX
ssGetErrorStatus
ssGetInlineParameters
ssGetInputPortBufferDstPort
ssGetInputPortComplexSignal
ssGetInputPortConnected
ssGetInputPortDataType
ssGetInputPortDimensions
ssGetInputPortDirectFeedThrough
ssGetInputPortFrameData
ssGetInputPortNumDimensions
ssGetInputPortOffsetTime
ssGetInputPortOverWritable
ssGetInputPortRealSignal
ssGetInputPortRealSignalPtrs
ssGetInputPortRequiredContiguous
ssGetInputPortReusable
ssGetInputPortSampleTime
ssGetInputPortSampleTimeIndex
ssGetInputPortSignal
ssGetInputPortSignalAddress
ssGetInputPortSignalPtrs
ssGetInputPortWidth
ssGetIWork
ssGetModelName
ssGetModeVector
ssGetModeVectorValue
<1> <2>
ssGetNonsampledZCs
ssGetNumContStates
ssGetNumDataTypes
ssGetNumDiscStates
ssGetNumDWork
ssGetNumInputPorts
ssGetNumIWork
ssGetNumModes
ssGetNumNonsampledZCs
ssGetNumOutputPorts
ssGetNumParameters
ssGetNumPWork
ssGetNumRunTimeParams
ssGetNumRWork
ssGetNumSampleTimes
ssGetNumSFcnParams
ssGetOutputPortBeingMerged
ssGetOutputPortComplexSignal
ssGetOutputPortDataType
ssGetOutputPortDimensions
ssGetOutputPortFrameData
ssGetOutputPortNumDimensions
ssGetOutputPortOffsetTime
ssGetOutputPortRealSignal
ssGetOutputPortReusable
ssGetOutputPortSampleTime
ssGetOutputPortSignal
ssGetOutputPortSignalAddress
ssGetOutputPortWidth
ssGetParentSS
ssGetPath
ssGetPlacementGroup
ssGetPWork
ssGetRealDiscStates
ssGetRootSS
ssGetRunTimeParamInfo
ssGetRWork
<1> <2> <3> <4> <5> <6> <7>
ssGetSampleTimeOffset
ssGetSampleTimePeriod
ssGetSFcnParam
ssGetSFcnParamsCount
ssGetSimMode
ssGetSolverMode
ssGetSolverName
ssGetStateAbsTol
ssGetStopRequested
ssGetT
ssGetTaskTime
ssGetTFinal
ssGetTNext
ssGetTStart
ssGetUserData
ssIsContinuousTask
ssIsFirstInitCond
ssIsMajorTimeStep
ssIsMinorTimeStep
ssIsSampleHit
ssIsSpecialSampleHit
ssIsVariableStepSolver
ssParamRec
structure
- returned by
ssGetRunTimeParamInfo
ssPrintf
ssRegAllTunableParamsAsRunTimeParams
ssRegisterDataType
ssSampleTimeAndOffsetAreTriggered
<1> <2>
ssSetBlockReduction
ssSetCallSystemOutput
ssSetDataTypeSize
ssSetDataTypeZero
ssSetDWorkComplexSignal
ssSetDWorkDataType
ssSetDWorkName
ssSetDWorkUsedAsDState
ssSetDWorkWidth
ssSetErrorStatus
ssSetExternalModeFcn
ssSetInputPortComplexSignal
ssSetInputPortDataType
ssSetInputPortDirectFeedThrough
ssSetInputPortFrameData
ssSetInputPortMatrixDimensions
ssSetInputPortOffsetTime
ssSetInputPortOverWritable
ssSetInputPortRequiredContiguous
ssSetInputPortReusable
ssSetInputPortSampleTime
ssSetInputPortSampleTimeIndex
ssSetInputPortVectorDimension
ssSetInputPortWidth
ssSetModeVectorValue
ssSetNumContStates
ssSetNumDiscStates
ssSetNumDWork
ssSetNumInputPorts
ssSetNumIWork
ssSetNumModes
ssSetNumNonsampledZCs
ssSetNumOutputPorts
ssSetNumPWork
ssSetNumRunTimeParams
ssSetNumRWork
ssSetNumSampleTimes
ssSetNumSFcnParams
ssSetOffsetTime
ssSetOptions
ssSetOutputPortComplexSignal
ssSetOutputPortDataType
ssSetOutputPortFrameData
ssSetOutputPortMatrixDimensions
ssSetOutputPortOffsetTime
ssSetOutputPortReusable
ssSetOutputPortSampleTime
ssSetOutputPortVectorDimension
ssSetOutputPortWidth
ssSetParameterName
ssSetParameterTunable
ssSetPlacementGroup
ssSetRunTimeParamInfo
ssSetSampleTime
ssSetSFcnParamNotTunable
ssSetSFcnParamTunable
ssSetSolverNeedsReset
ssSetStopRequested
ssSetTNext
ssSetUserData
ssSetVectorMode
ssUpdateAllTunableParamsAsRunTimeParams
ssUpdateRunTimeParamData
ssUpdateRunTimeParamInfo
ssWarning
ssWriteRTW2dMatParam
ssWriteRTWMx2dMatParam
ssWriteRTWMxVectParam
ssWriteRTWParameters
ssWriteRTWParamSettings
ssWriteRTWScalarParam
ssWriteRTWStr
ssWriteRTWStrParam
ssWriteRTWStrVectParam
ssWriteRTWVectParam
ssWriteRTWWorkVect
- synchronizing multirate S-Function blocks
- templates
- M-file S-function
- time-varying continuous transfer function example (C MEX)
tmwtypes.h
- tunable parameters
- variable-step S-function example (C MEX)
- variable-step S-function example (M-file)
- work vectors
- wrapper S-functions
- writing S-functions in Ada
- writing S-functions in C++
- writing S-functions in MATLAB
- zero-crossing S-function example (C MEX)
 | ssWriteRTWWorkVect | |