static void sf_c9_testing_control_with_estimate
  (SFc9_testing_control_with_estimateInstanceStruct *chartInstance)
{
  real_T c9_hoistedGlobal;
  real_T c9_b_hoistedGlobal;
  real_T c9_c_hoistedGlobal;
  real_T c9_d_hoistedGlobal;
  real_T c9_s1;
  real_T c9_dc1;
  real_T c9_s2;
  real_T c9_dc2;
  uint32_T c9_debug_family_var_map[10];
  real_T c9_dc[3];
  real_T c9_nargin = 4.0;
  real_T c9_nargout = 3.0;
  real_T c9_Va;
  real_T c9_Vb;
  real_T c9_Vc;
  int32_T c9_i0;
  int32_T c9_i1;
  real_T c9_u[3];
  const mxArray *c9_y = NULL;
  int32_T c9_i2;
  real_T c9_b_u[3];
  const mxArray *c9_b_y = NULL;
  real_T c9_a;
  real_T c9_b_a;
  real_T c9_c_a;
  real_T *c9_b_s1;
  real_T *c9_b_Va;
  real_T *c9_b_dc1;
  real_T *c9_b_s2;
  real_T *c9_b_dc2;
  real_T *c9_b_Vb;
  real_T *c9_b_Vc;
  c9_b_Vc = (real_T *)ssGetOutputPortSignal(chartInstance->S, 3);
  c9_b_Vb = (real_T *)ssGetOutputPortSignal(chartInstance->S, 2);
  c9_b_dc2 = (real_T *)ssGetInputPortSignal(chartInstance->S, 3);
  c9_b_s2 = (real_T *)ssGetInputPortSignal(chartInstance->S, 2);
  c9_b_dc1 = (real_T *)ssGetInputPortSignal(chartInstance->S, 1);
  c9_b_Va = (real_T *)ssGetOutputPortSignal(chartInstance->S, 1);
  c9_b_s1 = (real_T *)ssGetInputPortSignal(chartInstance->S, 0);
  _sfTime_ = (real_T)ssGetT(chartInstance->S);
  _SFD_CC_CALL(CHART_ENTER_SFUNCTION_TAG, 5U, chartInstance->c9_sfEvent);
  _SFD_DATA_RANGE_CHECK(*c9_b_s1, 0U);
  _SFD_DATA_RANGE_CHECK(*c9_b_Va, 1U);
  _SFD_DATA_RANGE_CHECK(*c9_b_dc1, 2U);
  _SFD_DATA_RANGE_CHECK(*c9_b_s2, 3U);
  _SFD_DATA_RANGE_CHECK(*c9_b_dc2, 4U);
  _SFD_DATA_RANGE_CHECK(*c9_b_Vb, 5U);
  _SFD_DATA_RANGE_CHECK(*c9_b_Vc, 6U);
  chartInstance->c9_sfEvent = CALL_EVENT;
  _SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG, 5U, chartInstance->c9_sfEvent);
  c9_hoistedGlobal = *c9_b_s1;
  c9_b_hoistedGlobal = *c9_b_dc1;
  c9_c_hoistedGlobal = *c9_b_s2;
  c9_d_hoistedGlobal = *c9_b_dc2;
  c9_s1 = c9_hoistedGlobal;
  c9_dc1 = c9_b_hoistedGlobal;
  c9_s2 = c9_c_hoistedGlobal;
  c9_dc2 = c9_d_hoistedGlobal;
  sf_debug_symbol_scope_push_eml(0U, 10U, 10U, c9_debug_family_names,
    c9_debug_family_var_map);
  sf_debug_symbol_scope_add_eml_importable(c9_dc, 0U, c9_b_sf_marshallOut,
    c9_b_sf_marshallIn);
  sf_debug_symbol_scope_add_eml_importable(&c9_nargin, 1U, c9_sf_marshallOut,
    c9_sf_marshallIn);
  sf_debug_symbol_scope_add_eml_importable(&c9_nargout, 2U, c9_sf_marshallOut,
    c9_sf_marshallIn);
  sf_debug_symbol_scope_add_eml(&c9_s1, 3U, c9_sf_marshallOut);
  sf_debug_symbol_scope_add_eml(&c9_dc1, 4U, c9_sf_marshallOut);
  sf_debug_symbol_scope_add_eml(&c9_s2, 5U, c9_sf_marshallOut);
  sf_debug_symbol_scope_add_eml(&c9_dc2, 6U, c9_sf_marshallOut);
  sf_debug_symbol_scope_add_eml_importable(&c9_Va, 7U, c9_sf_marshallOut,
    c9_sf_marshallIn);
  sf_debug_symbol_scope_add_eml_importable(&c9_Vb, 8U, c9_sf_marshallOut,
    c9_sf_marshallIn);
  sf_debug_symbol_scope_add_eml_importable(&c9_Vc, 9U, c9_sf_marshallOut,
    c9_sf_marshallIn);
  CV_EML_FCN(0, 0);
  _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 10);
  for (c9_i0 = 0; c9_i0 < 3; c9_i0++) {
    c9_dc[c9_i0] = 0.0;
  }

  _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 12);
  switch ((int32_T)_SFD_INTEGER_CHECK("s1", c9_s1)) {
   case 1:
    CV_EML_SWITCH(0, 1, 0, 1);
    _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 15);
    if (CV_EML_IF(0, 1, 0, c9_s2 == 2.0)) {
      _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 16);
      c9_dc[0] = c9_dc1 + c9_dc2;
      c9_dc[1] = c9_dc2;
      c9_dc[2] = 0.0;
    } else {
      _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 18);
      c9_dc[0] = c9_dc1 + c9_dc2;
      c9_dc[1] = 0.0;
      c9_dc[2] = c9_dc2;
    }
    break;

   case 2:
    CV_EML_SWITCH(0, 1, 0, 2);
    _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 21);
    if (CV_EML_IF(0, 1, 1, c9_s2 == 3.0)) {
      _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 22);
      c9_dc[0] = c9_dc1;
      c9_dc[1] = c9_dc1 + c9_dc2;
      c9_dc[2] = 0.0;
    } else {
      _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 24);
      c9_dc[0] = c9_dc1 + c9_dc2;
      c9_dc[1] = c9_dc1;
      c9_dc[2] = 0.0;
    }
    break;

   case 3:
    CV_EML_SWITCH(0, 1, 0, 3);
    _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 27);
    if (CV_EML_IF(0, 1, 2, c9_s2 == 4.0)) {
      _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 28);
      c9_dc[0] = 0.0;
      c9_dc[1] = c9_dc1 + c9_dc2;
      c9_dc[2] = c9_dc2;
    } else {
      _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 30);
      c9_dc[0] = c9_dc2;
      c9_dc[1] = c9_dc1 + c9_dc2;
      c9_dc[2] = 0.0;
    }
    break;

   case 4:
    CV_EML_SWITCH(0, 1, 0, 4);
    _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 33);
    if (CV_EML_IF(0, 1, 3, c9_s2 == 5.0)) {
      _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 34);
      c9_dc[0] = 0.0;
      c9_dc[1] = c9_dc1;
      c9_dc[2] = c9_dc1 + c9_dc2;
    } else {
      _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 36);
      c9_dc[0] = 0.0;
      c9_dc[1] = c9_dc1 + c9_dc2;
      c9_dc[2] = c9_dc1;
      sf_mex_printf("%s =\\n", "dc");
      for (c9_i1 = 0; c9_i1 < 3; c9_i1++) {
        c9_u[c9_i1] = c9_dc[c9_i1];
      }

      c9_y = NULL;
      sf_mex_assign(&c9_y, sf_mex_create("y", c9_u, 0, 0U, 1U, 0U, 2, 1, 3),
                    FALSE);
      sf_mex_call_debug("disp", 0U, 1U, 14, c9_y);
    }
    break;

   case 5:
    CV_EML_SWITCH(0, 1, 0, 5);
    _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 39);
    if (CV_EML_IF(0, 1, 4, c9_s2 == 6.0)) {
      _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 40);
      c9_dc[0] = c9_dc2;
      c9_dc[1] = 0.0;
      c9_dc[2] = c9_dc1 + c9_dc2;
    } else {
      _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 42);
      c9_dc[0] = 0.0;
      c9_dc[1] = c9_dc2;
      c9_dc[2] = c9_dc1 + c9_dc2;
    }
    break;

   case 6:
    CV_EML_SWITCH(0, 1, 0, 6);
    _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 46);
    if (CV_EML_IF(0, 1, 5, c9_s2 == 1.0)) {
      _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 47);
      c9_dc[0] = c9_dc1 + c9_dc2;
      c9_dc[1] = 0.0;
      c9_dc[2] = c9_dc1;
    } else {
      _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 49);
      c9_dc[0] = c9_dc1;
      c9_dc[1] = 0.0;
      c9_dc[2] = c9_dc1 + c9_dc2;
      sf_mex_printf("%s =\\n", "dc");
      for (c9_i2 = 0; c9_i2 < 3; c9_i2++) {
        c9_b_u[c9_i2] = c9_dc[c9_i2];
      }

      c9_b_y = NULL;
      sf_mex_assign(&c9_b_y, sf_mex_create("y", c9_b_u, 0, 0U, 1U, 0U, 2, 1, 3),
                    FALSE);
      sf_mex_call_debug("disp", 0U, 1U, 14, c9_b_y);
    }
    break;

   default:
    CV_EML_SWITCH(0, 1, 0, 0);
    break;
  }

  _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 54);
  c9_a = c9_dc[0];
  c9_Va = c9_a * 12.0;
  _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 55);
  c9_b_a = c9_dc[1];
  c9_Vb = c9_b_a * 12.0;
  _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 56);
  c9_c_a = c9_dc[2];
  c9_Vc = c9_c_a * 12.0;
  _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, -56);
  sf_debug_symbol_scope_pop();
  *c9_b_Va = c9_Va;
  *c9_b_Vb = c9_Vb;
  *c9_b_Vc = c9_Vc;
  _SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG, 5U, chartInstance->c9_sfEvent);
  sf_debug_check_for_state_inconsistency
    (_testing_control_with_estimateMachineNumber_, chartInstance->chartNumber,
     chartInstance->instanceNumber);
}
static void sf_c19_adcs_v15_integral_Power(void)
{
  int32_T c19_previousEvent;
  real_T c19_Latitude;
  real_T c19_Longitude;
  real_T c19_nargout = 4.0;
  real_T c19_nargin = 2.0;
  real_T c19_phi;
  real_T c19_flag_india;
  real_T c19_flag_france;
  real_T c19_flag_downlink;
  real_T c19_Downlink_power;
  real_T c19_a;
  real_T c19_A;
  real_T c19_x;
  real_T c19_b_x;
  real_T c19_c_x;
  real_T c19_d_x;
  real_T c19_b_a;
  real_T c19_e_x;
  real_T c19_b;
  real_T c19_y;
  real_T c19_c_a;
  real_T c19_b_A;
  real_T c19_f_x;
  real_T c19_g_x;
  real_T c19_h_x;
  real_T c19_i_x;
  real_T c19_d_a;
  real_T c19_j_x;
  real_T c19_b_b;
  real_T c19_b_y;
  real_T c19_e_a;
  real_T *c19_b_flag_india;
  real_T *c19_b_flag_france;
  real_T *c19_b_flag_downlink;
  real_T *c19_b_Downlink_power;
  real_T *c19_b_Longitude;
  real_T *c19_b_Latitude;
  c19_b_flag_downlink = (real_T *)ssGetOutputPortSignal(chartInstance.S, 2);
  c19_b_Longitude = (real_T *)ssGetInputPortSignal(chartInstance.S, 1);
  c19_b_Downlink_power = (real_T *)ssGetOutputPortSignal(chartInstance.S, 1);
  c19_b_flag_india = (real_T *)ssGetOutputPortSignal(chartInstance.S, 4);
  c19_b_Latitude = (real_T *)ssGetInputPortSignal(chartInstance.S, 0);
  c19_b_flag_france = (real_T *)ssGetOutputPortSignal(chartInstance.S, 3);
  _sfTime_ = (real_T)ssGetT(chartInstance.S);
  _SFD_CC_CALL(CHART_ENTER_SFUNCTION_TAG,13);
  _SFD_DATA_RANGE_CHECK(*c19_b_Latitude, 0U);
  _SFD_DATA_RANGE_CHECK(*c19_b_Longitude, 1U);
  _SFD_DATA_RANGE_CHECK(*c19_b_Downlink_power, 2U);
  _SFD_DATA_RANGE_CHECK(*c19_b_flag_downlink, 3U);
  _SFD_DATA_RANGE_CHECK(*c19_b_flag_france, 4U);
  _SFD_DATA_RANGE_CHECK(*c19_b_flag_india, 5U);
  c19_previousEvent = _sfEvent_;
  _sfEvent_ = CALL_EVENT;
  _SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG,13);
  c19_Latitude = *c19_b_Latitude;
  c19_Longitude = *c19_b_Longitude;
  sf_debug_symbol_scope_push(9U, 0U);
  sf_debug_symbol_scope_add("nargout", &c19_nargout, c19_sf_marshall);
  sf_debug_symbol_scope_add("nargin", &c19_nargin, c19_sf_marshall);
  sf_debug_symbol_scope_add("phi", &c19_phi, c19_sf_marshall);
  sf_debug_symbol_scope_add("flag_india", &c19_flag_india, c19_sf_marshall);
  sf_debug_symbol_scope_add("flag_france", &c19_flag_france, c19_sf_marshall);
  sf_debug_symbol_scope_add("flag_downlink", &c19_flag_downlink, c19_sf_marshall);
  sf_debug_symbol_scope_add("Downlink_power", &c19_Downlink_power,
    c19_sf_marshall);
  sf_debug_symbol_scope_add("Longitude", &c19_Longitude, c19_sf_marshall);
  sf_debug_symbol_scope_add("Latitude", &c19_Latitude, c19_sf_marshall);
  CV_EML_FCN(0, 0);
  _SFD_EML_CALL(0,3);
  c19_phi = 10.0;
  _SFD_EML_CALL(0,4);
  c19_flag_france = 0.0;
  _SFD_EML_CALL(0,5);
  c19_flag_india = 0.0;
  _SFD_EML_CALL(0,6);
  c19_a = c19_Latitude;
  c19_A = c19_a * 3.1415926535897931E+000;
  c19_x = c19_A;
  c19_b_x = c19_x;
  c19_c_x = c19_b_x;
  c19_d_x = c19_c_x / 180.0;
  c19_b_a = c19_d_x;
  c19_e_x = c19_b_a;
  c19_b_a = c19_e_x;
  c19_b_a = muDoubleScalarCos(c19_b_a);
  c19_b = c19_mpower(c19_Longitude - 82.7666);
  c19_y = c19_b_a * c19_b;
  if (CV_EML_IF(0, 0, c19_mpower(c19_Latitude - 22.5833) + c19_y < c19_mpower
                (25.0))) {
    _SFD_EML_CALL(0,7);
    c19_flag_downlink = 1.0;
    _SFD_EML_CALL(0,8);
    c19_flag_india = 1.0;
  } else {
    _SFD_EML_CALL(0,9);
    c19_c_a = c19_Latitude;
    c19_b_A = c19_c_a * 3.1415926535897931E+000;
    c19_f_x = c19_b_A;
    c19_g_x = c19_f_x;
    c19_h_x = c19_g_x;
    c19_i_x = c19_h_x / 180.0;
    c19_d_a = c19_i_x;
    c19_j_x = c19_d_a;
    c19_d_a = c19_j_x;
    c19_d_a = muDoubleScalarCos(c19_d_a);
    c19_b_b = c19_mpower(c19_Longitude - 2.33);
    c19_b_y = c19_d_a * c19_b_b;
    if (CV_EML_IF(0, 1, c19_mpower(c19_Latitude - 48.8) + c19_b_y < c19_mpower
                  (10.0))) {
      _SFD_EML_CALL(0,10);
      c19_flag_downlink = 1.0;
      _SFD_EML_CALL(0,11);
      c19_flag_france = 1.0;
    } else {
      _SFD_EML_CALL(0,13);
      c19_flag_downlink = 0.0;
    }
  }

  _SFD_EML_CALL(0,16);
  c19_e_a = c19_flag_downlink;
  c19_Downlink_power = c19_e_a * 2.6;

  /* W */
  /*   */
  /*  y = u; */
  _SFD_EML_CALL(0,-16);
  sf_debug_symbol_scope_pop();
  *c19_b_Downlink_power = c19_Downlink_power;
  *c19_b_flag_downlink = c19_flag_downlink;
  *c19_b_flag_france = c19_flag_france;
  *c19_b_flag_india = c19_flag_india;
  _SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG,13);
  _sfEvent_ = c19_previousEvent;
  sf_debug_check_for_state_inconsistency(_adcs_v15_integral_PowerMachineNumber_,
    chartInstance.chartNumber, chartInstance.
    instanceNumber);
}
Beispiel #3
0
static void sf_gateway_c2_Demo_Glove(SFc2_Demo_GloveInstanceStruct
                                     *chartInstance)
{
    real_T c2_hoistedGlobal;
    real_T c2_b_hoistedGlobal;
    real_T c2_c_hoistedGlobal;
    real_T c2_d_hoistedGlobal;
    real_T c2_e_hoistedGlobal;
    real_T c2_f_hoistedGlobal;
    real_T c2_g_hoistedGlobal;
    real_T c2_gameStatus;
    real_T c2_bradHand;
    real_T c2_userHand;
    real_T c2_win;
    real_T c2_bTotal;
    real_T c2_uTotal;
    real_T c2_gameNum;
    uint32_T c2_debug_family_var_map[9];
    real_T c2_nargin = 7.0;
    real_T c2_nargout = 0.0;
    real_T c2_u;
    const mxArray *c2_y = NULL;
    int32_T c2_i0;
    static char_T c2_cv0[10] = { 'g', 'a', 'm', 'e', 'S', 't', 'a', 't', 'u', 's'
                               };

    char_T c2_b_u[10];
    const mxArray *c2_b_y = NULL;
    real_T c2_c_u;
    const mxArray *c2_c_y = NULL;
    real_T c2_d_u;
    const mxArray *c2_d_y = NULL;
    int32_T c2_i1;
    static char_T c2_cv1[8] = { 'b', 'r', 'a', 'd', 'H', 'a', 'n', 'd' };

    char_T c2_e_u[8];
    const mxArray *c2_e_y = NULL;
    real_T c2_f_u;
    const mxArray *c2_f_y = NULL;
    real_T c2_g_u;
    const mxArray *c2_g_y = NULL;
    int32_T c2_i2;
    static char_T c2_cv2[8] = { 'u', 's', 'e', 'r', 'H', 'a', 'n', 'd' };

    char_T c2_h_u[8];
    const mxArray *c2_h_y = NULL;
    real_T c2_i_u;
    const mxArray *c2_i_y = NULL;
    real_T c2_j_u;
    const mxArray *c2_j_y = NULL;
    int32_T c2_i3;
    static char_T c2_cv3[3] = { 'w', 'i', 'n' };

    char_T c2_k_u[3];
    const mxArray *c2_k_y = NULL;
    real_T c2_l_u;
    const mxArray *c2_l_y = NULL;
    real_T c2_m_u;
    const mxArray *c2_m_y = NULL;
    int32_T c2_i4;
    static char_T c2_cv4[6] = { 'u', 'T', 'o', 't', 'a', 'l' };

    char_T c2_n_u[6];
    const mxArray *c2_n_y = NULL;
    real_T c2_o_u;
    const mxArray *c2_o_y = NULL;
    real_T c2_p_u;
    const mxArray *c2_p_y = NULL;
    int32_T c2_i5;
    static char_T c2_cv5[6] = { 'b', 'T', 'o', 't', 'a', 'l' };

    char_T c2_q_u[6];
    const mxArray *c2_q_y = NULL;
    real_T c2_r_u;
    const mxArray *c2_r_y = NULL;
    real_T c2_s_u;
    const mxArray *c2_s_y = NULL;
    int32_T c2_i6;
    static char_T c2_cv6[7] = { 'g', 'a', 'm', 'e', 'N', 'u', 'm' };

    char_T c2_t_u[7];
    const mxArray *c2_t_y = NULL;
    real_T c2_u_u;
    const mxArray *c2_u_y = NULL;
    real_T *c2_b_gameStatus;
    real_T *c2_b_bradHand;
    real_T *c2_b_userHand;
    real_T *c2_b_win;
    real_T *c2_b_bTotal;
    real_T *c2_b_uTotal;
    real_T *c2_b_gameNum;
    c2_b_gameNum = (real_T *)ssGetInputPortSignal(chartInstance->S, 6);
    c2_b_uTotal = (real_T *)ssGetInputPortSignal(chartInstance->S, 5);
    c2_b_bTotal = (real_T *)ssGetInputPortSignal(chartInstance->S, 4);
    c2_b_win = (real_T *)ssGetInputPortSignal(chartInstance->S, 3);
    c2_b_userHand = (real_T *)ssGetInputPortSignal(chartInstance->S, 2);
    c2_b_bradHand = (real_T *)ssGetInputPortSignal(chartInstance->S, 1);
    c2_b_gameStatus = (real_T *)ssGetInputPortSignal(chartInstance->S, 0);
    _SFD_SYMBOL_SCOPE_PUSH(0U, 0U);
    _sfTime_ = sf_get_time(chartInstance->S);
    _SFD_CC_CALL(CHART_ENTER_SFUNCTION_TAG, 1U, chartInstance->c2_sfEvent);
    _SFD_DATA_RANGE_CHECK(*c2_b_gameStatus, 0U);
    _SFD_DATA_RANGE_CHECK(*c2_b_bradHand, 1U);
    _SFD_DATA_RANGE_CHECK(*c2_b_userHand, 2U);
    _SFD_DATA_RANGE_CHECK(*c2_b_win, 3U);
    _SFD_DATA_RANGE_CHECK(*c2_b_bTotal, 4U);
    _SFD_DATA_RANGE_CHECK(*c2_b_uTotal, 5U);
    _SFD_DATA_RANGE_CHECK(*c2_b_gameNum, 6U);
    chartInstance->c2_sfEvent = CALL_EVENT;
    _SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG, 1U, chartInstance->c2_sfEvent);
    c2_hoistedGlobal = *c2_b_gameStatus;
    c2_b_hoistedGlobal = *c2_b_bradHand;
    c2_c_hoistedGlobal = *c2_b_userHand;
    c2_d_hoistedGlobal = *c2_b_win;
    c2_e_hoistedGlobal = *c2_b_bTotal;
    c2_f_hoistedGlobal = *c2_b_uTotal;
    c2_g_hoistedGlobal = *c2_b_gameNum;
    c2_gameStatus = c2_hoistedGlobal;
    c2_bradHand = c2_b_hoistedGlobal;
    c2_userHand = c2_c_hoistedGlobal;
    c2_win = c2_d_hoistedGlobal;
    c2_bTotal = c2_e_hoistedGlobal;
    c2_uTotal = c2_f_hoistedGlobal;
    c2_gameNum = c2_g_hoistedGlobal;
    _SFD_SYMBOL_SCOPE_PUSH_EML(0U, 9U, 9U, c2_debug_family_names,
                               c2_debug_family_var_map);
    _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c2_nargin, 0U, c2_sf_marshallOut,
                                         c2_sf_marshallIn);
    _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c2_nargout, 1U, c2_sf_marshallOut,
                                         c2_sf_marshallIn);
    _SFD_SYMBOL_SCOPE_ADD_EML(&c2_gameStatus, 2U, c2_sf_marshallOut);
    _SFD_SYMBOL_SCOPE_ADD_EML(&c2_bradHand, 3U, c2_sf_marshallOut);
    _SFD_SYMBOL_SCOPE_ADD_EML(&c2_userHand, 4U, c2_sf_marshallOut);
    _SFD_SYMBOL_SCOPE_ADD_EML(&c2_win, 5U, c2_sf_marshallOut);
    _SFD_SYMBOL_SCOPE_ADD_EML(&c2_bTotal, 6U, c2_sf_marshallOut);
    _SFD_SYMBOL_SCOPE_ADD_EML(&c2_uTotal, 7U, c2_sf_marshallOut);
    _SFD_SYMBOL_SCOPE_ADD_EML(&c2_gameNum, 8U, c2_sf_marshallOut);
    CV_EML_FCN(0, 0);
    _SFD_EML_CALL(0U, chartInstance->c2_sfEvent, 3);
    c2_u = 0.0;
    c2_y = NULL;
    sf_mex_assign(&c2_y, sf_mex_create("y", &c2_u, 0, 0U, 0U, 0U, 0), false);
    for (c2_i0 = 0; c2_i0 < 10; c2_i0++) {
        c2_b_u[c2_i0] = c2_cv0[c2_i0];
    }

    c2_b_y = NULL;
    sf_mex_assign(&c2_b_y, sf_mex_create("y", c2_b_u, 10, 0U, 1U, 0U, 2, 1, 10),
                  false);
    c2_c_u = c2_gameStatus;
    c2_c_y = NULL;
    sf_mex_assign(&c2_c_y, sf_mex_create("y", &c2_c_u, 0, 0U, 0U, 0U, 0), false);
    sf_mex_call_debug(sfGlobalDebugInstanceStruct, "setappdata", 0U, 3U, 14, c2_y,
                      14, c2_b_y, 14, c2_c_y);
    _SFD_EML_CALL(0U, chartInstance->c2_sfEvent, 4);
    c2_d_u = 0.0;
    c2_d_y = NULL;
    sf_mex_assign(&c2_d_y, sf_mex_create("y", &c2_d_u, 0, 0U, 0U, 0U, 0), false);
    for (c2_i1 = 0; c2_i1 < 8; c2_i1++) {
        c2_e_u[c2_i1] = c2_cv1[c2_i1];
    }

    c2_e_y = NULL;
    sf_mex_assign(&c2_e_y, sf_mex_create("y", c2_e_u, 10, 0U, 1U, 0U, 2, 1, 8),
                  false);
    c2_f_u = c2_bradHand;
    c2_f_y = NULL;
    sf_mex_assign(&c2_f_y, sf_mex_create("y", &c2_f_u, 0, 0U, 0U, 0U, 0), false);
    sf_mex_call_debug(sfGlobalDebugInstanceStruct, "setappdata", 0U, 3U, 14,
                      c2_d_y, 14, c2_e_y, 14, c2_f_y);
    _SFD_EML_CALL(0U, chartInstance->c2_sfEvent, 5);
    c2_g_u = 0.0;
    c2_g_y = NULL;
    sf_mex_assign(&c2_g_y, sf_mex_create("y", &c2_g_u, 0, 0U, 0U, 0U, 0), false);
    for (c2_i2 = 0; c2_i2 < 8; c2_i2++) {
        c2_h_u[c2_i2] = c2_cv2[c2_i2];
    }

    c2_h_y = NULL;
    sf_mex_assign(&c2_h_y, sf_mex_create("y", c2_h_u, 10, 0U, 1U, 0U, 2, 1, 8),
                  false);
    c2_i_u = c2_userHand;
    c2_i_y = NULL;
    sf_mex_assign(&c2_i_y, sf_mex_create("y", &c2_i_u, 0, 0U, 0U, 0U, 0), false);
    sf_mex_call_debug(sfGlobalDebugInstanceStruct, "setappdata", 0U, 3U, 14,
                      c2_g_y, 14, c2_h_y, 14, c2_i_y);
    _SFD_EML_CALL(0U, chartInstance->c2_sfEvent, 6);
    c2_j_u = 0.0;
    c2_j_y = NULL;
    sf_mex_assign(&c2_j_y, sf_mex_create("y", &c2_j_u, 0, 0U, 0U, 0U, 0), false);
    for (c2_i3 = 0; c2_i3 < 3; c2_i3++) {
        c2_k_u[c2_i3] = c2_cv3[c2_i3];
    }

    c2_k_y = NULL;
    sf_mex_assign(&c2_k_y, sf_mex_create("y", c2_k_u, 10, 0U, 1U, 0U, 2, 1, 3),
                  false);
    c2_l_u = c2_win;
    c2_l_y = NULL;
    sf_mex_assign(&c2_l_y, sf_mex_create("y", &c2_l_u, 0, 0U, 0U, 0U, 0), false);
    sf_mex_call_debug(sfGlobalDebugInstanceStruct, "setappdata", 0U, 3U, 14,
                      c2_j_y, 14, c2_k_y, 14, c2_l_y);
    _SFD_EML_CALL(0U, chartInstance->c2_sfEvent, 7);
    c2_m_u = 0.0;
    c2_m_y = NULL;
    sf_mex_assign(&c2_m_y, sf_mex_create("y", &c2_m_u, 0, 0U, 0U, 0U, 0), false);
    for (c2_i4 = 0; c2_i4 < 6; c2_i4++) {
        c2_n_u[c2_i4] = c2_cv4[c2_i4];
    }

    c2_n_y = NULL;
    sf_mex_assign(&c2_n_y, sf_mex_create("y", c2_n_u, 10, 0U, 1U, 0U, 2, 1, 6),
                  false);
    c2_o_u = c2_uTotal;
    c2_o_y = NULL;
    sf_mex_assign(&c2_o_y, sf_mex_create("y", &c2_o_u, 0, 0U, 0U, 0U, 0), false);
    sf_mex_call_debug(sfGlobalDebugInstanceStruct, "setappdata", 0U, 3U, 14,
                      c2_m_y, 14, c2_n_y, 14, c2_o_y);
    _SFD_EML_CALL(0U, chartInstance->c2_sfEvent, 8);
    c2_p_u = 0.0;
    c2_p_y = NULL;
    sf_mex_assign(&c2_p_y, sf_mex_create("y", &c2_p_u, 0, 0U, 0U, 0U, 0), false);
    for (c2_i5 = 0; c2_i5 < 6; c2_i5++) {
        c2_q_u[c2_i5] = c2_cv5[c2_i5];
    }

    c2_q_y = NULL;
    sf_mex_assign(&c2_q_y, sf_mex_create("y", c2_q_u, 10, 0U, 1U, 0U, 2, 1, 6),
                  false);
    c2_r_u = c2_bTotal;
    c2_r_y = NULL;
    sf_mex_assign(&c2_r_y, sf_mex_create("y", &c2_r_u, 0, 0U, 0U, 0U, 0), false);
    sf_mex_call_debug(sfGlobalDebugInstanceStruct, "setappdata", 0U, 3U, 14,
                      c2_p_y, 14, c2_q_y, 14, c2_r_y);
    _SFD_EML_CALL(0U, chartInstance->c2_sfEvent, 9);
    c2_s_u = 0.0;
    c2_s_y = NULL;
    sf_mex_assign(&c2_s_y, sf_mex_create("y", &c2_s_u, 0, 0U, 0U, 0U, 0), false);
    for (c2_i6 = 0; c2_i6 < 7; c2_i6++) {
        c2_t_u[c2_i6] = c2_cv6[c2_i6];
    }

    c2_t_y = NULL;
    sf_mex_assign(&c2_t_y, sf_mex_create("y", c2_t_u, 10, 0U, 1U, 0U, 2, 1, 7),
                  false);
    c2_u_u = c2_gameNum;
    c2_u_y = NULL;
    sf_mex_assign(&c2_u_y, sf_mex_create("y", &c2_u_u, 0, 0U, 0U, 0U, 0), false);
    sf_mex_call_debug(sfGlobalDebugInstanceStruct, "setappdata", 0U, 3U, 14,
                      c2_s_y, 14, c2_t_y, 14, c2_u_y);
    _SFD_EML_CALL(0U, chartInstance->c2_sfEvent, -9);
    _SFD_SYMBOL_SCOPE_POP();
    _SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG, 1U, chartInstance->c2_sfEvent);
    _SFD_SYMBOL_SCOPE_POP();
    _SFD_CHECK_FOR_STATE_INCONSISTENCY(_Demo_GloveMachineNumber_,
                                       chartInstance->chartNumber, chartInstance->instanceNumber);
}
static void sf_c31_adcs_v15_integral_Power_nom(void)
{
  int32_T c31_previousEvent;
  real_T c31_Vbat;
  real_T c31_pow;
  real_T c31_nargout = 1.0;
  real_T c31_nargin = 2.0;
  real_T c31_battery;
  real_T c31_pow_drawn;
  real_T *c31_b_Vbat;
  real_T *c31_b_pow;
  real_T *c31_b_pow_drawn;
  c31_b_pow = (real_T *)ssGetInputPortSignal(chartInstance.S, 1);
  c31_b_Vbat = (real_T *)ssGetInputPortSignal(chartInstance.S, 0);
  c31_b_pow_drawn = (real_T *)ssGetOutputPortSignal(chartInstance.S, 1);
  _sfTime_ = (real_T)ssGetT(chartInstance.S);
  _SFD_CC_CALL(CHART_ENTER_SFUNCTION_TAG,24);
  _SFD_DATA_RANGE_CHECK(*c31_b_Vbat, 0U);
  _SFD_DATA_RANGE_CHECK(*c31_b_pow, 1U);
  _SFD_DATA_RANGE_CHECK(*c31_b_pow_drawn, 2U);
  c31_previousEvent = _sfEvent_;
  _sfEvent_ = CALL_EVENT;
  _SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG,24);
  c31_Vbat = *c31_b_Vbat;
  c31_pow = *c31_b_pow;
  sf_debug_symbol_scope_push(6U, 0U);
  sf_debug_symbol_scope_add("nargout", &c31_nargout, c31_sf_marshall);
  sf_debug_symbol_scope_add("nargin", &c31_nargin, c31_sf_marshall);
  sf_debug_symbol_scope_add("battery", &c31_battery, c31_sf_marshall);
  sf_debug_symbol_scope_add("pow_drawn", &c31_pow_drawn, c31_sf_marshall);
  sf_debug_symbol_scope_add("pow", &c31_pow, c31_sf_marshall);
  sf_debug_symbol_scope_add("Vbat", &c31_Vbat, c31_sf_marshall);
  CV_EML_FCN(0, 0);

  /*  This block supports the Embedded MATLAB subset. */
  /*  See the help menu for details.  */
  _SFD_EML_CALL(0,5);
  c31_battery = 0.0;
  _SFD_EML_CALL(0,7);
  if (CV_EML_IF(0, 0, c31_Vbat > 3.0)) {
    _SFD_EML_CALL(0,8);
    c31_battery = 1.0;
  } else {
    _SFD_EML_CALL(0,10);
    c31_battery = 0.0;
  }

  _SFD_EML_CALL(0,13);
  if (CV_EML_IF(0, 1, c31_battery == 1.0)) {
    _SFD_EML_CALL(0,14);
    c31_pow_drawn = c31_pow;
  } else {
    _SFD_EML_CALL(0,16);
    c31_pow_drawn = 0.0;
  }

  _SFD_EML_CALL(0,-16);
  sf_debug_symbol_scope_pop();
  *c31_b_pow_drawn = c31_pow_drawn;
  _SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG,24);
  _sfEvent_ = c31_previousEvent;
  sf_debug_check_for_state_inconsistency
    (_adcs_v15_integral_Power_nomMachineNumber_, chartInstance.chartNumber,
     chartInstance.
     instanceNumber);
}
static void sf_gateway_c21_DemoGazeFollowWaveIdleRand
  (SFc21_DemoGazeFollowWaveIdleRandInstanceStruct *chartInstance)
{
  real_T c21_hoistedGlobal;
  real_T c21_b_hoistedGlobal;
  real_T c21_R;
  real_T c21_L;
  uint32_T c21_debug_family_var_map[9];
  boolean_T c21_aVarTruthTableCondition_1;
  boolean_T c21_aVarTruthTableCondition_2;
  boolean_T c21_aVarTruthTableCondition_3;
  boolean_T c21_aVarTruthTableCondition_4;
  real_T c21_nargin = 2.0;
  real_T c21_nargout = 1.0;
  real_T c21_y;
  boolean_T c21_b0;
  boolean_T c21_b1;
  boolean_T c21_b2;
  boolean_T c21_b3;
  real_T *c21_b_R;
  real_T *c21_b_L;
  real_T *c21_b_y;
  boolean_T guard1 = false;
  boolean_T guard2 = false;
  boolean_T guard3 = false;
  boolean_T guard4 = false;
  c21_b_y = (real_T *)ssGetOutputPortSignal(chartInstance->S, 1);
  c21_b_L = (real_T *)ssGetInputPortSignal(chartInstance->S, 1);
  c21_b_R = (real_T *)ssGetInputPortSignal(chartInstance->S, 0);
  _SFD_SYMBOL_SCOPE_PUSH(0U, 0U);
  _sfTime_ = sf_get_time(chartInstance->S);
  _SFD_CC_CALL(CHART_ENTER_SFUNCTION_TAG, 14U, chartInstance->c21_sfEvent);
  _SFD_DATA_RANGE_CHECK(*c21_b_R, 0U);
  _SFD_DATA_RANGE_CHECK(*c21_b_L, 1U);
  chartInstance->c21_sfEvent = CALL_EVENT;
  _SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG, 14U, chartInstance->c21_sfEvent);
  c21_hoistedGlobal = *c21_b_R;
  c21_b_hoistedGlobal = *c21_b_L;
  c21_R = c21_hoistedGlobal;
  c21_L = c21_b_hoistedGlobal;
  _SFD_SYMBOL_SCOPE_PUSH_EML(0U, 9U, 9U, c21_debug_family_names,
    c21_debug_family_var_map);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c21_aVarTruthTableCondition_1, 0U,
    c21_b_sf_marshallOut, c21_b_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c21_aVarTruthTableCondition_2, 1U,
    c21_b_sf_marshallOut, c21_b_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c21_aVarTruthTableCondition_3, 2U,
    c21_b_sf_marshallOut, c21_b_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c21_aVarTruthTableCondition_4, 3U,
    c21_b_sf_marshallOut, c21_b_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c21_nargin, 4U, c21_sf_marshallOut,
    c21_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c21_nargout, 5U, c21_sf_marshallOut,
    c21_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML(&c21_R, 6U, c21_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML(&c21_L, 7U, c21_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c21_y, 8U, c21_sf_marshallOut,
    c21_sf_marshallIn);
  CV_EML_FCN(0, 0);
  _SFD_EML_CALL(0U, chartInstance->c21_sfEvent, 3);
  c21_aVarTruthTableCondition_1 = false;
  _SFD_EML_CALL(0U, chartInstance->c21_sfEvent, 4);
  c21_aVarTruthTableCondition_2 = false;
  _SFD_EML_CALL(0U, chartInstance->c21_sfEvent, 5);
  c21_aVarTruthTableCondition_3 = false;
  _SFD_EML_CALL(0U, chartInstance->c21_sfEvent, 6);
  c21_aVarTruthTableCondition_4 = false;
  _SFD_EML_CALL(0U, chartInstance->c21_sfEvent, 11);
  guard4 = false;
  if (c21_R == 0.0) {
    if (c21_L == 0.0) {
      c21_b0 = true;
    } else {
      guard4 = true;
    }
  } else {
    guard4 = true;
  }

  if (guard4 == true) {
    c21_b0 = false;
  }

  c21_aVarTruthTableCondition_1 = c21_b0;
  _SFD_EML_CALL(0U, chartInstance->c21_sfEvent, 15);
  guard3 = false;
  if (c21_R == 1.0) {
    if (c21_L == 0.0) {
      c21_b1 = true;
    } else {
      guard3 = true;
    }
  } else {
    guard3 = true;
  }

  if (guard3 == true) {
    c21_b1 = false;
  }

  c21_aVarTruthTableCondition_2 = c21_b1;
  _SFD_EML_CALL(0U, chartInstance->c21_sfEvent, 19);
  guard2 = false;
  if (c21_R == 0.0) {
    if (c21_L == 1.0) {
      c21_b2 = true;
    } else {
      guard2 = true;
    }
  } else {
    guard2 = true;
  }

  if (guard2 == true) {
    c21_b2 = false;
  }

  c21_aVarTruthTableCondition_3 = c21_b2;
  _SFD_EML_CALL(0U, chartInstance->c21_sfEvent, 23);
  guard1 = false;
  if (c21_R == 1.0) {
    if (c21_L == 1.0) {
      c21_b3 = true;
    } else {
      guard1 = true;
    }
  } else {
    guard1 = true;
  }

  if (guard1 == true) {
    c21_b3 = false;
  }

  c21_aVarTruthTableCondition_4 = c21_b3;
  _SFD_EML_CALL(0U, chartInstance->c21_sfEvent, 25);
  if (CV_EML_IF(0, 1, 0, c21_aVarTruthTableCondition_1)) {
    _SFD_EML_CALL(0U, chartInstance->c21_sfEvent, 26);
    CV_EML_FCN(0, 1);
    _SFD_EML_CALL(0U, chartInstance->c21_sfEvent, 41);
    c21_y = 0.0;
    _SFD_EML_CALL(0U, chartInstance->c21_sfEvent, -41);
  } else {
    _SFD_EML_CALL(0U, chartInstance->c21_sfEvent, 27);
    if (CV_EML_IF(0, 1, 1, c21_aVarTruthTableCondition_2)) {
      _SFD_EML_CALL(0U, chartInstance->c21_sfEvent, 28);
      CV_EML_FCN(0, 2);
      _SFD_EML_CALL(0U, chartInstance->c21_sfEvent, 47);
      c21_y = 1.0;
      _SFD_EML_CALL(0U, chartInstance->c21_sfEvent, -47);
    } else {
      _SFD_EML_CALL(0U, chartInstance->c21_sfEvent, 29);
      if (CV_EML_IF(0, 1, 2, c21_aVarTruthTableCondition_3)) {
        _SFD_EML_CALL(0U, chartInstance->c21_sfEvent, 30);
        CV_EML_FCN(0, 3);
        _SFD_EML_CALL(0U, chartInstance->c21_sfEvent, 53);
        c21_y = 2.0;
        _SFD_EML_CALL(0U, chartInstance->c21_sfEvent, -53);
      } else {
        _SFD_EML_CALL(0U, chartInstance->c21_sfEvent, 31);
        if (CV_EML_IF(0, 1, 3, c21_aVarTruthTableCondition_4)) {
          _SFD_EML_CALL(0U, chartInstance->c21_sfEvent, 32);
          CV_EML_FCN(0, 4);
          _SFD_EML_CALL(0U, chartInstance->c21_sfEvent, 59);
          c21_y = 3.0;
          _SFD_EML_CALL(0U, chartInstance->c21_sfEvent, -59);
        } else {
          _SFD_EML_CALL(0U, chartInstance->c21_sfEvent, 34);
          CV_EML_FCN(0, 1);
          _SFD_EML_CALL(0U, chartInstance->c21_sfEvent, 41);
          c21_y = 0.0;
          _SFD_EML_CALL(0U, chartInstance->c21_sfEvent, -41);
        }
      }
    }
  }

  _SFD_EML_CALL(0U, chartInstance->c21_sfEvent, -34);
  _SFD_SYMBOL_SCOPE_POP();
  *c21_b_y = c21_y;
  _SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG, 14U, chartInstance->c21_sfEvent);
  _SFD_SYMBOL_SCOPE_POP();
  _SFD_CHECK_FOR_STATE_INCONSISTENCY(_DemoGazeFollowWaveIdleRandMachineNumber_,
    chartInstance->chartNumber, chartInstance->instanceNumber);
  _SFD_DATA_RANGE_CHECK(*c21_b_y, 2U);
}
static void sf_c5_MigrationBGOW_Proto6_MultiSwarm
  (SFc5_MigrationBGOW_Proto6_MultiSwarmInstanceStruct *chartInstance)
{
  real_T c5_hoistedGlobal;
  real_T c5_b_hoistedGlobal;
  real_T c5_x;
  real_T c5_y;
  uint32_T c5_debug_family_var_map[5];
  real_T c5_nargin = 2.0;
  real_T c5_nargout = 1.0;
  real_T c5_z;
  real_T c5_b_x;
  real_T c5_c_x;
  real_T *c5_d_x;
  real_T *c5_b_y;
  real_T *c5_b_z;
  c5_b_z = (real_T *)ssGetOutputPortSignal(chartInstance->S, 1);
  c5_b_y = (real_T *)ssGetInputPortSignal(chartInstance->S, 1);
  c5_d_x = (real_T *)ssGetInputPortSignal(chartInstance->S, 0);
  _sfTime_ = (real_T)ssGetT(chartInstance->S);
  _SFD_CC_CALL(CHART_ENTER_SFUNCTION_TAG, 4U, chartInstance->c5_sfEvent);
  _SFD_DATA_RANGE_CHECK(*c5_d_x, 0U);
  _SFD_DATA_RANGE_CHECK(*c5_b_y, 1U);
  _SFD_DATA_RANGE_CHECK(*c5_b_z, 2U);
  chartInstance->c5_sfEvent = CALL_EVENT;
  _SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG, 4U, chartInstance->c5_sfEvent);
  c5_hoistedGlobal = *c5_d_x;
  c5_b_hoistedGlobal = *c5_b_y;
  c5_x = c5_hoistedGlobal;
  c5_y = c5_b_hoistedGlobal;
  _SFD_SYMBOL_SCOPE_PUSH_EML(0U, 5U, 5U, c5_debug_family_names,
    c5_debug_family_var_map);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c5_nargin, 0U, c5_sf_marshallOut,
    c5_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c5_nargout, 1U, c5_sf_marshallOut,
    c5_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML(&c5_x, 2U, c5_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML(&c5_y, 3U, c5_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c5_z, 4U, c5_sf_marshallOut,
    c5_sf_marshallIn);
  CV_EML_FCN(0, 0);
  _SFD_EML_CALL(0U, chartInstance->c5_sfEvent, 3);
  c5_b_x = (26.4196 - c5_mpower(chartInstance, c5_x - 1.44)) - c5_mpower
    (chartInstance, c5_y - 0.3677);
  c5_z = c5_b_x;
  if (c5_z < 0.0) {
    c5_eml_error(chartInstance);
  }

  c5_c_x = c5_z;
  c5_z = c5_c_x;
  c5_z = muDoubleScalarSqrt(c5_z);
  _SFD_EML_CALL(0U, chartInstance->c5_sfEvent, 4);
  c5_z += 1.6;
  _SFD_EML_CALL(0U, chartInstance->c5_sfEvent, -4);
  _SFD_SYMBOL_SCOPE_POP();
  *c5_b_z = c5_z;
  _SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG, 4U, chartInstance->c5_sfEvent);
  _SFD_CHECK_FOR_STATE_INCONSISTENCY
    (_MigrationBGOW_Proto6_MultiSwarmMachineNumber_, chartInstance->chartNumber,
     chartInstance->instanceNumber);
}
static void sf_gateway_c7_aircraft_simplex(SFc7_aircraft_simplexInstanceStruct
  *chartInstance)
{
  real_T c7_hoistedGlobal;
  real_T c7_b_hoistedGlobal;
  real_T c7_c_hoistedGlobal;
  real_T c7_b_phi;
  real_T c7_b_theta;
  real_T c7_b_psi;
  uint32_T c7_debug_family_var_map[6];
  real_T c7_nargin = 3.0;
  real_T c7_nargout = 1.0;
  real_T c7_b_R[9];
  real_T c7_x;
  real_T c7_b_x;
  real_T c7_c_x;
  real_T c7_d_x;
  real_T c7_e_x;
  real_T c7_f_x;
  real_T c7_g_x;
  real_T c7_h_x;
  real_T c7_i_x;
  real_T c7_j_x;
  real_T c7_k_x;
  real_T c7_l_x;
  real_T c7_m_x;
  real_T c7_n_x;
  real_T c7_o_x;
  real_T c7_p_x;
  real_T c7_q_x;
  real_T c7_r_x;
  real_T c7_s_x;
  real_T c7_t_x;
  real_T c7_u_x;
  real_T c7_v_x;
  real_T c7_w_x;
  real_T c7_x_x;
  real_T c7_y_x;
  real_T c7_ab_x;
  real_T c7_bb_x;
  real_T c7_cb_x;
  real_T c7_db_x;
  real_T c7_eb_x;
  real_T c7_fb_x;
  real_T c7_gb_x;
  real_T c7_hb_x;
  real_T c7_ib_x;
  real_T c7_jb_x;
  real_T c7_kb_x;
  real_T c7_lb_x;
  real_T c7_mb_x;
  real_T c7_nb_x;
  real_T c7_ob_x;
  real_T c7_pb_x;
  real_T c7_qb_x;
  real_T c7_rb_x;
  real_T c7_sb_x;
  real_T c7_tb_x;
  real_T c7_ub_x;
  real_T c7_vb_x;
  real_T c7_wb_x;
  real_T c7_xb_x;
  real_T c7_yb_x;
  real_T c7_ac_x;
  real_T c7_bc_x;
  real_T c7_cc_x;
  real_T c7_dc_x;
  real_T c7_ec_x;
  real_T c7_fc_x;
  real_T c7_gc_x;
  real_T c7_hc_x;
  int32_T c7_i2;
  int32_T c7_i3;
  _SFD_SYMBOL_SCOPE_PUSH(0U, 0U);
  _sfTime_ = sf_get_time(chartInstance->S);
  _SFD_CC_CALL(CHART_ENTER_SFUNCTION_TAG, 0U, chartInstance->c7_sfEvent);
  _SFD_DATA_RANGE_CHECK(*chartInstance->c7_phi, 0U);
  chartInstance->c7_sfEvent = CALL_EVENT;
  _SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG, 0U, chartInstance->c7_sfEvent);
  c7_hoistedGlobal = *chartInstance->c7_phi;
  c7_b_hoistedGlobal = *chartInstance->c7_theta;
  c7_c_hoistedGlobal = *chartInstance->c7_psi;
  c7_b_phi = c7_hoistedGlobal;
  c7_b_theta = c7_b_hoistedGlobal;
  c7_b_psi = c7_c_hoistedGlobal;
  _SFD_SYMBOL_SCOPE_PUSH_EML(0U, 6U, 6U, c7_debug_family_names,
    c7_debug_family_var_map);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c7_nargin, 0U, c7_b_sf_marshallOut,
    c7_b_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c7_nargout, 1U, c7_b_sf_marshallOut,
    c7_b_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML(&c7_b_phi, 2U, c7_b_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML(&c7_b_theta, 3U, c7_b_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML(&c7_b_psi, 4U, c7_b_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(c7_b_R, 5U, c7_sf_marshallOut,
    c7_sf_marshallIn);
  CV_EML_FCN(0, 0);
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 5);
  c7_x = c7_b_theta;
  c7_b_x = c7_x;
  c7_b_x = muDoubleScalarCos(c7_b_x);
  c7_c_x = c7_b_psi;
  c7_d_x = c7_c_x;
  c7_d_x = muDoubleScalarCos(c7_d_x);
  c7_e_x = c7_b_phi;
  c7_f_x = c7_e_x;
  c7_f_x = muDoubleScalarCos(c7_f_x);
  c7_g_x = c7_b_psi;
  c7_h_x = c7_g_x;
  c7_h_x = muDoubleScalarSin(c7_h_x);
  c7_i_x = c7_b_phi;
  c7_j_x = c7_i_x;
  c7_j_x = muDoubleScalarSin(c7_j_x);
  c7_k_x = c7_b_theta;
  c7_l_x = c7_k_x;
  c7_l_x = muDoubleScalarSin(c7_l_x);
  c7_m_x = c7_b_psi;
  c7_n_x = c7_m_x;
  c7_n_x = muDoubleScalarCos(c7_n_x);
  c7_o_x = c7_b_phi;
  c7_p_x = c7_o_x;
  c7_p_x = muDoubleScalarSin(c7_p_x);
  c7_q_x = c7_b_psi;
  c7_r_x = c7_q_x;
  c7_r_x = muDoubleScalarSin(c7_r_x);
  c7_s_x = c7_b_phi;
  c7_t_x = c7_s_x;
  c7_t_x = muDoubleScalarCos(c7_t_x);
  c7_u_x = c7_b_theta;
  c7_v_x = c7_u_x;
  c7_v_x = muDoubleScalarSin(c7_v_x);
  c7_w_x = c7_b_psi;
  c7_x_x = c7_w_x;
  c7_x_x = muDoubleScalarCos(c7_x_x);
  c7_y_x = c7_b_theta;
  c7_ab_x = c7_y_x;
  c7_ab_x = muDoubleScalarCos(c7_ab_x);
  c7_bb_x = c7_b_psi;
  c7_cb_x = c7_bb_x;
  c7_cb_x = muDoubleScalarSin(c7_cb_x);
  c7_db_x = c7_b_phi;
  c7_eb_x = c7_db_x;
  c7_eb_x = muDoubleScalarCos(c7_eb_x);
  c7_fb_x = c7_b_psi;
  c7_gb_x = c7_fb_x;
  c7_gb_x = muDoubleScalarCos(c7_gb_x);
  c7_hb_x = c7_b_phi;
  c7_ib_x = c7_hb_x;
  c7_ib_x = muDoubleScalarSin(c7_ib_x);
  c7_jb_x = c7_b_theta;
  c7_kb_x = c7_jb_x;
  c7_kb_x = muDoubleScalarSin(c7_kb_x);
  c7_lb_x = c7_b_psi;
  c7_mb_x = c7_lb_x;
  c7_mb_x = muDoubleScalarSin(c7_mb_x);
  c7_nb_x = c7_b_phi;
  c7_ob_x = c7_nb_x;
  c7_ob_x = muDoubleScalarSin(c7_ob_x);
  c7_pb_x = c7_b_psi;
  c7_qb_x = c7_pb_x;
  c7_qb_x = muDoubleScalarCos(c7_qb_x);
  c7_rb_x = c7_b_phi;
  c7_sb_x = c7_rb_x;
  c7_sb_x = muDoubleScalarCos(c7_sb_x);
  c7_tb_x = c7_b_theta;
  c7_ub_x = c7_tb_x;
  c7_ub_x = muDoubleScalarSin(c7_ub_x);
  c7_vb_x = c7_b_psi;
  c7_wb_x = c7_vb_x;
  c7_wb_x = muDoubleScalarSin(c7_wb_x);
  c7_xb_x = c7_b_theta;
  c7_yb_x = c7_xb_x;
  c7_yb_x = muDoubleScalarSin(c7_yb_x);
  c7_ac_x = c7_b_phi;
  c7_bc_x = c7_ac_x;
  c7_bc_x = muDoubleScalarSin(c7_bc_x);
  c7_cc_x = c7_b_theta;
  c7_dc_x = c7_cc_x;
  c7_dc_x = muDoubleScalarCos(c7_dc_x);
  c7_ec_x = c7_b_phi;
  c7_fc_x = c7_ec_x;
  c7_fc_x = muDoubleScalarCos(c7_fc_x);
  c7_gc_x = c7_b_theta;
  c7_hc_x = c7_gc_x;
  c7_hc_x = muDoubleScalarCos(c7_hc_x);
  c7_b_R[0] = c7_b_x * c7_d_x;
  c7_b_R[3] = c7_f_x * c7_h_x + c7_j_x * c7_l_x * c7_n_x;
  c7_b_R[6] = c7_p_x * c7_r_x - c7_t_x * c7_v_x * c7_x_x;
  c7_b_R[1] = -c7_ab_x * c7_cb_x;
  c7_b_R[4] = c7_eb_x * c7_gb_x - c7_ib_x * c7_kb_x * c7_mb_x;
  c7_b_R[7] = c7_ob_x * c7_qb_x + c7_sb_x * c7_ub_x * c7_wb_x;
  c7_b_R[2] = c7_yb_x;
  c7_b_R[5] = -c7_bc_x * c7_dc_x;
  c7_b_R[8] = c7_fc_x * c7_hc_x;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, -5);
  _SFD_SYMBOL_SCOPE_POP();
  for (c7_i2 = 0; c7_i2 < 9; c7_i2++) {
    (*chartInstance->c7_R)[c7_i2] = c7_b_R[c7_i2];
  }

  _SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG, 0U, chartInstance->c7_sfEvent);
  _SFD_SYMBOL_SCOPE_POP();
  _SFD_CHECK_FOR_STATE_INCONSISTENCY(_aircraft_simplexMachineNumber_,
    chartInstance->chartNumber, chartInstance->instanceNumber);
  for (c7_i3 = 0; c7_i3 < 9; c7_i3++) {
    _SFD_DATA_RANGE_CHECK((*chartInstance->c7_R)[c7_i3], 1U);
  }

  _SFD_DATA_RANGE_CHECK(*chartInstance->c7_theta, 2U);
  _SFD_DATA_RANGE_CHECK(*chartInstance->c7_psi, 3U);
}
static void sf_c9_QPSK_Transmit_v12d(SFc9_QPSK_Transmit_v12dInstanceStruct
  *chartInstance)
{
  creal_T c9_d_in;
  uint32_T c9_debug_family_var_map[5];
  const mxArray *c9_fm = NULL;
  real_T c9_nargin = 1.0;
  real_T c9_nargout = 1.0;
  cint16_T c9_d_out;
  creal_T c9_varargin_1;
  real_T c9_d0;
  real_T c9_d1;
  int16_T c9_i0;
  cint16_T c9_b_varargin_1;
  real_T c9_d2;
  real_T c9_d3;
  int16_T c9_i1;
  const mxArray *c9_T = NULL;
  const mxArray *c9_F = NULL;
  const mxArray *c9_ERR = NULL;
  const mxArray *c9_val = NULL;
  const mxArray *c9_isautoscaled = NULL;
  const mxArray *c9_pvpairsetdata = NULL;
  const mxArray *c9_isfimathlocal = NULL;
  cint16_T *c9_b_d_out;
  creal_T *c9_b_d_in;
  c9_b_d_out = (cint16_T *)ssGetOutputPortSignal(chartInstance->S, 1);
  c9_b_d_in = (creal_T *)ssGetInputPortSignal(chartInstance->S, 0);
  _sfTime_ = (real_T)ssGetT(chartInstance->S);
  _SFD_CC_CALL(CHART_ENTER_SFUNCTION_TAG, 1U, chartInstance->c9_sfEvent);
  chartInstance->c9_sfEvent = CALL_EVENT;
  _SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG, 1U, chartInstance->c9_sfEvent);
  c9_d_in.re = c9_b_d_in->re;
  c9_d_in.im = c9_b_d_in->im;
  sf_debug_symbol_scope_push_eml(0U, 5U, 5U, c9_debug_family_names,
    c9_debug_family_var_map);
  sf_debug_symbol_scope_add_eml(&c9_fm, 0U, c9_d_sf_marshallOut);
  sf_debug_symbol_scope_add_eml_importable(&c9_nargin, 1U, c9_c_sf_marshallOut,
    c9_b_sf_marshallIn);
  sf_debug_symbol_scope_add_eml_importable(&c9_nargout, 2U, c9_c_sf_marshallOut,
    c9_b_sf_marshallIn);
  sf_debug_symbol_scope_add_eml(&c9_d_in, 3U, c9_b_sf_marshallOut);
  sf_debug_symbol_scope_add_eml_importable(&c9_d_out, 4U, c9_sf_marshallOut,
    c9_sf_marshallIn);
  CV_EML_FCN(0, 0);
  _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 3);
  c9_fm = c9_eml_mx;
  _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 5);
  c9_varargin_1 = c9_d_in;
  c9_d0 = muDoubleScalarFloor(c9_varargin_1.re * 2048.0);
  if (muDoubleScalarIsNaN(c9_d0) || muDoubleScalarIsInf(c9_d0)) {
    c9_d1 = 0.0;
  } else {
    c9_d1 = muDoubleScalarRem(c9_d0, 4096.0);
  }

  c9_i0 = (int16_T)muDoubleScalarFloor(c9_d1);
  if ((int16_T)(c9_i0 & 2048) != 0) {
    c9_b_varargin_1.re = (int16_T)(c9_i0 | -2048);
  } else {
    c9_b_varargin_1.re = (int16_T)(c9_i0 & 2047);
  }

  c9_d2 = muDoubleScalarFloor(c9_varargin_1.im * 2048.0);
  if (muDoubleScalarIsNaN(c9_d2) || muDoubleScalarIsInf(c9_d2)) {
    c9_d3 = 0.0;
  } else {
    c9_d3 = muDoubleScalarRem(c9_d2, 4096.0);
  }

  c9_i1 = (int16_T)muDoubleScalarFloor(c9_d3);
  if ((int16_T)(c9_i1 & 2048) != 0) {
    c9_b_varargin_1.im = (int16_T)(c9_i1 | -2048);
  } else {
    c9_b_varargin_1.im = (int16_T)(c9_i1 & 2047);
  }

  c9_d_out = c9_b_varargin_1;
  sf_mex_destroy(&c9_T);
  sf_mex_destroy(&c9_F);
  sf_mex_destroy(&c9_ERR);
  sf_mex_destroy(&c9_val);
  sf_mex_destroy(&c9_isautoscaled);
  sf_mex_destroy(&c9_pvpairsetdata);
  sf_mex_destroy(&c9_isfimathlocal);
  _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, -5);
  sf_debug_symbol_scope_pop();
  c9_b_d_out->re = c9_d_out.re;
  c9_b_d_out->im = c9_d_out.im;
  _SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG, 1U, chartInstance->c9_sfEvent);
  sf_debug_check_for_state_inconsistency(_QPSK_Transmit_v12dMachineNumber_,
    chartInstance->chartNumber, chartInstance->instanceNumber);
}
Beispiel #9
0
static void sf_gateway_c40_Demo_Glove(SFc40_Demo_GloveInstanceStruct
  *chartInstance)
{
  real_T c40_hoistedGlobal;
  real_T c40_b_hoistedGlobal;
  real_T c40_c_hoistedGlobal;
  real_T c40_d_hoistedGlobal;
  real_T c40_e_hoistedGlobal;
  real_T c40_f_hoistedGlobal;
  real_T c40_r1;
  real_T c40_r2;
  real_T c40_r3;
  real_T c40_r4;
  real_T c40_r5;
  real_T c40_r6;
  uint32_T c40_debug_family_var_map[9];
  real_T c40_nargin = 6.0;
  real_T c40_nargout = 1.0;
  real_T c40_y[6];
  int32_T c40_i2;
  real_T c40_x;
  real_T c40_b_x;
  real_T c40_c_x;
  real_T c40_d_x;
  real_T c40_e_x;
  real_T c40_f_x;
  real_T c40_g_x;
  real_T c40_h_x;
  real_T c40_i_x;
  real_T c40_j_x;
  real_T c40_k_x;
  real_T c40_l_x;
  int32_T c40_i3;
  int32_T c40_i4;
  real_T *c40_b_r1;
  real_T *c40_b_r2;
  real_T *c40_b_r3;
  real_T *c40_b_r4;
  real_T *c40_b_r5;
  real_T *c40_b_r6;
  real_T (*c40_b_y)[6];
  c40_b_r6 = (real_T *)ssGetInputPortSignal(chartInstance->S, 5);
  c40_b_r5 = (real_T *)ssGetInputPortSignal(chartInstance->S, 4);
  c40_b_r4 = (real_T *)ssGetInputPortSignal(chartInstance->S, 3);
  c40_b_r3 = (real_T *)ssGetInputPortSignal(chartInstance->S, 2);
  c40_b_r2 = (real_T *)ssGetInputPortSignal(chartInstance->S, 1);
  c40_b_y = (real_T (*)[6])ssGetOutputPortSignal(chartInstance->S, 1);
  c40_b_r1 = (real_T *)ssGetInputPortSignal(chartInstance->S, 0);
  _SFD_SYMBOL_SCOPE_PUSH(0U, 0U);
  _sfTime_ = sf_get_time(chartInstance->S);
  _SFD_CC_CALL(CHART_ENTER_SFUNCTION_TAG, 21U, chartInstance->c40_sfEvent);
  _SFD_DATA_RANGE_CHECK(*c40_b_r1, 0U);
  chartInstance->c40_sfEvent = CALL_EVENT;
  _SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG, 21U, chartInstance->c40_sfEvent);
  c40_hoistedGlobal = *c40_b_r1;
  c40_b_hoistedGlobal = *c40_b_r2;
  c40_c_hoistedGlobal = *c40_b_r3;
  c40_d_hoistedGlobal = *c40_b_r4;
  c40_e_hoistedGlobal = *c40_b_r5;
  c40_f_hoistedGlobal = *c40_b_r6;
  c40_r1 = c40_hoistedGlobal;
  c40_r2 = c40_b_hoistedGlobal;
  c40_r3 = c40_c_hoistedGlobal;
  c40_r4 = c40_d_hoistedGlobal;
  c40_r5 = c40_e_hoistedGlobal;
  c40_r6 = c40_f_hoistedGlobal;
  _SFD_SYMBOL_SCOPE_PUSH_EML(0U, 9U, 9U, c40_debug_family_names,
    c40_debug_family_var_map);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c40_nargin, 0U, c40_b_sf_marshallOut,
    c40_b_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c40_nargout, 1U, c40_b_sf_marshallOut,
    c40_b_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML(&c40_r1, 2U, c40_b_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML(&c40_r2, 3U, c40_b_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML(&c40_r3, 4U, c40_b_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML(&c40_r4, 5U, c40_b_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML(&c40_r5, 6U, c40_b_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML(&c40_r6, 7U, c40_b_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(c40_y, 8U, c40_sf_marshallOut,
    c40_sf_marshallIn);
  CV_EML_FCN(0, 0);
  _SFD_EML_CALL(0U, chartInstance->c40_sfEvent, 3);
  for (c40_i2 = 0; c40_i2 < 6; c40_i2++) {
    c40_y[c40_i2] = 0.0;
  }

  _SFD_EML_CALL(0U, chartInstance->c40_sfEvent, 4);
  c40_x = c40_r1;
  c40_b_x = c40_x;
  c40_b_x = muDoubleScalarFloor(c40_b_x);
  c40_y[0] = c40_b_x;
  _SFD_EML_CALL(0U, chartInstance->c40_sfEvent, 5);
  c40_c_x = c40_r2;
  c40_d_x = c40_c_x;
  c40_d_x = muDoubleScalarFloor(c40_d_x);
  c40_y[1] = c40_d_x;
  _SFD_EML_CALL(0U, chartInstance->c40_sfEvent, 6);
  c40_e_x = c40_r3;
  c40_f_x = c40_e_x;
  c40_f_x = muDoubleScalarFloor(c40_f_x);
  c40_y[2] = c40_f_x;
  _SFD_EML_CALL(0U, chartInstance->c40_sfEvent, 7);
  c40_g_x = c40_r4;
  c40_h_x = c40_g_x;
  c40_h_x = muDoubleScalarFloor(c40_h_x);
  c40_y[3] = c40_h_x;
  _SFD_EML_CALL(0U, chartInstance->c40_sfEvent, 8);
  c40_i_x = c40_r5;
  c40_j_x = c40_i_x;
  c40_j_x = muDoubleScalarFloor(c40_j_x);
  c40_y[4] = c40_j_x;
  _SFD_EML_CALL(0U, chartInstance->c40_sfEvent, 9);
  c40_k_x = c40_r6;
  c40_l_x = c40_k_x;
  c40_l_x = muDoubleScalarFloor(c40_l_x);
  c40_y[5] = c40_l_x;
  _SFD_EML_CALL(0U, chartInstance->c40_sfEvent, -9);
  _SFD_SYMBOL_SCOPE_POP();
  for (c40_i3 = 0; c40_i3 < 6; c40_i3++) {
    (*c40_b_y)[c40_i3] = c40_y[c40_i3];
  }

  _SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG, 21U, chartInstance->c40_sfEvent);
  _SFD_SYMBOL_SCOPE_POP();
  _SFD_CHECK_FOR_STATE_INCONSISTENCY(_Demo_GloveMachineNumber_,
    chartInstance->chartNumber, chartInstance->instanceNumber);
  for (c40_i4 = 0; c40_i4 < 6; c40_i4++) {
    _SFD_DATA_RANGE_CHECK((*c40_b_y)[c40_i4], 1U);
  }

  _SFD_DATA_RANGE_CHECK(*c40_b_r2, 2U);
  _SFD_DATA_RANGE_CHECK(*c40_b_r3, 3U);
  _SFD_DATA_RANGE_CHECK(*c40_b_r4, 4U);
  _SFD_DATA_RANGE_CHECK(*c40_b_r5, 5U);
  _SFD_DATA_RANGE_CHECK(*c40_b_r6, 6U);
}
static void c5_chartstep_c5_testing_Control(SFc5_testing_ControlInstanceStruct
  *chartInstance)
{
  real_T c5_hoistedGlobal;
  real_T c5_lambda;
  uint32_T c5_debug_family_var_map[5];
  boolean_T c5_positiveInput;
  real_T c5_nargin = 1.0;
  real_T c5_nargout = 1.0;
  real_T c5_lambda1;
  real_T c5_x;
  real_T c5_xk;
  real_T c5_b_x;
  real_T c5_c_x;
  real_T c5_d_x;
  real_T c5_e_x;
  real_T c5_f_x;
  real_T c5_y;
  real_T c5_g_x;
  real_T c5_b_y;
  real_T c5_b;
  real_T c5_c_y;
  real_T c5_h_x;
  real_T c5_i_x;
  real_T c5_dv0[1];
  boolean_T c5_b0;
  boolean_T c5_b_positiveInput;
  boolean_T c5_j_x;
  boolean_T c5_k_x;
  int32_T c5_k;
  int32_T c5_tmp_sizes[2];
  int32_T c5_iv0[2];
  int32_T c5_i0;
  int32_T c5_i1;
  int32_T c5_loop_ub;
  int32_T c5_i2;
  int32_T c5_tmp_data[1];
  int32_T c5_i3;
  int32_T c5_b_tmp_sizes[2];
  int32_T c5_b_tmp_data[1];
  int32_T c5_b_loop_ub;
  int32_T c5_i4;
  real_T *c5_b_lambda1;
  real_T *c5_b_lambda;
  c5_b_lambda1 = (real_T *)ssGetOutputPortSignal(chartInstance->S, 1);
  c5_b_lambda = (real_T *)ssGetInputPortSignal(chartInstance->S, 0);
  _SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG, 2U, chartInstance->c5_sfEvent);
  c5_hoistedGlobal = *c5_b_lambda;
  c5_lambda = c5_hoistedGlobal;
  sf_debug_symbol_scope_push_eml(0U, 5U, 5U, c5_debug_family_names,
    c5_debug_family_var_map);
  sf_debug_symbol_scope_add_eml_importable(&c5_positiveInput, 0U,
    c5_b_sf_marshallOut, c5_b_sf_marshallIn);
  sf_debug_symbol_scope_add_eml_importable(&c5_nargin, 1U, c5_sf_marshallOut,
    c5_sf_marshallIn);
  sf_debug_symbol_scope_add_eml_importable(&c5_nargout, 2U, c5_sf_marshallOut,
    c5_sf_marshallIn);
  sf_debug_symbol_scope_add_eml(&c5_lambda, 3U, c5_sf_marshallOut);
  sf_debug_symbol_scope_add_eml_importable(&c5_lambda1, 4U, c5_sf_marshallOut,
    c5_sf_marshallIn);
  CV_EML_FCN(0, 0);
  _SFD_EML_CALL(0U, chartInstance->c5_sfEvent, 15);
  c5_positiveInput = (c5_lambda > 0.0);
  _SFD_EML_CALL(0U, chartInstance->c5_sfEvent, 16);
  c5_x = c5_lambda;
  c5_xk = c5_x;
  c5_b_x = c5_xk;
  c5_c_x = c5_b_x;
  c5_lambda = c5_c_x / 6.2831853071795862;
  c5_d_x = c5_lambda;
  c5_e_x = c5_d_x;
  c5_e_x = muDoubleScalarRound(c5_e_x);
  c5_f_x = c5_lambda - c5_e_x;
  c5_y = muDoubleScalarAbs(c5_f_x);
  c5_g_x = c5_lambda;
  c5_b_y = muDoubleScalarAbs(c5_g_x);
  c5_b = c5_b_y;
  c5_c_y = 2.2204460492503131E-16 * c5_b;
  if (c5_y <= c5_c_y) {
    c5_lambda = 0.0;
  } else {
    c5_h_x = c5_lambda;
    c5_i_x = c5_h_x;
    c5_i_x = muDoubleScalarFloor(c5_i_x);
    c5_lambda = (c5_lambda - c5_i_x) * 6.2831853071795862;
  }

  _SFD_EML_CALL(0U, chartInstance->c5_sfEvent, 17);
  c5_dv0[0] = c5_lambda;
  c5_b0 = (c5_lambda == 0.0);
  c5_b_positiveInput = c5_positiveInput;
  c5_j_x = (c5_b0 && c5_b_positiveInput);
  c5_k_x = c5_j_x;
  c5_k = 0;
  if (c5_k_x) {
    c5_k = 1;
  }

  c5_tmp_sizes[0] = 1;
  c5_iv0[0] = 1;
  c5_iv0[1] = c5_k;
  c5_tmp_sizes[1] = c5_iv0[1];
  c5_i0 = c5_tmp_sizes[0];
  c5_i1 = c5_tmp_sizes[1];
  c5_loop_ub = c5_k - 1;
  for (c5_i2 = 0; c5_i2 <= c5_loop_ub; c5_i2++) {
    c5_tmp_data[c5_i2] = 0;
  }

  for (c5_i3 = 0; c5_i3 < 2; c5_i3++) {
    c5_b_tmp_sizes[c5_i3] = c5_tmp_sizes[c5_i3];
  }

  if (c5_j_x) {
    _SFD_EML_ARRAY_BOUNDS_CHECK("", 1, 1, c5_b_tmp_sizes[1], 1, 0);
    c5_b_tmp_data[0] = 1;
  }

  c5_b_loop_ub = c5_b_tmp_sizes[0] * c5_b_tmp_sizes[1] - 1;
  for (c5_i4 = 0; c5_i4 <= c5_b_loop_ub; c5_i4++) {
    c5_dv0[c5_b_tmp_data[c5_i4] - 1] = 6.2831853071795862;
  }

  c5_lambda = c5_dv0[0];
  _SFD_EML_CALL(0U, chartInstance->c5_sfEvent, 18);
  c5_lambda1 = c5_lambda;
  _SFD_EML_CALL(0U, chartInstance->c5_sfEvent, -18);
  sf_debug_symbol_scope_pop();
  *c5_b_lambda1 = c5_lambda1;
  _SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG, 2U, chartInstance->c5_sfEvent);
}
Beispiel #11
0
static void c16_chartstep_c16_ekffede(SFc16_ekffedeInstanceStruct *chartInstance)
{
  int32_T c16_i5;
  real_T c16_gyro[3];
  int32_T c16_i6;
  real_T c16_quat[4];
  uint32_T c16_debug_family_var_map[6];
  real_T c16_omega[16];
  real_T c16_nargin = 2.0;
  real_T c16_nargout = 1.0;
  real_T c16_quat_dot[4];
  int32_T c16_i7;
  real_T c16_b[16];
  int32_T c16_i8;
  int32_T c16_i9;
  real_T c16_b_b[4];
  int32_T c16_i10;
  int32_T c16_i11;
  int32_T c16_i12;
  real_T c16_C[4];
  int32_T c16_i13;
  int32_T c16_i14;
  int32_T c16_i15;
  int32_T c16_i16;
  int32_T c16_i17;
  int32_T c16_i18;
  int32_T c16_i19;
  real_T (*c16_b_quat_dot)[4];
  real_T (*c16_b_quat)[4];
  real_T (*c16_b_gyro)[3];
  c16_b_quat = (real_T (*)[4])ssGetInputPortSignal(chartInstance->S, 1);
  c16_b_quat_dot = (real_T (*)[4])ssGetOutputPortSignal(chartInstance->S, 1);
  c16_b_gyro = (real_T (*)[3])ssGetInputPortSignal(chartInstance->S, 0);
  _SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG, 15U, chartInstance->c16_sfEvent);
  for (c16_i5 = 0; c16_i5 < 3; c16_i5++) {
    c16_gyro[c16_i5] = (*c16_b_gyro)[c16_i5];
  }

  for (c16_i6 = 0; c16_i6 < 4; c16_i6++) {
    c16_quat[c16_i6] = (*c16_b_quat)[c16_i6];
  }

  sf_debug_symbol_scope_push_eml(0U, 6U, 6U, c16_debug_family_names,
    c16_debug_family_var_map);
  sf_debug_symbol_scope_add_eml_importable(c16_omega, 0U, c16_d_sf_marshallOut,
    c16_c_sf_marshallIn);
  sf_debug_symbol_scope_add_eml_importable(&c16_nargin, 1U, c16_c_sf_marshallOut,
    c16_b_sf_marshallIn);
  sf_debug_symbol_scope_add_eml_importable(&c16_nargout, 2U,
    c16_c_sf_marshallOut, c16_b_sf_marshallIn);
  sf_debug_symbol_scope_add_eml(c16_gyro, 3U, c16_b_sf_marshallOut);
  sf_debug_symbol_scope_add_eml(c16_quat, 4U, c16_sf_marshallOut);
  sf_debug_symbol_scope_add_eml_importable(c16_quat_dot, 5U, c16_sf_marshallOut,
    c16_sf_marshallIn);
  CV_EML_FCN(0, 0);
  _SFD_EML_CALL(0U, chartInstance->c16_sfEvent, 2);
  c16_omega[0] = 0.0;
  c16_omega[4] = -c16_gyro[0];
  c16_omega[8] = -c16_gyro[1];
  c16_omega[12] = -c16_gyro[2];
  c16_omega[1] = c16_gyro[0];
  c16_omega[5] = 0.0;
  c16_omega[9] = c16_gyro[2];
  c16_omega[13] = -c16_gyro[1];
  c16_omega[2] = c16_gyro[1];
  c16_omega[6] = -c16_gyro[2];
  c16_omega[10] = 0.0;
  c16_omega[14] = c16_gyro[0];
  c16_omega[3] = c16_gyro[2];
  c16_omega[7] = c16_gyro[1];
  c16_omega[11] = -c16_gyro[0];
  c16_omega[15] = 0.0;
  _SFD_EML_CALL(0U, chartInstance->c16_sfEvent, 7);
  for (c16_i7 = 0; c16_i7 < 16; c16_i7++) {
    c16_b[c16_i7] = c16_omega[c16_i7];
  }

  for (c16_i8 = 0; c16_i8 < 16; c16_i8++) {
    c16_b[c16_i8] *= 0.5;
  }

  for (c16_i9 = 0; c16_i9 < 4; c16_i9++) {
    c16_b_b[c16_i9] = c16_quat[c16_i9];
  }

  c16_eml_scalar_eg(chartInstance);
  c16_eml_scalar_eg(chartInstance);
  for (c16_i10 = 0; c16_i10 < 4; c16_i10++) {
    c16_quat_dot[c16_i10] = 0.0;
  }

  for (c16_i11 = 0; c16_i11 < 4; c16_i11++) {
    c16_quat_dot[c16_i11] = 0.0;
  }

  for (c16_i12 = 0; c16_i12 < 4; c16_i12++) {
    c16_C[c16_i12] = c16_quat_dot[c16_i12];
  }

  for (c16_i13 = 0; c16_i13 < 4; c16_i13++) {
    c16_quat_dot[c16_i13] = c16_C[c16_i13];
  }

  for (c16_i14 = 0; c16_i14 < 4; c16_i14++) {
    c16_C[c16_i14] = c16_quat_dot[c16_i14];
  }

  for (c16_i15 = 0; c16_i15 < 4; c16_i15++) {
    c16_quat_dot[c16_i15] = c16_C[c16_i15];
  }

  for (c16_i16 = 0; c16_i16 < 4; c16_i16++) {
    c16_quat_dot[c16_i16] = 0.0;
    c16_i17 = 0;
    for (c16_i18 = 0; c16_i18 < 4; c16_i18++) {
      c16_quat_dot[c16_i16] += c16_b[c16_i17 + c16_i16] * c16_b_b[c16_i18];
      c16_i17 += 4;
    }
  }

  _SFD_EML_CALL(0U, chartInstance->c16_sfEvent, -7);
  sf_debug_symbol_scope_pop();
  for (c16_i19 = 0; c16_i19 < 4; c16_i19++) {
    (*c16_b_quat_dot)[c16_i19] = c16_quat_dot[c16_i19];
  }

  _SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG, 15U, chartInstance->c16_sfEvent);
}
static void c26_chartstep_c26_HIL_model(SFc26_HIL_modelInstanceStruct
  *chartInstance)
{
  int32_T c26_i5;
  real_T c26_eta_ref[3];
  int32_T c26_i6;
  real_T c26_nu_ref[3];
  uint32_T c26_debug_family_var_map[10];
  real_T c26_psi_ref;
  real_T c26_nuRef[3];
  real_T c26_c;
  real_T c26_s;
  real_T c26_R[9];
  real_T c26_nargin = 2.0;
  real_T c26_nargout = 1.0;
  real_T c26_eta_dot_ref[3];
  int32_T c26_i7;
  real_T c26_x;
  real_T c26_b_x;
  real_T c26_c_x;
  real_T c26_d_x;
  int32_T c26_i8;
  int32_T c26_i9;
  static real_T c26_dv1[3] = { 0.0, 0.0, 1.0 };

  int32_T c26_i10;
  real_T c26_a[9];
  int32_T c26_i11;
  real_T c26_b[3];
  int32_T c26_i12;
  int32_T c26_i13;
  int32_T c26_i14;
  real_T c26_C[3];
  int32_T c26_i15;
  int32_T c26_i16;
  int32_T c26_i17;
  int32_T c26_i18;
  int32_T c26_i19;
  int32_T c26_i20;
  int32_T c26_i21;
  real_T (*c26_b_eta_dot_ref)[3];
  real_T (*c26_b_nu_ref)[3];
  real_T (*c26_b_eta_ref)[3];
  c26_b_nu_ref = (real_T (*)[3])ssGetInputPortSignal(chartInstance->S, 1);
  c26_b_eta_dot_ref = (real_T (*)[3])ssGetOutputPortSignal(chartInstance->S, 1);
  c26_b_eta_ref = (real_T (*)[3])ssGetInputPortSignal(chartInstance->S, 0);
  _SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG, 18U, chartInstance->c26_sfEvent);
  for (c26_i5 = 0; c26_i5 < 3; c26_i5++) {
    c26_eta_ref[c26_i5] = (*c26_b_eta_ref)[c26_i5];
  }

  for (c26_i6 = 0; c26_i6 < 3; c26_i6++) {
    c26_nu_ref[c26_i6] = (*c26_b_nu_ref)[c26_i6];
  }

  _SFD_SYMBOL_SCOPE_PUSH_EML(0U, 10U, 10U, c26_debug_family_names,
    c26_debug_family_var_map);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c26_psi_ref, 0U, c26_b_sf_marshallOut,
    c26_b_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(c26_nuRef, 1U, c26_sf_marshallOut,
    c26_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c26_c, 2U, c26_b_sf_marshallOut,
    c26_b_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c26_s, 3U, c26_b_sf_marshallOut,
    c26_b_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(c26_R, 4U, c26_c_sf_marshallOut,
    c26_c_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c26_nargin, 5U, c26_b_sf_marshallOut,
    c26_b_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c26_nargout, 6U, c26_b_sf_marshallOut,
    c26_b_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML(c26_eta_ref, 7U, c26_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML(c26_nu_ref, 8U, c26_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(c26_eta_dot_ref, 9U, c26_sf_marshallOut,
    c26_sf_marshallIn);
  CV_EML_FCN(0, 0);
  _SFD_EML_CALL(0U, chartInstance->c26_sfEvent, 3);
  CV_EML_IF(0, 1, 0, TRUE);
  _SFD_EML_CALL(0U, chartInstance->c26_sfEvent, 4);
  c26_psi_ref = c26_eta_ref[2];
  _SFD_EML_CALL(0U, chartInstance->c26_sfEvent, 9);
  CV_EML_IF(0, 1, 1, TRUE);
  _SFD_EML_CALL(0U, chartInstance->c26_sfEvent, 10);
  for (c26_i7 = 0; c26_i7 < 3; c26_i7++) {
    c26_nuRef[c26_i7] = c26_nu_ref[c26_i7];
  }

  _SFD_EML_CALL(0U, chartInstance->c26_sfEvent, 15);
  c26_x = c26_psi_ref;
  c26_c = c26_x;
  c26_b_x = c26_c;
  c26_c = c26_b_x;
  c26_c = muDoubleScalarCos(c26_c);
  _SFD_EML_CALL(0U, chartInstance->c26_sfEvent, 16);
  c26_c_x = c26_psi_ref;
  c26_s = c26_c_x;
  c26_d_x = c26_s;
  c26_s = c26_d_x;
  c26_s = muDoubleScalarSin(c26_s);
  _SFD_EML_CALL(0U, chartInstance->c26_sfEvent, 17);
  c26_R[0] = c26_c;
  c26_R[3] = -c26_s;
  c26_R[6] = 0.0;
  c26_R[1] = c26_s;
  c26_R[4] = c26_c;
  c26_R[7] = 0.0;
  c26_i8 = 0;
  for (c26_i9 = 0; c26_i9 < 3; c26_i9++) {
    c26_R[c26_i8 + 2] = c26_dv1[c26_i9];
    c26_i8 += 3;
  }

  _SFD_EML_CALL(0U, chartInstance->c26_sfEvent, 21);
  for (c26_i10 = 0; c26_i10 < 9; c26_i10++) {
    c26_a[c26_i10] = c26_R[c26_i10];
  }

  for (c26_i11 = 0; c26_i11 < 3; c26_i11++) {
    c26_b[c26_i11] = c26_nuRef[c26_i11];
  }

  c26_eml_scalar_eg(chartInstance);
  c26_eml_scalar_eg(chartInstance);
  for (c26_i12 = 0; c26_i12 < 3; c26_i12++) {
    c26_eta_dot_ref[c26_i12] = 0.0;
  }

  for (c26_i13 = 0; c26_i13 < 3; c26_i13++) {
    c26_eta_dot_ref[c26_i13] = 0.0;
  }

  for (c26_i14 = 0; c26_i14 < 3; c26_i14++) {
    c26_C[c26_i14] = c26_eta_dot_ref[c26_i14];
  }

  for (c26_i15 = 0; c26_i15 < 3; c26_i15++) {
    c26_eta_dot_ref[c26_i15] = c26_C[c26_i15];
  }

  for (c26_i16 = 0; c26_i16 < 3; c26_i16++) {
    c26_C[c26_i16] = c26_eta_dot_ref[c26_i16];
  }

  for (c26_i17 = 0; c26_i17 < 3; c26_i17++) {
    c26_eta_dot_ref[c26_i17] = c26_C[c26_i17];
  }

  for (c26_i18 = 0; c26_i18 < 3; c26_i18++) {
    c26_eta_dot_ref[c26_i18] = 0.0;
    c26_i19 = 0;
    for (c26_i20 = 0; c26_i20 < 3; c26_i20++) {
      c26_eta_dot_ref[c26_i18] += c26_a[c26_i19 + c26_i18] * c26_b[c26_i20];
      c26_i19 += 3;
    }
  }

  _SFD_EML_CALL(0U, chartInstance->c26_sfEvent, -21);
  _SFD_SYMBOL_SCOPE_POP();
  for (c26_i21 = 0; c26_i21 < 3; c26_i21++) {
    (*c26_b_eta_dot_ref)[c26_i21] = c26_eta_dot_ref[c26_i21];
  }

  _SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG, 18U, chartInstance->c26_sfEvent);
}
static void sf_c19_HIL_model_overall(SFc19_HIL_model_overallInstanceStruct
  *chartInstance)
{
  real_T c19_hoistedGlobal;
  real_T c19_b_hoistedGlobal;
  real_T c19_U_in;
  real_T c19_t;
  uint32_T c19_debug_family_var_map[5];
  real_T c19_nargin = 2.0;
  real_T c19_nargout = 1.0;
  real_T c19_U_ref;
  real_T c19_a;
  real_T c19_b;
  real_T c19_y;
  real_T c19_A;
  real_T c19_x;
  real_T c19_b_x;
  real_T c19_b_y;
  real_T c19_varargin_1;
  real_T c19_varargin_2;
  real_T c19_b_varargin_2;
  real_T c19_varargin_3;
  real_T c19_c_x;
  real_T c19_c_y;
  real_T c19_d_x;
  real_T c19_d_y;
  real_T c19_xk;
  real_T c19_yk;
  real_T c19_e_x;
  real_T c19_e_y;
  real_T *c19_b_t;
  real_T *c19_b_U_in;
  real_T *c19_b_U_ref;
  c19_b_t = (real_T *)ssGetInputPortSignal(chartInstance->S, 1);
  c19_b_U_ref = (real_T *)ssGetOutputPortSignal(chartInstance->S, 1);
  c19_b_U_in = (real_T *)ssGetInputPortSignal(chartInstance->S, 0);
  _sfTime_ = (real_T)ssGetT(chartInstance->S);
  _SFD_CC_CALL(CHART_ENTER_SFUNCTION_TAG, 18U, chartInstance->c19_sfEvent);
  _SFD_DATA_RANGE_CHECK(*c19_b_U_in, 0U);
  _SFD_DATA_RANGE_CHECK(*c19_b_U_ref, 1U);
  _SFD_DATA_RANGE_CHECK(*c19_b_t, 2U);
  chartInstance->c19_sfEvent = CALL_EVENT;
  _SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG, 18U, chartInstance->c19_sfEvent);
  c19_hoistedGlobal = *c19_b_U_in;
  c19_b_hoistedGlobal = *c19_b_t;
  c19_U_in = c19_hoistedGlobal;
  c19_t = c19_b_hoistedGlobal;
  _SFD_SYMBOL_SCOPE_PUSH_EML(0U, 5U, 5U, c19_debug_family_names,
    c19_debug_family_var_map);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c19_nargin, 0U, c19_sf_marshallOut,
    c19_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c19_nargout, 1U, c19_sf_marshallOut,
    c19_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML(&c19_U_in, 2U, c19_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML(&c19_t, 3U, c19_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c19_U_ref, 4U, c19_sf_marshallOut,
    c19_sf_marshallIn);
  CV_EML_FCN(0, 0);
  _SFD_EML_CALL(0U, chartInstance->c19_sfEvent, 5);
  c19_a = c19_U_in;
  c19_b = c19_t;
  c19_y = c19_a * c19_b;
  c19_A = c19_y;
  c19_x = c19_A;
  c19_b_x = c19_x;
  c19_b_y = c19_b_x / 200.0;
  c19_varargin_1 = c19_U_in;
  c19_varargin_2 = c19_b_y;
  c19_b_varargin_2 = c19_varargin_1;
  c19_varargin_3 = c19_varargin_2;
  c19_c_x = c19_b_varargin_2;
  c19_c_y = c19_varargin_3;
  c19_d_x = c19_c_x;
  c19_d_y = c19_c_y;
  c19_eml_scalar_eg(chartInstance);
  c19_xk = c19_d_x;
  c19_yk = c19_d_y;
  c19_e_x = c19_xk;
  c19_e_y = c19_yk;
  c19_eml_scalar_eg(chartInstance);
  c19_U_ref = muDoubleScalarMin(c19_e_x, c19_e_y);
  _SFD_EML_CALL(0U, chartInstance->c19_sfEvent, -5);
  _SFD_SYMBOL_SCOPE_POP();
  *c19_b_U_ref = c19_U_ref;
  _SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG, 18U, chartInstance->c19_sfEvent);
  _SFD_CHECK_FOR_STATE_INCONSISTENCY(_HIL_model_overallMachineNumber_,
    chartInstance->chartNumber, chartInstance->instanceNumber);
}
static void sf_gateway_c37_Demo_EP_IdleRandMerg
  (SFc37_Demo_EP_IdleRandMergInstanceStruct *chartInstance)
{
  boolean_T c37_hoistedGlobal;
  boolean_T c37_b_hoistedGlobal;
  boolean_T c37_extrovert;
  boolean_T c37_neurotic;
  uint32_T c37_debug_family_var_map[5];
  real_T c37_nargin = 2.0;
  real_T c37_nargout = 1.0;
  real_T c37_personality;
  boolean_T *c37_b_extrovert;
  real_T *c37_b_personality;
  boolean_T *c37_b_neurotic;
  c37_b_neurotic = (boolean_T *)ssGetInputPortSignal(chartInstance->S, 1);
  c37_b_personality = (real_T *)ssGetOutputPortSignal(chartInstance->S, 1);
  c37_b_extrovert = (boolean_T *)ssGetInputPortSignal(chartInstance->S, 0);
  _SFD_SYMBOL_SCOPE_PUSH(0U, 0U);
  _sfTime_ = sf_get_time(chartInstance->S);
  _SFD_CC_CALL(CHART_ENTER_SFUNCTION_TAG, 17U, chartInstance->c37_sfEvent);
  _SFD_DATA_RANGE_CHECK((real_T)*c37_b_extrovert, 0U);
  chartInstance->c37_sfEvent = CALL_EVENT;
  _SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG, 17U, chartInstance->c37_sfEvent);
  c37_hoistedGlobal = *c37_b_extrovert;
  c37_b_hoistedGlobal = *c37_b_neurotic;
  c37_extrovert = c37_hoistedGlobal;
  c37_neurotic = c37_b_hoistedGlobal;
  _SFD_SYMBOL_SCOPE_PUSH_EML(0U, 5U, 5U, c37_debug_family_names,
    c37_debug_family_var_map);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c37_nargin, 0U, c37_sf_marshallOut,
    c37_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c37_nargout, 1U, c37_sf_marshallOut,
    c37_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML(&c37_extrovert, 2U, c37_b_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML(&c37_neurotic, 3U, c37_b_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c37_personality, 4U, c37_sf_marshallOut,
    c37_sf_marshallIn);
  CV_EML_FCN(0, 0);
  _SFD_EML_CALL(0U, chartInstance->c37_sfEvent, 4);
  if (CV_EML_IF(0, 1, 0, (real_T)c37_extrovert == 1.0)) {
    _SFD_EML_CALL(0U, chartInstance->c37_sfEvent, 5);
    if (CV_EML_IF(0, 1, 1, (real_T)c37_neurotic == 1.0)) {
      _SFD_EML_CALL(0U, chartInstance->c37_sfEvent, 6);
      c37_personality = 1.0;
    } else {
      _SFD_EML_CALL(0U, chartInstance->c37_sfEvent, 8);
      c37_personality = 3.0;
    }
  } else {
    _SFD_EML_CALL(0U, chartInstance->c37_sfEvent, 11);
    if (CV_EML_IF(0, 1, 2, (real_T)c37_neurotic == 1.0)) {
      _SFD_EML_CALL(0U, chartInstance->c37_sfEvent, 12);
      c37_personality = 2.0;
    } else {
      _SFD_EML_CALL(0U, chartInstance->c37_sfEvent, 14);
      c37_personality = 4.0;
    }
  }

  _SFD_EML_CALL(0U, chartInstance->c37_sfEvent, -14);
  _SFD_SYMBOL_SCOPE_POP();
  *c37_b_personality = c37_personality;
  _SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG, 17U, chartInstance->c37_sfEvent);
  _SFD_SYMBOL_SCOPE_POP();
  _SFD_CHECK_FOR_STATE_INCONSISTENCY(_Demo_EP_IdleRandMergMachineNumber_,
    chartInstance->chartNumber, chartInstance->instanceNumber);
  _SFD_DATA_RANGE_CHECK(*c37_b_personality, 1U);
  _SFD_DATA_RANGE_CHECK((real_T)*c37_b_neurotic, 2U);
}
static void sf_c10_dynamics_kinematics(SFc10_dynamics_kinematicsInstanceStruct
  *chartInstance)
{
  int32_T c10_i2;
  int32_T c10_i3;
  int32_T c10_i4;
  real_T c10_q[6];
  uint32_T c10_debug_family_var_map[4];
  real_T c10_nargin = 1.0;
  real_T c10_nargout = 1.0;
  real_T c10_M[144];
  int32_T c10_i5;
  int32_T c10_i6;
  real_T c10_u[6];
  const mxArray *c10_y = NULL;
  real_T c10_dv1[144];
  int32_T c10_i7;
  int32_T c10_i8;
  real_T (*c10_b_M)[144];
  real_T (*c10_b_q)[6];
  c10_b_q = (real_T (*)[6])ssGetInputPortSignal(chartInstance->S, 0);
  c10_b_M = (real_T (*)[144])ssGetOutputPortSignal(chartInstance->S, 1);
  _sfTime_ = (real_T)ssGetT(chartInstance->S);
  _SFD_CC_CALL(CHART_ENTER_SFUNCTION_TAG, 9U, chartInstance->c10_sfEvent);
  for (c10_i2 = 0; c10_i2 < 144; c10_i2++) {
    _SFD_DATA_RANGE_CHECK((*c10_b_M)[c10_i2], 0U);
  }

  for (c10_i3 = 0; c10_i3 < 6; c10_i3++) {
    _SFD_DATA_RANGE_CHECK((*c10_b_q)[c10_i3], 1U);
  }

  chartInstance->c10_sfEvent = CALL_EVENT;
  _SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG, 9U, chartInstance->c10_sfEvent);
  for (c10_i4 = 0; c10_i4 < 6; c10_i4++) {
    c10_q[c10_i4] = (*c10_b_q)[c10_i4];
  }

  sf_debug_symbol_scope_push_eml(0U, 4U, 4U, c10_debug_family_names,
    c10_debug_family_var_map);
  sf_debug_symbol_scope_add_eml_importable(&c10_nargin, 0U, c10_c_sf_marshallOut,
    c10_b_sf_marshallIn);
  sf_debug_symbol_scope_add_eml_importable(&c10_nargout, 1U,
    c10_c_sf_marshallOut, c10_b_sf_marshallIn);
  sf_debug_symbol_scope_add_eml(c10_q, 2U, c10_b_sf_marshallOut);
  sf_debug_symbol_scope_add_eml_importable(c10_M, 3U, c10_sf_marshallOut,
    c10_sf_marshallIn);
  CV_EML_FCN(0, 0);
  _SFD_EML_CALL(0U, chartInstance->c10_sfEvent, 3);
  _SFD_EML_CALL(0U, chartInstance->c10_sfEvent, 4);
  for (c10_i5 = 0; c10_i5 < 144; c10_i5++) {
    c10_M[c10_i5] = 0.0;
  }

  _SFD_EML_CALL(0U, chartInstance->c10_sfEvent, 5);
  for (c10_i6 = 0; c10_i6 < 6; c10_i6++) {
    c10_u[c10_i6] = c10_q[c10_i6];
  }

  c10_y = NULL;
  sf_mex_assign(&c10_y, sf_mex_create("y", c10_u, 0, 0U, 1U, 0U, 1, 6), FALSE);
  c10_b_emlrt_marshallIn(chartInstance, sf_mex_call_debug("getInertia", 1U, 1U,
    14, c10_y), "getInertia", c10_dv1);
  for (c10_i7 = 0; c10_i7 < 144; c10_i7++) {
    c10_M[c10_i7] = c10_dv1[c10_i7];
  }

  _SFD_EML_CALL(0U, chartInstance->c10_sfEvent, -5);
  sf_debug_symbol_scope_pop();
  for (c10_i8 = 0; c10_i8 < 144; c10_i8++) {
    (*c10_b_M)[c10_i8] = c10_M[c10_i8];
  }

  _SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG, 9U, chartInstance->c10_sfEvent);
  sf_debug_check_for_state_inconsistency(_dynamics_kinematicsMachineNumber_,
    chartInstance->chartNumber, chartInstance->instanceNumber);
}
static void sf_c7_adcs_v15_integral_Power_no_charge_in_detumb(void)
{
  int32_T c7_i3;
  int32_T c7_i4;
  int32_T c7_previousEvent;
  int32_T c7_i5;
  real_T c7_x[7];
  real_T c7_nargout = 1.0;
  real_T c7_nargin = 1.0;
  real_T c7_q[4];
  real_T c7_xN[7];
  int32_T c7_i6;
  int32_T c7_i7;
  real_T c7_A[4];
  int32_T c7_i8;
  real_T c7_a[4];
  int32_T c7_i9;
  real_T c7_b[4];
  int32_T c7_i10;
  real_T c7_b_a[4];
  int32_T c7_i11;
  real_T c7_b_b[4];
  int32_T c7_i12;
  real_T c7_b_x[4];
  int32_T c7_i13;
  real_T c7_y[4];
  int32_T c7_i14;
  real_T c7_c_x[4];
  int32_T c7_i15;
  real_T c7_b_y[4];
  int32_T c7_i16;
  real_T c7_d_x[4];
  int32_T c7_i17;
  real_T c7_c_y[4];
  int32_T c7_i18;
  real_T c7_e_x[4];
  int32_T c7_i19;
  real_T c7_d_y[4];
  real_T c7_f_x;
  real_T c7_B;
  real_T c7_g_x;
  int32_T c7_i20;
  real_T c7_h_x[4];
  real_T c7_e_y;
  int32_T c7_i21;
  real_T c7_i_x[4];
  real_T c7_f_y;
  int32_T c7_i22;
  real_T c7_j_x[4];
  real_T c7_g_y;
  int32_T c7_i23;
  int32_T c7_i24;
  int32_T c7_i25;
  int32_T c7_i26;
  real_T (*c7_b_xN)[7];
  real_T (*c7_k_x)[7];
  c7_k_x = (real_T (*)[7])ssGetInputPortSignal(chartInstance.S, 0);
  c7_b_xN = (real_T (*)[7])ssGetOutputPortSignal(chartInstance.S, 1);
  _sfTime_ = (real_T)ssGetT(chartInstance.S);
  _SFD_CC_CALL(CHART_ENTER_SFUNCTION_TAG,5);
  for (c7_i3 = 0; c7_i3 < 7; c7_i3 = c7_i3 + 1) {
    _SFD_DATA_RANGE_CHECK((*c7_k_x)[c7_i3], 0U);
  }

  for (c7_i4 = 0; c7_i4 < 7; c7_i4 = c7_i4 + 1) {
    _SFD_DATA_RANGE_CHECK((*c7_b_xN)[c7_i4], 1U);
  }

  c7_previousEvent = _sfEvent_;
  _sfEvent_ = CALL_EVENT;
  _SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG,5);
  for (c7_i5 = 0; c7_i5 < 7; c7_i5 = c7_i5 + 1) {
    c7_x[c7_i5] = (*c7_k_x)[c7_i5];
  }

  sf_debug_symbol_scope_push(5U, 0U);
  sf_debug_symbol_scope_add("nargout", &c7_nargout, c7_c_sf_marshall);
  sf_debug_symbol_scope_add("nargin", &c7_nargin, c7_c_sf_marshall);
  sf_debug_symbol_scope_add("q", &c7_q, c7_b_sf_marshall);
  sf_debug_symbol_scope_add("xN", &c7_xN, c7_sf_marshall);
  sf_debug_symbol_scope_add("x", &c7_x, c7_sf_marshall);
  CV_EML_FCN(0, 0);

  /*  This block gives DCM for converting from ECI to ORBIT frames */
  /*  inputs: state vector in ECI */
  /*  output: DCM */
  _SFD_EML_CALL(0,6);
  for (c7_i6 = 0; c7_i6 < 4; c7_i6 = c7_i6 + 1) {
    c7_q[c7_i6] = c7_x[c7_i6];
  }

  _SFD_EML_CALL(0,7);
  for (c7_i7 = 0; c7_i7 < 4; c7_i7 = c7_i7 + 1) {
    c7_A[c7_i7] = c7_q[c7_i7];
  }

  for (c7_i8 = 0; c7_i8 < 4; c7_i8 = c7_i8 + 1) {
    c7_a[c7_i8] = c7_q[c7_i8];
  }

  for (c7_i9 = 0; c7_i9 < 4; c7_i9 = c7_i9 + 1) {
    c7_b[c7_i9] = c7_q[c7_i9];
  }

  c7_eml_scalar_eg();
  for (c7_i10 = 0; c7_i10 < 4; c7_i10 = c7_i10 + 1) {
    c7_b_a[c7_i10] = c7_a[c7_i10];
  }

  for (c7_i11 = 0; c7_i11 < 4; c7_i11 = c7_i11 + 1) {
    c7_b_b[c7_i11] = c7_b[c7_i11];
  }

  for (c7_i12 = 0; c7_i12 < 4; c7_i12 = c7_i12 + 1) {
    c7_b_x[c7_i12] = c7_b_a[c7_i12];
  }

  for (c7_i13 = 0; c7_i13 < 4; c7_i13 = c7_i13 + 1) {
    c7_y[c7_i13] = c7_b_b[c7_i13];
  }

  for (c7_i14 = 0; c7_i14 < 4; c7_i14 = c7_i14 + 1) {
    c7_c_x[c7_i14] = c7_b_x[c7_i14];
  }

  for (c7_i15 = 0; c7_i15 < 4; c7_i15 = c7_i15 + 1) {
    c7_b_y[c7_i15] = c7_y[c7_i15];
  }

  for (c7_i16 = 0; c7_i16 < 4; c7_i16 = c7_i16 + 1) {
    c7_d_x[c7_i16] = c7_c_x[c7_i16];
  }

  for (c7_i17 = 0; c7_i17 < 4; c7_i17 = c7_i17 + 1) {
    c7_c_y[c7_i17] = c7_b_y[c7_i17];
  }

  for (c7_i18 = 0; c7_i18 < 4; c7_i18 = c7_i18 + 1) {
    c7_e_x[c7_i18] = c7_d_x[c7_i18];
  }

  for (c7_i19 = 0; c7_i19 < 4; c7_i19 = c7_i19 + 1) {
    c7_d_y[c7_i19] = c7_c_y[c7_i19];
  }

  c7_f_x = c7_ceval_xdot(4, c7_e_x, 1, 1, c7_d_y, 1, 1);
  c7_B = c7_f_x;
  if (c7_B < 0.0) {
    c7_eml_error();
  }

  c7_g_x = c7_B;
  c7_B = c7_g_x;
  c7_B = muDoubleScalarSqrt(c7_B);
  for (c7_i20 = 0; c7_i20 < 4; c7_i20 = c7_i20 + 1) {
    c7_h_x[c7_i20] = c7_A[c7_i20];
  }

  c7_e_y = c7_B;
  if (c7_e_y == 0.0) {
    c7_eml_warning();
  }

  for (c7_i21 = 0; c7_i21 < 4; c7_i21 = c7_i21 + 1) {
    c7_i_x[c7_i21] = c7_h_x[c7_i21];
  }

  c7_f_y = c7_e_y;
  for (c7_i22 = 0; c7_i22 < 4; c7_i22 = c7_i22 + 1) {
    c7_j_x[c7_i22] = c7_i_x[c7_i22];
  }

  c7_g_y = c7_f_y;
  for (c7_i23 = 0; c7_i23 < 4; c7_i23 = c7_i23 + 1) {
    c7_q[c7_i23] = c7_j_x[c7_i23] / c7_g_y;
  }

  _SFD_EML_CALL(0,8);
  for (c7_i24 = 0; c7_i24 < 4; c7_i24 = c7_i24 + 1) {
    c7_xN[c7_i24] = c7_q[c7_i24];
  }

  for (c7_i25 = 0; c7_i25 < 3; c7_i25 = c7_i25 + 1) {
    c7_xN[c7_i25 + 4] = c7_x[c7_i25 + 4];
  }

  _SFD_EML_CALL(0,-8);
  sf_debug_symbol_scope_pop();
  for (c7_i26 = 0; c7_i26 < 7; c7_i26 = c7_i26 + 1) {
    (*c7_b_xN)[c7_i26] = c7_xN[c7_i26];
  }

  _SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG,5);
  _sfEvent_ = c7_previousEvent;
  sf_debug_check_for_state_inconsistency
    (_adcs_v15_integral_Power_no_charge_in_detumbMachineNumber_,
     chartInstance.chartNumber,
     chartInstance.instanceNumber);
}
static void sf_gateway_c2_Serial(SFc2_SerialInstanceStruct *chartInstance)
{
  uint8_T c2_hoistedGlobal;
  int32_T c2_i2;
  uint8_T c2_dataOut[256];
  uint8_T c2_lengthOut;
  uint32_T c2_debug_family_var_map[6];
  real_T c2_nargin = 2.0;
  real_T c2_nargout = 2.0;
  uint8_T c2_data[256];
  int32_T c2_length;
  int32_T c2_i3;
  int32_T c2_i4;
  int32_T c2_i5;
  int32_T c2_i6;
  int32_T *c2_b_length;
  uint8_T *c2_b_lengthOut;
  uint8_T (*c2_b_data)[256];
  uint8_T (*c2_b_dataOut)[256];
  c2_b_lengthOut = (uint8_T *)ssGetInputPortSignal(chartInstance->S, 1);
  c2_b_dataOut = (uint8_T (*)[256])ssGetInputPortSignal(chartInstance->S, 0);
  c2_b_length = (int32_T *)ssGetOutputPortSignal(chartInstance->S, 2);
  c2_b_data = (uint8_T (*)[256])ssGetOutputPortSignal(chartInstance->S, 1);
  _SFD_SYMBOL_SCOPE_PUSH(0U, 0U);
  _sfTime_ = sf_get_time(chartInstance->S);
  _SFD_CC_CALL(CHART_ENTER_SFUNCTION_TAG, 1U, chartInstance->c2_sfEvent);
  chartInstance->c2_sfEvent = CALL_EVENT;
  _SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG, 1U, chartInstance->c2_sfEvent);
  c2_hoistedGlobal = *c2_b_lengthOut;
  for (c2_i2 = 0; c2_i2 < 256; c2_i2++) {
    c2_dataOut[c2_i2] = (*c2_b_dataOut)[c2_i2];
  }

  c2_lengthOut = c2_hoistedGlobal;
  _SFD_SYMBOL_SCOPE_PUSH_EML(0U, 6U, 6U, c2_debug_family_names,
    c2_debug_family_var_map);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c2_nargin, 0U, c2_d_sf_marshallOut,
    c2_c_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c2_nargout, 1U, c2_d_sf_marshallOut,
    c2_c_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML(c2_dataOut, 2U, c2_b_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML(&c2_lengthOut, 3U, c2_c_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(c2_data, 4U, c2_b_sf_marshallOut,
    c2_b_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c2_length, 5U, c2_sf_marshallOut,
    c2_sf_marshallIn);
  CV_EML_FCN(0, 0);
  _SFD_EML_CALL(0U, chartInstance->c2_sfEvent, 2);
  _SFD_EML_CALL(0U, chartInstance->c2_sfEvent, 3);
  for (c2_i3 = 0; c2_i3 < 256; c2_i3++) {
    c2_data[c2_i3] = 0U;
  }

  _SFD_EML_CALL(0U, chartInstance->c2_sfEvent, 4);
  c2_length = 0;
  _SFD_EML_CALL(0U, chartInstance->c2_sfEvent, 5);
  CV_EML_COND(0, 1, 0, true);
  CV_EML_MCDC(0, 1, 0, false);
  CV_EML_IF(0, 1, 0, false);
  _SFD_EML_CALL(0U, chartInstance->c2_sfEvent, -21);
  _SFD_SYMBOL_SCOPE_POP();
  for (c2_i4 = 0; c2_i4 < 256; c2_i4++) {
    (*c2_b_data)[c2_i4] = c2_data[c2_i4];
  }

  *c2_b_length = c2_length;
  _SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG, 1U, chartInstance->c2_sfEvent);
  _SFD_SYMBOL_SCOPE_POP();
  _SFD_CHECK_FOR_STATE_INCONSISTENCY(_SerialMachineNumber_,
    chartInstance->chartNumber, chartInstance->instanceNumber);
  for (c2_i5 = 0; c2_i5 < 256; c2_i5++) {
    _SFD_DATA_RANGE_CHECK((real_T)(*c2_b_data)[c2_i5], 0U);
  }

  _SFD_DATA_RANGE_CHECK((real_T)*c2_b_length, 1U);
  for (c2_i6 = 0; c2_i6 < 256; c2_i6++) {
    _SFD_DATA_RANGE_CHECK((real_T)(*c2_b_dataOut)[c2_i6], 2U);
  }

  _SFD_DATA_RANGE_CHECK((real_T)*c2_b_lengthOut, 3U);
}
static void c6_chartstep_c6_motor_control_with_homebrew_SVPWM
  (SFc6_motor_control_with_homebrew_SVPWMInstanceStruct *chartInstance)
{
  real_T c6_hoistedGlobal;
  real_T c6_b_hoistedGlobal;
  real_T c6_c_hoistedGlobal;
  real_T c6_Xd;
  real_T c6_Xq;
  real_T c6_theta;
  uint32_T c6_debug_family_var_map[11];
  real_T c6_c;
  real_T c6_s;
  real_T c6_ipm[4];
  real_T c6_xab[2];
  real_T c6_nargin = 3.0;
  real_T c6_nargout = 2.0;
  real_T c6_Xalpha;
  real_T c6_Xbeta;
  real_T c6_x;
  real_T c6_b_x;
  real_T c6_c_x;
  real_T c6_d_x;
  int32_T c6_i0;
  real_T c6_a[4];
  real_T c6_b_Xd[2];
  int32_T c6_i1;
  real_T c6_b[2];
  int32_T c6_i2;
  int32_T c6_i3;
  int32_T c6_i4;
  real_T c6_C[2];
  int32_T c6_i5;
  int32_T c6_i6;
  int32_T c6_i7;
  int32_T c6_i8;
  int32_T c6_i9;
  int32_T c6_i10;
  real_T *c6_c_Xd;
  real_T *c6_b_Xq;
  real_T *c6_b_theta;
  real_T *c6_b_Xalpha;
  real_T *c6_b_Xbeta;
  c6_b_Xbeta = (real_T *)ssGetOutputPortSignal(chartInstance->S, 2);
  c6_b_theta = (real_T *)ssGetInputPortSignal(chartInstance->S, 2);
  c6_b_Xq = (real_T *)ssGetInputPortSignal(chartInstance->S, 1);
  c6_b_Xalpha = (real_T *)ssGetOutputPortSignal(chartInstance->S, 1);
  c6_c_Xd = (real_T *)ssGetInputPortSignal(chartInstance->S, 0);
  _SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG, 5U, chartInstance->c6_sfEvent);
  c6_hoistedGlobal = *c6_c_Xd;
  c6_b_hoistedGlobal = *c6_b_Xq;
  c6_c_hoistedGlobal = *c6_b_theta;
  c6_Xd = c6_hoistedGlobal;
  c6_Xq = c6_b_hoistedGlobal;
  c6_theta = c6_c_hoistedGlobal;
  sf_debug_symbol_scope_push_eml(0U, 11U, 11U, c6_debug_family_names,
    c6_debug_family_var_map);
  sf_debug_symbol_scope_add_eml_importable(&c6_c, 0U, c6_sf_marshallOut,
    c6_sf_marshallIn);
  sf_debug_symbol_scope_add_eml_importable(&c6_s, 1U, c6_sf_marshallOut,
    c6_sf_marshallIn);
  sf_debug_symbol_scope_add_eml_importable(c6_ipm, 2U, c6_c_sf_marshallOut,
    c6_c_sf_marshallIn);
  sf_debug_symbol_scope_add_eml_importable(c6_xab, 3U, c6_b_sf_marshallOut,
    c6_b_sf_marshallIn);
  sf_debug_symbol_scope_add_eml_importable(&c6_nargin, 4U, c6_sf_marshallOut,
    c6_sf_marshallIn);
  sf_debug_symbol_scope_add_eml_importable(&c6_nargout, 5U, c6_sf_marshallOut,
    c6_sf_marshallIn);
  sf_debug_symbol_scope_add_eml(&c6_Xd, 6U, c6_sf_marshallOut);
  sf_debug_symbol_scope_add_eml(&c6_Xq, 7U, c6_sf_marshallOut);
  sf_debug_symbol_scope_add_eml(&c6_theta, 8U, c6_sf_marshallOut);
  sf_debug_symbol_scope_add_eml_importable(&c6_Xalpha, 9U, c6_sf_marshallOut,
    c6_sf_marshallIn);
  sf_debug_symbol_scope_add_eml_importable(&c6_Xbeta, 10U, c6_sf_marshallOut,
    c6_sf_marshallIn);
  CV_EML_FCN(0, 0);
  _SFD_EML_CALL(0U, chartInstance->c6_sfEvent, 5);
  c6_x = c6_theta;
  c6_c = c6_x;
  c6_b_x = c6_c;
  c6_c = c6_b_x;
  c6_c = muDoubleScalarCos(c6_c);
  _SFD_EML_CALL(0U, chartInstance->c6_sfEvent, 6);
  c6_c_x = c6_theta;
  c6_s = c6_c_x;
  c6_d_x = c6_s;
  c6_s = c6_d_x;
  c6_s = muDoubleScalarSin(c6_s);
  _SFD_EML_CALL(0U, chartInstance->c6_sfEvent, 8);
  c6_ipm[0] = c6_c;
  c6_ipm[2] = -c6_s;
  c6_ipm[1] = c6_s;
  c6_ipm[3] = c6_c;
  _SFD_EML_CALL(0U, chartInstance->c6_sfEvent, 10);
  for (c6_i0 = 0; c6_i0 < 4; c6_i0++) {
    c6_a[c6_i0] = c6_ipm[c6_i0];
  }

  c6_b_Xd[0] = c6_Xd;
  c6_b_Xd[1] = c6_Xq;
  for (c6_i1 = 0; c6_i1 < 2; c6_i1++) {
    c6_b[c6_i1] = c6_b_Xd[c6_i1];
  }

  c6_eml_scalar_eg(chartInstance);
  c6_eml_scalar_eg(chartInstance);
  for (c6_i2 = 0; c6_i2 < 2; c6_i2++) {
    c6_xab[c6_i2] = 0.0;
  }

  for (c6_i3 = 0; c6_i3 < 2; c6_i3++) {
    c6_xab[c6_i3] = 0.0;
  }

  for (c6_i4 = 0; c6_i4 < 2; c6_i4++) {
    c6_C[c6_i4] = c6_xab[c6_i4];
  }

  for (c6_i5 = 0; c6_i5 < 2; c6_i5++) {
    c6_xab[c6_i5] = c6_C[c6_i5];
  }

  for (c6_i6 = 0; c6_i6 < 2; c6_i6++) {
    c6_C[c6_i6] = c6_xab[c6_i6];
  }

  for (c6_i7 = 0; c6_i7 < 2; c6_i7++) {
    c6_xab[c6_i7] = c6_C[c6_i7];
  }

  for (c6_i8 = 0; c6_i8 < 2; c6_i8++) {
    c6_xab[c6_i8] = 0.0;
    c6_i9 = 0;
    for (c6_i10 = 0; c6_i10 < 2; c6_i10++) {
      c6_xab[c6_i8] += c6_a[c6_i9 + c6_i8] * c6_b[c6_i10];
      c6_i9 += 2;
    }
  }

  _SFD_EML_CALL(0U, chartInstance->c6_sfEvent, 12);
  c6_Xalpha = c6_xab[0];
  _SFD_EML_CALL(0U, chartInstance->c6_sfEvent, 13);
  c6_Xbeta = c6_xab[1];
  _SFD_EML_CALL(0U, chartInstance->c6_sfEvent, -13);
  sf_debug_symbol_scope_pop();
  *c6_b_Xalpha = c6_Xalpha;
  *c6_b_Xbeta = c6_Xbeta;
  _SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG, 5U, chartInstance->c6_sfEvent);
}
static void sf_c9_ekffedepre(SFc9_ekffedepreInstanceStruct *chartInstance)
{
  real_T c9_hoistedGlobal;
  real_T c9_b_hoistedGlobal;
  real_T c9_c_hoistedGlobal;
  real_T c9_d_hoistedGlobal;
  real_T c9_e_hoistedGlobal;
  real_T c9_sfasamento;
  real_T c9_ampiezza;
  real_T c9_frequenza;
  real_T c9_noise;
  real_T c9_t;
  uint32_T c9_debug_family_var_map[8];
  real_T c9_nargin = 5.0;
  real_T c9_nargout = 1.0;
  real_T c9_wave;
  real_T c9_b;
  real_T c9_y;
  real_T c9_a;
  real_T c9_b_b;
  real_T c9_b_y;
  real_T c9_x;
  real_T c9_b_x;
  real_T c9_b_a;
  real_T c9_c_b;
  real_T c9_c_y;
  real_T *c9_b_sfasamento;
  real_T *c9_b_wave;
  real_T *c9_b_ampiezza;
  real_T *c9_b_frequenza;
  real_T *c9_b_noise;
  real_T *c9_b_t;
  c9_b_t = (real_T *)ssGetInputPortSignal(chartInstance->S, 4);
  c9_b_noise = (real_T *)ssGetInputPortSignal(chartInstance->S, 3);
  c9_b_frequenza = (real_T *)ssGetInputPortSignal(chartInstance->S, 2);
  c9_b_ampiezza = (real_T *)ssGetInputPortSignal(chartInstance->S, 1);
  c9_b_wave = (real_T *)ssGetOutputPortSignal(chartInstance->S, 1);
  c9_b_sfasamento = (real_T *)ssGetInputPortSignal(chartInstance->S, 0);
  _sfTime_ = (real_T)ssGetT(chartInstance->S);
  _SFD_CC_CALL(CHART_ENTER_SFUNCTION_TAG, 8U, chartInstance->c9_sfEvent);
  _SFD_DATA_RANGE_CHECK(*c9_b_sfasamento, 0U);
  _SFD_DATA_RANGE_CHECK(*c9_b_wave, 1U);
  _SFD_DATA_RANGE_CHECK(*c9_b_ampiezza, 2U);
  _SFD_DATA_RANGE_CHECK(*c9_b_frequenza, 3U);
  _SFD_DATA_RANGE_CHECK(*c9_b_noise, 4U);
  _SFD_DATA_RANGE_CHECK(*c9_b_t, 5U);
  chartInstance->c9_sfEvent = CALL_EVENT;
  _SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG, 8U, chartInstance->c9_sfEvent);
  c9_hoistedGlobal = *c9_b_sfasamento;
  c9_b_hoistedGlobal = *c9_b_ampiezza;
  c9_c_hoistedGlobal = *c9_b_frequenza;
  c9_d_hoistedGlobal = *c9_b_noise;
  c9_e_hoistedGlobal = *c9_b_t;
  c9_sfasamento = c9_hoistedGlobal;
  c9_ampiezza = c9_b_hoistedGlobal;
  c9_frequenza = c9_c_hoistedGlobal;
  c9_noise = c9_d_hoistedGlobal;
  c9_t = c9_e_hoistedGlobal;
  sf_debug_symbol_scope_push_eml(0U, 8U, 8U, c9_debug_family_names,
    c9_debug_family_var_map);
  sf_debug_symbol_scope_add_eml_importable(&c9_nargin, 0U, c9_sf_marshallOut,
    c9_sf_marshallIn);
  sf_debug_symbol_scope_add_eml_importable(&c9_nargout, 1U, c9_sf_marshallOut,
    c9_sf_marshallIn);
  sf_debug_symbol_scope_add_eml(&c9_sfasamento, 2U, c9_sf_marshallOut);
  sf_debug_symbol_scope_add_eml(&c9_ampiezza, 3U, c9_sf_marshallOut);
  sf_debug_symbol_scope_add_eml(&c9_frequenza, 4U, c9_sf_marshallOut);
  sf_debug_symbol_scope_add_eml(&c9_noise, 5U, c9_sf_marshallOut);
  sf_debug_symbol_scope_add_eml(&c9_t, 6U, c9_sf_marshallOut);
  sf_debug_symbol_scope_add_eml_importable(&c9_wave, 7U, c9_sf_marshallOut,
    c9_sf_marshallIn);
  CV_EML_FCN(0, 0);
  _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 4);
  c9_b = c9_frequenza;
  c9_y = 6.2831853071795862 * c9_b;
  c9_a = c9_y;
  c9_b_b = c9_t;
  c9_b_y = c9_a * c9_b_b;
  c9_x = c9_sfasamento + c9_b_y;
  c9_b_x = c9_x;
  c9_b_x = muDoubleScalarSin(c9_b_x);
  c9_b_a = c9_ampiezza;
  c9_c_b = c9_b_x;
  c9_c_y = c9_b_a * c9_c_b;
  c9_wave = c9_c_y + c9_noise;
  _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, -4);
  sf_debug_symbol_scope_pop();
  *c9_b_wave = c9_wave;
  _SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG, 8U, chartInstance->c9_sfEvent);
  sf_debug_check_for_state_inconsistency(_ekffedepreMachineNumber_,
    chartInstance->chartNumber, chartInstance->instanceNumber);
}
static void sf_gateway_c7_CSE1_DP(SFc7_CSE1_DPInstanceStruct *chartInstance)
{
  real_T c7_hoistedGlobal;
  real_T c7_b_hoistedGlobal;
  real_T c7_alpha;
  real_T c7_u_VST;
  uint32_T c7_debug_family_var_map[24];
  real_T c7_a1;
  real_T c7_b1;
  real_T c7_c1;
  real_T c7_a2;
  real_T c7_b2;
  real_T c7_c2;
  real_T c7_a3;
  real_T c7_b3;
  real_T c7_c3;
  real_T c7_a4;
  real_T c7_b4;
  real_T c7_c4;
  real_T c7_a5;
  real_T c7_b5;
  real_T c7_c5;
  real_T c7_a6;
  real_T c7_b6;
  real_T c7_c6;
  real_T c7_nargin = 2.0;
  real_T c7_nargout = 2.0;
  real_T c7_F_x;
  real_T c7_F_y;
  real_T c7_x;
  real_T c7_b_x;
  real_T c7_c_x;
  real_T c7_d_x;
  real_T c7_e_x;
  real_T c7_f_x;
  real_T c7_g_x;
  real_T c7_h_x;
  real_T c7_i_x;
  real_T c7_j_x;
  real_T c7_k_x;
  real_T c7_l_x;
  real_T c7_m_x;
  real_T c7_n_x;
  real_T c7_o_x;
  real_T c7_p_x;
  real_T c7_q_x;
  real_T c7_r_x;
  real_T c7_s_x;
  real_T c7_t_x;
  real_T c7_u_x;
  real_T c7_v_x;
  real_T c7_w_x;
  real_T c7_x_x;
  real_T *c7_b_alpha;
  real_T *c7_b_F_x;
  real_T *c7_b_u_VST;
  real_T *c7_b_F_y;
  c7_b_F_y = (real_T *)ssGetOutputPortSignal(chartInstance->S, 2);
  c7_b_u_VST = (real_T *)ssGetInputPortSignal(chartInstance->S, 1);
  c7_b_F_x = (real_T *)ssGetOutputPortSignal(chartInstance->S, 1);
  c7_b_alpha = (real_T *)ssGetInputPortSignal(chartInstance->S, 0);
  _SFD_SYMBOL_SCOPE_PUSH(0U, 0U);
  _sfTime_ = sf_get_time(chartInstance->S);
  _SFD_CC_CALL(CHART_ENTER_SFUNCTION_TAG, 6U, chartInstance->c7_sfEvent);
  _SFD_DATA_RANGE_CHECK(*c7_b_alpha, 0U);
  chartInstance->c7_sfEvent = CALL_EVENT;
  _SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG, 6U, chartInstance->c7_sfEvent);
  c7_hoistedGlobal = *c7_b_alpha;
  c7_b_hoistedGlobal = *c7_b_u_VST;
  c7_alpha = c7_hoistedGlobal;
  c7_u_VST = c7_b_hoistedGlobal;
  _SFD_SYMBOL_SCOPE_PUSH_EML(0U, 24U, 24U, c7_debug_family_names,
    c7_debug_family_var_map);
  _SFD_SYMBOL_SCOPE_ADD_EML(&c7_a1, 0U, c7_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML(&c7_b1, 1U, c7_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c7_c1, 2U, c7_sf_marshallOut,
    c7_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML(&c7_a2, 3U, c7_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML(&c7_b2, 4U, c7_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c7_c2, 5U, c7_sf_marshallOut,
    c7_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML(&c7_a3, 6U, c7_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML(&c7_b3, 7U, c7_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c7_c3, 8U, c7_sf_marshallOut,
    c7_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML(&c7_a4, 9U, c7_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML(&c7_b4, 10U, c7_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c7_c4, 11U, c7_sf_marshallOut,
    c7_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML(&c7_a5, 12U, c7_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML(&c7_b5, 13U, c7_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c7_c5, 14U, c7_sf_marshallOut,
    c7_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML(&c7_a6, 15U, c7_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML(&c7_b6, 16U, c7_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c7_c6, 17U, c7_sf_marshallOut,
    c7_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c7_nargin, 18U, c7_sf_marshallOut,
    c7_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c7_nargout, 19U, c7_sf_marshallOut,
    c7_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML(&c7_alpha, 20U, c7_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML(&c7_u_VST, 21U, c7_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c7_F_x, 22U, c7_sf_marshallOut,
    c7_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c7_F_y, 23U, c7_sf_marshallOut,
    c7_sf_marshallIn);
  CV_EML_FCN(0, 0);
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 4);
  c7_a1 = 1.107;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 5);
  c7_b1 = 1.001;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 6);
  c7_c1 = 1.564;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 7);
  c7_a2 = 0.3471;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 8);
  c7_b2 = 0.1397;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 9);
  c7_c2 = -1.599;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 10);
  c7_a3 = 0.1558;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 11);
  c7_b3 = 1.993;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 12);
  c7_c3 = 1.886;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 13);
  c7_a4 = 0.1599;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 14);
  c7_b4 = 0.218;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 15);
  c7_c4 = 1.513;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 16);
  c7_a5 = 0.08237;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 17);
  c7_b5 = 2.986;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 18);
  c7_c5 = -1.601;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 19);
  c7_a6 = 0.04641;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 20);
  c7_b6 = 3.964;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 21);
  c7_c6 = 1.738;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 22);
  c7_x = 1.001 * c7_alpha + c7_c1;
  c7_b_x = c7_x;
  c7_b_x = muDoubleScalarSin(c7_b_x);
  c7_c_x = 0.1397 * c7_alpha + c7_c2;
  c7_d_x = c7_c_x;
  c7_d_x = muDoubleScalarSin(c7_d_x);
  c7_e_x = 1.993 * c7_alpha + c7_c3;
  c7_f_x = c7_e_x;
  c7_f_x = muDoubleScalarSin(c7_f_x);
  c7_g_x = 0.218 * c7_alpha + c7_c4;
  c7_h_x = c7_g_x;
  c7_h_x = muDoubleScalarSin(c7_h_x);
  c7_i_x = 2.986 * c7_alpha + c7_c5;
  c7_j_x = c7_i_x;
  c7_j_x = muDoubleScalarSin(c7_j_x);
  c7_k_x = 3.964 * c7_alpha + c7_c6;
  c7_l_x = c7_k_x;
  c7_l_x = muDoubleScalarSin(c7_l_x);
  c7_F_x = c7_u_VST * (((((1.107 * c7_b_x + 0.3471 * c7_d_x) + 0.1558 * c7_f_x)
    + 0.1599 * c7_h_x) + 0.08237 * c7_j_x) + 0.04641 * c7_l_x);
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 29);
  c7_a1 = 0.7936;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 30);
  c7_b1 = 1.001;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 31);
  c7_c1 = 0.01605;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 32);
  c7_a2 = 0.2112;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 33);
  c7_b2 = 1.997;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 34);
  c7_c2 = 0.03229;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 35);
  c7_a3 = 0.07608;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 36);
  c7_b3 = 2.991;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 37);
  c7_c3 = 2.986;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 38);
  c7_a4 = 0.04817;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 39);
  c7_b4 = 3.999;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 40);
  c7_c4 = -0.8668;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 41);
  c7_a5 = 0.01757;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 42);
  c7_b5 = 4.904;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 43);
  c7_c5 = -2.622;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 44);
  c7_a6 = -0.02089;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 45);
  c7_b6 = 5.068;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 46);
  c7_c6 = 0.2548;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 47);
  c7_m_x = 1.001 * c7_alpha + c7_c1;
  c7_n_x = c7_m_x;
  c7_n_x = muDoubleScalarSin(c7_n_x);
  c7_o_x = 1.997 * c7_alpha + c7_c2;
  c7_p_x = c7_o_x;
  c7_p_x = muDoubleScalarSin(c7_p_x);
  c7_q_x = 2.991 * c7_alpha + c7_c3;
  c7_r_x = c7_q_x;
  c7_r_x = muDoubleScalarSin(c7_r_x);
  c7_s_x = 3.999 * c7_alpha + c7_c4;
  c7_t_x = c7_s_x;
  c7_t_x = muDoubleScalarSin(c7_t_x);
  c7_u_x = 4.904 * c7_alpha + c7_c5;
  c7_v_x = c7_u_x;
  c7_v_x = muDoubleScalarSin(c7_v_x);
  c7_w_x = 5.068 * c7_alpha + c7_c6;
  c7_x_x = c7_w_x;
  c7_x_x = muDoubleScalarSin(c7_x_x);
  c7_F_y = c7_u_VST * (((((0.7936 * c7_n_x + 0.2112 * c7_p_x) + 0.07608 * c7_r_x)
    + 0.04817 * c7_t_x) + 0.01757 * c7_v_x) + -0.02089 * c7_x_x);
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, -47);
  _SFD_SYMBOL_SCOPE_POP();
  *c7_b_F_x = c7_F_x;
  *c7_b_F_y = c7_F_y;
  _SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG, 6U, chartInstance->c7_sfEvent);
  _SFD_SYMBOL_SCOPE_POP();
  _SFD_CHECK_FOR_STATE_INCONSISTENCY(_CSE1_DPMachineNumber_,
    chartInstance->chartNumber, chartInstance->instanceNumber);
  _SFD_DATA_RANGE_CHECK(*c7_b_F_x, 1U);
  _SFD_DATA_RANGE_CHECK(*c7_b_u_VST, 2U);
  _SFD_DATA_RANGE_CHECK(*c7_b_F_y, 3U);
}
Beispiel #21
0
static void c39_chartstep_c39_old_Demo_RPS(SFc39_old_Demo_RPSInstanceStruct
  *chartInstance)
{
  real_T c39_hoistedGlobal;
  real_T c39_b_hoistedGlobal;
  real_T c39_V;
  real_T c39_A;
  uint32_T c39_debug_family_var_map[13];
  boolean_T c39_aVarTruthTableCondition_1;
  boolean_T c39_aVarTruthTableCondition_2;
  boolean_T c39_aVarTruthTableCondition_3;
  boolean_T c39_aVarTruthTableCondition_4;
  boolean_T c39_aVarTruthTableCondition_5;
  boolean_T c39_aVarTruthTableCondition_6;
  boolean_T c39_aVarTruthTableCondition_7;
  boolean_T c39_aVarTruthTableCondition_8;
  real_T c39_nargin = 2.0;
  real_T c39_nargout = 1.0;
  real_T c39_e;
  boolean_T c39_b0;
  boolean_T c39_b1;
  boolean_T c39_b2;
  boolean_T c39_b3;
  boolean_T c39_b4;
  boolean_T c39_b5;
  boolean_T c39_b6;
  boolean_T c39_b7;
  real_T *c39_b_e;
  real_T *c39_b_V;
  real_T *c39_b_A;
  boolean_T guard1 = false;
  boolean_T guard2 = false;
  boolean_T guard3 = false;
  boolean_T guard4 = false;
  boolean_T guard5 = false;
  boolean_T guard6 = false;
  boolean_T guard7 = false;
  boolean_T guard8 = false;
  boolean_T guard9 = false;
  boolean_T guard10 = false;
  boolean_T guard11 = false;
  boolean_T guard12 = false;
  c39_b_A = (real_T *)ssGetInputPortSignal(chartInstance->S, 1);
  c39_b_e = (real_T *)ssGetOutputPortSignal(chartInstance->S, 1);
  c39_b_V = (real_T *)ssGetInputPortSignal(chartInstance->S, 0);
  _SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG, 18U, chartInstance->c39_sfEvent);
  c39_hoistedGlobal = *c39_b_V;
  c39_b_hoistedGlobal = *c39_b_A;
  c39_V = c39_hoistedGlobal;
  c39_A = c39_b_hoistedGlobal;
  _SFD_SYMBOL_SCOPE_PUSH_EML(0U, 13U, 13U, c39_debug_family_names,
    c39_debug_family_var_map);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c39_aVarTruthTableCondition_1, 0U,
    c39_b_sf_marshallOut, c39_b_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c39_aVarTruthTableCondition_2, 1U,
    c39_b_sf_marshallOut, c39_b_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c39_aVarTruthTableCondition_3, 2U,
    c39_b_sf_marshallOut, c39_b_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c39_aVarTruthTableCondition_4, 3U,
    c39_b_sf_marshallOut, c39_b_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c39_aVarTruthTableCondition_5, 4U,
    c39_b_sf_marshallOut, c39_b_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c39_aVarTruthTableCondition_6, 5U,
    c39_b_sf_marshallOut, c39_b_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c39_aVarTruthTableCondition_7, 6U,
    c39_b_sf_marshallOut, c39_b_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c39_aVarTruthTableCondition_8, 7U,
    c39_b_sf_marshallOut, c39_b_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c39_nargin, 8U, c39_sf_marshallOut,
    c39_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c39_nargout, 9U, c39_sf_marshallOut,
    c39_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML(&c39_V, 10U, c39_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML(&c39_A, 11U, c39_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c39_e, 12U, c39_sf_marshallOut,
    c39_sf_marshallIn);
  CV_EML_FCN(0, 0);
  _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 3);
  c39_aVarTruthTableCondition_1 = false;
  _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 4);
  c39_aVarTruthTableCondition_2 = false;
  _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 5);
  c39_aVarTruthTableCondition_3 = false;
  _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 6);
  c39_aVarTruthTableCondition_4 = false;
  _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 7);
  c39_aVarTruthTableCondition_5 = false;
  _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 8);
  c39_aVarTruthTableCondition_6 = false;
  _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 9);
  c39_aVarTruthTableCondition_7 = false;
  _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 10);
  c39_aVarTruthTableCondition_8 = false;
  _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 15);
  guard11 = false;
  guard12 = false;
  if (c39_V > 15.0) {
    if (c39_A < 15.0) {
      if (c39_A > 0.0) {
        c39_b0 = true;
      } else {
        guard11 = true;
      }
    } else {
      guard12 = true;
    }
  } else {
    guard12 = true;
  }

  if (guard12 == true) {
    guard11 = true;
  }

  if (guard11 == true) {
    c39_b0 = false;
  }

  c39_aVarTruthTableCondition_1 = c39_b0;
  _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 19);
  guard10 = false;
  if (c39_V > 0.0) {
    if (c39_A > 15.0) {
      c39_b1 = true;
    } else {
      guard10 = true;
    }
  } else {
    guard10 = true;
  }

  if (guard10 == true) {
    c39_b1 = false;
  }

  c39_aVarTruthTableCondition_2 = c39_b1;
  _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 23);
  guard9 = false;
  if (c39_V < 0.0) {
    if (c39_A > 15.0) {
      c39_b2 = true;
    } else {
      guard9 = true;
    }
  } else {
    guard9 = true;
  }

  if (guard9 == true) {
    c39_b2 = false;
  }

  c39_aVarTruthTableCondition_3 = c39_b2;
  _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 27);
  guard7 = false;
  guard8 = false;
  if (c39_V < -15.0) {
    if (c39_A < 15.0) {
      if (c39_A > 0.0) {
        c39_b3 = true;
      } else {
        guard7 = true;
      }
    } else {
      guard8 = true;
    }
  } else {
    guard8 = true;
  }

  if (guard8 == true) {
    guard7 = true;
  }

  if (guard7 == true) {
    c39_b3 = false;
  }

  c39_aVarTruthTableCondition_4 = c39_b3;
  _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 31);
  guard5 = false;
  guard6 = false;
  if (c39_V > 15.0) {
    if (c39_A < 0.0) {
      if (c39_A > -15.0) {
        c39_b4 = true;
      } else {
        guard5 = true;
      }
    } else {
      guard6 = true;
    }
  } else {
    guard6 = true;
  }

  if (guard6 == true) {
    guard5 = true;
  }

  if (guard5 == true) {
    c39_b4 = false;
  }

  c39_aVarTruthTableCondition_5 = c39_b4;
  _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 35);
  guard4 = false;
  if (c39_V > 0.0) {
    if (c39_A < -15.0) {
      c39_b5 = true;
    } else {
      guard4 = true;
    }
  } else {
    guard4 = true;
  }

  if (guard4 == true) {
    c39_b5 = false;
  }

  c39_aVarTruthTableCondition_6 = c39_b5;
  _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 39);
  guard3 = false;
  if (c39_V < 0.0) {
    if (c39_A < -15.0) {
      c39_b6 = true;
    } else {
      guard3 = true;
    }
  } else {
    guard3 = true;
  }

  if (guard3 == true) {
    c39_b6 = false;
  }

  c39_aVarTruthTableCondition_7 = c39_b6;
  _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 43);
  guard1 = false;
  guard2 = false;
  if (c39_V < -15.0) {
    if (c39_A < 0.0) {
      if (c39_A > -15.0) {
        c39_b7 = true;
      } else {
        guard1 = true;
      }
    } else {
      guard2 = true;
    }
  } else {
    guard2 = true;
  }

  if (guard2 == true) {
    guard1 = true;
  }

  if (guard1 == true) {
    c39_b7 = false;
  }

  c39_aVarTruthTableCondition_8 = c39_b7;
  _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 45);
  if (CV_EML_IF(0, 1, 0, c39_aVarTruthTableCondition_1)) {
    _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 46);
    CV_EML_FCN(0, 1);
    _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 69);
    c39_e = 7.0;
    _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, -69);
  } else {
    _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 47);
    if (CV_EML_IF(0, 1, 1, c39_aVarTruthTableCondition_2)) {
      _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 48);
      CV_EML_FCN(0, 2);
      _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 75);
      c39_e = 8.0;
      _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, -75);
    } else {
      _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 49);
      if (CV_EML_IF(0, 1, 2, c39_aVarTruthTableCondition_3)) {
        _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 50);
        CV_EML_FCN(0, 3);
        _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 81);
        c39_e = 4.0;
        _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, -81);
      } else {
        _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 51);
        if (CV_EML_IF(0, 1, 3, c39_aVarTruthTableCondition_4)) {
          _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 52);
          CV_EML_FCN(0, 4);
          _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 87);
          c39_e = 3.0;
          _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, -87);
        } else {
          _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 53);
          if (CV_EML_IF(0, 1, 4, c39_aVarTruthTableCondition_5)) {
            _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 54);
            CV_EML_FCN(0, 5);
            _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 93);
            c39_e = 6.0;
            _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, -93);
          } else {
            _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 55);
            if (CV_EML_IF(0, 1, 5, c39_aVarTruthTableCondition_6)) {
              _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 56);
              CV_EML_FCN(0, 6);
              _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 99);
              c39_e = 5.0;
              _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, -99);
            } else {
              _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 57);
              if (CV_EML_IF(0, 1, 6, c39_aVarTruthTableCondition_7)) {
                _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 58);
                CV_EML_FCN(0, 7);
                _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 105);
                c39_e = 1.0;
                _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, -105);
              } else {
                _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 59);
                if (CV_EML_IF(0, 1, 7, c39_aVarTruthTableCondition_8)) {
                  _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 60);
                  CV_EML_FCN(0, 8);
                  _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 111);
                  c39_e = 2.0;
                  _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, -111);
                } else {
                  _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 62);
                  CV_EML_FCN(0, 5);
                  _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, 93);
                  c39_e = 6.0;
                  _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, -93);
                }
              }
            }
          }
        }
      }
    }
  }

  _SFD_EML_CALL(0U, chartInstance->c39_sfEvent, -62);
  _SFD_SYMBOL_SCOPE_POP();
  *c39_b_e = c39_e;
  _SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG, 18U, chartInstance->c39_sfEvent);
}
Beispiel #22
0
static void sf_c4_MPC_framework(void)
{
    uint8_T c4_previousEvent;
    real32_T c4_b_a0;
    real32_T c4_b_a1;
    real32_T c4_b_a2;
    real32_T c4_b_a3;
    real32_T c4_b_a4;
    real32_T c4_b_a5;
    real_T c4_b_t_sim;
    real_T c4_b_t_end;
    real32_T c4_Q[3];
    real_T c4_T[6][3];
    real32_T c4_b_qapp;
    real32_T c4_b_qap;
    real32_T c4_b_qa;
    real_T c4_a;
    real_T c4_b_a;
    real_T c4_b;
    real_T c4_k;
    real_T c4_b_k;
    real_T c4_x;
    real_T c4_xk;
    real_T c4_ak;
    real_T c4_b_x;
    real_T c4_b_xk;
    real_T c4_bk;
    real_T c4_c_x;
    real_T c4_y;
    real_T c4_b_y;
    real_T c4_c;
    real_T c4_A;
    real_T c4_B;
    real_T c4_d_x;
    real_T c4_c_y;
    real_T c4_z;
    real_T c4_d_y;
    real_T c4_b_A;
    real_T c4_b_B;
    real_T c4_e_x;
    real_T c4_e_y;
    real_T c4_b_z;
    real_T c4_f_y;
    real_T c4_c_A;
    real_T c4_c_B;
    real_T c4_f_x;
    real_T c4_g_y;
    real_T c4_c_z;
    real_T c4_h_y;
    real_T c4_d_A;
    real_T c4_d_B;
    real_T c4_g_x;
    real_T c4_i_y;
    real_T c4_d_z;
    real_T c4_j_y;
    real_T c4_e_A;
    real_T c4_e_B;
    real_T c4_h_x;
    real_T c4_k_y;
    real_T c4_e_z;
    real_T c4_l_y;
    real_T c4_f_A;
    real_T c4_f_B;
    real_T c4_i_x;
    real_T c4_m_y;
    real_T c4_f_z;
    real_T c4_n_y;
    real_T c4_g_A;
    real_T c4_g_B;
    real_T c4_j_x;
    real_T c4_o_y;
    real_T c4_g_z;
    real_T c4_p_y;
    real_T c4_q_y[6][1];
    real_T c4_r_y[6][1];
    real_T c4_em_dv0[6][1];
    int32_T c4_em_i0;
    int32_T c4_em_i1;
    int32_T c4_em_i2;
    int32_T c4_em_i3;
    int32_T c4_em_i4;
    real32_T c4_b_T[6][3];
    real32_T c4_c_a0[6];
    int32_T c4_em_i5;
    int32_T c4_em_i6;
    _sfTime_ = (real_T)ssGetT(chartInstance.S);
    _SFD_DATA_RANGE_CHECK((real_T)*c4_a0(), 3U);
    _SFD_DATA_RANGE_CHECK((real_T)*c4_a1(), 9U);
    _SFD_DATA_RANGE_CHECK((real_T)*c4_a2(), 1U);
    _SFD_DATA_RANGE_CHECK((real_T)*c4_a3(), 8U);
    _SFD_DATA_RANGE_CHECK((real_T)*c4_a4(), 0U);
    _SFD_DATA_RANGE_CHECK((real_T)*c4_a5(), 6U);
    _SFD_DATA_RANGE_CHECK(*c4_t_sim(), 4U);
    _SFD_DATA_RANGE_CHECK((real_T)*c4_qa(), 2U);
    _SFD_DATA_RANGE_CHECK((real_T)*c4_qap(), 10U);
    _SFD_DATA_RANGE_CHECK((real_T)*c4_qapp(), 7U);
    _SFD_DATA_RANGE_CHECK(*c4_t_end(), 5U);
    c4_previousEvent = _sfEvent_;
    _sfEvent_ = CALL_EVENT;
    _SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG,3);
    c4_b_a0 = *c4_a0();
    c4_b_a1 = *c4_a1();
    c4_b_a2 = *c4_a2();
    c4_b_a3 = *c4_a3();
    c4_b_a4 = *c4_a4();
    c4_b_a5 = *c4_a5();
    c4_b_t_sim = *c4_t_sim();
    c4_b_t_end = *c4_t_end();
    sf_debug_push_symbol_scope(13U, 0U);
    sf_debug_symbol_scope_add_symbol("Q", 1, 1U, 3U, 0U, 0U, 1.0, 0, 0.0, 0U, 0,
                                     0U, 1, &c4_Q, 0);
    sf_debug_symbol_scope_add_symbol("T", 0, 2U, 3U, 6U, 0U, 1.0, 0, 0.0, 0U, 0,
                                     0U, 1, &c4_T, 0);
    sf_debug_symbol_scope_add_symbol("qapp", 1, 0U, 0U, 0U, 0U, 1.0, 0, 0.0, 0U,
                                     0, 0U, 0, &c4_b_qapp, 0);
    sf_debug_symbol_scope_add_symbol("qap", 1, 0U, 0U, 0U, 0U, 1.0, 0, 0.0, 0U, 0,
                                     0U, 0, &c4_b_qap, 0);
    sf_debug_symbol_scope_add_symbol("qa", 1, 0U, 0U, 0U, 0U, 1.0, 0, 0.0, 0U, 0,
                                     0U, 0, &c4_b_qa, 0);
    sf_debug_symbol_scope_add_symbol("t_end", 0, 0U, 0U, 0U, 0U, 1.0, 0, 0.0, 0U,
                                     0, 0U, 0, &c4_b_t_end, 0);
    sf_debug_symbol_scope_add_symbol("t_sim", 0, 0U, 0U, 0U, 0U, 1.0, 0, 0.0, 0U,
                                     0, 0U, 0, &c4_b_t_sim, 0);
    sf_debug_symbol_scope_add_symbol("a5", 1, 0U, 0U, 0U, 0U, 1.0, 0, 0.0, 0U, 0,
                                     0U, 0, &c4_b_a5, 0);
    sf_debug_symbol_scope_add_symbol("a4", 1, 0U, 0U, 0U, 0U, 1.0, 0, 0.0, 0U, 0,
                                     0U, 0, &c4_b_a4, 0);
    sf_debug_symbol_scope_add_symbol("a3", 1, 0U, 0U, 0U, 0U, 1.0, 0, 0.0, 0U, 0,
                                     0U, 0, &c4_b_a3, 0);
    sf_debug_symbol_scope_add_symbol("a2", 1, 0U, 0U, 0U, 0U, 1.0, 0, 0.0, 0U, 0,
                                     0U, 0, &c4_b_a2, 0);
    sf_debug_symbol_scope_add_symbol("a1", 1, 0U, 0U, 0U, 0U, 1.0, 0, 0.0, 0U, 0,
                                     0U, 0, &c4_b_a1, 0);
    sf_debug_symbol_scope_add_symbol("a0", 1, 0U, 0U, 0U, 0U, 1.0, 0, 0.0, 0U, 0,
                                     0U, 0, &c4_b_a0, 0);
    CV_EML_FCN(0, 0);
    _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,4);
    if(CV_EML_IF(0, 0, c4_b_t_sim >= c4_b_t_end)) {
        /*  This block supports an embeddable subset of the MATLAB language. */
        /*  See the help menu for details.  */
        _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,5);
        c4_b_t_sim = c4_b_t_end;
    }
    _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,7);
    c4_a = c4_b_t_sim;
    c4_b_a = c4_a;
    c4_b = 5.0;
    c4_k = 1.0;
    c4_b_k = c4_k;
    c4_x = c4_b_a;
    c4_xk = c4_x;
    c4_ak = c4_xk;
    c4_b_x = c4_b;
    c4_b_xk = c4_b_x;
    c4_bk = c4_b_xk;
    if(c4_ak < 0.0) {
        c4_c_x = c4_bk;
        c4_y = floor(c4_c_x);
        if(c4_y != c4_bk) {
            sf_mex_call("error", 0U, 1U, 15,
                        "Domain error. To compute complex results, make at least one input complex, e.g. \'power(complex(a),b)\'.");
        }
    }
    _SFD_EML_ARRAY_BOUNDS_CHECK("y", (int32_T)_SFD_INTEGER_CHECK("k", c4_b_k), 1,
                                1, 1);
    c4_b_y = pow(c4_ak, c4_bk);
    c4_c = c4_b_y;
    c4_A = c4_c;
    c4_B = 20.0;
    c4_d_x = c4_A;
    c4_c_y = c4_B;
    c4_z = c4_d_x / c4_c_y;
    c4_d_y = c4_z;
    c4_b_A = c4_mpower(c4_b_t_sim);
    c4_b_B = 12.0;
    c4_e_x = c4_b_A;
    c4_e_y = c4_b_B;
    c4_b_z = c4_e_x / c4_e_y;
    c4_f_y = c4_b_z;
    c4_c_A = c4_b_mpower(c4_b_t_sim);
    c4_c_B = 6.0;
    c4_f_x = c4_c_A;
    c4_g_y = c4_c_B;
    c4_c_z = c4_f_x / c4_g_y;
    c4_h_y = c4_c_z;
    c4_d_A = c4_c_mpower(c4_b_t_sim);
    c4_d_B = 2.0;
    c4_g_x = c4_d_A;
    c4_i_y = c4_d_B;
    c4_d_z = c4_g_x / c4_i_y;
    c4_j_y = c4_d_z;
    c4_e_A = c4_mpower(c4_b_t_sim);
    c4_e_B = 4.0;
    c4_h_x = c4_e_A;
    c4_k_y = c4_e_B;
    c4_e_z = c4_h_x / c4_k_y;
    c4_l_y = c4_e_z;
    c4_f_A = c4_b_mpower(c4_b_t_sim);
    c4_f_B = 3.0;
    c4_i_x = c4_f_A;
    c4_m_y = c4_f_B;
    c4_f_z = c4_i_x / c4_m_y;
    c4_n_y = c4_f_z;
    c4_g_A = c4_c_mpower(c4_b_t_sim);
    c4_g_B = 2.0;
    c4_j_x = c4_g_A;
    c4_o_y = c4_g_B;
    c4_g_z = c4_j_x / c4_o_y;
    c4_p_y = c4_g_z;
    c4_q_y[0][0] = c4_d_y;
    c4_q_y[1][0] = c4_f_y;
    c4_q_y[2][0] = c4_h_y;
    c4_q_y[3][0] = c4_j_y;
    c4_q_y[4][0] = c4_b_t_sim;
    c4_q_y[5][0] = 1.0;
    c4_r_y[0][0] = c4_l_y;
    c4_r_y[1][0] = c4_n_y;
    c4_r_y[2][0] = c4_p_y;
    c4_r_y[3][0] = c4_b_t_sim;
    c4_r_y[4][0] = 1.0;
    c4_r_y[5][0] = 0.0;
    c4_em_dv0[0][0] = c4_b_mpower(c4_b_t_sim);
    c4_em_dv0[1][0] = c4_c_mpower(c4_b_t_sim);
    c4_em_dv0[2][0] = c4_b_t_sim;
    c4_em_dv0[3][0] = 1.0;
    c4_em_dv0[4][0] = 0.0;
    c4_em_dv0[5][0] = 0.0;
    for(c4_em_i0 = 0; c4_em_i0 < 6; c4_em_i0 = c4_em_i0 + 1) {
        c4_T[c4_em_i0][0] = c4_q_y[c4_em_i0][0];
    }
    for(c4_em_i1 = 0; c4_em_i1 < 6; c4_em_i1 = c4_em_i1 + 1) {
        c4_T[c4_em_i1][1] = c4_r_y[c4_em_i1][0];
    }
    for(c4_em_i2 = 0; c4_em_i2 < 6; c4_em_i2 = c4_em_i2 + 1) {
        c4_T[c4_em_i2][2] = c4_em_dv0[c4_em_i2][0];
    }
    _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,10);
    for(c4_em_i3 = 0; c4_em_i3 < 6; c4_em_i3 = c4_em_i3 + 1) {
        for(c4_em_i4 = 0; c4_em_i4 < 3; c4_em_i4 = c4_em_i4 + 1) {
            c4_b_T[c4_em_i3][c4_em_i4] = (real32_T)c4_T[c4_em_i3][c4_em_i4];
        }
    }
    c4_c_a0[0] = c4_b_a0;
    c4_c_a0[1] = c4_b_a1;
    c4_c_a0[2] = c4_b_a2;
    c4_c_a0[3] = c4_b_a3;
    c4_c_a0[4] = c4_b_a4;
    c4_c_a0[5] = c4_b_a5;
    for(c4_em_i5 = 0; c4_em_i5 < 3; c4_em_i5 = c4_em_i5 + 1) {
        c4_Q[c4_em_i5] = 0.0F;
        for(c4_em_i6 = 0; c4_em_i6 < 6; c4_em_i6 = c4_em_i6 + 1) {
            c4_Q[c4_em_i5] = c4_Q[c4_em_i5] + c4_b_T[c4_em_i6][c4_em_i5] *
                             c4_c_a0[c4_em_i6];
        }
    }
    _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,12);
    c4_b_qa = c4_Q[0];
    _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,13);
    c4_b_qap = c4_Q[1];
    _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,14);
    c4_b_qapp = c4_Q[2];
    _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,-14);
    sf_debug_pop_symbol_scope();
    *c4_qa() = c4_b_qa;
    *c4_qap() = c4_b_qap;
    *c4_qapp() = c4_b_qapp;
    _SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG,3);
    _sfEvent_ = c4_previousEvent;
    sf_debug_check_for_state_inconsistency(_MPC_frameworkMachineNumber_,
                                           chartInstance.chartNumber, chartInstance.instanceNumber);
}
static void sf_c24_ManipulatorME4901(SFc24_ManipulatorME4901InstanceStruct
  *chartInstance)
{
  int32_T c24_i0;
  real_T c24_hoistedGlobal;
  int32_T c24_i1;
  real_T c24_but[4];
  real_T c24_bo;
  uint32_T c24_debug_family_var_map[6];
  real_T c24_b;
  real_T c24_nargin = 2.0;
  real_T c24_nargout = 1.0;
  real_T c24_y;
  real_T *c24_b_y;
  real_T *c24_b_bo;
  real_T (*c24_b_but)[4];
  c24_b_bo = (real_T *)ssGetInputPortSignal(chartInstance->S, 1);
  c24_b_y = (real_T *)ssGetOutputPortSignal(chartInstance->S, 1);
  c24_b_but = (real_T (*)[4])ssGetInputPortSignal(chartInstance->S, 0);
  _sfTime_ = (real_T)ssGetT(chartInstance->S);
  _SFD_CC_CALL(CHART_ENTER_SFUNCTION_TAG, 22U, chartInstance->c24_sfEvent);
  for (c24_i0 = 0; c24_i0 < 4; c24_i0++) {
    _SFD_DATA_RANGE_CHECK((*c24_b_but)[c24_i0], 0U);
  }

  _SFD_DATA_RANGE_CHECK(*c24_b_y, 1U);
  _SFD_DATA_RANGE_CHECK(*c24_b_bo, 2U);
  chartInstance->c24_sfEvent = CALL_EVENT;
  _SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG, 22U, chartInstance->c24_sfEvent);
  c24_hoistedGlobal = *c24_b_bo;
  for (c24_i1 = 0; c24_i1 < 4; c24_i1++) {
    c24_but[c24_i1] = (*c24_b_but)[c24_i1];
  }

  c24_bo = c24_hoistedGlobal;
  _SFD_SYMBOL_SCOPE_PUSH_EML(0U, 6U, 6U, c24_debug_family_names,
    c24_debug_family_var_map);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c24_b, 0U, c24_sf_marshallOut,
    c24_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c24_nargin, 1U, c24_sf_marshallOut,
    c24_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c24_nargout, 2U, c24_sf_marshallOut,
    c24_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML(c24_but, 3U, c24_b_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML(&c24_bo, 4U, c24_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c24_y, 5U, c24_sf_marshallOut,
    c24_sf_marshallIn);
  CV_EML_FCN(0, 0);
  _SFD_EML_CALL(0U, chartInstance->c24_sfEvent, 5);
  c24_b = c24_but[3];
  _SFD_EML_CALL(0U, chartInstance->c24_sfEvent, 7);
  if (CV_EML_IF(0, 1, 0, c24_b == 1.0)) {
    _SFD_EML_CALL(0U, chartInstance->c24_sfEvent, 8);
    if (CV_EML_IF(0, 1, 1, c24_bo == 0.0)) {
      _SFD_EML_CALL(0U, chartInstance->c24_sfEvent, 9);
      c24_y = 1.0;
    } else {
      _SFD_EML_CALL(0U, chartInstance->c24_sfEvent, 11);
      c24_y = 0.0;
    }
  } else {
    _SFD_EML_CALL(0U, chartInstance->c24_sfEvent, 14);
    if (CV_EML_IF(0, 1, 2, c24_bo == 1.0)) {
      _SFD_EML_CALL(0U, chartInstance->c24_sfEvent, 15);
      c24_y = 1.0;
    } else {
      _SFD_EML_CALL(0U, chartInstance->c24_sfEvent, 17);
      c24_y = 0.0;
    }
  }

  _SFD_EML_CALL(0U, chartInstance->c24_sfEvent, -17);
  _SFD_SYMBOL_SCOPE_POP();
  *c24_b_y = c24_y;
  _SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG, 22U, chartInstance->c24_sfEvent);
  _SFD_CHECK_FOR_STATE_INCONSISTENCY(_ManipulatorME4901MachineNumber_,
    chartInstance->chartNumber, chartInstance->instanceNumber);
}
static void sf_gateway_c26_CSE1_DP(SFc26_CSE1_DPInstanceStruct *chartInstance)
{
  int32_T c26_i2;
  real_T c26_K_d1[3];
  uint32_T c26_debug_family_var_map[4];
  real_T c26_nargin = 1.0;
  real_T c26_nargout = 1.0;
  real_T c26_K_d[9];
  int32_T c26_i3;
  real_T c26_v[3];
  int32_T c26_i4;
  int32_T c26_j;
  int32_T c26_b_j;
  int32_T c26_i5;
  int32_T c26_i6;
  int32_T c26_i7;
  real_T (*c26_b_K_d)[9];
  real_T (*c26_b_K_d1)[3];
  c26_b_K_d1 = (real_T (*)[3])ssGetInputPortSignal(chartInstance->S, 0);
  c26_b_K_d = (real_T (*)[9])ssGetOutputPortSignal(chartInstance->S, 1);
  _SFD_SYMBOL_SCOPE_PUSH(0U, 0U);
  _sfTime_ = sf_get_time(chartInstance->S);
  _SFD_CC_CALL(CHART_ENTER_SFUNCTION_TAG, 22U, chartInstance->c26_sfEvent);
  chartInstance->c26_sfEvent = CALL_EVENT;
  _SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG, 22U, chartInstance->c26_sfEvent);
  for (c26_i2 = 0; c26_i2 < 3; c26_i2++) {
    c26_K_d1[c26_i2] = (*c26_b_K_d1)[c26_i2];
  }

  _SFD_SYMBOL_SCOPE_PUSH_EML(0U, 4U, 4U, c26_debug_family_names,
    c26_debug_family_var_map);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c26_nargin, 0U, c26_c_sf_marshallOut,
    c26_b_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c26_nargout, 1U, c26_c_sf_marshallOut,
    c26_b_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML(c26_K_d1, 2U, c26_b_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(c26_K_d, 3U, c26_sf_marshallOut,
    c26_sf_marshallIn);
  CV_EML_FCN(0, 0);
  _SFD_EML_CALL(0U, chartInstance->c26_sfEvent, 4);
  for (c26_i3 = 0; c26_i3 < 3; c26_i3++) {
    c26_v[c26_i3] = c26_K_d1[c26_i3];
  }

  for (c26_i4 = 0; c26_i4 < 9; c26_i4++) {
    c26_K_d[c26_i4] = 0.0;
  }

  for (c26_j = 1; c26_j < 4; c26_j++) {
    c26_b_j = c26_j;
    c26_K_d[(_SFD_EML_ARRAY_BOUNDS_CHECK("", (int32_T)_SFD_INTEGER_CHECK("",
               (real_T)c26_b_j), 1, 3, 1, 0) + 3 * (_SFD_EML_ARRAY_BOUNDS_CHECK(
               "", (int32_T)_SFD_INTEGER_CHECK("", (real_T)c26_b_j), 1, 3, 2, 0)
              - 1)) - 1] = c26_v[_SFD_EML_ARRAY_BOUNDS_CHECK("", (int32_T)
      _SFD_INTEGER_CHECK("", (real_T)c26_b_j), 1, 3, 1, 0) - 1];
  }

  _SFD_EML_CALL(0U, chartInstance->c26_sfEvent, -4);
  _SFD_SYMBOL_SCOPE_POP();
  for (c26_i5 = 0; c26_i5 < 9; c26_i5++) {
    (*c26_b_K_d)[c26_i5] = c26_K_d[c26_i5];
  }

  _SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG, 22U, chartInstance->c26_sfEvent);
  _SFD_SYMBOL_SCOPE_POP();
  _SFD_CHECK_FOR_STATE_INCONSISTENCY(_CSE1_DPMachineNumber_,
    chartInstance->chartNumber, chartInstance->instanceNumber);
  for (c26_i6 = 0; c26_i6 < 9; c26_i6++) {
    _SFD_DATA_RANGE_CHECK((*c26_b_K_d)[c26_i6], 0U);
  }

  for (c26_i7 = 0; c26_i7 < 3; c26_i7++) {
    _SFD_DATA_RANGE_CHECK((*c26_b_K_d1)[c26_i7], 1U);
  }
}
static void sf_c27_Model_justmodel(SFc27_Model_justmodelInstanceStruct
  *chartInstance)
{
  int32_T c27_i0;
  real_T c27_hoistedGlobal;
  real_T c27_b_hoistedGlobal;
  real_T c27_U;
  int32_T c27_i1;
  real_T c27_eta_ship[3];
  real_T c27_alpha_LOS;
  uint32_T c27_debug_family_var_map[9];
  real_T c27_psi;
  real_T c27_gamma;
  real_T c27_nargin = 3.0;
  real_T c27_nargout = 2.0;
  real_T c27_surge;
  real_T c27_sway;
  real_T c27_x;
  real_T c27_b_x;
  real_T c27_a;
  real_T c27_b;
  real_T c27_c_x;
  real_T c27_d_x;
  real_T c27_b_a;
  real_T c27_b_b;
  real_T *c27_b_U;
  real_T *c27_b_surge;
  real_T *c27_b_alpha_LOS;
  real_T *c27_b_sway;
  real_T (*c27_b_eta_ship)[3];
  c27_b_sway = (real_T *)ssGetOutputPortSignal(chartInstance->S, 2);
  c27_b_alpha_LOS = (real_T *)ssGetInputPortSignal(chartInstance->S, 2);
  c27_b_eta_ship = (real_T (*)[3])ssGetInputPortSignal(chartInstance->S, 1);
  c27_b_surge = (real_T *)ssGetOutputPortSignal(chartInstance->S, 1);
  c27_b_U = (real_T *)ssGetInputPortSignal(chartInstance->S, 0);
  _sfTime_ = (real_T)ssGetT(chartInstance->S);
  _SFD_CC_CALL(CHART_ENTER_SFUNCTION_TAG, 17U, chartInstance->c27_sfEvent);
  _SFD_DATA_RANGE_CHECK(*c27_b_U, 0U);
  _SFD_DATA_RANGE_CHECK(*c27_b_surge, 1U);
  for (c27_i0 = 0; c27_i0 < 3; c27_i0++) {
    _SFD_DATA_RANGE_CHECK((*c27_b_eta_ship)[c27_i0], 2U);
  }

  _SFD_DATA_RANGE_CHECK(*c27_b_alpha_LOS, 3U);
  _SFD_DATA_RANGE_CHECK(*c27_b_sway, 4U);
  chartInstance->c27_sfEvent = CALL_EVENT;
  _SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG, 17U, chartInstance->c27_sfEvent);
  c27_hoistedGlobal = *c27_b_U;
  c27_b_hoistedGlobal = *c27_b_alpha_LOS;
  c27_U = c27_hoistedGlobal;
  for (c27_i1 = 0; c27_i1 < 3; c27_i1++) {
    c27_eta_ship[c27_i1] = (*c27_b_eta_ship)[c27_i1];
  }

  c27_alpha_LOS = c27_b_hoistedGlobal;
  _SFD_SYMBOL_SCOPE_PUSH_EML(0U, 9U, 9U, c27_debug_family_names,
    c27_debug_family_var_map);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c27_psi, 0U, c27_sf_marshallOut,
    c27_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c27_gamma, 1U, c27_sf_marshallOut,
    c27_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c27_nargin, 2U, c27_sf_marshallOut,
    c27_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c27_nargout, 3U, c27_sf_marshallOut,
    c27_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML(&c27_U, 4U, c27_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML(c27_eta_ship, 5U, c27_b_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML(&c27_alpha_LOS, 6U, c27_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c27_surge, 7U, c27_sf_marshallOut,
    c27_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c27_sway, 8U, c27_sf_marshallOut,
    c27_sf_marshallIn);
  CV_EML_FCN(0, 0);
  _SFD_EML_CALL(0U, chartInstance->c27_sfEvent, 3);
  c27_psi = c27_eta_ship[2];
  _SFD_EML_CALL(0U, chartInstance->c27_sfEvent, 4);
  c27_gamma = c27_alpha_LOS - c27_psi;
  _SFD_EML_CALL(0U, chartInstance->c27_sfEvent, 6);
  c27_x = c27_gamma;
  c27_b_x = c27_x;
  c27_b_x = muDoubleScalarCos(c27_b_x);
  c27_a = c27_U;
  c27_b = c27_b_x;
  c27_surge = c27_a * c27_b;
  _SFD_EML_CALL(0U, chartInstance->c27_sfEvent, 7);
  c27_c_x = c27_gamma;
  c27_d_x = c27_c_x;
  c27_d_x = muDoubleScalarSin(c27_d_x);
  c27_b_a = c27_U;
  c27_b_b = c27_d_x;
  c27_sway = c27_b_a * c27_b_b;
  _SFD_EML_CALL(0U, chartInstance->c27_sfEvent, -7);
  _SFD_SYMBOL_SCOPE_POP();
  *c27_b_surge = c27_surge;
  *c27_b_sway = c27_sway;
  _SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG, 17U, chartInstance->c27_sfEvent);
  _SFD_CHECK_FOR_STATE_INCONSISTENCY(_Model_justmodelMachineNumber_,
    chartInstance->chartNumber, chartInstance->instanceNumber);
}
static void sf_c25_CusakisME4901(SFc25_CusakisME4901InstanceStruct
  *chartInstance)
{
  int32_T c25_i2;
  int32_T c25_i3;
  real_T c25_hoistedGlobal;
  real_T c25_b_hoistedGlobal;
  real_T c25_c_hoistedGlobal;
  int32_T c25_i4;
  real_T c25_u[3];
  real_T c25_b_mt;
  real_T c25_b_mb;
  real_T c25_b_m;
  uint32_T c25_debug_family_var_map[8];
  real_T c25_r;
  real_T c25_nargin = 4.0;
  real_T c25_nargout = 1.0;
  real_T c25_a[6];
  real_T c25_b;
  real_T c25_y;
  real_T c25_A;
  real_T c25_B;
  real_T c25_x;
  real_T c25_b_y;
  real_T c25_b_x;
  real_T c25_c_y;
  int32_T c25_i5;
  real_T c25_b_a;
  real_T c25_b_b;
  real_T c25_d_y;
  real_T c25_c_a;
  real_T c25_c_b;
  real_T c25_e_y;
  real_T c25_d_a;
  real_T c25_d_b;
  real_T c25_f_y;
  int32_T c25_i6;
  real_T (*c25_e_a)[6];
  real_T (*c25_b_u)[3];
  c25_e_a = (real_T (*)[6])ssGetOutputPortSignal(chartInstance->S, 1);
  c25_b_u = (real_T (*)[3])ssGetInputPortSignal(chartInstance->S, 0);
  _sfTime_ = (real_T)ssGetT(chartInstance->S);
  _SFD_CC_CALL(CHART_ENTER_SFUNCTION_TAG, 23U, chartInstance->c25_sfEvent);
  for (c25_i2 = 0; c25_i2 < 3; c25_i2++) {
    _SFD_DATA_RANGE_CHECK((*c25_b_u)[c25_i2], 0U);
  }

  _SFD_DATA_RANGE_CHECK(chartInstance->c25_mt, 1U);
  for (c25_i3 = 0; c25_i3 < 6; c25_i3++) {
    _SFD_DATA_RANGE_CHECK((*c25_e_a)[c25_i3], 2U);
  }

  _SFD_DATA_RANGE_CHECK(chartInstance->c25_mb, 3U);
  _SFD_DATA_RANGE_CHECK(chartInstance->c25_m, 4U);
  chartInstance->c25_sfEvent = CALL_EVENT;
  _SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG, 23U, chartInstance->c25_sfEvent);
  c25_hoistedGlobal = chartInstance->c25_mt;
  c25_b_hoistedGlobal = chartInstance->c25_mb;
  c25_c_hoistedGlobal = chartInstance->c25_m;
  for (c25_i4 = 0; c25_i4 < 3; c25_i4++) {
    c25_u[c25_i4] = (*c25_b_u)[c25_i4];
  }

  c25_b_mt = c25_hoistedGlobal;
  c25_b_mb = c25_b_hoistedGlobal;
  c25_b_m = c25_c_hoistedGlobal;
  _SFD_SYMBOL_SCOPE_PUSH_EML(0U, 8U, 8U, c25_debug_family_names,
    c25_debug_family_var_map);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c25_r, 0U, c25_b_sf_marshallOut,
    c25_b_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c25_nargin, 1U, c25_b_sf_marshallOut,
    c25_b_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c25_nargout, 2U, c25_b_sf_marshallOut,
    c25_b_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML(c25_u, 3U, c25_c_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c25_b_mt, 4U, c25_b_sf_marshallOut,
    c25_b_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c25_b_mb, 5U, c25_b_sf_marshallOut,
    c25_b_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c25_b_m, 6U, c25_b_sf_marshallOut,
    c25_b_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(c25_a, 7U, c25_sf_marshallOut,
    c25_sf_marshallIn);
  CV_EML_FCN(0, 0);
  _SFD_EML_CALL(0U, chartInstance->c25_sfEvent, 7);
  c25_b = c25_b_m;
  c25_y = 3.0 * c25_b;
  c25_A = c25_b_mt;
  c25_B = c25_b_mb + c25_y;
  c25_x = c25_A;
  c25_b_y = c25_B;
  c25_b_x = c25_x;
  c25_c_y = c25_b_y;
  c25_r = c25_b_x / c25_c_y;
  _SFD_EML_CALL(0U, chartInstance->c25_sfEvent, 8);
  for (c25_i5 = 0; c25_i5 < 6; c25_i5++) {
    c25_a[c25_i5] = 0.0;
  }

  _SFD_EML_CALL(0U, chartInstance->c25_sfEvent, 10);
  c25_b_a = -c25_r;
  c25_b_b = c25_u[0];
  c25_d_y = c25_b_a * c25_b_b;
  c25_a[0] = c25_d_y;
  _SFD_EML_CALL(0U, chartInstance->c25_sfEvent, 11);
  c25_c_a = -c25_r;
  c25_c_b = c25_u[1];
  c25_e_y = c25_c_a * c25_c_b;
  c25_a[1] = c25_e_y;
  _SFD_EML_CALL(0U, chartInstance->c25_sfEvent, 12);
  c25_d_a = -c25_r;
  c25_d_b = c25_u[2];
  c25_f_y = c25_d_a * c25_d_b;
  c25_a[5] = c25_f_y;
  _SFD_EML_CALL(0U, chartInstance->c25_sfEvent, -12);
  _SFD_SYMBOL_SCOPE_POP();
  for (c25_i6 = 0; c25_i6 < 6; c25_i6++) {
    (*c25_e_a)[c25_i6] = c25_a[c25_i6];
  }

  _SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG, 23U, chartInstance->c25_sfEvent);
  _SFD_CHECK_FOR_STATE_INCONSISTENCY(_CusakisME4901MachineNumber_,
    chartInstance->chartNumber, chartInstance->instanceNumber);
}
static void sf_c9_Model_justmodel(SFc9_Model_justmodelInstanceStruct
  *chartInstance)
{
  int32_T c9_i2;
  int32_T c9_i3;
  int32_T c9_i4;
  int32_T c9_i5;
  real_T c9_nu_ship[3];
  int32_T c9_i6;
  real_T c9_alpha1[3];
  uint32_T c9_debug_family_var_map[6];
  real_T c9_nu_s[3];
  real_T c9_nargin = 2.0;
  real_T c9_nargout = 1.0;
  real_T c9_z2[3];
  int32_T c9_i7;
  int32_T c9_i8;
  int32_T c9_i9;
  real_T (*c9_b_z2)[3];
  real_T (*c9_b_alpha1)[3];
  real_T (*c9_b_nu_ship)[3];
  c9_b_alpha1 = (real_T (*)[3])ssGetInputPortSignal(chartInstance->S, 1);
  c9_b_z2 = (real_T (*)[3])ssGetOutputPortSignal(chartInstance->S, 1);
  c9_b_nu_ship = (real_T (*)[3])ssGetInputPortSignal(chartInstance->S, 0);
  _sfTime_ = (real_T)ssGetT(chartInstance->S);
  _SFD_CC_CALL(CHART_ENTER_SFUNCTION_TAG, 8U, chartInstance->c9_sfEvent);
  for (c9_i2 = 0; c9_i2 < 3; c9_i2++) {
    _SFD_DATA_RANGE_CHECK((*c9_b_nu_ship)[c9_i2], 0U);
  }

  for (c9_i3 = 0; c9_i3 < 3; c9_i3++) {
    _SFD_DATA_RANGE_CHECK((*c9_b_z2)[c9_i3], 1U);
  }

  for (c9_i4 = 0; c9_i4 < 3; c9_i4++) {
    _SFD_DATA_RANGE_CHECK((*c9_b_alpha1)[c9_i4], 2U);
  }

  chartInstance->c9_sfEvent = CALL_EVENT;
  _SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG, 8U, chartInstance->c9_sfEvent);
  for (c9_i5 = 0; c9_i5 < 3; c9_i5++) {
    c9_nu_ship[c9_i5] = (*c9_b_nu_ship)[c9_i5];
  }

  for (c9_i6 = 0; c9_i6 < 3; c9_i6++) {
    c9_alpha1[c9_i6] = (*c9_b_alpha1)[c9_i6];
  }

  _SFD_SYMBOL_SCOPE_PUSH_EML(0U, 6U, 6U, c9_debug_family_names,
    c9_debug_family_var_map);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(c9_nu_s, 0U, c9_sf_marshallOut,
    c9_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c9_nargin, 1U, c9_b_sf_marshallOut,
    c9_b_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c9_nargout, 2U, c9_b_sf_marshallOut,
    c9_b_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML(c9_nu_ship, 3U, c9_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML(c9_alpha1, 4U, c9_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(c9_z2, 5U, c9_sf_marshallOut,
    c9_sf_marshallIn);
  CV_EML_FCN(0, 0);
  _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 5);
  CV_EML_IF(0, 1, 0, TRUE);
  _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 6);
  for (c9_i7 = 0; c9_i7 < 3; c9_i7++) {
    c9_nu_s[c9_i7] = c9_nu_ship[c9_i7];
  }

  _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 11);
  for (c9_i8 = 0; c9_i8 < 3; c9_i8++) {
    c9_z2[c9_i8] = c9_nu_s[c9_i8] - c9_alpha1[c9_i8];
  }

  _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, -11);
  _SFD_SYMBOL_SCOPE_POP();
  for (c9_i9 = 0; c9_i9 < 3; c9_i9++) {
    (*c9_b_z2)[c9_i9] = c9_z2[c9_i9];
  }

  _SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG, 8U, chartInstance->c9_sfEvent);
  _SFD_CHECK_FOR_STATE_INCONSISTENCY(_Model_justmodelMachineNumber_,
    chartInstance->chartNumber, chartInstance->instanceNumber);
}
static void sf_gateway_c7_NMPC_Controller(SFc7_NMPC_ControllerInstanceStruct
  *chartInstance)
{
  int32_T c7_i0;
  int32_T c7_i1;
  real_T c7_b_u[3];
  uint32_T c7_debug_family_var_map[6];
  real_T c7_factor;
  real_T c7_increment;
  real_T c7_nargin = 1.0;
  real_T c7_nargout = 1.0;
  real_T c7_b_y;
  boolean_T guard1 = false;
  boolean_T guard2 = false;
  boolean_T guard3 = false;
  boolean_T guard4 = false;
  _SFD_SYMBOL_SCOPE_PUSH(0U, 0U);
  _sfTime_ = sf_get_time(chartInstance->S);
  _SFD_CC_CALL(CHART_ENTER_SFUNCTION_TAG, 6U, chartInstance->c7_sfEvent);
  for (c7_i0 = 0; c7_i0 < 3; c7_i0++) {
    _SFD_DATA_RANGE_CHECK((*chartInstance->c7_u)[c7_i0], 0U);
  }

  chartInstance->c7_sfEvent = CALL_EVENT;
  _SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG, 6U, chartInstance->c7_sfEvent);
  for (c7_i1 = 0; c7_i1 < 3; c7_i1++) {
    c7_b_u[c7_i1] = (*chartInstance->c7_u)[c7_i1];
  }

  _SFD_SYMBOL_SCOPE_PUSH_EML(0U, 6U, 6U, c7_debug_family_names,
    c7_debug_family_var_map);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c7_factor, 0U, c7_sf_marshallOut,
    c7_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c7_increment, 1U, c7_sf_marshallOut,
    c7_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c7_nargin, 2U, c7_sf_marshallOut,
    c7_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c7_nargout, 3U, c7_sf_marshallOut,
    c7_sf_marshallIn);
  _SFD_SYMBOL_SCOPE_ADD_EML(c7_b_u, 4U, c7_b_sf_marshallOut);
  _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c7_b_y, 5U, c7_sf_marshallOut,
    c7_sf_marshallIn);
  CV_EML_FCN(0, 0);
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 4);
  c7_factor = 1.0;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 5);
  c7_increment = 0.0;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 7);
  guard1 = false;
  if (CV_EML_COND(0, 1, 0, CV_RELATIONAL_EVAL(4U, 0U, 0, c7_b_u[1], 0.0, -1, 4U,
        c7_b_u[1] > 0.0))) {
    if (CV_EML_COND(0, 1, 1, CV_RELATIONAL_EVAL(4U, 0U, 1, c7_b_u[2], 0.0, -1,
          4U, c7_b_u[2] > 0.0))) {
      CV_EML_MCDC(0, 1, 0, true);
      CV_EML_IF(0, 1, 0, true);
      _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 8);
      c7_increment = 0.0;
      _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 9);
      c7_factor = 1.0;
    } else {
      guard1 = true;
    }
  } else {
    guard1 = true;
  }

  if (guard1 == true) {
    CV_EML_MCDC(0, 1, 0, false);
    CV_EML_IF(0, 1, 0, false);
    _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 10);
    guard2 = false;
    if (CV_EML_COND(0, 1, 2, CV_RELATIONAL_EVAL(4U, 0U, 2, c7_b_u[1], 0.0, -1,
          4U, c7_b_u[1] > 0.0))) {
      if (CV_EML_COND(0, 1, 3, CV_RELATIONAL_EVAL(4U, 0U, 3, c7_b_u[2], 0.0, -1,
            2U, c7_b_u[2] < 0.0))) {
        CV_EML_MCDC(0, 1, 1, true);
        CV_EML_IF(0, 1, 1, true);
        _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 11);
        c7_increment = 3.1415926535897931;
        _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 12);
        c7_factor = -1.0;
      } else {
        guard2 = true;
      }
    } else {
      guard2 = true;
    }

    if (guard2 == true) {
      CV_EML_MCDC(0, 1, 1, false);
      CV_EML_IF(0, 1, 1, false);
      _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 13);
      guard3 = false;
      if (CV_EML_COND(0, 1, 4, CV_RELATIONAL_EVAL(4U, 0U, 4, c7_b_u[1], 0.0, -1,
            2U, c7_b_u[1] < 0.0))) {
        if (CV_EML_COND(0, 1, 5, CV_RELATIONAL_EVAL(4U, 0U, 5, c7_b_u[2], 0.0,
              -1, 2U, c7_b_u[2] < 0.0))) {
          CV_EML_MCDC(0, 1, 2, true);
          CV_EML_IF(0, 1, 2, true);
          _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 14);
          c7_increment = -3.1415926535897931;
          _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 15);
          c7_factor = -1.0;
        } else {
          guard3 = true;
        }
      } else {
        guard3 = true;
      }

      if (guard3 == true) {
        CV_EML_MCDC(0, 1, 2, false);
        CV_EML_IF(0, 1, 2, false);
        _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 16);
        guard4 = false;
        if (CV_EML_COND(0, 1, 6, CV_RELATIONAL_EVAL(4U, 0U, 6, c7_b_u[1], 0.0,
              -1, 2U, c7_b_u[1] < 0.0))) {
          if (CV_EML_COND(0, 1, 7, CV_RELATIONAL_EVAL(4U, 0U, 7, c7_b_u[2], 0.0,
                -1, 4U, c7_b_u[2] > 0.0))) {
            CV_EML_MCDC(0, 1, 3, true);
            CV_EML_IF(0, 1, 3, true);
            _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 17);
            c7_increment = 0.0;
            _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 18);
            c7_factor = 1.0;
          } else {
            guard4 = true;
          }
        } else {
          guard4 = true;
        }

        if (guard4 == true) {
          CV_EML_MCDC(0, 1, 3, false);
          CV_EML_IF(0, 1, 3, false);
        }
      }
    }
  }

  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, 20);
  c7_b_y = c7_b_u[0] * c7_factor + c7_increment;
  _SFD_EML_CALL(0U, chartInstance->c7_sfEvent, -20);
  _SFD_SYMBOL_SCOPE_POP();
  *chartInstance->c7_y = c7_b_y;
  _SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG, 6U, chartInstance->c7_sfEvent);
  _SFD_SYMBOL_SCOPE_POP();
  _SFD_CHECK_FOR_STATE_INCONSISTENCY(_NMPC_ControllerMachineNumber_,
    chartInstance->chartNumber, chartInstance->instanceNumber);
  _SFD_DATA_RANGE_CHECK(*chartInstance->c7_y, 1U);
}
static void c27_chartstep_c27_ArregloSeisPorSeis
  (SFc27_ArregloSeisPorSeisInstanceStruct *chartInstance)
{
  real_T c27_hoistedGlobal;
  real_T c27_b_hoistedGlobal;
  real_T c27_c_hoistedGlobal;
  real_T c27_V;
  real_T c27_Radiacion;
  real_T c27_Temp;
  uint32_T c27_debug_family_var_map[23];
  real_T c27_q;
  real_T c27_K;
  real_T c27_n;
  real_T c27_T;
  real_T c27_Rs;
  real_T c27_Rp;
  real_T c27_Vt;
  real_T c27_Ns;
  real_T c27_Vc;
  real_T c27_Isc;
  real_T c27_Alfa;
  real_T c27_Iph;
  real_T c27_Voc_ref;
  real_T c27_Beta;
  real_T c27_Voc;
  real_T c27_Io;
  real_T c27_Ir;
  real_T c27_nargin = 3.0;
  real_T c27_nargout = 1.0;
  real_T c27_I;
  real_T c27_b;
  real_T c27_y;
  real_T c27_A;
  real_T c27_x;
  real_T c27_b_x;
  real_T c27_c_x;
  real_T c27_d_x;
  real_T c27_b_b;
  real_T c27_b_y;
  real_T c27_b_A;
  real_T c27_e_x;
  real_T c27_f_x;
  real_T c27_c_y;
  real_T c27_c_b;
  real_T c27_d_y;
  real_T c27_a;
  real_T c27_d_b;
  real_T c27_e_b;
  real_T c27_e_y;
  real_T c27_f_b;
  real_T c27_c_A;
  real_T c27_B;
  real_T c27_g_x;
  real_T c27_f_y;
  real_T c27_h_x;
  real_T c27_g_y;
  real_T c27_h_y;
  real_T c27_i_x;
  real_T c27_j_x;
  real_T c27_b_B;
  real_T c27_i_y;
  real_T c27_j_y;
  int32_T c27_i;
  real_T c27_k_x;
  real_T c27_k_y;
  real_T c27_l_x;
  real_T c27_l_y;
  real_T c27_z;
  real_T c27_m_x;
  real_T c27_n_x;
  real_T c27_d_A;
  real_T c27_o_x;
  real_T c27_p_x;
  real_T c27_m_y;
  real_T c27_n_y;
  real_T c27_o_y;
  real_T c27_b_z;
  real_T c27_b_a;
  real_T c27_g_b;
  real_T c27_p_y;
  real_T c27_q_x;
  real_T c27_q_y;
  real_T c27_r_x;
  real_T c27_r_y;
  real_T c27_c_z;
  real_T c27_s_x;
  real_T c27_t_x;
  real_T c27_u_x;
  real_T c27_s_y;
  real_T c27_v_x;
  real_T c27_t_y;
  real_T c27_d_z;
  real_T *c27_b_Temp;
  real_T *c27_b_Radiacion;
  real_T *c27_b_V;
  real_T *c27_b_I;
  c27_b_Temp = (real_T *)ssGetInputPortSignal(chartInstance->S, 2);
  c27_b_Radiacion = (real_T *)ssGetInputPortSignal(chartInstance->S, 1);
  c27_b_I = (real_T *)ssGetOutputPortSignal(chartInstance->S, 1);
  c27_b_V = (real_T *)ssGetInputPortSignal(chartInstance->S, 0);
  _SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG, 26U, chartInstance->c27_sfEvent);
  c27_hoistedGlobal = *c27_b_V;
  c27_b_hoistedGlobal = *c27_b_Radiacion;
  c27_c_hoistedGlobal = *c27_b_Temp;
  c27_V = c27_hoistedGlobal;
  c27_Radiacion = c27_b_hoistedGlobal;
  c27_Temp = c27_c_hoistedGlobal;
  sf_debug_symbol_scope_push_eml(0U, 23U, 23U, c27_debug_family_names,
    c27_debug_family_var_map);
  sf_debug_symbol_scope_add_eml(&c27_q, 0U, c27_sf_marshallOut);
  sf_debug_symbol_scope_add_eml(&c27_K, 1U, c27_sf_marshallOut);
  sf_debug_symbol_scope_add_eml(&c27_n, 2U, c27_sf_marshallOut);
  sf_debug_symbol_scope_add_eml_importable(&c27_T, 3U, c27_sf_marshallOut,
    c27_sf_marshallIn);
  sf_debug_symbol_scope_add_eml(&c27_Rs, 4U, c27_sf_marshallOut);
  sf_debug_symbol_scope_add_eml(&c27_Rp, 5U, c27_sf_marshallOut);
  sf_debug_symbol_scope_add_eml_importable(&c27_Vt, 6U, c27_sf_marshallOut,
    c27_sf_marshallIn);
  sf_debug_symbol_scope_add_eml(&c27_Ns, 7U, c27_sf_marshallOut);
  sf_debug_symbol_scope_add_eml_importable(&c27_Vc, 8U, c27_sf_marshallOut,
    c27_sf_marshallIn);
  sf_debug_symbol_scope_add_eml(&c27_Isc, 9U, c27_sf_marshallOut);
  sf_debug_symbol_scope_add_eml(&c27_Alfa, 10U, c27_sf_marshallOut);
  sf_debug_symbol_scope_add_eml_importable(&c27_Iph, 11U, c27_sf_marshallOut,
    c27_sf_marshallIn);
  sf_debug_symbol_scope_add_eml(&c27_Voc_ref, 12U, c27_sf_marshallOut);
  sf_debug_symbol_scope_add_eml(&c27_Beta, 13U, c27_sf_marshallOut);
  sf_debug_symbol_scope_add_eml_importable(&c27_Voc, 14U, c27_sf_marshallOut,
    c27_sf_marshallIn);
  sf_debug_symbol_scope_add_eml_importable(&c27_Io, 15U, c27_sf_marshallOut,
    c27_sf_marshallIn);
  sf_debug_symbol_scope_add_eml_importable(&c27_Ir, 16U, c27_sf_marshallOut,
    c27_sf_marshallIn);
  sf_debug_symbol_scope_add_eml_importable(&c27_nargin, 17U, c27_sf_marshallOut,
    c27_sf_marshallIn);
  sf_debug_symbol_scope_add_eml_importable(&c27_nargout, 18U, c27_sf_marshallOut,
    c27_sf_marshallIn);
  sf_debug_symbol_scope_add_eml(&c27_V, 19U, c27_sf_marshallOut);
  sf_debug_symbol_scope_add_eml(&c27_Radiacion, 20U, c27_sf_marshallOut);
  sf_debug_symbol_scope_add_eml(&c27_Temp, 21U, c27_sf_marshallOut);
  sf_debug_symbol_scope_add_eml_importable(&c27_I, 22U, c27_sf_marshallOut,
    c27_sf_marshallIn);
  CV_EML_FCN(0, 0);
  _SFD_EML_CALL(0U, chartInstance->c27_sfEvent, 3);
  c27_q = 1.602176E-19;
  _SFD_EML_CALL(0U, chartInstance->c27_sfEvent, 5);
  c27_K = 1.3806488E-23;
  _SFD_EML_CALL(0U, chartInstance->c27_sfEvent, 7);
  c27_n = 1.3;
  _SFD_EML_CALL(0U, chartInstance->c27_sfEvent, 9);
  c27_T = 273.15 + c27_Temp;
  _SFD_EML_CALL(0U, chartInstance->c27_sfEvent, 11);
  c27_Rs = 0.015;
  _SFD_EML_CALL(0U, chartInstance->c27_sfEvent, 13);
  c27_Rp = 100.0;
  _SFD_EML_CALL(0U, chartInstance->c27_sfEvent, 15);
  c27_b = c27_T;
  c27_y = 1.79484344E-23 * c27_b;
  c27_A = c27_y;
  c27_x = c27_A;
  c27_b_x = c27_x;
  c27_Vt = c27_b_x / 1.602176E-19;
  _SFD_EML_CALL(0U, chartInstance->c27_sfEvent, 16);
  c27_Ns = 36.0;
  _SFD_EML_CALL(0U, chartInstance->c27_sfEvent, 17);
  c27_c_x = c27_V;
  c27_d_x = c27_c_x;
  c27_Vc = c27_d_x / 36.0;
  _SFD_EML_CALL(0U, chartInstance->c27_sfEvent, 19);
  c27_Isc = 5.433;
  _SFD_EML_CALL(0U, chartInstance->c27_sfEvent, 20);
  c27_Alfa = 0.00037;
  _SFD_EML_CALL(0U, chartInstance->c27_sfEvent, 22);
  c27_b_b = c27_Radiacion;
  c27_b_y = 5.433 * c27_b_b;
  c27_b_A = c27_b_y;
  c27_e_x = c27_b_A;
  c27_f_x = c27_e_x;
  c27_c_y = c27_f_x / 1000.0;
  c27_c_b = c27_Temp - 25.0;
  c27_d_y = 0.00037 * c27_c_b;
  c27_a = c27_c_y;
  c27_d_b = 1.0 + c27_d_y;
  c27_Iph = c27_a * c27_d_b;
  _SFD_EML_CALL(0U, chartInstance->c27_sfEvent, 24);
  c27_Voc_ref = 0.6166666666666667;
  _SFD_EML_CALL(0U, chartInstance->c27_sfEvent, 25);
  c27_Beta = -0.0034000000000000002;
  _SFD_EML_CALL(0U, chartInstance->c27_sfEvent, 26);
  c27_e_b = c27_Temp - 25.0;
  c27_e_y = -0.0034000000000000002 * c27_e_b;
  c27_f_b = 1.0 + c27_e_y;
  c27_Voc = 0.6166666666666667 * c27_f_b;
  _SFD_EML_CALL(0U, chartInstance->c27_sfEvent, 32);
  c27_c_A = c27_Voc;
  c27_B = c27_Vt;
  c27_g_x = c27_c_A;
  c27_f_y = c27_B;
  c27_h_x = c27_g_x;
  c27_g_y = c27_f_y;
  c27_h_y = c27_h_x / c27_g_y;
  c27_i_x = c27_h_y;
  c27_j_x = c27_i_x;
  c27_j_x = muDoubleScalarExp(c27_j_x);
  c27_b_B = c27_j_x - 1.0;
  c27_i_y = c27_b_B;
  c27_j_y = c27_i_y;
  c27_Io = 5.433 / c27_j_y;
  _SFD_EML_CALL(0U, chartInstance->c27_sfEvent, 33);
  c27_Ir = c27_Io;
  _SFD_EML_CALL(0U, chartInstance->c27_sfEvent, 36);
  c27_I = 0.0;
  c27_i = 0;
  while (c27_i < 50) {
    CV_EML_FOR(0, 1, 0, 1);
    _SFD_EML_CALL(0U, chartInstance->c27_sfEvent, 38);
    c27_k_x = c27_Vc + c27_I * c27_Rs;
    c27_k_y = c27_Vt;
    c27_l_x = c27_k_x;
    c27_l_y = c27_k_y;
    c27_z = c27_l_x / c27_l_y;
    c27_m_x = c27_z;
    c27_n_x = c27_m_x;
    c27_n_x = muDoubleScalarExp(c27_n_x);
    c27_d_A = c27_Vc + c27_I * c27_Rs;
    c27_o_x = c27_d_A;
    c27_p_x = c27_o_x;
    c27_m_y = c27_p_x / 100.0;
    c27_n_y = c27_Vt;
    c27_o_y = c27_n_y;
    c27_b_z = 0.015 / c27_o_y;
    c27_b_a = c27_Ir;
    c27_g_b = c27_b_z;
    c27_p_y = c27_b_a * c27_g_b;
    c27_q_x = c27_Vc + c27_I * c27_Rs;
    c27_q_y = c27_Vt;
    c27_r_x = c27_q_x;
    c27_r_y = c27_q_y;
    c27_c_z = c27_r_x / c27_r_y;
    c27_s_x = c27_c_z;
    c27_t_x = c27_s_x;
    c27_t_x = muDoubleScalarExp(c27_t_x);
    c27_u_x = ((c27_Iph - c27_I) - c27_Ir * (c27_n_x - 1.0)) + c27_m_y;
    c27_s_y = (-1.0 - c27_p_y * c27_t_x) - 0.00015;
    c27_v_x = c27_u_x;
    c27_t_y = c27_s_y;
    c27_d_z = c27_v_x / c27_t_y;
    c27_I -= c27_d_z;
    c27_i++;
    sf_mex_listen_for_ctrl_c(chartInstance->S);
  }

  CV_EML_FOR(0, 1, 0, 0);
  _SFD_EML_CALL(0U, chartInstance->c27_sfEvent, -38);
  sf_debug_symbol_scope_pop();
  *c27_b_I = c27_I;
  _SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG, 26U, chartInstance->c27_sfEvent);
}
Beispiel #30
0
static void sf_c11_kinematics(SFc11_kinematicsInstanceStruct *chartInstance)
{
  int32_T c11_i2;
  int32_T c11_i3;
  int32_T c11_i4;
  int32_T c11_i5;
  real_T c11_body_velocity[6];
  int32_T c11_i6;
  real_T c11_euler_angles_vehicle[3];
  uint32_T c11_debug_family_var_map[6];
  const mxArray *c11_J = NULL;
  real_T c11_nargin = 2.0;
  real_T c11_nargout = 1.0;
  real_T c11_vehicle_rates[6];
  int32_T c11_i7;
  real_T c11_u[3];
  const mxArray *c11_y = NULL;
  int32_T c11_i8;
  int32_T c11_i9;
  real_T c11_b_u[6];
  const mxArray *c11_b_y = NULL;
  real_T c11_dv1[6];
  int32_T c11_i10;
  int32_T c11_i11;
  real_T (*c11_b_vehicle_rates)[6];
  real_T (*c11_b_euler_angles_vehicle)[3];
  real_T (*c11_b_body_velocity)[6];
  c11_b_euler_angles_vehicle = (real_T (*)[3])ssGetInputPortSignal
    (chartInstance->S, 1);
  c11_b_vehicle_rates = (real_T (*)[6])ssGetOutputPortSignal(chartInstance->S, 1);
  c11_b_body_velocity = (real_T (*)[6])ssGetInputPortSignal(chartInstance->S, 0);
  _sfTime_ = (real_T)ssGetT(chartInstance->S);
  _SFD_CC_CALL(CHART_ENTER_SFUNCTION_TAG, 8U, chartInstance->c11_sfEvent);
  for (c11_i2 = 0; c11_i2 < 6; c11_i2++) {
    _SFD_DATA_RANGE_CHECK((*c11_b_body_velocity)[c11_i2], 0U);
  }

  for (c11_i3 = 0; c11_i3 < 6; c11_i3++) {
    _SFD_DATA_RANGE_CHECK((*c11_b_vehicle_rates)[c11_i3], 1U);
  }

  for (c11_i4 = 0; c11_i4 < 3; c11_i4++) {
    _SFD_DATA_RANGE_CHECK((*c11_b_euler_angles_vehicle)[c11_i4], 2U);
  }

  chartInstance->c11_sfEvent = CALL_EVENT;
  _SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG, 8U, chartInstance->c11_sfEvent);
  for (c11_i5 = 0; c11_i5 < 6; c11_i5++) {
    c11_body_velocity[c11_i5] = (*c11_b_body_velocity)[c11_i5];
  }

  for (c11_i6 = 0; c11_i6 < 3; c11_i6++) {
    c11_euler_angles_vehicle[c11_i6] = (*c11_b_euler_angles_vehicle)[c11_i6];
  }

  sf_debug_symbol_scope_push_eml(0U, 6U, 6U, c11_debug_family_names,
    c11_debug_family_var_map);
  sf_debug_symbol_scope_add_eml(&c11_J, 0U, c11_d_sf_marshallOut);
  sf_debug_symbol_scope_add_eml_importable(&c11_nargin, 1U, c11_c_sf_marshallOut,
    c11_b_sf_marshallIn);
  sf_debug_symbol_scope_add_eml_importable(&c11_nargout, 2U,
    c11_c_sf_marshallOut, c11_b_sf_marshallIn);
  sf_debug_symbol_scope_add_eml(c11_body_velocity, 3U, c11_sf_marshallOut);
  sf_debug_symbol_scope_add_eml(c11_euler_angles_vehicle, 4U,
    c11_b_sf_marshallOut);
  sf_debug_symbol_scope_add_eml_importable(c11_vehicle_rates, 5U,
    c11_sf_marshallOut, c11_sf_marshallIn);
  CV_EML_FCN(0, 0);
  _SFD_EML_CALL(0U, chartInstance->c11_sfEvent, 3);
  _SFD_EML_CALL(0U, chartInstance->c11_sfEvent, 4);
  for (c11_i7 = 0; c11_i7 < 3; c11_i7++) {
    c11_u[c11_i7] = c11_euler_angles_vehicle[c11_i7];
  }

  c11_y = NULL;
  sf_mex_assign(&c11_y, sf_mex_create("y", c11_u, 0, 0U, 1U, 0U, 1, 3), FALSE);
  sf_mex_assign(&c11_J, sf_mex_call_debug("analytical_jacobian", 1U, 1U, 14,
    c11_y), FALSE);
  _SFD_EML_CALL(0U, chartInstance->c11_sfEvent, 6);
  for (c11_i8 = 0; c11_i8 < 6; c11_i8++) {
    c11_vehicle_rates[c11_i8] = 0.0;
  }

  _SFD_EML_CALL(0U, chartInstance->c11_sfEvent, 7);
  for (c11_i9 = 0; c11_i9 < 6; c11_i9++) {
    c11_b_u[c11_i9] = c11_body_velocity[c11_i9];
  }

  c11_b_y = NULL;
  sf_mex_assign(&c11_b_y, sf_mex_create("y", c11_b_u, 0, 0U, 1U, 0U, 1, 6),
                FALSE);
  c11_b_emlrt_marshallIn(chartInstance, sf_mex_call_debug("mtimes", 1U, 2U, 14,
    sf_mex_dup(c11_J), 14, c11_b_y), "mtimes", c11_dv1);
  for (c11_i10 = 0; c11_i10 < 6; c11_i10++) {
    c11_vehicle_rates[c11_i10] = c11_dv1[c11_i10];
  }

  _SFD_EML_CALL(0U, chartInstance->c11_sfEvent, -7);
  sf_debug_symbol_scope_pop();
  sf_mex_destroy(&c11_J);
  for (c11_i11 = 0; c11_i11 < 6; c11_i11++) {
    (*c11_b_vehicle_rates)[c11_i11] = c11_vehicle_rates[c11_i11];
  }

  _SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG, 8U, chartInstance->c11_sfEvent);
  sf_debug_check_for_state_inconsistency(_kinematicsMachineNumber_,
    chartInstance->chartNumber, chartInstance->instanceNumber);
}