📄 tpc9_sfun_c1.c
字号:
}
static void
exit_atomic_m0_c1_s1_Mobile_Station_Control_on_the_Traffic_Channel_3(void)
{
_SFD_CS_CALL(STATE_ENTER_EXIT_FUNCTION_TAG,1);
_SFD_CCS_CALL(STATE_EXIT_COVERAGE_TAG,1,0);
chartInstance.State.is_tpc9_sfun_c1 = IN_NO_ACTIVE_CHILD;
_SFD_CS_CALL(STATE_INACTIVE_TAG,1);
_SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,1);
}
static void
exit_internal_m0_c1_s1_Mobile_Station_Control_on_the_Traffic_Channel_3(void)
{
exit_atomic_m0_c1_s2_Conversation_3_1();
}
static void enter_atomic_m0_c1_s2_Conversation_3_1(void)
{
_SFD_CS_CALL(STATE_ENTER_ENTRY_FUNCTION_TAG,0);
_SFD_CCS_CALL(STATE_ENTRY_COVERAGE_TAG,0,0);
chartInstance.State.is_m0_c1_s1_Mobile_Station_Control_on_the_Traffic_Channel_3
= IN_m0_c1_s2_Conversation_3_1;
_SFD_CS_CALL(STATE_ACTIVE_TAG,0);
_SFD_CS_CALL(STATE_BEFORE_ENTRY_ACTION_TAG,0);
OutputData_m0_c1_d20_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_d7_Sum_Access_Probe_Corrections) +
chartInstance.LocalData.m0_c1_d8_Sum_Power_Bit_Corrections;
_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_Conversation_3_1(void)
{
_SFD_CS_CALL(STATE_ENTER_EXIT_FUNCTION_TAG,0);
_SFD_CCS_CALL(STATE_EXIT_COVERAGE_TAG,0,0);
chartInstance.State.is_m0_c1_s1_Mobile_Station_Control_on_the_Traffic_Channel_3
= 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_Mobile_Station_Idle_State_1(void)
{
real_T __sfTemp1;
_SFD_CS_CALL(STATE_ENTER_ENTRY_FUNCTION_TAG,3);
_SFD_CCS_CALL(STATE_ENTRY_COVERAGE_TAG,3,0);
chartInstance.State.is_tpc9_sfun_c1 = IN_m0_c1_s3_Mobile_Station_Idle_State_1;
_SFD_CS_CALL(STATE_ACTIVE_TAG,3);
_SFD_CS_CALL(STATE_BEFORE_ENTRY_ACTION_TAG,3);
OutputData_m0_c1_d22_Access_Tx_Enable = 0.0;
_SFD_CCS_CALL(STATE_ENTRY_COVERAGE_TAG,3,1);
chartInstance.LocalData.m0_c1_d3_Nom_Pwr = 5.0;
_SFD_CCS_CALL(STATE_ENTRY_COVERAGE_TAG,3,2);
chartInstance.LocalData.m0_c1_d1_Init_Pwr = 10.0;
_SFD_CCS_CALL(STATE_ENTRY_COVERAGE_TAG,3,3);
sf_mex_printf("%s =\n", "Pwr_Step");
chartInstance.LocalData.m0_c1_d6_Pwr_Step = 5.0;
__sfTemp1 = chartInstance.LocalData.m0_c1_d6_Pwr_Step;
ml_call_function("disp", 0, 1, 4, sf_mex_create_mx_array(&__sfTemp1, 0, 0, 0));
_SFD_CCS_CALL(STATE_ENTRY_COVERAGE_TAG,3,4);
_SFD_CS_CALL(STATE_AFTER_ENTRY_ACTION_TAG,3);
_SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,3);
}
static void exit_atomic_m0_c1_s3_Mobile_Station_Idle_State_1(void)
{
_SFD_CS_CALL(STATE_ENTER_EXIT_FUNCTION_TAG,3);
_SFD_CCS_CALL(STATE_EXIT_COVERAGE_TAG,3,0);
chartInstance.State.is_tpc9_sfun_c1 = 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_s4_System_Access_2(void)
{
_SFD_CS_CALL(STATE_ENTER_EXIT_FUNCTION_TAG,4);
_SFD_CCS_CALL(STATE_EXIT_COVERAGE_TAG,4,0);
chartInstance.State.is_tpc9_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_s4_System_Access_2(void)
{
switch(chartInstance.State.is_m0_c1_s4_System_Access_2) {
case IN_m0_c1_s5_Access_Probe:
CV_STATE_EVAL(4,1,1);
exit_atomic_m0_c1_s5_Access_Probe();
break;
case IN_m0_c1_s6_Wait:
CV_STATE_EVAL(4,1,2);
exit_atomic_m0_c1_s6_Wait();
break;
default:
CV_STATE_EVAL(4,1,0);
break;
}
}
static void enter_atomic_m0_c1_s5_Access_Probe(void)
{
_SFD_CS_CALL(STATE_ENTER_ENTRY_FUNCTION_TAG,5);
_SFD_CCS_CALL(STATE_ENTRY_COVERAGE_TAG,5,0);
chartInstance.State.is_m0_c1_s4_System_Access_2 = IN_m0_c1_s5_Access_Probe;
_SFD_CS_CALL(STATE_ACTIVE_TAG,5);
chartInstance.Counters.i1 = 0;
_SFD_CS_CALL(STATE_BEFORE_ENTRY_ACTION_TAG,5);
OutputData_m0_c1_d20_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_d7_Sum_Access_Probe_Corrections;
_SFD_CCS_CALL(STATE_ENTRY_COVERAGE_TAG,5,1);
OutputData_m0_c1_d22_Access_Tx_Enable = 1.0;
_SFD_CCS_CALL(STATE_ENTRY_COVERAGE_TAG,5,2);
_SFD_CS_CALL(STATE_AFTER_ENTRY_ACTION_TAG,5);
_SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,5);
}
static void exit_atomic_m0_c1_s5_Access_Probe(void)
{
_SFD_CS_CALL(STATE_ENTER_EXIT_FUNCTION_TAG,5);
_SFD_CCS_CALL(STATE_EXIT_COVERAGE_TAG,5,0);
chartInstance.State.is_m0_c1_s4_System_Access_2 = IN_NO_ACTIVE_CHILD;
_SFD_CS_CALL(STATE_INACTIVE_TAG,5);
_SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,5);
}
static void exit_atomic_m0_c1_s6_Wait(void)
{
_SFD_CS_CALL(STATE_ENTER_EXIT_FUNCTION_TAG,2);
_SFD_CCS_CALL(STATE_EXIT_COVERAGE_TAG,2,0);
_SFD_CS_CALL(STATE_BEFORE_EXIT_ACTION_TAG,2);
chartInstance.LocalData.m0_c1_d2_Input_Power =
InputData_m0_c1_d19_Current_Input_Power;
_SFD_CCS_CALL(STATE_EXIT_COVERAGE_TAG,2,1);
_SFD_CS_CALL(STATE_AFTER_EXIT_ACTION_TAG,2);
chartInstance.State.is_m0_c1_s4_System_Access_2 = IN_NO_ACTIVE_CHILD;
_SFD_CS_CALL(STATE_INACTIVE_TAG,2);
_SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,2);
}
static void broadcast_m0_c1_e23_Start_Chart(void)
{
uint8_T previousEvent;
previousEvent = _sfEvent_;
_sfEvent_ = event_m0_c1_e23_Start_Chart;
_SFD_CE_CALL(EVENT_ENTER_BROADCAST_FUNCTION_TAG,event_m0_c1_e23_Start_Chart);
_SFD_CE_CALL(EVENT_BEFORE_BROADCAST_TAG,event_m0_c1_e23_Start_Chart);
sf_mex_listen_for_ctrl_c(chartInstance.S);
tpc9_sfun_c1();
_SFD_CE_CALL(EVENT_AFTER_BROADCAST_TAG,event_m0_c1_e23_Start_Chart);
_sfEvent_ = previousEvent;
}
static void broadcast_m0_c1_e24_Start_Access(void)
{
uint8_T previousEvent;
previousEvent = _sfEvent_;
_sfEvent_ = event_m0_c1_e24_Start_Access;
_SFD_CE_CALL(EVENT_ENTER_BROADCAST_FUNCTION_TAG,event_m0_c1_e24_Start_Access);
_SFD_CE_CALL(EVENT_BEFORE_BROADCAST_TAG,event_m0_c1_e24_Start_Access);
sf_mex_listen_for_ctrl_c(chartInstance.S);
tpc9_sfun_c1();
_SFD_CE_CALL(EVENT_AFTER_BROADCAST_TAG,event_m0_c1_e24_Start_Access);
_sfEvent_ = previousEvent;
}
static void broadcast_m0_c1_e25_BS_Response(void)
{
uint8_T previousEvent;
previousEvent = _sfEvent_;
_sfEvent_ = event_m0_c1_e25_BS_Response;
_SFD_CE_CALL(EVENT_ENTER_BROADCAST_FUNCTION_TAG,event_m0_c1_e25_BS_Response);
_SFD_CE_CALL(EVENT_BEFORE_BROADCAST_TAG,event_m0_c1_e25_BS_Response);
sf_mex_listen_for_ctrl_c(chartInstance.S);
tpc9_sfun_c1();
_SFD_CE_CALL(EVENT_AFTER_BROADCAST_TAG,event_m0_c1_e25_BS_Response);
_sfEvent_ = previousEvent;
}
static void broadcast_m0_c1_e26_PCG_Clock(void)
{
uint8_T previousEvent;
previousEvent = _sfEvent_;
_sfEvent_ = event_m0_c1_e26_PCG_Clock;
_SFD_CE_CALL(EVENT_ENTER_BROADCAST_FUNCTION_TAG,event_m0_c1_e26_PCG_Clock);
_SFD_CE_CALL(EVENT_BEFORE_BROADCAST_TAG,event_m0_c1_e26_PCG_Clock);
sf_mex_listen_for_ctrl_c(chartInstance.S);
tpc9_sfun_c1();
_SFD_CE_CALL(EVENT_AFTER_BROADCAST_TAG,event_m0_c1_e26_PCG_Clock);
_sfEvent_ = previousEvent;
}
static void broadcast_m0_c1_e27_End_Call(void)
{
uint8_T previousEvent;
previousEvent = _sfEvent_;
_sfEvent_ = event_m0_c1_e27_End_Call;
_SFD_CE_CALL(EVENT_ENTER_BROADCAST_FUNCTION_TAG,event_m0_c1_e27_End_Call);
_SFD_CE_CALL(EVENT_BEFORE_BROADCAST_TAG,event_m0_c1_e27_End_Call);
sf_mex_listen_for_ctrl_c(chartInstance.S);
tpc9_sfun_c1();
_SFD_CE_CALL(EVENT_AFTER_BROADCAST_TAG,event_m0_c1_e27_End_Call);
_sfEvent_ = previousEvent;
}
static void broadcast_m0_c1_e28_MS_Clock(void)
{
uint8_T previousEvent;
previousEvent = _sfEvent_;
_sfEvent_ = event_m0_c1_e28_MS_Clock;
_SFD_CE_CALL(EVENT_ENTER_BROADCAST_FUNCTION_TAG,event_m0_c1_e28_MS_Clock);
_SFD_CE_CALL(EVENT_BEFORE_BROADCAST_TAG,event_m0_c1_e28_MS_Clock);
sf_mex_listen_for_ctrl_c(chartInstance.S);
tpc9_sfun_c1();
_SFD_CE_CALL(EVENT_AFTER_BROADCAST_TAG,event_m0_c1_e28_MS_Clock);
_sfEvent_ = previousEvent;
}
void sf_tpc9_sfun_c1_get_check_sum(mxArray *plhs[])
{
((real_T *)mxGetPr((plhs[0])))[0] = (real_T)(3048067056U);
((real_T *)mxGetPr((plhs[0])))[1] = (real_T)(3063311764U);
((real_T *)mxGetPr((plhs[0])))[2] = (real_T)(1510513355U);
((real_T *)mxGetPr((plhs[0])))[3] = (real_T)(3080277551U);
}
/*
* Chart initialization function
*/
/* work around the buggy macro in simstruc.h until it is fixed */
#define cdrGetOutputPortReusable(S,port) \
( (S)->portInfo.outputs[(port)].attributes.optimOpts != \
SS_NOT_REUSABLE_AND_GLOBAL )
static void initialize_tpc9_sfun_c1( SimStruct *S)
{
{
chartInstance.LocalData.m0_c1_d1_Init_Pwr = 1.0;
chartInstance.LocalData.m0_c1_d2_Input_Power = 10.0;
chartInstance.LocalData.m0_c1_d4_Num_Access_Probes = 0.0;
chartInstance.LocalData.m0_c1_d5_Num_Step = 8.0;
chartInstance.LocalData.m0_c1_d6_Pwr_Step = 5.0;
chartInstance.LocalData.m0_c1_d7_Sum_Access_Probe_Corrections = 0.0;
chartInstance.LocalData.m0_c1_d8_Sum_Power_Bit_Corrections = 0.0;
chartInstance.LocalData.m0_c1_d9_cmd0 = -1.0;
chartInstance.LocalData.m0_c1_d10_cmd1 = -1.0;
chartInstance.LocalData.m0_c1_d11_cmd2 = -1.0;
chartInstance.LocalData.m0_c1_d14_last_corrections = 0.0;
chartInstance.LocalData.m0_c1_d13_delta_p0 = 0.5;
chartInstance.LocalData.m0_c1_d15_m = 0.75;
chartInstance.LocalData.m0_c1_d16_res = 0.0;
chartInstance.LocalData.m0_c1_d17_temp = 0.0;
chartInstance.LocalData.m0_c1_d12_current_corrections = 0.0;
chartInstance.LocalData.m0_c1_d3_Nom_Pwr = 5.0;
if(!cdrGetOutputPortReusable(S,1)) {
OutputData_m0_c1_d20_Tx_Power = -50.0;
}
if(!cdrGetOutputPortReusable(S,2)) {
OutputData_m0_c1_d21_Traffic_Tx_Enable = 0.0;
}
if(!cdrGetOutputPortReusable(S,3)) {
OutputData_m0_c1_d22_Access_Tx_Enable = 0.0;
}
}
/* Initialize chart's state configuration */
memset((void*)&(chartInstance.State),0,sizeof(chartInstance.State));
{
if(ssIsFirstInitCond(S)) {
/* do this only if simulation is starting */
if(!sim_mode_is_rtw_gen(S)) {
{
unsigned int chartAlreadyPresent;
chartAlreadyPresent = sf_debug_initialize_chart(_tpc9MachineNumber_,
1,
6,
23,
22,
6,
0,
0,
0,
&(chartInstance.chartNumber),
&(chartInstance.instanceNumber),
ssGetPath((SimStruct *)S),
(void *)S);
if(chartAlreadyPresent==0) {
/* this is the first instance */
sf_debug_set_chart_disable_implicit_casting(_tpc9MachineNumber_,chartInstance.chartNumber,0);
sf_debug_set_chart_event_thresholds(_tpc9MachineNumber_,
chartInstance.chartNumber,
6,
6,
6);
_SFD_SET_DATA_PROPS(11,
0,
0,
0,
SF_DOUBLE,
0,
NULL,
0,
0.0,
1.0,
0);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -