Writing S-Functions    

additional parameters for S-functions

block-based sample times

C MEX S-functions <1> <2> <3> <4>
callback methods
continuous block, setting sample time
continuous state S-function example (C MEX)
continuous state S-function example (M-file)

direct feedthrough
direct index lookup table example
discrete state S-function example (C MEX)
discrete state S-function example (M-file)
dynamically sized inputs

examples
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)
hybrid system S-function (C MEX)
hybrid system S-function (M-file)
pointer work vector
sample time for continuous block
sample time for hybrid block
variable step S-function (C MEX)
variable step S-function (M-file)
exception free code

hybrid block, setting sample time
hybrid system S-function example (C MEX)
hybrid system S-function example (M-file)

input arguments for M-file S-functions
inputs, dynamically sized

masked multiport S-functions
matrix.h
mdlCheckParameters
mdlDerivatives
mdlGetTimeOfNextVarHit
mdlInitializeConditions
mdlInitializeSampleTimes
mdlInitializeSizes <1> <2> <3>
mdlOutput function
mdlOutputs
mdlProcessParameters
mdlRTW <1> <2>
mdlSetDefaultPortComplexSignals
mdlSetDefaultPortDataTypes
mdlSetDefaultPortDimensionInfo
mdlSetInputPortComplexSignal
mdlSetInputPortDataType
mdlSetInputPortDimensionInfo
mdlSetInputPortFrameData
mdlSetInputPortSampleTime
mdlSetInputPortWidth
mdlSetOutputPortComplexSignal
mdlSetOutputPortDataType
mdlSetOutputPortDimensionInfo
mdlSetOutputPortSampleTime
mdlSetOutputPortWidth
mdlSetWorkWidths
mdlStart
mdlTerminate
mdlUpdate <1> <2>
mdlZeroCrossings
memory and work vectors
mex utility
mex.h
M-file S-function routines
mixedm.c example
multirate S-Function blocks

options, S-function

parameters
passing to S-functions
parameters, S-function
penddemo demo
pointer work vector, example
port-based sample times

re-entrancy
run-time routines

S_FUNCTION_LEVEL 2, #define
S_FUNCTION_NAME, #define
sample times
block-based
continuous block, example
hybrid block, example
port-based
S-Function block
multirate
S-function options
S-function routines
M-file
S-functions
additional parameters
C MEX <1> <2> <3> <4>
definition
direct feedthrough
exception free code
inlined <1> <2>
input arguments for M-files
masked multiport
parameter field
purpose
routines
run-time routines
types of
using in models
when to use
wrapper
sfuntmpl.c template
simsizes function
simulation loop
simulation stages
simulink.c
sizes structure <1> <2>
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_PORT_SAMPLE_TIMES_ASSIGNED
SS_OPTION_RATE_TRANSITION
SS_OPTION_RUNTIME_EXCEPTION_FREE_CODE
SS_OPTION_SFUNCTION_INLINED_FOR_RTW
SS_OPTION_SIM_VIEWING_DEVICE
SS_OPTION_USE_TLC_WITH_ACCELERATOR
ssCallSystemWithTid
ssGetContStateAddress
ssGetContStates
ssGetDataTypeId
ssGetDataTypeName
ssGetDataTypeSize
ssGetdataTypeZero
ssGetDiscStates
ssGetDTypeIdFromMxArray
ssGetDWorkComplexSignal
ssGetDWorkDataType
ssGetDWorkUsedAsDState
ssGetDWorkWidth
ssGetdX
ssGetErrorStatus
ssGetInputPortBufferDstPort
ssGetInputPortComplexSignal
ssGetInputPortConnected
ssGetInputPortDataType
ssGetInputPortDimensions
ssGetInputPortDirectFeedThrough
ssGetInputPortFrameData
ssGetInputPortNumDimensions
ssGetInputPortOffsetTime
ssGetInputPortRealSignal
ssGetInputPortRealSignalPtrs
ssGetInputPortReusable
ssGetInputPortSampleTime
ssGetInputPortSampleTimeIndex
ssGetInputPortSignal
ssGetInputPortSignalAddress
ssGetInputPortSignalPtrs
ssGetInputPortWidth
ssGetIWork
ssGetModelName
ssGetModeVector
ssGetModeVectorValue
ssGetNonsampledZCs
ssGetNumDWork
ssGetOutputPortBeingMerged
ssGetOutputPortDimensions
ssGetOutputPortFrameData
ssGetOutputPortReusable
ssGetSFcnParamsCount
ssGetUserData
ssParamRec <1> <2>
ssSetDWorkComplexSignal
ssSetDWorkDataType
ssSetDWorkName <1> <2>
ssSetDWorkUsedAsDState
ssSetDWorkWidth
ssSetErrorStatus
ssSetExternalModeFcn <1> <2>
ssSetInputPortDimensionInfo
ssSetInputPortDirectFeedThrough
ssSetInputPortFrameData
ssSetInputPortOffsetTime
ssSetInputPortRequiredContiguous <1> <2>
ssSetInputPortReusable
ssSetInputPortSampleTime
ssSetInputPortSampleTimeIndex
ssSetModeVectorValue
ssSetNumDWork
ssSetNumNonsampledZCs
ssSetNumSFcnParams
ssSetSFcnParamNotTunable
ssSetUserData
synchronizing multirate S-Function blocks

tmwtypes.h

variable step S-function example (C MEX)
variable step S-function example (M-file)

work vectors

ssWriteRTW2dMatParam