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

📄 parc_sfun_c1.c

📁 CDMA移动通信系统中一种速率功率联合控制方法
💻 C
📖 第 1 页 / 共 5 页
字号:
              _SFD_CS_CALL(STATE_ACTIVE_TAG,6);
              chartInstance.Counters.i2 = 0;
              _SFD_CS_CALL(STATE_BEFORE_ENTRY_ACTION_TAG,6);
              OutputData_m0_c1_d15_Access_Tx_Enable = 0.0;
              _SFD_CCS_CALL(STATE_ENTRY_COVERAGE_TAG,6,1);
              chartInstance.LocalData.m0_c1_d10_Sum_Access_Probe_Corrections =
                0.0;
              _SFD_CCS_CALL(STATE_ENTRY_COVERAGE_TAG,6,2);
              chartInstance.LocalData.m0_c1_d6_Num_Access_Probes = 0.0;
              _SFD_CCS_CALL(STATE_ENTRY_COVERAGE_TAG,6,3);
              _SFD_CS_CALL(STATE_AFTER_ENTRY_ACTION_TAG,6);
              _SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,6);
            } else {
              _SFD_CT_CALL(TRANSITION_ACTIVE_TAG,24);
              _SFD_CT_CALL(TRANSITION_WHEN_VALID_TAG,24);
              _SFD_CT_CALL(TRANSITION_INACTIVE_TAG,24);
              exit_atomic_m0_c1_s14_Access_Probe();
              enter_atomic_m0_c1_s14_Access_Probe();
            }
          }
          _SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,13);
          break;
         case IN_m0_c1_s15_Wait:
          CV_STATE_EVAL(4,0,2);
          _SFD_CS_CALL(STATE_ENTER_DURING_FUNCTION_TAG,6);
          _SFD_CCS_CALL(STATE_DURING_COVERAGE_TAG,6,0);
          _SFD_CT_CALL(TRANSITION_BEFORE_PROCESSING_TAG,0);
          if(CV_TRANSITION_EVAL(0, _SFD_CCP_CALL(0,0,(_sfEvent_ ==
              event_m0_c1_e23_MS_Clock)) && _SFD_CCP_CALL(0,1,(
              chartInstance.Counters.i2 >= 5)))) {
            _SFD_CT_CALL(TRANSITION_ACTIVE_TAG,0);
            _SFD_CT_CALL(TRANSITION_WHEN_VALID_TAG,0);
            _SFD_CT_CALL(TRANSITION_INACTIVE_TAG,0);
            exit_atomic_m0_c1_s15_Wait();
            enter_atomic_m0_c1_s14_Access_Probe();
          }
          _SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,6);
          break;
         default:
          CV_STATE_EVAL(4,0,0);
          break;
        }
      }
      _SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,4);
      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_Mobile_Station_Control_on_the_Traffic_Channel_6_6_4(void)
{
  _SFD_CS_CALL(STATE_ENTER_ENTRY_FUNCTION_TAG,8);
  _SFD_CCS_CALL(STATE_ENTRY_COVERAGE_TAG,8,0);
  chartInstance.State.is_parc_sfun_c1 =
    IN_m0_c1_s1_Mobile_Station_Control_on_the_Traffic_Channel_6_6_4;
  _SFD_CS_CALL(STATE_ACTIVE_TAG,8);
  _SFD_CS_CALL(STATE_BEFORE_ENTRY_ACTION_TAG,8);
  OutputData_m0_c1_d14_Traffic_Tx_Enable = 1.0;
  _SFD_CCS_CALL(STATE_ENTRY_COVERAGE_TAG,8,1);
  _SFD_CS_CALL(STATE_AFTER_ENTRY_ACTION_TAG,8);
  _SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,8);
}

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

