static void set_sim_state_c16_Final_Project_v3b
  (SFc16_Final_Project_v3bInstanceStruct *chartInstance, const mxArray *c16_st)
{
  const mxArray *c16_u;
  real_T c16_dv0[4];
  int32_T c16_i2;
  real_T c16_dv1[9];
  int32_T c16_i3;
  real_T (*c16_R)[4];
  real_T (*c16_y)[9];
  c16_R = (real_T (*)[4])ssGetOutputPortSignal(chartInstance->S, 2);
  c16_y = (real_T (*)[9])ssGetOutputPortSignal(chartInstance->S, 1);
  chartInstance->c16_doneDoubleBufferReInit = TRUE;
  c16_u = sf_mex_dup(c16_st);
  c16_emlrt_marshallIn(chartInstance, sf_mex_dup(sf_mex_getcell(c16_u, 0)), "R",
                       c16_dv0);
  for (c16_i2 = 0; c16_i2 < 4; c16_i2++) {
    (*c16_R)[c16_i2] = c16_dv0[c16_i2];
  }

  c16_c_emlrt_marshallIn(chartInstance, sf_mex_dup(sf_mex_getcell(c16_u, 1)),
    "y", c16_dv1);
  for (c16_i3 = 0; c16_i3 < 9; c16_i3++) {
    (*c16_y)[c16_i3] = c16_dv1[c16_i3];
  }

  chartInstance->c16_is_active_c16_Final_Project_v3b = c16_g_emlrt_marshallIn
    (chartInstance, sf_mex_dup(sf_mex_getcell(c16_u, 2)),
     "is_active_c16_Final_Project_v3b");
  sf_mex_destroy(&c16_u);
  c16_update_debugger_state_c16_Final_Project_v3b(chartInstance);
  sf_mex_destroy(&c16_st);
}
static void c16_b_sf_marshallIn(void *chartInstanceVoid, const mxArray
  *c16_mxArrayInData, const char_T *c16_varName, void *c16_outData)
{
  const mxArray *c16_nargout;
  const char_T *c16_identifier;
  emlrtMsgIdentifier c16_thisId;
  real_T c16_y;
  SFc16_HIL_model_overallInstanceStruct *chartInstance;
  chartInstance = (SFc16_HIL_model_overallInstanceStruct *)chartInstanceVoid;
  c16_nargout = sf_mex_dup(c16_mxArrayInData);
  c16_identifier = c16_varName;
  c16_thisId.fIdentifier = c16_identifier;
  c16_thisId.fParent = NULL;
  c16_y = c16_c_emlrt_marshallIn(chartInstance, sf_mex_dup(c16_nargout),
    &c16_thisId);
  sf_mex_destroy(&c16_nargout);
  *(real_T *)c16_outData = c16_y;
  sf_mex_destroy(&c16_mxArrayInData);
}