您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ ssSetNumContStates函数代码示例

51自学网 2021-06-03 08:17:58
  C++
这篇教程C++ ssSetNumContStates函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中ssSetNumContStates函数的典型用法代码示例。如果您正苦于以下问题:C++ ssSetNumContStates函数的具体用法?C++ ssSetNumContStates怎么用?C++ ssSetNumContStates使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了ssSetNumContStates函数的27个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: mdlInitializeSizes

/* Function: mdlInitializeSizes =============================================== * Abstract: *    The sizes information is used by Simulink to determine the S-function *    block's characteristics (number of inputs, outputs, states, etc.). */static void mdlInitializeSizes(SimStruct *S){    /* See sfuntmpl_doc.c for more details on the macros below */    ssSetNumSFcnParams(S, 4);  /* Number of expected parameters */#if defined(MATLAB_MEX_FILE)    if (ssGetNumSFcnParams(S) == ssGetSFcnParamsCount(S)) {        mdlCheckParameters(S);        if (ssGetErrorStatus(S) != NULL) {            return;        }    } else {        return; /* Parameter mismatch will be reported by Simulink. */    }#endif    int_T nRobots = mxGetNumberOfElements(ssGetSFcnParam(S,2));    ssSetNumContStates(S, 0);    ssSetNumDiscStates(S, 0);    if (!ssSetNumInputPorts(S, 0)) return;    //ssSetInputPortWidth(S, 0, 1);    //ssSetInputPortRequiredContiguous(S, 0, true); /*direct input signal access*/    /*     * Set direct feedthrough flag (1=yes, 0=no).     * A port has direct feedthrough if the input is used in either     * the mdlOutputs or mdlGetTimeOfNextVarHit functions.     * See matlabroot/simulink/src/sfuntmpl_directfeed.txt.     */    //ssSetInputPortDirectFeedThrough(S, 0, 1);    if (!ssSetNumOutputPorts(S, 2)) return;    ssSetOutputPortMatrixDimensions(S, 0, 4, nRobots); // forces    ssSetOutputPortMatrixDimensions(S, 1, 1, nRobots); // SentTime in s;    ssSetNumSampleTimes(S, 1);    ssSetNumRWork(S, 0);     ssSetNumIWork(S, 1); // nRobots    ssSetNumPWork(S, nRobots + 1); //nRobots x GenericSub, AsyncSpinner    ssSetNumModes(S, 0);    ssSetNumNonsampledZCs(S, 0);    /* Specify the sim state compliance to be same as a built-in block */    ssSetSimStateCompliance(S, USE_DEFAULT_SIM_STATE);    ssSetOptions(S, 0);}
开发者ID:fabrizioschiano,项目名称:mrb_telekyb_msgs,代码行数:53,


示例2: mdlInitializeSizes

/* Function: mdlInitializeSizes =============================================== * Abstract: *   Setup sizes of the various vectors. */static void mdlInitializeSizes(SimStruct *S){    DECL_AND_INIT_DIMSINFO(outputDimsInfo);    ssSetNumSFcnParams(S, NPARAMS);     if (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S)) {	 return; /* Parameter mismatch will be reported by Simulink */     }    ssSetNumContStates(S, NUM_CONT_STATES);    ssSetNumDiscStates(S, NUM_DISC_STATES);    if (!ssSetNumInputPorts(S, NUM_INPUTS)) return;    if (!ssSetNumOutputPorts(S, NUM_OUTPUTS)) return;    /* Output Port 0 */    outputDimsInfo.width = OUTPUT_0_WIDTH;    ssSetOutputPortDimensionInfo(S, 0, &outputDimsInfo);    ssSetOutputPortMatrixDimensions( S ,0, OUTPUT_0_WIDTH, OUTPUT_DIMS_0_COL);    ssSetOutputPortFrameData(S, 0, OUT_0_FRAME_BASED);    ssSetOutputPortDataType(S, 0, SS_UINT8);    ssSetOutputPortComplexSignal(S, 0, OUTPUT_0_COMPLEX);    /* Output Port 1 */    outputDimsInfo.width = OUTPUT_1_WIDTH;    ssSetOutputPortDimensionInfo(S, 1, &outputDimsInfo);    ssSetOutputPortMatrixDimensions( S ,1, OUTPUT_1_WIDTH, OUTPUT_DIMS_1_COL);    ssSetOutputPortFrameData(S, 1, OUT_1_FRAME_BASED);    ssSetOutputPortDataType(S, 1, SS_UINT8);    ssSetOutputPortComplexSignal(S, 1, OUTPUT_1_COMPLEX);    /* Output Port 2 */    outputDimsInfo.width = OUTPUT_2_WIDTH;    ssSetOutputPortDimensionInfo(S, 2, &outputDimsInfo);    ssSetOutputPortMatrixDimensions( S ,2, OUTPUT_2_WIDTH, OUTPUT_DIMS_2_COL);    ssSetOutputPortFrameData(S, 2, OUT_2_FRAME_BASED);    ssSetOutputPortDataType(S, 2, SS_UINT8);    ssSetOutputPortComplexSignal(S, 2, OUTPUT_2_COMPLEX);    ssSetNumSampleTimes(S, 1);    ssSetNumRWork(S, 0);    ssSetNumIWork(S, 0);    ssSetNumPWork(S, 0);    ssSetNumModes(S, 0);    ssSetNumNonsampledZCs(S, 0);    /* Take care when specifying exception free code - see sfuntmpl_doc.c */    ssSetOptions(S, (SS_OPTION_EXCEPTION_FREE_CODE |		     SS_OPTION_WORKS_WITH_CODE_REUSE));}
开发者ID:Adeange1,项目名称:roboboat2015,代码行数:52,


示例3: mdlInitializeSizes

/* Function: mdlInitializeSizes =============================================== * Abstract: *   Setup sizes of the various vectors. */static void mdlInitializeSizes(SimStruct *S){    slDataTypeAccess *dta = ssGetDataTypeAccess(S);    int              udtId;    ssSetNumSFcnParams(S, 0);  /* Number of expected parameters */    if (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S)) {        /* Return if number of expected != number of actual parameters */        return;    }    /* Obtain an integer datatype ID for the udt (user-defined type) "Data" */    udtId = ssRegisterDataType(S, "Data");    if ( udtId == INVALID_DTYPE_ID ) return;    /* Register the size of the udt */    if (!ssSetDataTypeSize(S, udtId, sizeof(Data))) return;    /* Register the zero of the udt */    if (!ssSetDataTypeZero(S, udtId, &zero)) return;    /* Set input-port properties */    if (!ssSetNumInputPorts(S, 1)) return;    ssSetInputPortWidth(S, 0, 1);    ssSetInputPortDataType(S, 0, SS_DOUBLE);    ssSetInputPortDirectFeedThrough(S, 0, 1);    /* Set output port properties */    if (!ssSetNumOutputPorts(S, 1)) return;    ssSetOutputPortDataType(S, 0, udtId);    ssSetOutputPortWidth(S, 0, 1);    /* Set miscellaneous properties */    ssSetNumContStates(S, 0);    ssSetNumDiscStates(S, 0);    ssSetNumSampleTimes(S, 1);    ssSetNumRWork(S, 0);    ssSetNumIWork(S, 0);    ssSetNumPWork(S, 0);    ssSetNumModes(S, 0);    ssSetNumNonsampledZCs(S, 0);    /* specify the sim state compliance to be same as a built-in block */    ssSetSimStateCompliance(S, USE_DEFAULT_SIM_STATE);    ssSetOptions(S,                 SS_OPTION_WORKS_WITH_CODE_REUSE);}
开发者ID:Tri-o-copter,项目名称:Brainware,代码行数:52,


示例4: mdlInitializeSizes

/* Function: mdlInitializeSizes =============================================== * Abstract: *    The sizes information is used by Simulink to determine the S-function *    block's characteristics (number of inputs, outputs, states, etc.). */static void mdlInitializeSizes(SimStruct *S){  /*    setup the right number of parameters: distance, coelevation  */  ssSetNumSFcnParams(S,0);  if(ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S)){    /*      sfunction is initialised with the wrong number of parameters    */    return;  }  /*    set number of continnuert and discrete states.  */  ssSetNumContStates(S, 0); /*zero continuert states*/  ssSetNumDiscStates(S, 0); /*zero discrete states*/  /*    specify the number of inputs to 1    (|R_sc(I)| and coelecation)  */  if (!ssSetNumInputPorts(S, 1)) return; /*wrong number of inputs*/  ssSetInputPortWidth(S, 0, 3);  ssSetInputPortRequiredContiguous(S, 0, true); /*direct input signal access*/  /*   * Set direct feedthrough flag (1=yes, 0=no).   * A port has direct feedthrough if the input is used in either   * the mdlOutputs or mdlGetTimeOfNextVarHit functions.   * See matlabroot/simulink/src/sfuntmpl_directfeed.txt.   */  ssSetInputPortDirectFeedThrough(S, 0, 1);  /*    check if the output is setup right:    gravitional potential of earth zonal harmonics.  */  if (!ssSetNumOutputPorts(S, 1)) return; /*no output set*/  ssSetOutputPortWidth(S, 0, 3);  ssSetNumSampleTimes(S, 1);}
开发者ID:jnemanja,项目名称:Aalto_HIL_framework,代码行数:52,


示例5: mdlInitializeSizes

/* Function: mdlInitializeSizes =============================================== * Abstract: *   Setup sizes of the various vectors. */static void mdlInitializeSizes(SimStruct *S){    DECL_AND_INIT_DIMSINFO(inputDimsInfo);    DECL_AND_INIT_DIMSINFO(outputDimsInfo);    ssSetNumSFcnParams(S, NPARAMS);  /* Number of expected parameters */      #if defined(MATLAB_MEX_FILE)	if (ssGetNumSFcnParams(S) == ssGetSFcnParamsCount(S)) {	  mdlCheckParameters(S);	  if (ssGetErrorStatus(S) != NULL) {	    return;	  }	 } else {	   return; /* Parameter mismatch will be reported by Simulink */	 }      #endif    ssSetNumContStates(S, NUM_CONT_STATES);    ssSetNumDiscStates(S, NUM_DISC_STATES);    if (!ssSetNumInputPorts(S, NUM_INPUTS)) return;    inputDimsInfo.width = INPUT_0_WIDTH;    ssSetInputPortDimensionInfo(S, 0, &inputDimsInfo);    ssSetInputPortFrameData(S, 0, IN_0_FRAME_BASED);    ssSetInputPortDataType(S, 0, SS_UINT32);    ssSetInputPortComplexSignal(S, 0, INPUT_0_COMPLEX);    ssSetInputPortDirectFeedThrough(S, 0, INPUT_0_FEEDTHROUGH);    ssSetInputPortRequiredContiguous(S, 0, 1); /*direct input signal access*/    if (!ssSetNumOutputPorts(S, NUM_OUTPUTS)) return;    outputDimsInfo.width = OUTPUT_0_WIDTH;    ssSetOutputPortDimensionInfo(S, 0, &outputDimsInfo);    ssSetOutputPortFrameData(S, 0, OUT_0_FRAME_BASED);    ssSetOutputPortDataType(S, 0, SS_DOUBLE);    ssSetOutputPortComplexSignal(S, 0, OUTPUT_0_COMPLEX);    ssSetOutputPortComplexSignal(S, 0, OUTPUT_0_COMPLEX);    ssSetNumSampleTimes(S, 1);    ssSetNumRWork(S, 0);    ssSetNumIWork(S, 0);    ssSetNumPWork(S, 0);    ssSetNumModes(S, 0);    ssSetNumNonsampledZCs(S, 0);    /* Take care when specifying exception free code - see sfuntmpl_doc.c */    ssSetOptions(S, (SS_OPTION_EXCEPTION_FREE_CODE |		     SS_OPTION_WORKS_WITH_CODE_REUSE));}
开发者ID:tmar89,项目名称:rtmd,代码行数:51,


示例6: mdlInitializeSizes

static void mdlInitializeSizes(SimStruct *S){    ssSetNumSFcnParams(S, 5);  /* Number of expected parameters */#ifndef TRES_SIMULINK_DISABLE_MASK_PROTECTION    // Perform mask params validity check    // TODO very basic error check (to be improved).    const mxArray *mxMsdVarName = ssGetSFcnParam(S,MSG_DESCR_VARNAME);    if ((mxGetM(mxMsdVarName) != 1) || (mxGetN(mxMsdVarName) == 0))    {        ssSetErrorStatus(S, "The message-set description variable cannot be empty");        return;    }    const mxArray *mxNdVarName = ssGetSFcnParam(S,NTWK_DESCR_VARNAME);    if ((mxGetM(mxNdVarName) != 1) || (mxGetN(mxNdVarName) == 0))    {        ssSetErrorStatus(S, "The network description variable cannot be empty (you must specify at least the network topology!)");        return;    }    const mxArray *mxAddLibsPath = ssGetSFcnParam(S,OTHER_DEPS);    if ((mxGetM(mxAddLibsPath) != 1) || (mxGetN(mxAddLibsPath) == 0))    {        ssSetErrorStatus(S, "The Additional Libraries (see the Simulator tab) field cannot be empty");        return;    }#endif    ssSetNumContStates(S, 0);    ssSetNumDiscStates(S, 0);    // Set the number of input ports to 0    if (!ssSetNumInputPorts(S, 0)) return;    // Set the output port to have a dynamic dimension    if (!ssSetNumOutputPorts(S, 1)) return;    ssSetOutputPortWidth(S, 0, DYNAMICALLY_SIZED);    ssSetNumSampleTimes(S, 1);    ssSetNumDWork(S, 1);  // store the `New pending activations available' flag    ssSetDWorkWidth(S, 0, 1);    ssSetDWorkDataType(S, 0, SS_BOOLEAN);    ssSetNumPWork(S, 1);  // store the tres::Network    ssSetNumRWork(S, 1);  // store the time_resolution    ssSetNumNonsampledZCs(S, 1);    // next hit}
开发者ID:PaoloPazzaglia,项目名称:tres_bundle_paolo,代码行数:46,


示例7: mdlInitializeSizes

/* Function: mdlInitializeSizes =============================================== * Abstract: *    The sizes information is used by Simulink to determine the S-function *    block's characteristics (number of inputs, outputs, states, etc.). */static void mdlInitializeSizes(SimStruct *S){	/* See sfuntmpl_doc.c for more details on the macros below */	ssSetNumSFcnParams(S, 5);  /* Number of expected parameters */#if defined(MATLAB_MEX_FILE)	if (ssGetNumSFcnParams(S) == ssGetSFcnParamsCount(S)) {		mdlCheckParameters(S);		if (ssGetErrorStatus(S) != NULL) {			return;		}	} else {		return; /* Parameter mismatch will be reported by Simulink. */	}#endif	ssSetNumContStates(S, 0);	ssSetNumDiscStates(S, 0);	if (!ssSetNumInputPorts(S, 0)) return;	if (!ssSetNumOutputPorts(S, 0)) return;	ssSetNumSampleTimes(S, 1);	ssSetNumRWork(S, 0);	ssSetNumIWork(S, 1); // nWaitTopic	size_t wait_buflen = mxGetN((ssGetSFcnParam(S, 2)))*sizeof(mxChar)+1;	char* wait_name = (char*)mxMalloc(wait_buflen);	mxGetString((ssGetSFcnParam(S, 2)), wait_name, wait_buflen);	char * topic = strtok(wait_name, TOPIC_SEPARATORS);	unsigned int nWaitTopic = 0;	while (topic != NULL){		nWaitTopic++;		topic = strtok(NULL, TOPIC_SEPARATORS);	}	mxFree(wait_name);	ssSetNumPWork(S, 4+nWaitTopic+1); //Start + Stop + Synchronous + Trigger services + wait_topic Subscriber(s) + AsyncSpinner	ssSetNumModes(S, 0);	ssSetNumNonsampledZCs(S, 0);	/* Specify the sim state compliance to be same as a built-in block */	ssSetSimStateCompliance(S, USE_DEFAULT_SIM_STATE);	ssSetOptions(S, 0);}
开发者ID:fabrizioschiano,项目名称:mrb_vrep_common,代码行数:51,


示例8: mdlInitializeSizes

static void mdlInitializeSizes(SimStruct *S){    DECL_AND_INIT_DIMSINFO(inputDimsInfo);    DECL_AND_INIT_DIMSINFO(outputDimsInfo);    ssSetNumSFcnParams(S, NPARAMS);     if (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S)) {	 return; /* Parameter mismatch will be reported by Simulink */     }    ssSetNumContStates(S, NUM_CONT_STATES);    ssSetNumDiscStates(S, NUM_DISC_STATES);    if (!ssSetNumInputPorts(S, NUM_INPUTS)) return;    inputDimsInfo.width = INPUT_0_WIDTH;    ssSetInputPortDimensionInfo(S, 0, &inputDimsInfo);    ssSetInputPortFrameData(S, 0, IN_0_FRAME_BASED);    ssSetInputPortDataType(S, 0, SS_DOUBLE);    ssSetInputPortComplexSignal(S, 0, INPUT_0_COMPLEX);    ssSetInputPortDirectFeedThrough(S, 0, INPUT_0_FEEDTHROUGH);    ssSetInputPortRequiredContiguous(S, 0, 1); /*direct input signal access*/     if (!ssSetNumOutputPorts(S, NUM_OUTPUTS)) return;    outputDimsInfo.width =OUTPUT_0_WIDTH;    ssSetOutputPortDimensionInfo(S, 0, &outputDimsInfo);    ssSetOutputPortFrameData(S, 0, OUT_0_FRAME_BASED);    ssSetOutputPortDataType(S, 0, SS_DOUBLE);    ssSetOutputPortComplexSignal(S, 0, OUTPUT_0_COMPLEX);    ssSetOutputPortComplexSignal(S, 0, OUTPUT_0_COMPLEX);    ssSetNumSampleTimes(S, 1);    ssSetNumRWork(S, 0);    ssSetNumIWork(S, 0);    ssSetNumPWork(S, 0);    ssSetNumModes(S, 0);    ssSetNumNonsampledZCs(S, 0);    /*ssSetOutputPortWidth(S,0,atoi(temp));*/    /* Take care when specifying exception free code - see sfuntmpl_doc.c */    ssSetOptions(S, (SS_OPTION_EXCEPTION_FREE_CODE |                     SS_OPTION_USE_TLC_WITH_ACCELERATOR | 		     SS_OPTION_WORKS_WITH_CODE_REUSE            | SS_OPTION_ALLOW_PARTIAL_DIMENSIONS_CALL));}
开发者ID:Adeange1,项目名称:roboboat2015,代码行数:44,


示例9: mdlInitializeSizes

/* Function: mdlInitializeSizes =========================================*/static void mdlInitializeSizes(SimStruct *S){    ssSetNumSFcnParams(S, 0);  /* Number of expected parameters */    if (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S)) {        return;    }    /* Register the number and type of states the S-Function uses */    ssSetNumContStates(    S, 0);   /* number of continuous states           */    ssSetNumDiscStates(    S, 0);   /* number of discrete states             */    ssAllowSignalsWithMoreThan2D(S);    /*     * Configure the input ports. First set the number of input ports.      */    if (!ssSetNumInputPorts(S, 1)) return;        if(!ssSetInputPortDimensionInfo(S, 0, DYNAMIC_DIMENSION)) return;    ssSetInputPortDataType(S, 0, DYNAMICALLY_TYPED);    ssSetInputPortDirectFeedThrough(S, 0, 1);    /*     * Configure the output ports. First set the number of output ports.     */    if (!ssSetNumOutputPorts(S, 1)) return;    if(!ssSetOutputPortDimensionInfo(S,0,DYNAMIC_DIMENSION)) return;    ssSetOutputPortDataType(S, 0, DYNAMICALLY_TYPED);    ssSetNumSampleTimes(S, PORT_BASED_SAMPLE_TIMES);    ssSetInputPortSampleTime(S, 0, INHERITED_SAMPLE_TIME);    ssSetOutputPortSampleTime(S, 0, INHERITED_SAMPLE_TIME);    /*     * Set size of the work vectors.     */    ssSetNumRWork(         S, 0);   /* number of real work vector elements   */    ssSetNumIWork(         S, 0);   /* number of integer work vector elements*/    ssSetNumPWork(         S, 0);   /* number of pointer work vector elements*/    ssSetNumModes(         S, 0);   /* number of mode work vector elements   */    ssSetNumNonsampledZCs( S, 0);   /* number of non-sampled zero crossings   */    ssSetOptions(S, 0);   /* general options (SS_OPTION_xx)        */} /* end mdlInitializeSizes */
开发者ID:Tri-o-copter,项目名称:Brainware,代码行数:45,


示例10: mdlInitializeSizes

static void mdlInitializeSizes(SimStruct *S) {	ssSetNumSFcnParams(S,5);	if (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S)) {		return; /* Parameter mismatch will be reported by Simulink */	}	ssSetNumContStates(S,0);	ssSetNumDiscStates(S,0);	if (!ssSetNumInputPorts(S,0)) return;	if (!ssSetNumOutputPorts(S,0)) return;	ssSetNumSampleTimes(S,1);	ssSetNumRWork(S,0);	ssSetNumIWork(S,0);	ssSetNumPWork(S,0);	ssSetNumModes(S,0);	ssSetNumNonsampledZCs(S,0);	ssSetOptions(S,0);}
开发者ID:rhopfer,项目名称:rtairos,代码行数:19,


