Esempio n. 1
0
/* Start for referenced model: 'motor_hr' */
void motor_hr_Start(void)
{
  /* Start for S-Function (arduinodigitaloutput_sfcn): '<S1>/Digital Output' */
  MW_pinModeOutput(motor_hr_P.DigitalOutput_pinNumber);

  /* Start for S-Function (arduinoanalogoutput_sfcn): '<S2>/PWM' */
  MW_pinModeOutput(motor_hr_P.PWM_pinNumber);
}
/*
 * Start for atomic system:
 *    '<S1>/hl'
 *    '<S1>/vl'
 */
void motor_test_hierarchies_hl_Start(P_hl_motor_test_hierarchies_T *localP)
{
  /* Start for S-Function (arduinodigitaloutput_sfcn): '<S8>/Digital Output' */
  MW_pinModeOutput(localP->DigitalOutput_pinNumber);

  /* Start for S-Function (arduinoanalogoutput_sfcn): '<S9>/PWM' */
  MW_pinModeOutput(localP->PWM_pinNumber);
}
Esempio n. 3
0
/* Model initialize function */
void untitled_initialize(void)
{
  /* Registration code */

  /* initialize error status */
  rtmSetErrorStatus(untitled_M, (NULL));

  /* Start for S-Function (arduinoanalogoutput_sfcn): '<S1>/PWM' */
  MW_pinModeOutput(untitled_P.PWM_pinNumber);

  /* Start for S-Function (arduinoanalogoutput_sfcn): '<S2>/PWM' */
  MW_pinModeOutput(untitled_P.PWM_pinNumber_m);
}
/* Model initialize function */
void SingleCylinderTest_initialize(void)
{
  /* Registration code */

  /* initialize real-time model */
  (void) memset((void *)SingleCylinderTest_M, 0,
                sizeof(RT_MODEL_SingleCylinderTest_T));

  /* block I/O */
  (void) memset(((void *) &SingleCylinderTest_B), 0,
                sizeof(B_SingleCylinderTest_T));

  /* states (dwork) */
  (void) memset((void *)&SingleCylinderTest_DW, 0,
                sizeof(DW_SingleCylinderTest_T));

  /* Start for S-Function (arduinoanaloginput_sfcn): '<S2>/Feedback Voltage' */
  MW_pinModeAnalogInput(SingleCylinderTest_P.FeedbackVoltage_p1);

  /* Start for S-Function (arduinoanalogoutput_sfcn): '<S11>/PWM' */
  MW_pinModeOutput(SingleCylinderTest_P.PWM_pinNumber);

  /* Start for S-Function (arduinoanalogoutput_sfcn): '<S12>/PWM' */
  MW_pinModeOutput(SingleCylinderTest_P.PWM_pinNumber_n);

  /* Start for S-Function (arduinoanaloginput_sfcn): '<S3>/Feedback Voltage' */
  MW_pinModeAnalogInput(SingleCylinderTest_P.FeedbackVoltage_p1_n);

  /* Start for S-Function (arduinoanalogoutput_sfcn): '<S14>/PWM' */
  MW_pinModeOutput(SingleCylinderTest_P.PWM_pinNumber_p);

  /* Start for S-Function (arduinoanalogoutput_sfcn): '<S15>/PWM' */
  MW_pinModeOutput(SingleCylinderTest_P.PWM_pinNumber_g);

  /* InitializeConditions for UnitDelay: '<Root>/Unit Delay' */
  SingleCylinderTest_DW.UnitDelay_DSTATE =
    SingleCylinderTest_P.UnitDelay_InitialCondition;

  /* InitializeConditions for UnitDelay: '<S4>/Unit Delay1' */
  SingleCylinderTest_DW.UnitDelay1_DSTATE =
    SingleCylinderTest_P.UnitDelay1_InitialCondition;

  /* InitializeConditions for UnitDelay: '<S5>/Unit Delay1' */
  SingleCylinderTest_DW.UnitDelay1_DSTATE_k =
    SingleCylinderTest_P.UnitDelay1_InitialCondition_l;

  /* InitializeConditions for Chart: '<S5>/Chart' */
  SingleCylinderTest_DW.is_active_c3_SingleCylinderTest = 0U;
  SingleCylinderTest_DW.is_c3_SingleCylinderTest =
    SingleCylind_IN_NO_ACTIVE_CHILD;
}
Esempio n. 5
0
/* Model initialize function */
void ArduinoFirstTry_initialize(void)
{
  /* Registration code */

  /* initialize error status */
  rtmSetErrorStatus(ArduinoFirstTry_M, (NULL));

  /* states (dwork) */
  (void) memset((void *)&ArduinoFirstTry_DW, 0,
                sizeof(DW_ArduinoFirstTry_T));

  /* Start for DiscretePulseGenerator: '<Root>/Pulse Generator' */
  ArduinoFirstTry_DW.clockTickCounter = 0L;

  /* Start for S-Function (arduinodigitaloutput_sfcn): '<S1>/Digital Output' */
  MW_pinModeOutput(ArduinoFirstTry_P.DigitalOutput_pinNumber);
}
/* Model initialize function */
void XbeeSerialRead_initialize(void)
{
  /* Registration code */

  /* initialize error status */
  rtmSetErrorStatus(XbeeSerialRead_M, (NULL));

  /* block I/O */
  (void) memset(((void *) &XbeeSerialRead_B), 0,
                sizeof(B_XbeeSerialRead_T));

  /* states (dwork) */
  (void) memset((void *)&XbeeSerialRead_DW, 0,
                sizeof(DW_XbeeSerialRead_T));

  /* Start for S-Function (arduinoanalogoutput_sfcn): '<S1>/PWM' */
  MW_pinModeOutput(XbeeSerialRead_P.PWM_pinNumber);

  /* InitializeConditions for UnitDelay: '<Root>/Unit Delay' */
  XbeeSerialRead_DW.UnitDelay_DSTATE =
    XbeeSerialRead_P.UnitDelay_InitialCondition;
}
Esempio n. 7
0
/* Model initialize function */
void motor_hr_initialize(void)
{
  /* Registration code */

  /* initialize real-time model */
  (void) memset((void *)motor_hr_M, 0,
                sizeof(RT_MODEL_motor_hr_T));
  rtmSetTFinal(motor_hr_M, 1000.0);
  motor_hr_M->Timing.stepSize0 = 20.0;

  /* External mode info */
  motor_hr_M->Sizes.checksums[0] = (822641153U);
  motor_hr_M->Sizes.checksums[1] = (2911569967U);
  motor_hr_M->Sizes.checksums[2] = (108929926U);
  motor_hr_M->Sizes.checksums[3] = (297514658U);

  {
    static const sysRanDType rtAlwaysEnabled = SUBSYS_RAN_BC_ENABLE;
    static RTWExtModeInfo rt_ExtModeInfo;
    static const sysRanDType *systemRan[3];
    motor_hr_M->extModeInfo = (&rt_ExtModeInfo);
    rteiSetSubSystemActiveVectorAddresses(&rt_ExtModeInfo, systemRan);
    systemRan[0] = &rtAlwaysEnabled;
    systemRan[1] = &rtAlwaysEnabled;
    systemRan[2] = &rtAlwaysEnabled;
    rteiSetModelMappingInfoPtr(motor_hr_M->extModeInfo,
      &motor_hr_M->SpecialInfo.mappingInfo);
    rteiSetChecksumsPtr(motor_hr_M->extModeInfo, motor_hr_M->Sizes.checksums);
    rteiSetTPtr(motor_hr_M->extModeInfo, rtmGetTPtr(motor_hr_M));
  }

  /* states (dwork) */
  (void) memset((void *)&motor_hr_DW, 0,
                sizeof(DW_motor_hr_T));

  /* external inputs */
  (void) memset((void *)&motor_hr_U, 0,
                sizeof(ExtU_motor_hr_T));

  /* data type transition information */
  {
    static DataTypeTransInfo dtInfo;
    (void) memset((char_T *) &dtInfo, 0,
                  sizeof(dtInfo));
    motor_hr_M->SpecialInfo.mappingInfo = (&dtInfo);
    dtInfo.numDataTypes = 14;
    dtInfo.dataTypeSizes = &rtDataTypeSizes[0];
    dtInfo.dataTypeNames = &rtDataTypeNames[0];

    /* Block I/O transition table */
    dtInfo.B = &rtBTransTable;

    /* Parameters transition table */
    dtInfo.P = &rtPTransTable;
  }

  /* Start for S-Function (arduinodigitaloutput_sfcn): '<S1>/Digital Output' */
  MW_pinModeOutput(motor_hr_P.DigitalOutput_pinNumber);

  /* Start for S-Function (arduinoanalogoutput_sfcn): '<S2>/PWM' */
  MW_pinModeOutput(motor_hr_P.PWM_pinNumber);
}
/* Model initialize function */
void motor_test_hierarchies_initialize(void)
{
  /* Registration code */

  /* initialize real-time model */
  (void) memset((void *)motor_test_hierarchies_M, 0,
                sizeof(RT_MODEL_motor_test_hierarchi_T));

  {
    /* Setup solver object */
    rtsiSetSimTimeStepPtr(&motor_test_hierarchies_M->solverInfo,
                          &motor_test_hierarchies_M->Timing.simTimeStep);
    rtsiSetTPtr(&motor_test_hierarchies_M->solverInfo, &rtmGetTPtr
                (motor_test_hierarchies_M));
    rtsiSetStepSizePtr(&motor_test_hierarchies_M->solverInfo,
                       &motor_test_hierarchies_M->Timing.stepSize0);
    rtsiSetErrorStatusPtr(&motor_test_hierarchies_M->solverInfo,
                          (&rtmGetErrorStatus(motor_test_hierarchies_M)));
    rtsiSetRTModelPtr(&motor_test_hierarchies_M->solverInfo,
                      motor_test_hierarchies_M);
  }

  rtsiSetSimTimeStep(&motor_test_hierarchies_M->solverInfo, MAJOR_TIME_STEP);
  rtsiSetSolverName(&motor_test_hierarchies_M->solverInfo,"FixedStepDiscrete");
  rtmSetTPtr(motor_test_hierarchies_M, &motor_test_hierarchies_M->Timing.tArray
             [0]);
  rtmSetTFinal(motor_test_hierarchies_M, 200.0);
  motor_test_hierarchies_M->Timing.stepSize0 = 1.0;

  /* External mode info */
  motor_test_hierarchies_M->Sizes.checksums[0] = (1277721381U);
  motor_test_hierarchies_M->Sizes.checksums[1] = (3056422068U);
  motor_test_hierarchies_M->Sizes.checksums[2] = (826496824U);
  motor_test_hierarchies_M->Sizes.checksums[3] = (767811506U);

  {
    static const sysRanDType rtAlwaysEnabled = SUBSYS_RAN_BC_ENABLE;
    static RTWExtModeInfo rt_ExtModeInfo;
    static const sysRanDType *systemRan[9];
    motor_test_hierarchies_M->extModeInfo = (&rt_ExtModeInfo);
    rteiSetSubSystemActiveVectorAddresses(&rt_ExtModeInfo, systemRan);
    systemRan[0] = &rtAlwaysEnabled;
    systemRan[1] = &rtAlwaysEnabled;
    systemRan[2] = &rtAlwaysEnabled;
    systemRan[3] = &rtAlwaysEnabled;
    systemRan[4] = &rtAlwaysEnabled;
    systemRan[5] = &rtAlwaysEnabled;
    systemRan[6] = &rtAlwaysEnabled;
    systemRan[7] = &rtAlwaysEnabled;
    systemRan[8] = &rtAlwaysEnabled;
    rteiSetModelMappingInfoPtr(motor_test_hierarchies_M->extModeInfo,
      &motor_test_hierarchies_M->SpecialInfo.mappingInfo);
    rteiSetChecksumsPtr(motor_test_hierarchies_M->extModeInfo,
                        motor_test_hierarchies_M->Sizes.checksums);
    rteiSetTPtr(motor_test_hierarchies_M->extModeInfo, rtmGetTPtr
                (motor_test_hierarchies_M));
  }

  /* block I/O */
  (void) memset(((void *) &motor_test_hierarchies_B), 0,
                sizeof(B_motor_test_hierarchies_T));

  /* states (dwork) */
  (void) memset((void *)&motor_test_hierarchies_DW, 0,
                sizeof(DW_motor_test_hierarchies_T));

  /* data type transition information */
  {
    static DataTypeTransInfo dtInfo;
    (void) memset((char_T *) &dtInfo, 0,
                  sizeof(dtInfo));
    motor_test_hierarchies_M->SpecialInfo.mappingInfo = (&dtInfo);
    dtInfo.numDataTypes = 14;
    dtInfo.dataTypeSizes = &rtDataTypeSizes[0];
    dtInfo.dataTypeNames = &rtDataTypeNames[0];

    /* Block I/O transition table */
    dtInfo.B = &rtBTransTable;

    /* Parameters transition table */
    dtInfo.P = &rtPTransTable;
  }

  /* Start for FromWorkspace: '<S3>/FromWs' */
  {
    static real_T pTimeValues0[] = { 0.0, 1.0, 1.0, 2.0, 2.0, 4.0, 4.0, 6.0, 6.0,
      7.0 } ;

    static real_T pDataValues0[] = { 0.0, 128.0, 128.0, 128.0, 128.0, 255.0,
      255.0, 255.0, 255.0, 0.0 } ;

    motor_test_hierarchies_DW.FromWs_PWORK.TimePtr = (void *) pTimeValues0;
    motor_test_hierarchies_DW.FromWs_PWORK.DataPtr = (void *) pDataValues0;
    motor_test_hierarchies_DW.FromWs_IWORK.PrevIndex = 0;
  }

  /* Start for Atomic SubSystem: '<S1>/hl' */
  motor_test_hierarchies_hl_Start((P_hl_motor_test_hierarchies_T *)
    &motor_test_hierarchies_P.hl);

  /* End of Start for SubSystem: '<S1>/hl' */

  /* Start for Atomic SubSystem: '<S1>/hr' */
  /* Start for S-Function (arduinodigitaloutput_sfcn): '<S10>/Digital Output' */
  MW_pinModeOutput(motor_test_hierarchies_P.DigitalOutput_pinNumber);

  /* Start for S-Function (arduinoanalogoutput_sfcn): '<S11>/PWM' */
  MW_pinModeOutput(motor_test_hierarchies_P.PWM_pinNumber);

  /* Start for Atomic SubSystem: '<S1>/vl' */
  motor_test_hierarchies_hl_Start((P_hl_motor_test_hierarchies_T *)
    &motor_test_hierarchies_P.vl);

  /* End of Start for SubSystem: '<S1>/vl' */

  /* Start for Atomic SubSystem: '<S1>/vr' */
  /* Start for S-Function (arduinodigitaloutput_sfcn): '<S14>/Digital Output' */
  MW_pinModeOutput(motor_test_hierarchies_P.DigitalOutput_pinNumber_a);

  /* Start for S-Function (arduinoanalogoutput_sfcn): '<S15>/PWM' */
  MW_pinModeOutput(motor_test_hierarchies_P.PWM_pinNumber_n);
}