integer parameters to C MEX s function

function mxGetPr(ssGetSFcnParam(S,0)) can get REAL parameter from the mask of simulink block. is there any function can get integer paramter from simulink block mask, or how to convert a real number to integer in C MEX s function.
Thanks a lot.
Fengming

 Accepted Answer

I think you need to use mxGetData(ssGetSFcnParam(S,0)) instead and cast the returned void-pointer to an int pointer. You probably want to throw an error if ssGetDTypeIdFromMxArray(ssGetSFcnParam(S,0))!=SS_INT32 (or SS_INT8, SS_UINT8, SS_INT16, SS_UINT16, SS_UINT32 depending on what type you're expecting).
mxGetPr must only be used if the parameter is a double value.

2 Comments

Thank you. is there any help documents or manual including the function list? i mean, if i want some functions, how could i find it?
Yes, see http://www.mathworks.com/help/releases/R2011b/toolbox/simulink/sfg/f9-5492.html for SimStruct-specific functions, and http://www.mathworks.com/help/releases/R2011b/techdoc/apiref/bqoqnz0.html#bqoqobe-1 for mxArray related functions.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!