static void c26_d_sf_marshallIn(void *chartInstanceVoid, const mxArray
  *c26_mxArrayInData, const char_T *c26_varName, void *c26_outData)
{
  const mxArray *c26_b_sfEvent;
  const char_T *c26_identifier;
  emlrtMsgIdentifier c26_thisId;
  int32_T c26_y;
  SFc26_HIL_modelInstanceStruct *chartInstance;
  chartInstance = (SFc26_HIL_modelInstanceStruct *)chartInstanceVoid;
  c26_b_sfEvent = sf_mex_dup(c26_mxArrayInData);
  c26_identifier = c26_varName;
  c26_thisId.fIdentifier = c26_identifier;
  c26_thisId.fParent = NULL;
  c26_y = c26_e_emlrt_marshallIn(chartInstance, sf_mex_dup(c26_b_sfEvent),
    &c26_thisId);
  sf_mex_destroy(&c26_b_sfEvent);
  *(int32_T *)c26_outData = c26_y;
  sf_mex_destroy(&c26_mxArrayInData);
}
static void set_sim_state_c26_CusakisME4901(SFc26_CusakisME4901InstanceStruct
  *chartInstance, const mxArray *c26_st)
{
  const mxArray *c26_u;
  real_T c26_dv0[6];
  int32_T c26_i1;
  real_T (*c26_Ve_out)[6];
  c26_Ve_out = (real_T (*)[6])ssGetOutputPortSignal(chartInstance->S, 1);
  chartInstance->c26_doneDoubleBufferReInit = TRUE;
  c26_u = sf_mex_dup(c26_st);
  c26_emlrt_marshallIn(chartInstance, sf_mex_dup(sf_mex_getcell(c26_u, 0)),
                       "Ve_out", c26_dv0);
  for (c26_i1 = 0; c26_i1 < 6; c26_i1++) {
    (*c26_Ve_out)[c26_i1] = c26_dv0[c26_i1];
  }

  chartInstance->c26_is_active_c26_CusakisME4901 = c26_e_emlrt_marshallIn
    (chartInstance, sf_mex_dup(sf_mex_getcell(c26_u, 1)),
     "is_active_c26_CusakisME4901");
  sf_mex_destroy(&c26_u);
  c26_update_debugger_state_c26_CusakisME4901(chartInstance);
  sf_mex_destroy(&c26_st);
}
static void set_sim_state_c26_CSE1_DP(SFc26_CSE1_DPInstanceStruct *chartInstance,
  const mxArray *c26_st)
{
  const mxArray *c26_u;
  real_T c26_dv0[9];
  int32_T c26_i1;
  real_T (*c26_K_d)[9];
  c26_K_d = (real_T (*)[9])ssGetOutputPortSignal(chartInstance->S, 1);
  chartInstance->c26_doneDoubleBufferReInit = true;
  c26_u = sf_mex_dup(c26_st);
  c26_emlrt_marshallIn(chartInstance, sf_mex_dup(sf_mex_getcell(c26_u, 0)),
                       "K_d", c26_dv0);
  for (c26_i1 = 0; c26_i1 < 9; c26_i1++) {
    (*c26_K_d)[c26_i1] = c26_dv0[c26_i1];
  }

  chartInstance->c26_is_active_c26_CSE1_DP = c26_e_emlrt_marshallIn
    (chartInstance, sf_mex_dup(sf_mex_getcell(c26_u, 1)),
     "is_active_c26_CSE1_DP");
  sf_mex_destroy(&c26_u);
  c26_update_debugger_state_c26_CSE1_DP(chartInstance);
  sf_mex_destroy(&c26_st);
}