static void
exit_internal_m0_c1_s1_Mobile_Station_Control_on_the_Traffic_Channel_6_6_4(void)
{
  switch(chartInstance.State.is_m0_c1_s1_Mobile_Station_Control_on_the_Traffic_Channel_6_6_4)
  {
   case IN_m0_c1_s2_Clear:
    CV_STATE_EVAL(8,1,1);
    exit_atomic_m0_c1_s2_Clear();
    break;
   case IN_m0_c1_s3_Conversation_6_6_4_3_1:
    CV_STATE_EVAL(8,1,2);
    exit_atomic_m0_c1_s3_Conversation_6_6_4_3_1();
    break;
   case IN_m0_c1_s4_N0:
    CV_STATE_EVAL(8,1,3);
    exit_atomic_m0_c1_s4_N0();
    break;
   case IN_m0_c1_s5_N1:
    CV_STATE_EVAL(8,1,4);
    exit_atomic_m0_c1_s5_N1();
    break;
   case IN_m0_c1_s6_P1:
    CV_STATE_EVAL(8,1,5);
    exit_atomic_m0_c1_s6_P1();
    break;
   case IN_m0_c1_s7_P2:
    CV_STATE_EVAL(8,1,6);
    _SFD_CS_CALL(STATE_ENTER_EXIT_FUNCTION_TAG,5);
    _SFD_CCS_CALL(STATE_EXIT_COVERAGE_TAG,5,0);
    chartInstance.State.is_m0_c1_s1_Mobile_Station_Control_on_the_Traffic_Channel_6_6_4
    = IN_NO_ACTIVE_CHILD;
    _SFD_CS_CALL(STATE_INACTIVE_TAG,5);
    _SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,5);
    break;
   case IN_m0_c1_s8_Rate0:
    CV_STATE_EVAL(8,1,7);
    exit_atomic_m0_c1_s8_Rate0();
    break;
   case IN_m0_c1_s9_Rate1:
    CV_STATE_EVAL(8,1,8);
    exit_atomic_m0_c1_s9_Rate1();
    break;
   case IN_m0_c1_s10_RateControl:
    CV_STATE_EVAL(8,1,9);
    exit_atomic_m0_c1_s10_RateControl();
    break;
   case IN_m0_c1_s11_Wait1:
    CV_STATE_EVAL(8,1,10);
    exit_atomic_m0_c1_s11_Wait1();
    break;
   default:
    CV_STATE_EVAL(8,1,0);
    break;
  }
}

static void enter_atomic_m0_c1_s2_Clear(void)
{
  _SFD_CS_CALL(STATE_ENTER_ENTRY_FUNCTION_TAG,1);
  _SFD_CCS_CALL(STATE_ENTRY_COVERAGE_TAG,1,0);
  chartInstance.State.is_m0_c1_s1_Mobile_Station_Control_on_the_Traffic_Channel_6_6_4
  = IN_m0_c1_s2_Clear;
  _SFD_CS_CALL(STATE_ACTIVE_TAG,1);
  _SFD_CS_CALL(STATE_BEFORE_ENTRY_ACTION_TAG,1);
  chartInstance.LocalData.m0_c1_d4_Num0 = 0.0;
  _SFD_CCS_CALL(STATE_ENTRY_COVERAGE_TAG,1,1);
  chartInstance.LocalData.m0_c1_d5_Num1 = 0.0;
  _SFD_CCS_CALL(STATE_ENTRY_COVERAGE_TAG,1,2);
  _SFD_CS_CALL(STATE_AFTER_ENTRY_ACTION_TAG,1);
  _SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,1);
}

