⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 auto_netcon_sfun_c1.c

📁 RFID读卡器与标签之间在AWGN和加入其它读写器干扰下的BER仿真
💻 C
📖 第 1 页 / 共 4 页
字号:
     case IN_m0_c1_s4_ROAD4:
      CV_CHART_EVAL(0,0,4);
      _SFD_CS_CALL(STATE_ENTER_DURING_FUNCTION_TAG,2);
      _SFD_CCS_CALL(STATE_DURING_COVERAGE_TAG,2,0);
      _SFD_CT_CALL(TRANSITION_BEFORE_PROCESSING_TAG,6);
      if(CV_TRANSITION_EVAL(6,
        _SFD_CCP_CALL(6,0,(chartInstance.LocalData.m0_c1_d6_j == 2)))) {
        if(sf_debug_transition_conflict_check_enabled()) {
          unsigned int transitionList[2];
          unsigned int numTransitions=1;
          transitionList[0] = 6;
          sf_debug_transition_conflict_check_begin();
          if(chartInstance.LocalData.m0_c1_d6_j < 2) {
            transitionList[numTransitions] = 5;
            numTransitions++;
          }
          sf_debug_transition_conflict_check_end();
          if(numTransitions>1) {
            _SFD_TRANSITION_CONFLICT(&(transitionList[0]),numTransitions);
          }
        }
        _SFD_CT_CALL(TRANSITION_ACTIVE_TAG,6);
        _SFD_CT_CALL(TRANSITION_WHEN_VALID_TAG,6);
        _SFD_CT_CALL(TRANSITION_BEFORE_COND_ACTION_TAG,6);
        m0_c1_u16_pre_incr__(&chartInstance.LocalData.m0_c1_d3_count);
        _SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,6,0);
        chartInstance.LocalData.m0_c1_d2_convec[_SFD_ARRAY_BOUNDS_CHECK(6, 1, 0,
         1, 0)] = 0;
        _SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,6,1);
        chartInstance.LocalData.m0_c1_d2_convec[_SFD_ARRAY_BOUNDS_CHECK(6, 0, 0,
         1, 0)] = 0;
        _SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,6,2);
        output(&chartInstance.LocalData.m0_c1_d2_convec[0]);
        _SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,6,3);
        OutputData_m0_c1_d8_outdp = 0.0;
        _SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,6,4);
        _SFD_CT_CALL(TRANSITION_AFTER_COND_ACTION_TAG,6);
        _SFD_CT_CALL(TRANSITION_INACTIVE_TAG,6);
        exit_atomic_m0_c1_s4_ROAD4();
        enter_atomic_m0_c1_s6_start();
      } else {
        _SFD_CT_CALL(TRANSITION_BEFORE_PROCESSING_TAG,5);
        if(CV_TRANSITION_EVAL(5,
          _SFD_CCP_CALL(5,0,(chartInstance.LocalData.m0_c1_d6_j < 2)))) {
          _SFD_CT_CALL(TRANSITION_ACTIVE_TAG,5);
          _SFD_CT_CALL(TRANSITION_WHEN_VALID_TAG,5);
          _SFD_CT_CALL(TRANSITION_BEFORE_COND_ACTION_TAG,5);
          chartInstance.LocalData.m0_c1_d2_convec[_SFD_ARRAY_BOUNDS_CHECK(6, 1,
           0, 1, 0)] = 0;
          _SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,5,0);
          chartInstance.LocalData.m0_c1_d2_convec[_SFD_ARRAY_BOUNDS_CHECK(6, 0,
           0, 1, 0)] = 0;
          _SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,5,1);
          output(&chartInstance.LocalData.m0_c1_d2_convec[0]);
          _SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,5,2);
          OutputData_m0_c1_d8_outdp = 0.0;
          _SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,5,3);
          _SFD_CT_CALL(TRANSITION_AFTER_COND_ACTION_TAG,5);
          _SFD_CT_CALL(TRANSITION_INACTIVE_TAG,5);
          exit_atomic_m0_c1_s4_ROAD4();
          enter_atomic_m0_c1_s4_ROAD4();
        }
      }
      _SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,2);
      break;
     case IN_m0_c1_s5_STOP:
      CV_CHART_EVAL(0,0,5);
      break;
     case IN_m0_c1_s6_start:
      CV_CHART_EVAL(0,0,6);
      _SFD_CS_CALL(STATE_ENTER_DURING_FUNCTION_TAG,3);
      _SFD_CCS_CALL(STATE_DURING_COVERAGE_TAG,3,0);
      _SFD_CT_CALL(TRANSITION_ACTIVE_TAG,3);
      _SFD_CT_CALL(TRANSITION_WHEN_VALID_TAG,3);
      _SFD_CT_CALL(TRANSITION_BEFORE_COND_ACTION_TAG,3);
      chartInstance.LocalData.m0_c1_d1_code =
        (uint8_T)In1(chartInstance.LocalData.m0_c1_d3_count);
      _SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,3,0);
      chartInstance.LocalData.m0_c1_d4_i = 0;
      _SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,3,1);
      chartInstance.LocalData.m0_c1_d6_j = 0;
      _SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,3,2);
      _SFD_CT_CALL(TRANSITION_AFTER_COND_ACTION_TAG,3);
      _SFD_CT_CALL(TRANSITION_INACTIVE_TAG,3);
      _SFD_CT_CALL(TRANSITION_BEFORE_PROCESSING_TAG,7);
      if(CV_TRANSITION_EVAL(7,
        _SFD_CCP_CALL(7,0,(chartInstance.LocalData.m0_c1_d1_code == 0)))) {
        if(sf_debug_transition_conflict_check_enabled()) {
          unsigned int transitionList[3];
          unsigned int numTransitions=1;
          transitionList[0] = 7;
          sf_debug_transition_conflict_check_begin();
          if(chartInstance.LocalData.m0_c1_d1_code == 1) {
            transitionList[numTransitions] = 4;
            numTransitions++;
          }
          if(chartInstance.LocalData.m0_c1_d1_code == 2) {
            transitionList[numTransitions] = 8;
            numTransitions++;
          }
          sf_debug_transition_conflict_check_end();
          if(numTransitions>1) {
            _SFD_TRANSITION_CONFLICT(&(transitionList[0]),numTransitions);
          }
        }
        _SFD_CT_CALL(TRANSITION_ACTIVE_TAG,7);
        _SFD_CT_CALL(TRANSITION_WHEN_VALID_TAG,7);
        _SFD_CT_CALL(TRANSITION_BEFORE_COND_ACTION_TAG,7);
        chartInstance.LocalData.m0_c1_d2_convec[_SFD_ARRAY_BOUNDS_CHECK(6, 1, 0,
         1, 0)] = 1;
        _SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,7,0);
        chartInstance.LocalData.m0_c1_d2_convec[_SFD_ARRAY_BOUNDS_CHECK(6, 0, 0,
         1, 0)] = 1;
        _SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,7,1);
        output(&chartInstance.LocalData.m0_c1_d2_convec[0]);
        _SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,7,2);
        OutputData_m0_c1_d8_outdp = 1.0;
        _SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,7,3);
        _SFD_CT_CALL(TRANSITION_AFTER_COND_ACTION_TAG,7);
        _SFD_CT_CALL(TRANSITION_INACTIVE_TAG,7);
        exit_atomic_m0_c1_s6_start();
        enter_atomic_m0_c1_s1_ROAD1();
      } else {
        _SFD_CT_CALL(TRANSITION_BEFORE_PROCESSING_TAG,4);
        if(CV_TRANSITION_EVAL(4,
          _SFD_CCP_CALL(4,0,(chartInstance.LocalData.m0_c1_d1_code == 1)))) {
          if(sf_debug_transition_conflict_check_enabled()) {
            unsigned int transitionList[2];
            unsigned int numTransitions=1;
            transitionList[0] = 4;
            sf_debug_transition_conflict_check_begin();
            if(chartInstance.LocalData.m0_c1_d1_code == 2) {
              transitionList[numTransitions] = 8;
              numTransitions++;
            }
            sf_debug_transition_conflict_check_end();
            if(numTransitions>1) {
              _SFD_TRANSITION_CONFLICT(&(transitionList[0]),numTransitions);
            }
          }
          _SFD_CT_CALL(TRANSITION_ACTIVE_TAG,4);
          _SFD_CT_CALL(TRANSITION_WHEN_VALID_TAG,4);
          _SFD_CT_CALL(TRANSITION_BEFORE_COND_ACTION_TAG,4);
          chartInstance.LocalData.m0_c1_d2_convec[_SFD_ARRAY_BOUNDS_CHECK(6, 1,
           0, 1, 0)] = 1;
          _SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,4,0);
          chartInstance.LocalData.m0_c1_d2_convec[_SFD_ARRAY_BOUNDS_CHECK(6, 0,
           0, 1, 0)] = 1;
          _SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,4,1);
          output(&chartInstance.LocalData.m0_c1_d2_convec[0]);
          _SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,4,2);
          OutputData_m0_c1_d8_outdp = 1.0;
          _SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,4,3);
          _SFD_CT_CALL(TRANSITION_AFTER_COND_ACTION_TAG,4);
          _SFD_CT_CALL(TRANSITION_INACTIVE_TAG,4);
          exit_atomic_m0_c1_s6_start();
          enter_atomic_m0_c1_s2_ROAD2();
        } else {
          _SFD_CT_CALL(TRANSITION_BEFORE_PROCESSING_TAG,8);
          if(CV_TRANSITION_EVAL(8,
            _SFD_CCP_CALL(8,0,(chartInstance.LocalData.m0_c1_d1_code == 2)))) {
            _SFD_CT_CALL(TRANSITION_ACTIVE_TAG,8);
            _SFD_CT_CALL(TRANSITION_WHEN_VALID_TAG,8);
            _SFD_CT_CALL(TRANSITION_INACTIVE_TAG,8);
            exit_atomic_m0_c1_s6_start();
            _SFD_CS_CALL(STATE_ENTER_ENTRY_FUNCTION_TAG,4);
            _SFD_CCS_CALL(STATE_ENTRY_COVERAGE_TAG,4,0);
            chartInstance.State.is_auto_netcon_sfun_c1 = IN_m0_c1_s5_STOP;
            _SFD_CS_CALL(STATE_ACTIVE_TAG,4);
            _SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,4);
          }
        }
      }
      _SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,3);
      break;
     default:
      CV_CHART_EVAL(0,0,0);
      break;
    }
  }
  _SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG,0);
}

