www.pudn.com > pi_svpwm.zip > mpc_svpwm_sfun.c, change:2014-03-25,size:10639b


/* Include files */ 
 
#include "mpc_svpwm_sfun.h" 
#include "mpc_svpwm_sfun_debug_macros.h" 
#include "c3_mpc_svpwm.h" 
#include "c5_mpc_svpwm.h" 
#include "c6_mpc_svpwm.h" 
 
/* Type Definitions */ 
 
/* Named Constants */ 
 
/* Variable Declarations */ 
 
/* Variable Definitions */ 
uint32_T _mpc_svpwmMachineNumber_; 
real_T _sfTime_; 
 
/* Function Declarations */ 
 
/* Function Definitions */ 
void mpc_svpwm_initializer(void) 
{ 
} 
 
void mpc_svpwm_terminator(void) 
{ 
} 
 
/* SFunction Glue Code */ 
unsigned int sf_mpc_svpwm_method_dispatcher(SimStruct *simstructPtr, unsigned 
  int chartFileNumber, const char* specsCksum, int_T method, void *data) 
{ 
  if (chartFileNumber==3) { 
    c3_mpc_svpwm_method_dispatcher(simstructPtr, method, data); 
    return 1; 
  } 
 
  if (chartFileNumber==5) { 
    c5_mpc_svpwm_method_dispatcher(simstructPtr, method, data); 
    return 1; 
  } 
 
  if (chartFileNumber==6) { 
    c6_mpc_svpwm_method_dispatcher(simstructPtr, method, data); 
    return 1; 
  } 
 
  return 0; 
} 
 
unsigned int sf_mpc_svpwm_process_check_sum_call( int nlhs, mxArray * plhs[], 
  int nrhs, const mxArray * prhs[] ) 
{ 
 
#ifdef MATLAB_MEX_FILE 
 
  char commandName[20]; 
  if (nrhs<1 || !mxIsChar(prhs[0]) ) 
    return 0; 
 
  /* Possible call to get the checksum */ 
  mxGetString(prhs[0], commandName,sizeof(commandName)/sizeof(char)); 
  commandName[(sizeof(commandName)/sizeof(char)-1)] = '\0'; 
  if (strcmp(commandName,"sf_get_check_sum")) 
    return 0; 
  plhs[0] = mxCreateDoubleMatrix( 1,4,mxREAL); 
  if (nrhs>1 && mxIsChar(prhs[1])) { 
    mxGetString(prhs[1], commandName,sizeof(commandName)/sizeof(char)); 
    commandName[(sizeof(commandName)/sizeof(char)-1)] = '\0'; 
    if (!strcmp(commandName,"machine")) { 
      ((real_T *)mxGetPr((plhs[0])))[0] = (real_T)(367619647U); 
      ((real_T *)mxGetPr((plhs[0])))[1] = (real_T)(36979055U); 
      ((real_T *)mxGetPr((plhs[0])))[2] = (real_T)(1224489249U); 
      ((real_T *)mxGetPr((plhs[0])))[3] = (real_T)(49517795U); 
    } else if (!strcmp(commandName,"exportedFcn")) { 
      ((real_T *)mxGetPr((plhs[0])))[0] = (real_T)(0U); 
      ((real_T *)mxGetPr((plhs[0])))[1] = (real_T)(0U); 
      ((real_T *)mxGetPr((plhs[0])))[2] = (real_T)(0U); 
      ((real_T *)mxGetPr((plhs[0])))[3] = (real_T)(0U); 
    } else if (!strcmp(commandName,"makefile")) { 
      ((real_T *)mxGetPr((plhs[0])))[0] = (real_T)(1570371756U); 
      ((real_T *)mxGetPr((plhs[0])))[1] = (real_T)(4039915509U); 
      ((real_T *)mxGetPr((plhs[0])))[2] = (real_T)(2780615085U); 
      ((real_T *)mxGetPr((plhs[0])))[3] = (real_T)(2720602982U); 
    } else if (nrhs==3 && !strcmp(commandName,"chart")) { 
      unsigned int chartFileNumber; 
      chartFileNumber = (unsigned int)mxGetScalar(prhs[2]); 
      switch (chartFileNumber) { 
       case 3: 
        { 
          extern void sf_c3_mpc_svpwm_get_check_sum(mxArray *plhs[]); 
          sf_c3_mpc_svpwm_get_check_sum(plhs); 
          break; 
        } 
 
       case 5: 
        { 
          extern void sf_c5_mpc_svpwm_get_check_sum(mxArray *plhs[]); 
          sf_c5_mpc_svpwm_get_check_sum(plhs); 
          break; 
        } 
 
       case 6: 
        { 
          extern void sf_c6_mpc_svpwm_get_check_sum(mxArray *plhs[]); 
          sf_c6_mpc_svpwm_get_check_sum(plhs); 
          break; 
        } 
 
       default: 
        ((real_T *)mxGetPr((plhs[0])))[0] = (real_T)(0.0); 
        ((real_T *)mxGetPr((plhs[0])))[1] = (real_T)(0.0); 
        ((real_T *)mxGetPr((plhs[0])))[2] = (real_T)(0.0); 
        ((real_T *)mxGetPr((plhs[0])))[3] = (real_T)(0.0); 
      } 
    } else if (!strcmp(commandName,"target")) { 
      ((real_T *)mxGetPr((plhs[0])))[0] = (real_T)(3564696471U); 
      ((real_T *)mxGetPr((plhs[0])))[1] = (real_T)(678668628U); 
      ((real_T *)mxGetPr((plhs[0])))[2] = (real_T)(1090454852U); 
      ((real_T *)mxGetPr((plhs[0])))[3] = (real_T)(3896867807U); 
    } else { 
      return 0; 
    } 
  } else { 
    ((real_T *)mxGetPr((plhs[0])))[0] = (real_T)(1634182939U); 
    ((real_T *)mxGetPr((plhs[0])))[1] = (real_T)(4048088648U); 
    ((real_T *)mxGetPr((plhs[0])))[2] = (real_T)(340107987U); 
    ((real_T *)mxGetPr((plhs[0])))[3] = (real_T)(2768903753U); 
  } 
 
  return 1; 
 
#else 
 
  return 0; 
 
#endif 
 
} 
 
unsigned int sf_mpc_svpwm_autoinheritance_info( int nlhs, mxArray * plhs[], int 
  nrhs, const mxArray * prhs[] ) 
{ 
 
#ifdef MATLAB_MEX_FILE 
 
  char commandName[32]; 
  char aiChksum[64]; 
  if (nrhs<3 || !mxIsChar(prhs[0]) ) 
    return 0; 
 
  /* Possible call to get the autoinheritance_info */ 
  mxGetString(prhs[0], commandName,sizeof(commandName)/sizeof(char)); 
  commandName[(sizeof(commandName)/sizeof(char)-1)] = '\0'; 
  if (strcmp(commandName,"get_autoinheritance_info")) 
    return 0; 
  mxGetString(prhs[2], aiChksum,sizeof(aiChksum)/sizeof(char)); 
  aiChksum[(sizeof(aiChksum)/sizeof(char)-1)] = '\0'; 
 
  { 
    unsigned int chartFileNumber; 
    chartFileNumber = (unsigned int)mxGetScalar(prhs[1]); 
    switch (chartFileNumber) { 
     case 3: 
      { 
        if (strcmp(aiChksum, "WRXIxHd0o7XokhQgsyjtXE") == 0) { 
          extern mxArray *sf_c3_mpc_svpwm_get_autoinheritance_info(void); 
          plhs[0] = sf_c3_mpc_svpwm_get_autoinheritance_info(); 
          break; 
        } 
 
        plhs[0] = mxCreateDoubleMatrix(0,0,mxREAL); 
        break; 
      } 
 
     case 5: 
      { 
        if (strcmp(aiChksum, "mao8JoZ2h9oEYN5CG4IgXF") == 0) { 
          extern mxArray *sf_c5_mpc_svpwm_get_autoinheritance_info(void); 
          plhs[0] = sf_c5_mpc_svpwm_get_autoinheritance_info(); 
          break; 
        } 
 
        plhs[0] = mxCreateDoubleMatrix(0,0,mxREAL); 
        break; 
      } 
 
     case 6: 
      { 
        if (strcmp(aiChksum, "ee9HBgBfJyjxByIwmytq1D") == 0) { 
          extern mxArray *sf_c6_mpc_svpwm_get_autoinheritance_info(void); 
          plhs[0] = sf_c6_mpc_svpwm_get_autoinheritance_info(); 
          break; 
        } 
 
        plhs[0] = mxCreateDoubleMatrix(0,0,mxREAL); 
        break; 
      } 
 
     default: 
      plhs[0] = mxCreateDoubleMatrix(0,0,mxREAL); 
    } 
  } 
 
  return 1; 
 
#else 
 
  return 0; 
 
#endif 
 
} 
 
unsigned int sf_mpc_svpwm_get_eml_resolved_functions_info( int nlhs, mxArray * 
  plhs[], int nrhs, const mxArray * prhs[] ) 
{ 
 
#ifdef MATLAB_MEX_FILE 
 
  char commandName[64]; 
  if (nrhs<2 || !mxIsChar(prhs[0])) 
    return 0; 
 
  /* Possible call to get the get_eml_resolved_functions_info */ 
  mxGetString(prhs[0], commandName,sizeof(commandName)/sizeof(char)); 
  commandName[(sizeof(commandName)/sizeof(char)-1)] = '\0'; 
  if (strcmp(commandName,"get_eml_resolved_functions_info")) 
    return 0; 
 
  { 
    unsigned int chartFileNumber; 
    chartFileNumber = (unsigned int)mxGetScalar(prhs[1]); 
    switch (chartFileNumber) { 
     case 3: 
      { 
        extern const mxArray *sf_c3_mpc_svpwm_get_eml_resolved_functions_info 
          (void); 
        mxArray *persistentMxArray = (mxArray *) 
          sf_c3_mpc_svpwm_get_eml_resolved_functions_info(); 
        plhs[0] = mxDuplicateArray(persistentMxArray); 
        mxDestroyArray(persistentMxArray); 
        break; 
      } 
 
     case 5: 
      { 
        extern const mxArray *sf_c5_mpc_svpwm_get_eml_resolved_functions_info 
          (void); 
        mxArray *persistentMxArray = (mxArray *) 
          sf_c5_mpc_svpwm_get_eml_resolved_functions_info(); 
        plhs[0] = mxDuplicateArray(persistentMxArray); 
        mxDestroyArray(persistentMxArray); 
        break; 
      } 
 
     case 6: 
      { 
        extern const mxArray *sf_c6_mpc_svpwm_get_eml_resolved_functions_info 
          (void); 
        mxArray *persistentMxArray = (mxArray *) 
          sf_c6_mpc_svpwm_get_eml_resolved_functions_info(); 
        plhs[0] = mxDuplicateArray(persistentMxArray); 
        mxDestroyArray(persistentMxArray); 
        break; 
      } 
 
     default: 
      plhs[0] = mxCreateDoubleMatrix(0,0,mxREAL); 
    } 
  } 
 
  return 1; 
 
#else 
 
  return 0; 
 
#endif 
 
} 
 
unsigned int sf_mpc_svpwm_third_party_uses_info( int nlhs, mxArray * plhs[], int 
  nrhs, const mxArray * prhs[] ) 
{ 
  char commandName[64]; 
  char tpChksum[64]; 
  if (nrhs<3 || !mxIsChar(prhs[0])) 
    return 0; 
 
  /* Possible call to get the third_party_uses_info */ 
  mxGetString(prhs[0], commandName,sizeof(commandName)/sizeof(char)); 
  commandName[(sizeof(commandName)/sizeof(char)-1)] = '\0'; 
  mxGetString(prhs[2], tpChksum,sizeof(tpChksum)/sizeof(char)); 
  tpChksum[(sizeof(tpChksum)/sizeof(char)-1)] = '\0'; 
  if (strcmp(commandName,"get_third_party_uses_info")) 
    return 0; 
 
  { 
    unsigned int chartFileNumber; 
    chartFileNumber = (unsigned int)mxGetScalar(prhs[1]); 
    switch (chartFileNumber) { 
     case 3: 
      { 
        if (strcmp(tpChksum, "YSNwkGTdDD2rO2NvaQPGtC") == 0) { 
          extern mxArray *sf_c3_mpc_svpwm_third_party_uses_info(void); 
          plhs[0] = sf_c3_mpc_svpwm_third_party_uses_info(); 
          break; 
        } 
      } 
 
     case 5: 
      { 
        if (strcmp(tpChksum, "frjFAb7wahwD9Gsgh132xB") == 0) { 
          extern mxArray *sf_c5_mpc_svpwm_third_party_uses_info(void); 
          plhs[0] = sf_c5_mpc_svpwm_third_party_uses_info(); 
          break; 
        } 
      } 
 
     case 6: 
      { 
        if (strcmp(tpChksum, "GdF9zr1XRgOBBMLuRJKjsG") == 0) { 
          extern mxArray *sf_c6_mpc_svpwm_third_party_uses_info(void); 
          plhs[0] = sf_c6_mpc_svpwm_third_party_uses_info(); 
          break; 
        } 
      } 
 
     default: 
      plhs[0] = mxCreateDoubleMatrix(0,0,mxREAL); 
    } 
  } 
 
  return 1; 
} 
 
void mpc_svpwm_debug_initialize(struct SfDebugInstanceStruct* debugInstance) 
{ 
  _mpc_svpwmMachineNumber_ = sf_debug_initialize_machine(debugInstance, 
    "mpc_svpwm","sfun",0,3,0,0,0); 
  sf_debug_set_machine_event_thresholds(debugInstance,_mpc_svpwmMachineNumber_,0, 
    0); 
  sf_debug_set_machine_data_thresholds(debugInstance,_mpc_svpwmMachineNumber_,0); 
} 
 
void mpc_svpwm_register_exported_symbols(SimStruct* S) 
{ 
} 
 
static mxArray* sRtwOptimizationInfoStruct= NULL; 
mxArray* load_mpc_svpwm_optimization_info(void) 
{ 
  if (sRtwOptimizationInfoStruct==NULL) { 
    sRtwOptimizationInfoStruct = sf_load_rtw_optimization_info("mpc_svpwm", 
      "mpc_svpwm"); 
    mexMakeArrayPersistent(sRtwOptimizationInfoStruct); 
  } 
 
  return(sRtwOptimizationInfoStruct); 
} 
 
void unload_mpc_svpwm_optimization_info(void) 
{ 
  if (sRtwOptimizationInfoStruct!=NULL) { 
    mxDestroyArray(sRtwOptimizationInfoStruct); 
    sRtwOptimizationInfoStruct = NULL; 
  } 
}