static void exit_atomic_m0_c1_s2_Clear(void)
{
  _SFD_CS_CALL(STATE_ENTER_EXIT_FUNCTION_TAG,1);
  _SFD_CCS_CALL(STATE_EXIT_COVERAGE_TAG,1,0);
  chartInstance.State.is_m0_c1_s1_Mobile_Station_Control_on_the_Traffic_Channel_6_6_4
  = 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_s3_Conversation_6_6_4_3_1(void)
{
  _SFD_CS_CALL(STATE_ENTER_ENTRY_FUNCTION_TAG,2);
  _SFD_CCS_CALL(STATE_ENTRY_COVERAGE_TAG,2,0);
  chartInstance.State.is_m0_c1_s1_Mobile_Station_Control_on_the_Traffic_Channel_6_6_4
  = IN_m0_c1_s3_Conversation_6_6_4_3_1;
  _SFD_CS_CALL(STATE_ACTIVE_TAG,2);
  _SFD_CS_CALL(STATE_BEFORE_ENTRY_ACTION_TAG,2);
  OutputData_m0_c1_d16_Tx_Power =
    ((((-chartInstance.LocalData.m0_c1_d2_Input_Power - 73.0) +
    chartInstance.LocalData.m0_c1_d3_Nom_Pwr) +
    chartInstance.LocalData.m0_c1_d1_Init_Pwr) +
    chartInstance.LocalData.m0_c1_d10_Sum_Access_Probe_Corrections) +
    chartInstance.LocalData.m0_c1_d11_Sum_Power_Bit_Corrections;
  _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_s3_Conversation_6_6_4_3_1(void)
{
  _SFD_CS_CALL(STATE_ENTER_EXIT_FUNCTION_TAG,2);
  _SFD_CCS_CALL(STATE_EXIT_COVERAGE_TAG,2,0);
  chartInstance.State.is_m0_c1_s1_Mobile_Station_Control_on_the_Traffic_Channel_6_6_4
  = IN_NO_ACTIVE_CHILD;
  _SFD_CS_CALL(STATE_INACTIVE_TAG,2);
  _SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,2);
}

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

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

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

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

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

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

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

static void enter_atomic_m0_c1_s12_Mobile_Station_Idle_State_6_6_2(void)
{
  _SFD_CS_CALL(STATE_ENTER_ENTRY_FUNCTION_TAG,0);
  _SFD_CCS_CALL(STATE_ENTRY_COVERAGE_TAG,0,0);
  chartInstance.State.is_parc_sfun_c1 =
    IN_m0_c1_s12_Mobile_Station_Idle_State_6_6_2;
  _SFD_CS_CALL(STATE_ACTIVE_TAG,0);
  _SFD_CS_CALL(STATE_BEFORE_ENTRY_ACTION_TAG,0);
  OutputData_m0_c1_d15_Access_Tx_Enable = 0.0;
  _SFD_CCS_CALL(STATE_ENTRY_COVERAGE_TAG,0,1);
  chartInstance.LocalData.m0_c1_d3_Nom_Pwr = 5.0;
  _SFD_CCS_CALL(STATE_ENTRY_COVERAGE_TAG,0,2);
  chartInstance.LocalData.m0_c1_d1_Init_Pwr = 10.0;
  _SFD_CCS_CALL(STATE_ENTRY_COVERAGE_TAG,0,3);
  chartInstance.LocalData.m0_c1_d8_Pwr_Step = 5.0;
  _SFD_CCS_CALL(STATE_ENTRY_COVERAGE_TAG,0,4);
  _SFD_CS_CALL(STATE_AFTER_ENTRY_ACTION_TAG,0);
  _SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,0);
}

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

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

static void exit_internal_m0_c1_s13_System_Access_6_6_3(void)
{
  switch(chartInstance.State.is_m0_c1_s13_System_Access_6_6_3) {
   case IN_m0_c1_s14_Access_Probe:
    CV_STATE_EVAL(4,1,1);
    exit_atomic_m0_c1_s14_Access_Probe();
    break;
   case IN_m0_c1_s15_Wait:
    CV_STATE_EVAL(4,1,2);
    exit_atomic_m0_c1_s15_Wait();
    break;
   default:
    CV_STATE_EVAL(4,1,0);
    break;
  }
}

static void enter_atomic_m0_c1_s14_Access_Probe(void)
{

⌨️ 快捷键说明

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