static void enter_atomic_m0_c1_s1_ROAD1(void)
{
  _SFD_CS_CALL(STATE_ENTER_ENTRY_FUNCTION_TAG,5);
  _SFD_CCS_CALL(STATE_ENTRY_COVERAGE_TAG,5,0);
  chartInstance.State.is_auto_netcon_sfun_c1 = IN_m0_c1_s1_ROAD1;
  _SFD_CS_CALL(STATE_ACTIVE_TAG,5);
  _SFD_CS_CALL(STATE_BEFORE_ENTRY_ACTION_TAG,5);
  m0_c1_u8_pre_incr__(&chartInstance.LocalData.m0_c1_d4_i);
  _SFD_CCS_CALL(STATE_ENTRY_COVERAGE_TAG,5,1);
  _SFD_CS_CALL(STATE_AFTER_ENTRY_ACTION_TAG,5);
  _SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,5);
}

static void exit_atomic_m0_c1_s1_ROAD1(void)
{
  _SFD_CS_CALL(STATE_ENTER_EXIT_FUNCTION_TAG,5);
  _SFD_CCS_CALL(STATE_EXIT_COVERAGE_TAG,5,0);
  chartInstance.State.is_auto_netcon_sfun_c1 = IN_NO_ACTIVE_CHILD;
  _SFD_CS_CALL(STATE_INACTIVE_TAG,5);
  _SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,5);
}