示例11: mdlSetWorkWidths_c1_newtons_cradle

static void mdlSetWorkWidths_c1_newtons_cradle(SimStruct *S){  if (sim_mode_is_rtw_gen(S) || sim_mode_is_external(S)) {    mxArray *infoStruct = load_newtons_cradle_optimization_info();    int_T chartIsInlinable =      (int_T)sf_is_chart_inlinable(S,sf_get_instance_specialization(),infoStruct,      1);    ssSetStateflowIsInlinable(S,chartIsInlinable);    ssSetRTWCG(S,sf_rtw_info_uint_prop(S,sf_get_instance_specialization(),                infoStruct,1,"RTWCG"));    ssSetEnableFcnIsTrivial(S,1);    ssSetDisableFcnIsTrivial(S,1);    ssSetNotMultipleInlinable(S,sf_rtw_info_uint_prop(S,      sf_get_instance_specialization(),infoStruct,1,      "gatewayCannotBeInlinedMultipleTimes"));    sf_update_buildInfo(S,sf_get_instance_specialization(),infoStruct,1);    if (chartIsInlinable) {      sf_mark_chart_reusable_outputs(S,sf_get_instance_specialization(),        infoStruct,1,2);    }    {      unsigned int outPortIdx;      for (outPortIdx=1; outPortIdx<=2; ++outPortIdx) {        ssSetOutputPortOptimizeInIR(S, outPortIdx, 1U);      }    }    sf_set_rtw_dwork_info(S,sf_get_instance_specialization(),infoStruct,1);    ssSetHasSubFunctions(S,!(chartIsInlinable));    ssSetCallsOutputInInitFcn(S,1);  } else {  }  ssSetOptions(S,ssGetOptions(S)|SS_OPTION_WORKS_WITH_CODE_REUSE);  ssSetChecksum0(S,(3676614977U));  ssSetChecksum1(S,(2993289601U));  ssSetChecksum2(S,(3118278023U));  ssSetChecksum3(S,(1837160273U));  ssSetNumContStates(S,6);  ssSetExplicitFCSSCtrl(S,1);  ssSupportsMultipleExecInstances(S,1);}
开发者ID:exodaniel,项目名称:Vitrified-Code,代码行数:43,


