static void c9_b_sf_marshallIn(void *chartInstanceVoid, const mxArray
  *c9_mxArrayInData, const char_T *c9_varName, void *c9_outData)
{
  const mxArray *c9_nargout;
  const char_T *c9_identifier;
  emlrtMsgIdentifier c9_thisId;
  real_T c9_y;
  SFc9_Model_justmodelInstanceStruct *chartInstance;
  chartInstance = (SFc9_Model_justmodelInstanceStruct *)chartInstanceVoid;
  c9_nargout = sf_mex_dup(c9_mxArrayInData);
  c9_identifier = c9_varName;
  c9_thisId.fIdentifier = c9_identifier;
  c9_thisId.fParent = NULL;
  c9_y = c9_c_emlrt_marshallIn(chartInstance, sf_mex_dup(c9_nargout), &c9_thisId);
  sf_mex_destroy(&c9_nargout);
  *(real_T *)c9_outData = c9_y;
  sf_mex_destroy(&c9_mxArrayInData);
}
static void c9_c_sf_marshallIn(void *chartInstanceVoid, const mxArray
  *c9_mxArrayInData, const char_T *c9_varName, void *c9_outData)
{
  const mxArray *c9_b_sfEvent;
  const char_T *c9_identifier;
  emlrtMsgIdentifier c9_thisId;
  int32_T c9_y;
  SFc9_QPSK_Transmit_v12dInstanceStruct *chartInstance;
  chartInstance = (SFc9_QPSK_Transmit_v12dInstanceStruct *)chartInstanceVoid;
  c9_b_sfEvent = sf_mex_dup(c9_mxArrayInData);
  c9_identifier = c9_varName;
  c9_thisId.fIdentifier = c9_identifier;
  c9_thisId.fParent = NULL;
  c9_y = c9_c_emlrt_marshallIn(chartInstance, sf_mex_dup(c9_b_sfEvent),
    &c9_thisId);
  sf_mex_destroy(&c9_b_sfEvent);
  *(int32_T *)c9_outData = c9_y;
  sf_mex_destroy(&c9_mxArrayInData);
}
static void c9_b_sf_marshallIn(void *chartInstanceVoid, const mxArray
  *c9_mxArrayInData, const char_T *c9_varName, void *c9_outData)
{
  const mxArray *c9_dc;
  const char_T *c9_identifier;
  emlrtMsgIdentifier c9_thisId;
  real_T c9_y[3];
  int32_T c9_i6;
  SFc9_testing_control_with_estimateInstanceStruct *chartInstance;
  chartInstance = (SFc9_testing_control_with_estimateInstanceStruct *)
    chartInstanceVoid;
  c9_dc = sf_mex_dup(c9_mxArrayInData);
  c9_identifier = c9_varName;
  c9_thisId.fIdentifier = c9_identifier;
  c9_thisId.fParent = NULL;
  c9_c_emlrt_marshallIn(chartInstance, sf_mex_dup(c9_dc), &c9_thisId, c9_y);
  sf_mex_destroy(&c9_dc);
  for (c9_i6 = 0; c9_i6 < 3; c9_i6++) {
    (*(real_T (*)[3])c9_outData)[c9_i6] = c9_y[c9_i6];
  }

  sf_mex_destroy(&c9_mxArrayInData);
}
static void set_sim_state_c9_CusakisME4901arcs2
  (SFc9_CusakisME4901arcs2InstanceStruct *chartInstance, const mxArray *c9_st)
{
  const mxArray *c9_u;
  real_T c9_dv0[4];
  int32_T c9_i2;
  real_T c9_dv1[2];
  int32_T c9_i3;
  real_T *c9_j;
  real_T (*c9_but)[4];
  real_T (*c9_b_u)[2];
  c9_j = (real_T *)ssGetOutputPortSignal(chartInstance->S, 3);
  c9_but = (real_T (*)[4])ssGetOutputPortSignal(chartInstance->S, 2);
  c9_b_u = (real_T (*)[2])ssGetOutputPortSignal(chartInstance->S, 1);
  chartInstance->c9_doneDoubleBufferReInit = TRUE;
  c9_u = sf_mex_dup(c9_st);
  c9_c_emlrt_marshallIn(chartInstance, sf_mex_dup(sf_mex_getcell(c9_u, 0)),
                        "but", c9_dv0);
  for (c9_i2 = 0; c9_i2 < 4; c9_i2++) {
    (*c9_but)[c9_i2] = c9_dv0[c9_i2];
  }

  *c9_j = c9_emlrt_marshallIn(chartInstance, sf_mex_dup(sf_mex_getcell(c9_u, 1)),
    "j");
  c9_e_emlrt_marshallIn(chartInstance, sf_mex_dup(sf_mex_getcell(c9_u, 2)), "u",
                        c9_dv1);
  for (c9_i3 = 0; c9_i3 < 2; c9_i3++) {
    (*c9_b_u)[c9_i3] = c9_dv1[c9_i3];
  }

  chartInstance->c9_is_active_c9_CusakisME4901arcs2 = c9_h_emlrt_marshallIn
    (chartInstance, sf_mex_dup(sf_mex_getcell(c9_u, 3)),
     "is_active_c9_CusakisME4901arcs2");
  sf_mex_destroy(&c9_u);
  c9_update_debugger_state_c9_CusakisME4901arcs2(chartInstance);
  sf_mex_destroy(&c9_st);
}