Writing S-Functions | ![]() ![]() |
Set zero representation of a data type.
Syntax
Arguments
S
SimStruct representing an S-Function block.
zero
Zero representation of the data type specified by id
.
Description
Sets the zero representation of the data type specified by id
to 0
and returns 1
(true) if id
is valid, the size of the data type has been set, and the zero representation has not already been set. Otherwise, this macro returns 0
(false) and reports an error. Because this macro reports any error that occurs, you do not need to use ssSetErrorStatus
to report the error.
Note This macro makes a copy of the zero representation of the data type for Simulink's use. Thus, your S-function does not have to maintain the original in memory. |
Languages
Example
The following example registers and sets the size and zero representation of a custom data type named myDataType
.
typedef struct{ int8_T a; uint16_T b; }myStruct; int_T status; DTypeId id; myStruct tmp; id = ssRegisterDataType(S, "myDataType"); if(id == INVALID_DTYPE_ID) return; status = ssSetDataTypeSize(S, id, sizeof(tmp)); if(status == 0) return; tmp.a = 0; tmp.b = 1; status = ssSetDataTypeZero(S, id, &tmp); if(status == 0) return;
See Also
ssRegisterDataType, ssSetDataTypeSize, ssGetDataTypeZero
![]() | ssSetDataTypeSize | ssSetDWorkComplexSignal | ![]() |