示例12: mdlInitializeSizes

static void mdlInitializeSizes(SimStruct *S){    ssSetNumSFcnParams(S, 1);    if (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S)) return;    ssSetNumContStates(S, 6);    ssSetNumDiscStates(S, 0);    if (!ssSetNumInputPorts(S, 1)) return;    ssSetInputPortWidth(S, 0, 3);    ssSetInputPortDirectFeedThrough(S, 0, 1);    if (!ssSetNumOutputPorts(S, 1)) return;    ssSetOutputPortWidth(S, 0, 6);    ssSetNumSampleTimes(S, 1);    ssSetNumRWork(S, 0);    ssSetNumIWork(S, 0);    ssSetNumPWork(S, 0);    ssSetNumModes(S, 0);    ssSetNumNonsampledZCs(S, 0);    ssSetOptions(S, SS_OPTION_EXCEPTION_FREE_CODE);}
开发者ID:shohei,项目名称:realtime_example,代码行数:19,


示例13: mdlInitializeSizes

/* Function: mdlInitializeSizes =============================================== * Abstract: *   Setup sizes of the various vectors. */static void mdlInitializeSizes(SimStruct *S){    DECL_AND_INIT_DIMSINFO(inputDimsInfo);    DECL_AND_INIT_DIMSINFO(outputDimsInfo);    ssSetNumSFcnParams(S, NPARAMS);     if (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S)) {	 return; /* Parameter mismatch will be reported by Simulink */     }    ssSetNumContStates(S, NUM_CONT_STATES);    ssSetNumDiscStates(S, NUM_DISC_STATES);    if (!ssSetNumInputPorts(S, NUM_INPUTS)) return;    /*Input Port 0 */    ssSetInputPortWidth(S,  0, INPUT_0_WIDTH); /* */    ssSetInputPortDataType(S, 0, SS_UINT8);    ssSetInputPortComplexSignal(S,  0, INPUT_0_COMPLEX);    ssSetInputPortDirectFeedThrough(S, 0, INPUT_0_FEEDTHROUGH);    ssSetInputPortRequiredContiguous(S, 0, 1); /*direct input signal access*/    /*Input Port 1 */    ssSetInputPortWidth(S,  1, INPUT_1_WIDTH); /* */    ssSetInputPortDataType(S, 1, SS_UINT8);    ssSetInputPortComplexSignal(S,  1, INPUT_1_COMPLEX);    ssSetInputPortDirectFeedThrough(S, 1, INPUT_1_FEEDTHROUGH);    ssSetInputPortRequiredContiguous(S, 1, 1); /*direct input signal access*/    if (!ssSetNumOutputPorts(S, NUM_OUTPUTS)) return;    ssSetNumSampleTimes(S, 1);    ssSetNumRWork(S, 0);    ssSetNumIWork(S, 0);    ssSetNumPWork(S, 0);    ssSetNumModes(S, 0);    ssSetNumNonsampledZCs(S, 0);    /* Take care when specifying exception free code - see sfuntmpl_doc.c */    ssSetOptions(S, (SS_OPTION_EXCEPTION_FREE_CODE |		     SS_OPTION_WORKS_WITH_CODE_REUSE));}
开发者ID:Adeange1,项目名称:roboboat2015,代码行数:46,


示例14: mdlInitializeSizes

/* Function: mdlInitializeSizes =============================================== * Abstract: *    The sizes information is used by Simulink to determine the S-function *    block's characteristics (number of inputs, outputs, states, etc.). */static void mdlInitializeSizes(SimStruct *S){    /* See sfuntmpl_doc.c for more details on the macros below */    ssSetNumSFcnParams(S, 2);  /* Number of expected parameters */    if (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S)) {        /* Return if number of expected != number of actual parameters */        return;    }    ssSetNumContStates(S, 0);    ssSetNumDiscStates(S, 0);    if (!ssSetNumInputPorts(S, 0)) return;    //ssSetInputPortWidth(S, 0, 1);    //ssSetInputPortRequiredContiguous(S, 0, true); /*direct input signal access*/    /*     * Set direct feedthrough flag (1=yes, 0=no).     * A port has direct feedthrough if the input is used in either     * the mdlOutputs or mdlGetTimeOfNextVarHit functions.     * See matlabroot/simulink/src/sfuntmpl_directfeed.txt.     */    //ssSetInputPortDirectFeedThrough(S, 0, 1);    if (!ssSetNumOutputPorts(S, 3)) return;    ssSetOutputPortWidth(S, 0, CONSTANT_AXES_SIZE); // axes    ssSetOutputPortWidth(S, 1, CONSTANT_BUTTONS_SIZE); // buttons    ssSetOutputPortDataType(S, 1, SS_INT32);    ssSetOutputPortWidth(S, 2, 1); // time    ssSetNumSampleTimes(S, 1);    ssSetNumRWork(S, 0);    ssSetNumIWork(S, 0);    ssSetNumPWork(S, 2); //AsyncSpinner, GenericSub    ssSetNumModes(S, 0);    ssSetNumNonsampledZCs(S, 0);    /* Specify the sim state compliance to be same as a built-in block */    ssSetSimStateCompliance(S, USE_DEFAULT_SIM_STATE);    ssSetOptions(S, 0);}
开发者ID:npedemon,项目名称:matlab_ros_bridge,代码行数:47,


示例15: mdlInitializeSizes