static void enter_atomic_m0_c1_s2_ROAD2(void)
{
  _SFD_CS_CALL(STATE_ENTER_ENTRY_FUNCTION_TAG,0);
  _SFD_CCS_CALL(STATE_ENTRY_COVERAGE_TAG,0,0);
  chartInstance.State.is_auto_netcon_sfun_c1 = IN_m0_c1_s2_ROAD2;
  _SFD_CS_CALL(STATE_ACTIVE_TAG,0);
  _SFD_CS_CALL(STATE_BEFORE_ENTRY_ACTION_TAG,0);
  m0_c1_u8_pre_incr__(&chartInstance.LocalData.m0_c1_d4_i);
  _SFD_CCS_CALL(STATE_ENTRY_COVERAGE_TAG,0,1);
  _SFD_CS_CALL(STATE_AFTER_ENTRY_ACTION_TAG,0);
  _SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,0);
}

static void exit_atomic_m0_c1_s2_ROAD2(void)
{
  _SFD_CS_CALL(STATE_ENTER_EXIT_FUNCTION_TAG,0);
  _SFD_CCS_CALL(STATE_EXIT_COVERAGE_TAG,0,0);
  chartInstance.State.is_auto_netcon_sfun_c1 = IN_NO_ACTIVE_CHILD;
  _SFD_CS_CALL(STATE_INACTIVE_TAG,0);
  _SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,0);
}

static void enter_atomic_m0_c1_s3_ROAD3(void)
{
  _SFD_CS_CALL(STATE_ENTER_ENTRY_FUNCTION_TAG,1);
  _SFD_CCS_CALL(STATE_ENTRY_COVERAGE_TAG,1,0);
  chartInstance.State.is_auto_netcon_sfun_c1 = IN_m0_c1_s3_ROAD3;
  _SFD_CS_CALL(STATE_ACTIVE_TAG,1);
  _SFD_CS_CALL(STATE_BEFORE_ENTRY_ACTION_TAG,1);
  m0_c1_s8_pre_incr__(&chartInstance.LocalData.m0_c1_d6_j);
  _SFD_CCS_CALL(STATE_ENTRY_COVERAGE_TAG,1,1);
  _SFD_CS_CALL(STATE_AFTER_ENTRY_ACTION_TAG,1);
  _SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,1);
}

