static void set_sim_state_c41_heart_model(SFc41_heart_modelInstanceStruct
  *chartInstance, const mxArray *c41_st)
{
  const mxArray *c41_u;
  boolean_T *c41_event1;
  boolean_T *c41_event2;
  boolean_T *c41_event3;
  c41_event3 = (boolean_T *)ssGetOutputPortSignal(chartInstance->S, 3);
  c41_event2 = (boolean_T *)ssGetOutputPortSignal(chartInstance->S, 2);
  c41_event1 = (boolean_T *)ssGetOutputPortSignal(chartInstance->S, 1);
  c41_u = sf_mex_dup(c41_st);
  *c41_event1 = c41_f_emlrt_marshallIn(chartInstance, sf_mex_dup(sf_mex_getcell
    (c41_u, 0)), "event1");
  *c41_event2 = c41_f_emlrt_marshallIn(chartInstance, sf_mex_dup(sf_mex_getcell
    (c41_u, 1)), "event2");
  *c41_event3 = c41_f_emlrt_marshallIn(chartInstance, sf_mex_dup(sf_mex_getcell
    (c41_u, 2)), "event3");
  chartInstance->c41_event1EventCounter = c41_emlrt_marshallIn(chartInstance,
    sf_mex_dup(sf_mex_getcell(c41_u, 3)), "event1EventCounter");
  chartInstance->c41_event2EventCounter = c41_emlrt_marshallIn(chartInstance,
    sf_mex_dup(sf_mex_getcell(c41_u, 4)), "event2EventCounter");
  chartInstance->c41_event3EventCounter = c41_emlrt_marshallIn(chartInstance,
    sf_mex_dup(sf_mex_getcell(c41_u, 5)), "event3EventCounter");
  chartInstance->c41_is_active_c41_heart_model = c41_d_emlrt_marshallIn
    (chartInstance, sf_mex_dup(sf_mex_getcell(c41_u, 6)),
     "is_active_c41_heart_model");
  chartInstance->c41_is_c41_heart_model = c41_d_emlrt_marshallIn(chartInstance,
    sf_mex_dup(sf_mex_getcell(c41_u, 7)), "is_c41_heart_model");
  sf_mex_assign(&chartInstance->c41_setSimStateSideEffectsInfo,
                c41_h_emlrt_marshallIn(chartInstance, sf_mex_dup(sf_mex_getcell
    (c41_u, 8)), "setSimStateSideEffectsInfo"), TRUE);
  sf_mex_destroy(&c41_u);
  chartInstance->c41_doSetSimStateSideEffects = 1U;
  c41_update_debugger_state_c41_heart_model(chartInstance);
  sf_mex_destroy(&c41_st);
}
static void c41_c_sf_marshallIn(void *chartInstanceVoid, const mxArray
  *c41_mxArrayInData, const char_T *c41_varName, void *c41_outData)
{
  const mxArray *c41_b_sfEvent;
  const char_T *c41_identifier;
  emlrtMsgIdentifier c41_thisId;
  int32_T c41_y;
  SFc41_Expriment_PoseInstanceStruct *chartInstance;
  chartInstance = (SFc41_Expriment_PoseInstanceStruct *)chartInstanceVoid;
  c41_b_sfEvent = sf_mex_dup(c41_mxArrayInData);
  c41_identifier = c41_varName;
  c41_thisId.fIdentifier = c41_identifier;
  c41_thisId.fParent = NULL;
  c41_y = c41_d_emlrt_marshallIn(chartInstance, sf_mex_dup(c41_b_sfEvent),
    &c41_thisId);
  sf_mex_destroy(&c41_b_sfEvent);
  *(int32_T *)c41_outData = c41_y;
  sf_mex_destroy(&c41_mxArrayInData);
}