/* Function: mdlInitializeSizes =============================================== * Abstract: *   Setup sizes of the various vectors. */static void mdlInitializeSizes(SimStruct *S){    DECL_AND_INIT_DIMSINFO(outputDimsInfo);    ssSetNumSFcnParams(S, NPARAMS);     if (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S)) {	 return; /* Parameter mismatch will be reported by Simulink */     }    ssSetNumContStates(S, NUM_CONT_STATES);    ssSetNumDiscStates(S, NUM_DISC_STATES);    if (!ssSetNumInputPorts(S, NUM_INPUTS)) return;    if (!ssSetNumOutputPorts(S, NUM_OUTPUTS)) return;    /* Output Port 0 */    ssSetOutputPortWidth(S, 0, OUTPUT_0_WIDTH);    ssSetOutputPortDataType(S, 0, SS_INT16);    ssSetOutputPortComplexSignal(S, 0, OUTPUT_0_COMPLEX);    /* Output Port 1 */    ssSetOutputPortWidth(S, 1, OUTPUT_1_WIDTH);    ssSetOutputPortDataType(S, 1, SS_INT16);    ssSetOutputPortComplexSignal(S, 1, OUTPUT_1_COMPLEX);    /* Output Port 2 */    ssSetOutputPortWidth(S, 2, OUTPUT_2_WIDTH);    ssSetOutputPortDataType(S, 2, SS_INT16);    ssSetOutputPortComplexSignal(S, 2, OUTPUT_2_COMPLEX);    ssSetNumSampleTimes(S, 1);    ssSetNumRWork(S, 0);    ssSetNumIWork(S, 0);    ssSetNumPWork(S, 0);    ssSetNumModes(S, 0);    ssSetNumNonsampledZCs(S, 0);    ssSetSimulinkVersionGeneratedIn(S, "8.3");    /* Take care when specifying exception free code - see sfuntmpl_doc.c */    ssSetOptions(S, (SS_OPTION_EXCEPTION_FREE_CODE |                     SS_OPTION_USE_TLC_WITH_ACCELERATOR | 		     SS_OPTION_WORKS_WITH_CODE_REUSE));}
开发者ID:MoreCoffee12,项目名称:MinSeg-Dual-Motor,代码行数:46,


示例16: mdlInitializeSizes

/* * Setup sizes of the various vectors. */static void mdlInitializeSizes (SimStruct *S){	/* Количество параметров. */	ssSetNumSFcnParams (S, 0);	if (ssGetNumSFcnParams (S) != ssGetSFcnParamsCount (S)) {		/* Simulink сообщит о несоответствии параметров */		return;	}	ssSetNumContStates (S, 0);	ssSetNumDiscStates (S, 0);	/*	 * Входы.	 */	if (! ssSetNumInputPorts (S, 4))		return;	set_input_port (S, 0, SS_BOOLEAN);	/* rn0 */	set_input_port (S, 1, SS_BOOLEAN);	/* rn1 */	set_input_port (S, 2, SS_BOOLEAN);	/* rn2 */	set_input_port (S, 3, SS_BOOLEAN);	/* rn3 */	/*	 * Выходы.	 */	if (! ssSetNumOutputPorts (S, 1))		return;	set_output_port (S, 0, SS_BOOLEAN);	/* tx */	ssSetNumSampleTimes (S, 1);	ssSetNumRWork (S, 0);	ssSetNumIWork (S, 0);	ssSetNumPWork (S, 1);	ssSetNumModes (S, 0);	ssSetNumNonsampledZCs (S, 0);	/* Take care when specifying exception free code - see sfuntmpl_doc.c */	ssSetOptions (S, SS_OPTION_EXCEPTION_FREE_CODE |			 SS_OPTION_USE_TLC_WITH_ACCELERATOR |			 SS_OPTION_WORKS_WITH_CODE_REUSE |			 SS_OPTION_DISCRETE_VALUED_OUTPUT);}
开发者ID:denrusio,项目名称:vak-opensource,代码行数:45,


示例17: mdlInitializeSizes

static void mdlInitializeSizes(SimStruct *S){	uint_T i;		ssSetNumSFcnParams(S, NUMBER_OF_PARAMS);	if (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S)) {		return;	}	for (i = 0; i < NUMBER_OF_PARAMS; i++) {		ssSetSFcnParamNotTunable(S, i);	}	ssSetNumInputPorts(S, 1);	ssSetNumOutputPorts(S, 0);	ssSetInputPortWidth(S, 0, 1);	ssSetInputPortDirectFeedThrough(S, 0, 1);	ssSetNumContStates(S, 0);	ssSetNumDiscStates(S, 0);	ssSetNumSampleTimes(S, 1);	ssSetNumPWork(S, 1);}
开发者ID:sensysnetworks,项目名称:stromboli-24.1,代码行数:20,


示例18: mdlInitializeSizes

static void mdlInitializeSizes(SimStruct *S){	int i;#ifndef MATLAB_MEX_FILE#include "time_xpcimport.c"#endif   	ssSetNumSFcnParams(S, 0);	if (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S)) {		return; /* Parameter mismatch will be reported by Simulink */	}  ssSetNumContStates(S, 0);  ssSetNumDiscStates(S, 0);  ssSetNumOutputPorts(S, 1);  ssSetOutputPortWidth(S, 0, 8);  ssSetNumInputPorts(S, 0);        }
开发者ID:MathYourLife,项目名称:TSatPy-thesis,代码行数:20,


示例19: mdlInitializeSizes

static void mdlInitializeSizes(SimStruct *S){int_T num_channels;  ssSetNumSFcnParams(S, NUMBER_OF_ARGS);  if (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S)) {    return; /* Parameter mismatch will be reported by Simulink */  }  num_channels=(int_T) mxGetPr(CHANNELS_ARG)[CHANNELS_IND];  if (!ssSetNumInputPorts(S, 0)) return;  if (!ssSetNumOutputPorts(S,1)) return;  ssSetOutputPortWidth(S, 0, num_channels);  ssSetNumContStates(S, 0);  ssSetNumDiscStates(S, 0);  ssSetNumSampleTimes(S, 1);  ssSetNumIWork(S,NO_I_WORKS);}
开发者ID:sensysnetworks,项目名称:stromboli-24.1,代码行数:20,


示例20: mdlInitializeSizes

static void mdlInitializeSizes(SimStruct *S){    int i;    ssSetNumSFcnParams(S, NPARAMS);  /* Number of expected parameters */    if (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S)) {        /* Return if number of expected != number of actual parameters */        return;    }        for (i = 0; i < NPARAMS; i++)        ssSetSFcnParamTunable(S, i, 0);        ssSetNumContStates(S, 0);    ssSetNumDiscStates(S, 0);        if (!ssSetNumInputPorts(S, 3)) return;    ssSetInputPortWidth(S, 0, 12);    ssSetInputPortRequiredContiguous(S, 0, true);    ssSetInputPortDirectFeedThrough(S, 0, 1);        ssSetInputPortWidth(S, 1, DYNAMICALLY_SIZED);    ssSetInputPortRequiredContiguous(S, 1, true);    ssSetInputPortDirectFeedThrough(S, 1, 1);        ssSetInputPortWidth(S, 2, DYNAMICALLY_SIZED);    ssSetInputPortRequiredContiguous(S, 2, true);    ssSetInputPortDirectFeedThrough(S, 2, 1);        if (!ssSetNumOutputPorts(S, 3)) return;    ssSetOutputPortWidth(S, 0, 27);    ssSetOutputPortWidth(S, 1, DYNAMICALLY_SIZED);    ssSetOutputPortWidth(S, 2, DYNAMICALLY_SIZED);        ssSetNumSampleTimes(S, 1);    ssSetNumRWork(S, 0);    ssSetNumIWork(S, NUM_IWORK);    ssSetNumPWork(S, 0);    ssSetNumModes(S, 0);    ssSetNumNonsampledZCs(S, 0);    }
开发者ID:LMerCy,项目名称:T-MATS,代码行数:41,


示例21: mdlInitializeSizes

/* Function: mdlInitializeSizes =============================================== * Abstract: *    The sizes information is used by Simulink to determine the S-function *    block's characteristics (number of inputs, outputs, states, etc.). */static void mdlInitializeSizes(SimStruct *S){    /* See sfuntmpl_doc.c for more details on the macros below */    ssSetNumSFcnParams(S, 4);  /* Number of expected parameters */    if (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S)) {        /* Return if number of expected != number of actual parameters */        return;    }    ssSetNumContStates(S, 0);    ssSetNumDiscStates(S, 0);    if (!ssSetNumInputPorts(S, 0)) return;    //ssSetInputPortWidth(S, 0, 1);    //ssSetInputPortRequiredContiguous(S, 0, true); /*direct input signal access*/    /*     * Set direct feedthrough flag (1=yes, 0=no).     * A port has direct feedthrough if the input is used in either     * the mdlOutputs or mdlGetTimeOfNextVarHit functions.     * See matlabroot/simulink/src/sfuntmpl_directfeed.txt.     */    //ssSetInputPortDirectFeedThrough(S, 0, 1);    if (!ssSetNumOutputPorts(S, 1)) return;    ssSetOutputPortWidth(S, 0, 1); // port 0 is 1 value (rtTimeDelay)    ssSetNumSampleTimes(S, 1);    ssSetNumRWork(S, 2); // Tsim, simulationTime, showEveryNumSeconds    ssSetNumIWork(S, 1); // CycleCounter    ssSetNumPWork(S, 2); // startTime,lastExecTime    ssSetNumModes(S, 0);    ssSetNumNonsampledZCs(S, 0);    /* Specify the sim state compliance to be same as a built-in block */    ssSetSimStateCompliance(S, USE_DEFAULT_SIM_STATE);    ssSetOptions(S, 0);}
开发者ID:evanyfang,项目名称:matlab_ros_bridge,代码行数:45,


示例22: mdlInitializeSizes

static void mdlInitializeSizes(SimStruct *S){    ssSetNumSFcnParams(S, 0);						    if (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S)) {        return; /* Parameter mismatch will be reported by Simulink */    }    /* no states, all computation will be done in output section */    ssSetNumContStates(S, 0);    ssSetNumDiscStates(S, 0);        /* one input port: state x(k) + vector of references */    ssSetNumInputPorts(S, 1);         /* one output port: control action */    ssSetNumOutputPorts(S, 1);    /* width of input vector - number of states of the original problem.      * note that tracking includes additional states, here we do not consider them     */    if (MPT_TRACKING>0) {        ssSetInputPortWidth(S, 0, MPT_NXT + MPT_NREF);    } else {        /* dimension extended by one to allow empty reference to be passed */        /*ssSetInputPortWidth(S, 0, MPT_NXT + 1); */        ssSetInputPortWidth(S, 0, MPT_NXT);    }        ssSetInputPortDirectFeedThrough(S, 0, 1);        /* width of output - number of control actions */    ssSetOutputPortWidth(S, 0, MPT_NU);        ssSetNumSampleTimes(S, 1);    /* Take care when specifying exception free code - see sfuntmpl.doc */    ssSetOptions(S, SS_OPTION_EXCEPTION_FREE_CODE);    }
开发者ID:EMBOCONcs,项目名称:EMBOCON_Interfaces,代码行数:40,


示例23: mdlInitializeSizes

static void mdlInitializeSizes(SimStruct *S){   ssSetNumSFcnParams(S, 1);  /* Number of expected parameters */   if (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S)) return;    ssSetNumContStates(S, 0);    ssSetNumDiscStates(S, 0);   if (!ssSetNumInputPorts(S, 0)) return;   if (!ssSetNumOutputPorts(S, 0)) return;      ssSetNumSampleTimes(S, 1);   ssSetNumRWork(S, 1);   ssSetNumIWork(S, 0);   ssSetNumPWork(S, 0);   ssSetNumModes(S, 0);   ssSetNumNonsampledZCs(S, 0);   ssSetOptions(S, 0);}
开发者ID:lukeboorman,项目名称:WBI-Toolbox,代码行数:22,


示例24: mdlInitializeSizes

static void mdlInitializeSizes(SimStruct * S) {        ssSetNumSFcnParams(S, NUMBER_OF_ARGS);    if (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S)) {        sprintf(msg, "Wrong number of input arguments passed./n"        "%d arguments are expected/n", NUMBER_OF_ARGS);        ssSetErrorStatus(S, msg);        return;    }        if ( mxGetM(NO_BYTES_ARG)!=1 | mxGetN(NO_BYTES_ARG)!=1 ) {        sprintf(msg,"Output port width argument must be a scalar/n");        ssSetErrorStatus(S,msg);        return;    }        ssSetNumContStates(S, 0);    ssSetNumDiscStates(S, 0);        ssSetNumOutputPorts(S, 2);    ssSetOutputPortWidth(S, 0, PORT_WIDTH);    ssSetOutputPortDataType(S, 0, SS_UINT8);        ssSetOutputPortWidth(S, 1, 1);      /* received flag */        ssSetNumInputPorts(S, 0);        ssSetNumSampleTimes(S, 1);        ssSetNumRWork(S, NO_R_WORKS);    ssSetNumIWork(S, NO_I_WORKS);    ssSetNumPWork(S, NO_P_WORKS);        ssSetNumModes(S, 0);    ssSetNumNonsampledZCs(S, 0);        ssSetOptions(S, SS_OPTION_EXCEPTION_FREE_CODE | SS_OPTION_PLACE_ASAP);}
开发者ID:aravindcheruvu,项目名称:egosense,代码行数:38,


示例25: mdlInitializeSizes

static void mdlInitializeSizes(SimStruct *S){    int i;    ssSetNumSFcnParams(S, NPARAMS);  /* Number of expected parameters */    if (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S)) {        /* Return if number of expected != number of actual parameters */        return;    }    for (i = 0; i < NPARAMS; i++) {        if (i != 5)            ssSetSFcnParamTunable(S, i, 1);        else            ssSetSFcnParamTunable(S, i, 0);    }    ssSetOptions(S, SS_OPTION_WORKS_WITH_CODE_REUSE |                     SS_OPTION_USE_TLC_WITH_ACCELERATOR);    ssSetNumContStates(S, 0);    ssSetNumDiscStates(S, 0);    if (!ssSetNumInputPorts(S, 1)) return;    ssSetInputPortWidth(S, 0, 5);    ssSetInputPortRequiredContiguous(S, 0, true);    ssSetInputPortDirectFeedThrough(S, 0, 1);    if (!ssSetNumOutputPorts(S, 1)) return;    ssSetOutputPortWidth(S, 0, 2);    ssSetNumSampleTimes(S, 1);    ssSetNumRWork(S, 0);    ssSetNumIWork(S, NERRORS);    ssSetNumPWork(S, 0);    ssSetNumModes(S, 0);    ssSetNumNonsampledZCs(S, 0);}
开发者ID:nasa,项目名称:T-MATS,代码行数:38,


示例26: mdlInitializeSizes

/* Function: mdlInitializeSizes =============================================== * Abstract: *    The sizes information is used by Simulink to determine the S-function *    block's characteristics (number of inputs, outputs, states, etc.). */static void mdlInitializeSizes(SimStruct *S) {  ssSetNumSFcnParams(S, 3);  /* Number of expected parameters */    // Parameter mismatch will be reported by Simulink  if (ssGetNumSFcnParams(S) == ssGetSFcnParamsCount(S)) {    mdlCheckParameters(S);    if (ssGetErrorStatus(S) != NULL) {      return;    }  } else {    return; /* Parameter mismatch will be reported by Simulink */  }  ssSetSFcnParamTunable(S, 0, 0);  ssSetNumContStates(S, 0);  ssSetNumDiscStates(S, 0);  if (!ssSetNumInputPorts(S, 0)) return;  //  ssSetInputPortDirectFeedThrough(S, 0, 1);        if (!ssSetNumOutputPorts(S, 1)) return;  ssSetOutputPortWidth(S, 0, DYNAMICALLY_SIZED);    ssSetNumSampleTimes(S, 1);  ssSetNumPWork(S, 2); // reserve element in the pointers vector  ssSetNumModes(S, 0); // to store a C++ object  ssSetNumNonsampledZCs(S, 0);  ssSetSimStateCompliance(S, USE_CUSTOM_SIM_STATE);  ssSetOptions(S, 0);}
开发者ID:maryamsab,项目名称:realact,代码行数:43,


示例27: mdlInitializeSizes

/* Function: mdlInitializeSizes =============================================== * Abstract: *   Setup sizes of the various vectors. */static void mdlInitializeSizes(SimStruct *S){    ssSetNumSFcnParams(S, 0);     if (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S)) {	 return; /* Parameter mismatch will be reported by Simulink */     }    ssSetNumContStates(S, 0);    ssSetNumDiscStates(S, 0);    if (!ssSetNumInputPorts(S, 1)) return;    ssSetInputPortWidth(S, 0, 1);    ssSetInputPortDataType(S, 0, DYNAMICALLY_TYPED );    ssSetInputPortDirectFeedThrough(S, 0, 1);    ssSetInputPortRequiredContiguous(S, 0, 1); /*direct input signal access*/    if (!ssSetNumOutputPorts(S, 1)) return;    ssSetOutputPortWidth(S, 0, 1);    ssSetOutputPortDataType(S, 0, DYNAMICALLY_TYPED);    ssSetOutputPortComplexSignal(S, 0, COMPLEX_NO);    ssSetNumSampleTimes(S, 1);    ssSetNumRWork(S, 0);    ssSetNumIWork(S, 0);    ssSetNumPWork(S, 0);    ssSetNumModes(S, 0);    ssSetNumNonsampledZCs(S, 0);    ssSetSimStateCompliance(S, USE_DEFAULT_SIM_STATE);      ssSetOptions(S, (SS_OPTION_EXCEPTION_FREE_CODE |                     SS_OPTION_USE_TLC_WITH_ACCELERATOR |                     SS_OPTION_DISALLOW_CONSTANT_SAMPLE_TIME |                     SS_OPTION_NONVOLATILE |                         SS_OPTION_WORKS_WITH_CODE_REUSE));        ssSupportsMultipleExecInstances(S, true);}
开发者ID:Tri-o-copter,项目名称:Brainware,代码行数:42,



注:本文中的ssSetNumContStates函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ ssSetNumDiscStates函数代码示例
C++ ssSetNotMultipleInlinable函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。