static void exit_atomic_m0_c1_s3_ROAD3(void)
{
  _SFD_CS_CALL(STATE_ENTER_EXIT_FUNCTION_TAG,1);
  _SFD_CCS_CALL(STATE_EXIT_COVERAGE_TAG,1,0);
  chartInstance.State.is_auto_netcon_sfun_c1 = IN_NO_ACTIVE_CHILD;
  _SFD_CS_CALL(STATE_INACTIVE_TAG,1);
  _SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,1);
}

static void enter_atomic_m0_c1_s4_ROAD4(void)
{
  _SFD_CS_CALL(STATE_ENTER_ENTRY_FUNCTION_TAG,2);
  _SFD_CCS_CALL(STATE_ENTRY_COVERAGE_TAG,2,0);
  chartInstance.State.is_auto_netcon_sfun_c1 = IN_m0_c1_s4_ROAD4;
  _SFD_CS_CALL(STATE_ACTIVE_TAG,2);
  _SFD_CS_CALL(STATE_BEFORE_ENTRY_ACTION_TAG,2);
  m0_c1_s8_pre_incr__(&chartInstance.LocalData.m0_c1_d6_j);
  _SFD_CCS_CALL(STATE_ENTRY_COVERAGE_TAG,2,1);
  _SFD_CS_CALL(STATE_AFTER_ENTRY_ACTION_TAG,2);
  _SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,2);
}

static void exit_atomic_m0_c1_s4_ROAD4(void)
{
  _SFD_CS_CALL(STATE_ENTER_EXIT_FUNCTION_TAG,2);
  _SFD_CCS_CALL(STATE_EXIT_COVERAGE_TAG,2,0);
  chartInstance.State.is_auto_netcon_sfun_c1 = IN_NO_ACTIVE_CHILD;
  _SFD_CS_CALL(STATE_INACTIVE_TAG,2);
  _SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,2);
}

static void enter_atomic_m0_c1_s6_start(void)
{
  _SFD_CS_CALL(STATE_ENTER_ENTRY_FUNCTION_TAG,3);
  _SFD_CCS_CALL(STATE_ENTRY_COVERAGE_TAG,3,0);
  chartInstance.State.is_auto_netcon_sfun_c1 = IN_m0_c1_s6_start;
  _SFD_CS_CALL(STATE_ACTIVE_TAG,3);
  _SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,3);
}

static void exit_atomic_m0_c1_s6_start(void)
{
  _SFD_CS_CALL(STATE_ENTER_EXIT_FUNCTION_TAG,3);
  _SFD_CCS_CALL(STATE_EXIT_COVERAGE_TAG,3,0);
  chartInstance.State.is_auto_netcon_sfun_c1 = IN_NO_ACTIVE_CHILD;
  _SFD_CS_CALL(STATE_INACTIVE_TAG,3);
  _SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,3);
}

static void broadcast_m0_c1_e9_event(void)
{
  uint8_T previousEvent;
  previousEvent = _sfEvent_;
  _sfEvent_ = event_m0_c1_e9_event;
  _SFD_CE_CALL(EVENT_ENTER_BROADCAST_FUNCTION_TAG,event_m0_c1_e9_event);
  _SFD_CE_CALL(EVENT_BEFORE_BROADCAST_TAG,event_m0_c1_e9_event);
  sf_mex_listen_for_ctrl_c(chartInstance.S);
  auto_netcon_sfun_c1();
  _SFD_CE_CALL(EVENT_AFTER_BROADCAST_TAG,event_m0_c1_e9_event);
  _sfEvent_ = previousEvent;
}

void sf_auto_netcon_sfun_c1_get_check_sum(mxArray *plhs[])
{
  ((real_T *)mxGetPr((plhs[0])))[0] = (real_T)(864784673U);
  ((real_T *)mxGetPr((plhs[0])))[1] = (real_T)(3771725052U);
  ((real_T *)mxGetPr((plhs[0])))[2] = (real_T)(2042347735U);
  ((real_T *)mxGetPr((plhs[0])))[3] = (real_T)(3144464656U);
}
/*
 * Chart initialization function
 */
/* work around the buggy macro in simstruc.h until it is fixed */
#define cdrGetOutputPortReusable(S,port) \

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -