⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ttinitkernel.cpp

📁 一个很棒的网络控制系统仿真软件
💻 CPP
字号:
#define KERNEL_MATLAB#include "../ttkernel.h" RTsys *rtsys;#include "../initkernel.cpp"#include "getrtsys.cpp"void mexFunction( int nlhs, mxArray *plhs[],                  int nrhs, const mxArray *prhs[] ){  rtsys = getrtsys(); // Get pointer to rtsys   // Check number and type of arguments.   if (nrhs < 3 || nrhs > 4) {    mexErrMsgTxt("ttInitKernel: Wrong number of input arguments! \nUsage: ttInitKernel(nbrInputs, nbrOutputs, prioFcn) or\n       ttInitKernel(nbrInputs, nbrOutputs, prioFcn, contextSwitchOH)");  }  if (!mxIsDoubleScalar(prhs[0]))    mexErrMsgTxt("ttInitKernel: nbrInputs must be an integer");  if (!mxIsDoubleScalar(prhs[1]))    mexErrMsgTxt("ttInitKernel: nbrOutputs must be an integer");  if (mxIsChar(prhs[2]) != 1 || mxGetM(prhs[2]) != 1)    mexErrMsgTxt("ttInitKernel: prioFcn must be a string");  if (nrhs == 4) {    if (!mxIsDoubleScalar(prhs[3]))      mexErrMsgTxt("ttInitKernel: contextSwitchOH must be a number");  }  int nbrInp = (int) *mxGetPr(prhs[0]);  int nbrOutp = (int) *mxGetPr(prhs[1]);    if (nbrInp < 0 )    mexErrMsgTxt("ttInitKernel: nbrInputs must be positive or zero");  if (nbrOutp < 0 )    mexErrMsgTxt("ttInitKernel: nbrOutputs must be positive or zero");  char buf[20];  mxGetString(prhs[2], buf, 20);  int dispatch;  if (strcmp(buf, "prioFP") == 0) {    dispatch = FP;  } else if (strcmp(buf, "prioRM") == 0) {    dispatch = RM;  } else if (strcmp(buf, "prioDM") == 0){    dispatch = DM;  } else if (strcmp(buf, "prioEDF") == 0) {    dispatch = EDF;  } else {    printf("ttInitKernel: Unknown priority function '%s', using fixed priority scheduling!\n",buf);    dispatch = FP; // default   }    if (nrhs == 3) {    ttInitKernel(nbrInp, nbrOutp, dispatch);  } else {    double contextSwitchOH = *mxGetPr(prhs[3]);    ttInitKernel(nbrInp, nbrOutp, dispatch, contextSwitchOH);  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -