本文整理汇总了C++中rt_InitInfAndNaN函数的典型用法代码示例。如果您正苦于以下问题:C++ rt_InitInfAndNaN函数的具体用法?C++ rt_InitInfAndNaN怎么用?C++ rt_InitInfAndNaN使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了rt_InitInfAndNaN函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: mdlInitializeSizes
nneyi35s1a * ) & _rtP -> nfugx5ih43 , & _rtZCSV -> nfugx5ih43 ) ; } static
void mdlInitializeSizes ( SimStruct * S ) { ssSetChecksumVal ( S , 0 ,
2573679304U ) ; ssSetChecksumVal ( S , 1 , 1732126455U ) ; ssSetChecksumVal (
S , 2 , 2644021823U ) ; ssSetChecksumVal ( S , 3 , 2167879752U ) ; { mxArray
* slVerStructMat = NULL ; mxArray * slStrMat = mxCreateString ( "simulink" )
; char slVerChar [ 10 ] ; int status = mexCallMATLAB ( 1 , & slVerStructMat ,
1 , & slStrMat , "ver" ) ; if ( status == 0 ) { mxArray * slVerMat =
mxGetField ( slVerStructMat , 0 , "Version" ) ; if ( slVerMat == NULL ) {
status = 1 ; } else { status = mxGetString ( slVerMat , slVerChar , 10 ) ; }
} mxDestroyArray ( slStrMat ) ; mxDestroyArray ( slVerStructMat ) ; if ( (
status == 1 ) || ( strcmp ( slVerChar , "8.7" ) != 0 ) ) { return ; } }
ssSetOptions ( S , SS_OPTION_EXCEPTION_FREE_CODE ) ; if ( ssGetSizeofDWork (
S ) != sizeof ( pklu3vjy1t ) ) { ssSetErrorStatus ( S ,
"Unexpected error: Internal DWork sizes do "
"not match for accelerator mex file." ) ; } if ( ssGetSizeofGlobalBlockIO ( S
) != sizeof ( nmsgyp54ig ) ) { ssSetErrorStatus ( S ,
"Unexpected error: Internal BlockIO sizes do "
"not match for accelerator mex file." ) ; } { int ssSizeofParams ;
ssGetSizeofParams ( S , & ssSizeofParams ) ; if ( ssSizeofParams != sizeof (
bbqvqz25ov ) ) { static char msg [ 256 ] ; sprintf ( msg ,
"Unexpected error: Internal Parameters sizes do "
"not match for accelerator mex file." ) ; } } _ssSetModelRtp ( S , ( real_T *
) & aaesvjrkn2 ) ; _ssSetConstBlockIO ( S , & j0x3c3z5bk ) ; rt_InitInfAndNaN
( sizeof ( real_T ) ) ; ( ( bbqvqz25ov * ) ssGetModelRtp ( S ) ) ->
nfugx5ih43 . P_6 = rtInf ; ( ( bbqvqz25ov * ) ssGetModelRtp ( S ) ) ->
cqabclhqip4 . P_6 = rtInf ; } static void mdlInitializeSampleTimes (
示例2: Kalman_Sim_initialize
/* Model initialize function */
void Kalman_Sim_initialize(void)
{
/* Registration code */
/* initialize non-finites */
rt_InitInfAndNaN(sizeof(real_T));
/* initialize error status */
rtmSetErrorStatus(Kalman_Sim_M, (NULL));
/* block I/O */
/* exported global signals */
Out2 = 0.0;
Out1[0] = 0.0F;
Out1[1] = 0.0F;
Out1[2] = 0.0F;
/* states (dwork) */
(void) memset((void *)&Kalman_Sim_DWork, 0,
sizeof(D_Work_Kalman_Sim));
/* external inputs */
(void) memset(fgyro,0,
3*sizeof(real32_T));
(void) memset(facc,0,
3*sizeof(real32_T));
(void) memset(fmag,0,
3*sizeof(real32_T));
/* Start for DiscretePulseGenerator: '<Root>/Pulse Generator' */
Kalman_Sim_DWork.clockTickCounter = 0;
{
int32_T i;
/* InitializeConditions for UnitDelay: '<S1>/Unit Delay' */
for (i = 0; i < 6; i++) {
Kalman_Sim_DWork.UnitDelay_DSTATE[i] = Kalman_Sim_P.UnitDelay_X0[i];
}
/* InitializeConditions for UnitDelay: '<S1>/Unit Delay1' */
memcpy((void *)(&Kalman_Sim_DWork.UnitDelay1_DSTATE[0]), (void *)
(&Kalman_Sim_P.UnitDelay1_X0[0]), 36U * sizeof(real32_T));
/* InitializeConditions for UnitDelay: '<S1>/Unit Delay2' */
for (i = 0; i < 6; i++) {
Kalman_Sim_DWork.UnitDelay2_DSTATE[i] = Kalman_Sim_P.UnitDelay2_X0[i];
}
/* InitializeConditions for UnitDelay: '<S1>/Unit Delay3' */
memcpy((void *)(&Kalman_Sim_DWork.UnitDelay3_DSTATE[0]), (void *)
(&Kalman_Sim_P.UnitDelay3_X0[0]), 36U * sizeof(real32_T));
}
}
示例3: FCM_NLJD_initialize
/* Function Definitions */
void FCM_NLJD_initialize(void)
{
int32_T i0;
rt_InitInfAndNaN(8U);
state_not_empty = FALSE;
state = 1144108930U;
for (i0 = 0; i0 < 2; i0++) {
b_state[i0] = 362436069U + 158852560U * (uint32_T)i0;
}
method = 7U;
}
示例4: model1_initialize
/* Model initialize function */
void model1_initialize(void)
{
/* Registration code */
/* initialize non-finites */
rt_InitInfAndNaN(sizeof(real_T));
/* initialize real-time model */
(void) memset((void *)model1_M, 0,
sizeof(RT_MODEL_model1_T));
rtmSetTFinal(model1_M, 2.0);
model1_M->Timing.stepSize0 = 5.0E-5;
/* Setup for data logging */
{
static RTWLogInfo rt_DataLoggingInfo;
model1_M->rtwLogInfo = &rt_DataLoggingInfo;
}
/* Setup for data logging */
{
rtliSetLogXSignalInfo(model1_M->rtwLogInfo, (NULL));
rtliSetLogXSignalPtrs(model1_M->rtwLogInfo, (NULL));
rtliSetLogT(model1_M->rtwLogInfo, "tout");
rtliSetLogX(model1_M->rtwLogInfo, "");
rtliSetLogXFinal(model1_M->rtwLogInfo, "");
rtliSetLogVarNameModifier(model1_M->rtwLogInfo, "rt_");
rtliSetLogFormat(model1_M->rtwLogInfo, 0);
rtliSetLogMaxRows(model1_M->rtwLogInfo, 1000);
rtliSetLogDecimation(model1_M->rtwLogInfo, 1);
rtliSetLogY(model1_M->rtwLogInfo, "");
rtliSetLogYSignalInfo(model1_M->rtwLogInfo, (NULL));
rtliSetLogYSignalPtrs(model1_M->rtwLogInfo, (NULL));
}
/* states (dwork) */
(void) memset((void *)&model1_DW, 0,
sizeof(DW_model1_T));
/* Matfile logging */
rt_StartDataLoggingWithStartTime(model1_M->rtwLogInfo, 0.0, rtmGetTFinal
(model1_M), model1_M->Timing.stepSize0, (&rtmGetErrorStatus(model1_M)));
/* Enable for Sin: '<S11>/Sine Wave A' */
model1_DW.systemEnable = 1;
/* Enable for Sin: '<S11>/Sine Wave B' */
model1_DW.systemEnable_i = 1;
/* Enable for Sin: '<S11>/Sine Wave C' */
model1_DW.systemEnable_g = 1;
}
示例5: mcos_lcore_task_0100
/* Block: extout */
void mcos_lcore_task_0100(uint32_t stacd, uintptr_t extinfo)
{ /* omit input channel bit vector */
/* CH__VEC(IN_0100,1); */
real_T DiscreteTimeIntegrator2_Discrete_TimeIntegrator_1;
real_T DiscreteTimeIntegrator2_Discrete_TimeIntegrator_2;
/* Common Initialization */
rt_InitInfAndNaN(sizeof(real_T));
#ifdef TASK_INITIALIZE_0100_COMPLETED
TASK_INITIALIZE_0100_COMPLETED();
#endif
/* task loop */
while (1) {
/* wait input channel */
while (1) {
/* input: DiscreteTimeIntegrator2_Discrete_TimeIntegrator */
if (CH_0004_0100.flag__0004_0100 == 1) {
DiscreteTimeIntegrator2_Discrete_TimeIntegrator_1 = CH_0004_0100.DiscreteTimeIntegrator2_Discrete_TimeIntegrator_1;
DiscreteTimeIntegrator2_Discrete_TimeIntegrator_2 = CH_0004_0100.DiscreteTimeIntegrator2_Discrete_TimeIntegrator_2;
CH__SYNCM();
CH_0004_0100.flag__0004_0100 = 0;
CH__EVENT(TASK_0100, OUT_0004);
CH__END_LOG(IN_0100);
break;
}
CH__TASK_SCHED(IN_0100,NULL,1);
CH__MEM_BARRIER();
}
#ifdef TASK_IN_0100_COMPLETED
TASK_IN_0100_COMPLETED();
#endif
#ifdef TASK_EXECUTE_0100_COMPLETED
TASK_EXECUTE_0100_COMPLETED();
#endif
/****************************************************
*
* You may insert some codes here for external output.
*
****************************************************/
}
}
示例6: mcos_lcore_task_IO0003
/* Block: DiscreteTimeIntegrator2_In3 */
void mcos_lcore_task_IO0003(uint32_t stacd, uintptr_t extinfo)
{ /* omit output channel bit vector */
/* CH__VEC(OUT_IO0003,1); */
real_T DiscreteTimeIntegrator2_In3_1;
/* Common Initialization */
rt_InitInfAndNaN(sizeof(real_T));
#ifdef TASK_INITIALIZE_IO0003_COMPLETED
TASK_INITIALIZE_IO0003_COMPLETED();
#endif
/* task loop */
while (1) {
/****************************************************
*
* You should insert some codes here for external input.
*
****************************************************/
#ifdef TASK_EXECUTE_IO0003_COMPLETED
TASK_EXECUTE_IO0003_COMPLETED();
#endif
/* wait output channel */
while (1) {
/* output: t0 */
if (CH_IO0003_0000.flag__IO0003_0000 == 0) {
CH_IO0003_0000.DiscreteTimeIntegrator2_In3_1 = DiscreteTimeIntegrator2_In3_1;
CH__SYNCM();
CH_IO0003_0000.flag__IO0003_0000 = 1;
CH__EVENT(TASK_IO0003,IN_0000);
CH__END_LOG(OUT_IO0003);
break;
}
CH__TASK_SCHED(OUT_IO0003,NULL,1);
CH__MEM_BARRIER();
}
#ifdef TASK_OUT_IO0003_COMPLETED
TASK_OUT_IO0003_COMPLETED();
#endif
}
}
示例7: calibrazione_acc_initialize
/* Model initialize function */
void calibrazione_acc_initialize(void)
{
/* Registration code */
/* initialize non-finites */
rt_InitInfAndNaN(sizeof(real_T));
/* initialize error status */
rtmSetErrorStatus(calibrazione_acc_M, (NULL));
/* external inputs */
(void) memset((void *)&calibrazione_acc_U, 0,
sizeof(ExternalInputs_calibrazione_acc));
/* external outputs */
(void) memset((void *)&calibrazione_acc_Y, 0,
sizeof(ExternalOutputs_calibrazione_ac));
}
示例8: testArduino_send_serial_initialize
/* Model initialize function */
void testArduino_send_serial_initialize(void)
{
/* Registration code */
/* initialize non-finites */
rt_InitInfAndNaN(sizeof(real_T));
/* initialize real-time model */
(void) memset((void *)testArduino_send_serial_M, 0,
sizeof(RT_MODEL_testArduino_send_ser_T));
/* Start for S-Function (arduinoanaloginput_sfcn): '<Root>/Analog Input' */
MW_pinModeAnalogInput(testArduino_send_serial_P.AnalogInput_p1);
/* Start for S-Function (arduinoanaloginput_sfcn): '<Root>/Analog Input1' */
MW_pinModeAnalogInput(testArduino_send_serial_P.AnalogInput1_p1);
/* Start for S-Function (arduinoanaloginput_sfcn): '<Root>/Analog Input2' */
MW_pinModeAnalogInput(testArduino_send_serial_P.AnalogInput2_p1);
}
示例9: mdlStart
static void mdlStart(SimStruct *S)
{
/* instance underlying S-Function data */
#if defined(RT_MALLOC) || defined(MATLAB_MEX_FILE)
# if defined(MATLAB_MEX_FILE)
/* non-finites */
rt_InitInfAndNaN(sizeof(real_T));
# endif
Hammerstein_malloc(S);
if (ssGetErrorStatus(S) != (NULL) ) {
return;
}
#endif
{
BlockIO_Hammerstein *_rtB;
_rtB = ((BlockIO_Hammerstein *) ssGetLocalBlockIO(S));
/* Level2 S-Function Block: '<S1>/Pwlinear1' (sfunpwlinear) */
{
SimStruct *rts = ssGetSFunction(S, 0);
sfcnStart(rts);
if (ssGetErrorStatus(rts) != (NULL))
return;
}
/* Level2 S-Function Block: '<S1>/Pwlinear' (sfunpwlinear) */
{
SimStruct *rts = ssGetSFunction(S, 1);
sfcnStart(rts);
if (ssGetErrorStatus(rts) != (NULL))
return;
}
}
}
示例10: _ssGetBlockIO
P_6 * ( ( BlockIO_main * ) _ssGetBlockIO ( S ) ) -> B_0_16_0 ; } } static
void mdlInitializeSizes ( SimStruct * S ) { ssSetChecksumVal ( S , 0 ,
3089498090U ) ; ssSetChecksumVal ( S , 1 , 49919693U ) ; ssSetChecksumVal ( S
, 2 , 412083875U ) ; ssSetChecksumVal ( S , 3 , 3370502334U ) ; { mxArray *
slVerStructMat = NULL ; mxArray * slStrMat = mxCreateString ( "simulink" ) ;
char slVerChar [ 10 ] ; int status = mexCallMATLAB ( 1 , & slVerStructMat , 1
, & slStrMat , "ver" ) ; if ( status == 0 ) { mxArray * slVerMat = mxGetField
( slVerStructMat , 0 , "Version" ) ; if ( slVerMat == NULL ) { status = 1 ; }
else { status = mxGetString ( slVerMat , slVerChar , 10 ) ; } }
mxDestroyArray ( slStrMat ) ; mxDestroyArray ( slVerStructMat ) ; if ( (
status == 1 ) || ( strcmp ( slVerChar , "8.0" ) != 0 ) ) { return ; } }
ssSetOptions ( S , SS_OPTION_EXCEPTION_FREE_CODE ) ; if ( ssGetSizeofDWork (
S ) != sizeof ( D_Work_main ) ) { ssSetErrorStatus ( S ,
"Unexpected error: Internal DWork sizes do "
"not match for accelerator mex file." ) ; } if ( ssGetSizeofGlobalBlockIO ( S
) != sizeof ( BlockIO_main ) ) { ssSetErrorStatus ( S ,
"Unexpected error: Internal BlockIO sizes do "
"not match for accelerator mex file." ) ; } { int ssSizeofParams ;
ssGetSizeofParams ( S , & ssSizeofParams ) ; if ( ssSizeofParams != sizeof (
Parameters_main ) ) { static char msg [ 256 ] ; sprintf ( msg ,
"Unexpected error: Internal Parameters sizes do "
"not match for accelerator mex file." ) ; } } _ssSetDefaultParam ( S , (
real_T * ) & main_rtDefaultParameters ) ; rt_InitInfAndNaN ( sizeof ( real_T
) ) ; } static void mdlInitializeSampleTimes ( SimStruct * S ) { } static
示例11: HConstfolding_initialize
/* Model initialize function */
void HConstfolding_initialize(void)
{
/* Registration code */
/* initialize non-finites */
rt_InitInfAndNaN(sizeof(real_T));
/* initialize real-time model */
(void) memset((void *)HConstfolding_M, 0,
sizeof(RT_MODEL_HConstfolding));
/* Initialize timing info */
{
int_T *mdlTsMap = HConstfolding_M->Timing.sampleTimeTaskIDArray;
mdlTsMap[0] = 0;
HConstfolding_M->Timing.sampleTimeTaskIDPtr = (&mdlTsMap[0]);
HConstfolding_M->Timing.sampleTimes =
(&HConstfolding_M->Timing.sampleTimesArray[0]);
HConstfolding_M->Timing.offsetTimes =
(&HConstfolding_M->Timing.offsetTimesArray[0]);
/* task periods */
HConstfolding_M->Timing.sampleTimes[0] = (1.0);
/* task offsets */
HConstfolding_M->Timing.offsetTimes[0] = (0.0);
}
rtmSetTPtr(HConstfolding_M, &HConstfolding_M->Timing.tArray[0]);
{
int_T *mdlSampleHits = HConstfolding_M->Timing.sampleHitArray;
mdlSampleHits[0] = 1;
HConstfolding_M->Timing.sampleHits = (&mdlSampleHits[0]);
}
rtmSetTFinal(HConstfolding_M, 1.0E+8);
HConstfolding_M->Timing.stepSize0 = 1.0;
/* Setup for data logging */
{
static RTWLogInfo rt_DataLoggingInfo;
HConstfolding_M->rtwLogInfo = &rt_DataLoggingInfo;
}
/* Setup for data logging */
{
rtliSetLogXSignalInfo(HConstfolding_M->rtwLogInfo, (NULL));
rtliSetLogXSignalPtrs(HConstfolding_M->rtwLogInfo, (NULL));
rtliSetLogT(HConstfolding_M->rtwLogInfo, "tout");
rtliSetLogX(HConstfolding_M->rtwLogInfo, "");
rtliSetLogXFinal(HConstfolding_M->rtwLogInfo, "");
rtliSetSigLog(HConstfolding_M->rtwLogInfo, "");
rtliSetLogVarNameModifier(HConstfolding_M->rtwLogInfo, "rt_");
rtliSetLogFormat(HConstfolding_M->rtwLogInfo, 0);
rtliSetLogMaxRows(HConstfolding_M->rtwLogInfo, 1000);
rtliSetLogDecimation(HConstfolding_M->rtwLogInfo, 1);
/*
* Set pointers to the data and signal info for each output
*/
{
static void * rt_LoggedOutputSignalPtrs[] = {
&HConstfolding_Y.Out1
};
rtliSetLogYSignalPtrs(HConstfolding_M->rtwLogInfo, ((LogSignalPtrsType)
rt_LoggedOutputSignalPtrs));
}
{
static int_T rt_LoggedOutputWidths[] = {
1
};
static int_T rt_LoggedOutputNumDimensions[] = {
1
};
static int_T rt_LoggedOutputDimensions[] = {
1
};
static boolean_T rt_LoggedOutputIsVarDims[] = {
0
};
static void* rt_LoggedCurrentSignalDimensions[] = {
(NULL)
};
static int_T rt_LoggedCurrentSignalDimensionsSize[] = {
4
};
static BuiltInDTypeId rt_LoggedOutputDataTypeIds[] = {
SS_DOUBLE
};
//.........这里部分代码省略.........
示例12: BP_MC1_initialize
/* Model initialize function */
void BP_MC1_initialize(boolean_T firstTime)
{
(void)firstTime;
/* Registration code */
/* initialize non-finites */
rt_InitInfAndNaN(sizeof(real_T));
/* initialize real-time model */
(void) memset((void *)BP_MC1_M,0,
sizeof(RT_MODEL_BP_MC1));
/* Initialize timing info */
{
int_T *mdlTsMap = BP_MC1_M->Timing.sampleTimeTaskIDArray;
mdlTsMap[0] = 0;
BP_MC1_M->Timing.sampleTimeTaskIDPtr = (&mdlTsMap[0]);
BP_MC1_M->Timing.sampleTimes = (&BP_MC1_M->Timing.sampleTimesArray[0]);
BP_MC1_M->Timing.offsetTimes = (&BP_MC1_M->Timing.offsetTimesArray[0]);
/* task periods */
BP_MC1_M->Timing.sampleTimes[0] = (0.05);
/* task offsets */
BP_MC1_M->Timing.offsetTimes[0] = (0.0);
}
rtmSetTPtr(BP_MC1_M, &BP_MC1_M->Timing.tArray[0]);
{
int_T *mdlSampleHits = BP_MC1_M->Timing.sampleHitArray;
mdlSampleHits[0] = 1;
BP_MC1_M->Timing.sampleHits = (&mdlSampleHits[0]);
}
rtmSetTFinal(BP_MC1_M, -1);
BP_MC1_M->Timing.stepSize0 = 0.05;
/* Setup for data logging */
{
static RTWLogInfo rt_DataLoggingInfo;
BP_MC1_M->rtwLogInfo = &rt_DataLoggingInfo;
}
/* Setup for data logging */
{
rtliSetLogXSignalInfo(BP_MC1_M->rtwLogInfo, (NULL));
rtliSetLogXSignalPtrs(BP_MC1_M->rtwLogInfo, (NULL));
rtliSetLogT(BP_MC1_M->rtwLogInfo, "");
rtliSetLogX(BP_MC1_M->rtwLogInfo, "");
rtliSetLogXFinal(BP_MC1_M->rtwLogInfo, "");
rtliSetSigLog(BP_MC1_M->rtwLogInfo, "");
rtliSetLogVarNameModifier(BP_MC1_M->rtwLogInfo, "rt_");
rtliSetLogFormat(BP_MC1_M->rtwLogInfo, 0);
rtliSetLogMaxRows(BP_MC1_M->rtwLogInfo, 1000);
rtliSetLogDecimation(BP_MC1_M->rtwLogInfo, 1);
rtliSetLogY(BP_MC1_M->rtwLogInfo, "");
rtliSetLogYSignalInfo(BP_MC1_M->rtwLogInfo, (NULL));
rtliSetLogYSignalPtrs(BP_MC1_M->rtwLogInfo, (NULL));
}
BP_MC1_M->solverInfoPtr = (&BP_MC1_M->solverInfo);
BP_MC1_M->Timing.stepSize = (0.05);
rtsiSetFixedStepSize(&BP_MC1_M->solverInfo, 0.05);
rtsiSetSolverMode(&BP_MC1_M->solverInfo, SOLVER_MODE_SINGLETASKING);
/* block I/O */
BP_MC1_M->ModelData.blockIO = ((void *) &BP_MC1_B);
(void) memset(((void *) &BP_MC1_B),0,
sizeof(BlockIO_BP_MC1));
{
BP_MC1_B.u1 = 0.0;
BP_MC1_B.Sign = 0.0;
BP_MC1_B.PortVPS_X = 0.0;
BP_MC1_B.PortVPS_X_g = 0.0;
BP_MC1_B.u1_p = 0.0;
BP_MC1_B.PortVSP_Y = 0.0;
BP_MC1_B.PortVSP_Y_i = 0.0;
BP_MC1_B.u1_g = 0.0;
BP_MC1_B.StarboardVSP_X = 0.0;
BP_MC1_B.u1_pj = 0.0;
BP_MC1_B.StarboardVSP_Y = 0.0;
BP_MC1_B.Servo1 = 0.0;
BP_MC1_B.Servo2 = 0.0;
BP_MC1_B.Servo3 = 0.0;
BP_MC1_B.Servo4 = 0.0;
BP_MC1_B.VPS_Speed_Gain = 0.0;
BP_MC1_B.Sum = 0.0;
BP_MC1_B.BowThrusterdirection = 0.0;
BP_MC1_B.BT_D_Gain1 = 0.0;
BP_MC1_B.BT_D_Gain2 = 0.0;
BP_MC1_B.Add = 0.0;
BP_MC1_B.BT_L_Gain1 = 0.0;
BP_MC1_B.BT_L_Gain2 = 0.0;
BP_MC1_B.Sum1 = 0.0;
BP_MC1_B.Sum2 = 0.0;
BP_MC1_B.Switch = 0.0;
//.........这里部分代码省略.........
示例13: Crane_initialize
/* Model initialize function */
void Crane_initialize(boolean_T firstTime)
{
(void)firstTime;
/* Registration code */
/* initialize non-finites */
rt_InitInfAndNaN(sizeof(real_T)); /* initialize real-time model */
(void) memset((char_T *)Crane_M,0,
sizeof(RT_MODEL_Crane));
{
/* Setup solver object */
rtsiSetSimTimeStepPtr(&Crane_M->solverInfo, &Crane_M->Timing.simTimeStep);
rtsiSetTPtr(&Crane_M->solverInfo, &rtmGetTPtr(Crane_M));
rtsiSetStepSizePtr(&Crane_M->solverInfo, &Crane_M->Timing.stepSize0);
rtsiSetdXPtr(&Crane_M->solverInfo, &Crane_M->ModelData.derivs);
rtsiSetContStatesPtr(&Crane_M->solverInfo, &Crane_M->ModelData.contStates);
rtsiSetNumContStatesPtr(&Crane_M->solverInfo, &Crane_M->Sizes.numContStates);
rtsiSetErrorStatusPtr(&Crane_M->solverInfo, (&rtmGetErrorStatus(Crane_M)));
rtsiSetRTModelPtr(&Crane_M->solverInfo, Crane_M);
}
rtsiSetSimTimeStep(&Crane_M->solverInfo, MAJOR_TIME_STEP);
Crane_M->ModelData.intgData.f[0] = Crane_M->ModelData.odeF[0];
Crane_M->ModelData.contStates = ((real_T *) &Crane_X);
rtsiSetSolverData(&Crane_M->solverInfo, (void *)&Crane_M->ModelData.intgData);
rtsiSetSolverName(&Crane_M->solverInfo,"ode1");
/* Initialize timing info */
{
int_T *mdlTsMap = Crane_M->Timing.sampleTimeTaskIDArray;
mdlTsMap[0] = 0;
mdlTsMap[1] = 1;
Crane_M->Timing.sampleTimeTaskIDPtr = (&mdlTsMap[0]);
Crane_M->Timing.sampleTimes = (&Crane_M->Timing.sampleTimesArray[0]);
Crane_M->Timing.offsetTimes = (&Crane_M->Timing.offsetTimesArray[0]);
/* task periods */
Crane_M->Timing.sampleTimes[0] = (0.0);
Crane_M->Timing.sampleTimes[1] = (0.001);
/* task offsets */
Crane_M->Timing.offsetTimes[0] = (0.0);
Crane_M->Timing.offsetTimes[1] = (0.0);
}
rtmSetTPtr(Crane_M, &Crane_M->Timing.tArray[0]);
{
int_T *mdlSampleHits = Crane_M->Timing.sampleHitArray;
mdlSampleHits[0] = 1;
mdlSampleHits[1] = 1;
Crane_M->Timing.sampleHits = (&mdlSampleHits[0]);
}
rtmSetTFinal(Crane_M, -1);
Crane_M->Timing.stepSize0 = 0.001;
Crane_M->Timing.stepSize1 = 0.001;
/* external mode info */
Crane_M->Sizes.checksums[0] = (2478158774U);
Crane_M->Sizes.checksums[1] = (3803381746U);
Crane_M->Sizes.checksums[2] = (277883647U);
Crane_M->Sizes.checksums[3] = (670793414U);
{
static const sysRanDType rtAlwaysEnabled = SUBSYS_RAN_BC_ENABLE;
static RTWExtModeInfo rt_ExtModeInfo;
static const sysRanDType *systemRan[1];
Crane_M->extModeInfo = (&rt_ExtModeInfo);
rteiSetSubSystemActiveVectorAddresses(&rt_ExtModeInfo, systemRan);
systemRan[0] = &rtAlwaysEnabled;
rteiSetModelMappingInfoPtr(&rt_ExtModeInfo,
&Crane_M->SpecialInfo.mappingInfo);
rteiSetChecksumsPtr(&rt_ExtModeInfo, Crane_M->Sizes.checksums);
rteiSetTPtr(&rt_ExtModeInfo, rtmGetTPtr(Crane_M));
}
Crane_M->solverInfoPtr = (&Crane_M->solverInfo);
Crane_M->Timing.stepSize = (0.001);
rtsiSetFixedStepSize(&Crane_M->solverInfo, 0.001);
rtsiSetSolverMode(&Crane_M->solverInfo, SOLVER_MODE_SINGLETASKING);
/* block I/O */
Crane_M->ModelData.blockIO = ((void *) &Crane_B);
{
int_T i;
void *pVoidBlockIORegion;
pVoidBlockIORegion = (void *)(&Crane_B.Block1_o1[0]);
for (i = 0; i < 49; i++) {
((real_T*)pVoidBlockIORegion)[i] = 0.0;
}
}
/* parameters */
Crane_M->ModelData.defaultParam = ((real_T *) &Crane_P);
//.........这里部分代码省略.........
示例14: CelpSimulink_initialize
/* Model initialize function */
void CelpSimulink_initialize(boolean_T firstTime)
{
(void)firstTime;
/* Registration code */
/* initialize non-finites */
rt_InitInfAndNaN(sizeof(real_T));
/* initialize real-time model */
(void) memset((char_T *)CelpSimulink_M,0,
sizeof(RT_MODEL_CelpSimulink));
/* Initialize timing info */
{
int_T *mdlTsMap = CelpSimulink_M->Timing.sampleTimeTaskIDArray;
mdlTsMap[0] = 0;
CelpSimulink_M->Timing.sampleTimeTaskIDPtr = (&mdlTsMap[0]);
CelpSimulink_M->Timing.sampleTimes =
(&CelpSimulink_M->Timing.sampleTimesArray[0]);
CelpSimulink_M->Timing.offsetTimes =
(&CelpSimulink_M->Timing.offsetTimesArray[0]);
/* task periods */
CelpSimulink_M->Timing.sampleTimes[0] = (0.01);
/* task offsets */
CelpSimulink_M->Timing.offsetTimes[0] = (0.0);
}
rtmSetTPtr(CelpSimulink_M, &CelpSimulink_M->Timing.tArray[0]);
{
int_T *mdlSampleHits = CelpSimulink_M->Timing.sampleHitArray;
mdlSampleHits[0] = 1;
CelpSimulink_M->Timing.sampleHits = (&mdlSampleHits[0]);
}
rtmSetTFinal(CelpSimulink_M, -1);
CelpSimulink_M->Timing.stepSize0 = 0.01;
/* Setup for data logging */
{
static RTWLogInfo rt_DataLoggingInfo;
CelpSimulink_M->rtwLogInfo = &rt_DataLoggingInfo;
rtliSetLogXSignalInfo(CelpSimulink_M->rtwLogInfo, NULL);
rtliSetLogXSignalPtrs(CelpSimulink_M->rtwLogInfo, NULL);
rtliSetLogT(CelpSimulink_M->rtwLogInfo, "tout");
rtliSetLogX(CelpSimulink_M->rtwLogInfo, "");
rtliSetLogXFinal(CelpSimulink_M->rtwLogInfo, "");
rtliSetSigLog(CelpSimulink_M->rtwLogInfo, "");
rtliSetLogVarNameModifier(CelpSimulink_M->rtwLogInfo, "rt_");
rtliSetLogFormat(CelpSimulink_M->rtwLogInfo, 0);
rtliSetLogMaxRows(CelpSimulink_M->rtwLogInfo, 1000);
rtliSetLogDecimation(CelpSimulink_M->rtwLogInfo, 1);
rtliSetLogY(CelpSimulink_M->rtwLogInfo, "");
rtliSetLogYSignalInfo(CelpSimulink_M->rtwLogInfo, NULL);
rtliSetLogYSignalPtrs(CelpSimulink_M->rtwLogInfo, NULL);
}
CelpSimulink_M->solverInfoPtr = (&CelpSimulink_M->solverInfo);
CelpSimulink_M->Timing.stepSize = (0.01);
rtsiSetFixedStepSize(&CelpSimulink_M->solverInfo, 0.01);
rtsiSetSolverMode(&CelpSimulink_M->solverInfo, SOLVER_MODE_SINGLETASKING);
/* block I/O */
CelpSimulink_M->ModelData.blockIO = ((void *) &CelpSimulink_B);
(void) memset(((void *) &CelpSimulink_B),0,
sizeof(BlockIO_CelpSimulink));
{
int_T i;
void *pVoidBlockIORegion;
pVoidBlockIORegion = (void *)(&CelpSimulink_B.FromWaveFile[0]);
for (i = 0; i < 411; i++) {
((real32_T*)pVoidBlockIORegion)[i] = 0.0F;
}
}
/* parameters */
CelpSimulink_M->ModelData.defaultParam = ((real_T *) &CelpSimulink_P);
/* states (dwork) */
CelpSimulink_M->Work.dwork = ((void *) &CelpSimulink_DWork);
(void) memset((char_T *) &CelpSimulink_DWork,0,
sizeof(D_Work_CelpSimulink));
CelpSimulink_DWork.Maximum1_Valdata = 0.0;
{
int_T i;
real32_T *dwork_ptr = (real32_T *)
&CelpSimulink_DWork.PreEmphasis_FILT_STATES[0];
for (i = 0; i < 1122; i++) {
dwork_ptr[i] = 0.0F;
}
}
}
示例15: FFT_test_initialize
/* Function Definitions */
void FFT_test_initialize(void)
{
rt_InitInfAndNaN(8U);
}