📄 c1_vehicles.c
字号:
transitionList[numTransitions] = 18;
numTransitions++;
}
if(_sfEvent_ == c1_c_event_ta) {
transitionList[numTransitions] = 24;
numTransitions++;
}
if(_sfEvent_ == c1_c_event_fk) {
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,12);
c1_exit_internal_uav3();
if(chartInstance.c1_is_uav3 != c1_IN_ac_avoid) {
chartInstance.c1_is_uav3 = (uint8_T)c1_IN_ac_avoid;
_SFD_CS_CALL(STATE_ACTIVE_TAG,12);
chartInstance.c1_c_tp_ac_avoid = 1;
chartInstance.c1_mode_count[0][2]++;
_SFD_DATA_RANGE_CHECK(chartInstance.c1_mode_count[0][2], 0U);
}
} else if(CV_TRANSITION_EVAL(18U, (int32_T)_SFD_CCP_CALL(18,0,(_sfEvent_ ==
c1_c_event_oa))) != 0) {
if(sf_debug_transition_conflict_check_enabled()) {
unsigned int transitionList[3];
unsigned int numTransitions=1;
transitionList[0] = 18;
sf_debug_transition_conflict_check_begin();
if(_sfEvent_ == c1_c_event_ta) {
transitionList[numTransitions] = 24;
numTransitions++;
}
if(_sfEvent_ == c1_c_event_fk) {
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,18);
c1_exit_internal_uav3();
if(chartInstance.c1_is_uav3 != c1_IN_obs_avoid) {
chartInstance.c1_is_uav3 = (uint8_T)c1_IN_obs_avoid;
_SFD_CS_CALL(STATE_ACTIVE_TAG,22);
chartInstance.c1_c_tp_obs_avoid = 1;
chartInstance.c1_mode_count[1][2]++;
_SFD_DATA_RANGE_CHECK(chartInstance.c1_mode_count[1][2], 0U);
}
} else if(CV_TRANSITION_EVAL(24U, (int32_T)_SFD_CCP_CALL(24,0,(_sfEvent_ ==
c1_c_event_ta))) != 0) {
if(sf_debug_transition_conflict_check_enabled()) {
unsigned int transitionList[2];
unsigned int numTransitions=1;
transitionList[0] = 24;
sf_debug_transition_conflict_check_begin();
if(_sfEvent_ == c1_c_event_fk) {
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,24);
c1_exit_internal_uav3();
if(chartInstance.c1_is_uav3 != c1_IN_tgt_aquire) {
chartInstance.c1_is_uav3 = (uint8_T)c1_IN_tgt_aquire;
_SFD_CS_CALL(STATE_ACTIVE_TAG,11);
chartInstance.c1_c_tp_tgt_aquire = 1;
chartInstance.c1_mode_count[2][2]++;
_SFD_DATA_RANGE_CHECK(chartInstance.c1_mode_count[2][2], 0U);
}
} else if(CV_TRANSITION_EVAL(8U, (int32_T)_SFD_CCP_CALL(8,0,(_sfEvent_ ==
c1_c_event_fk))) != 0) {
_SFD_CT_CALL(TRANSITION_ACTIVE_TAG,8);
c1_exit_internal_uav3();
if(chartInstance.c1_is_uav3 != c1_IN_form_keep) {
chartInstance.c1_is_uav3 = (uint8_T)c1_IN_form_keep;
_SFD_CS_CALL(STATE_ACTIVE_TAG,17);
chartInstance.c1_c_tp_form_keep = 1;
chartInstance.c1_mode_count[3][2]++;
_SFD_DATA_RANGE_CHECK(chartInstance.c1_mode_count[3][2], 0U);
}
} else {
switch(chartInstance.c1_is_uav3) {
case c1_IN_ac_avoid:
CV_STATE_EVAL(5,0,1);
_SFD_CS_CALL(STATE_ENTER_DURING_FUNCTION_TAG,12);
_SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,12);
break;
case c1_IN_form_keep:
CV_STATE_EVAL(5,0,2);
_SFD_CS_CALL(STATE_ENTER_DURING_FUNCTION_TAG,17);
_SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,17);
break;
case c1_IN_obs_avoid:
CV_STATE_EVAL(5,0,3);
_SFD_CS_CALL(STATE_ENTER_DURING_FUNCTION_TAG,22);
_SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,22);
break;
case c1_IN_tgt_aquire:
CV_STATE_EVAL(5,0,4);
_SFD_CS_CALL(STATE_ENTER_DURING_FUNCTION_TAG,11);
_SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,11);
break;
default:
CV_STATE_EVAL(5,0,0);
break;
}
}
}
_SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,5);
}
static void c1_exit_internal_uav3(void)
{
switch(chartInstance.c1_is_uav3) {
case c1_IN_ac_avoid:
CV_STATE_EVAL(5,1,1);
chartInstance.c1_c_tp_ac_avoid = 0;
chartInstance.c1_is_uav3 = (uint8_T)c1_IN_NO_ACTIVE_CHILD;
_SFD_CS_CALL(STATE_INACTIVE_TAG,12);
break;
case c1_IN_form_keep:
CV_STATE_EVAL(5,1,2);
chartInstance.c1_c_tp_form_keep = 0;
chartInstance.c1_is_uav3 = (uint8_T)c1_IN_NO_ACTIVE_CHILD;
_SFD_CS_CALL(STATE_INACTIVE_TAG,17);
break;
case c1_IN_obs_avoid:
CV_STATE_EVAL(5,1,3);
chartInstance.c1_c_tp_obs_avoid = 0;
chartInstance.c1_is_uav3 = (uint8_T)c1_IN_NO_ACTIVE_CHILD;
_SFD_CS_CALL(STATE_INACTIVE_TAG,22);
break;
case c1_IN_tgt_aquire:
CV_STATE_EVAL(5,1,4);
chartInstance.c1_c_tp_tgt_aquire = 0;
chartInstance.c1_is_uav3 = (uint8_T)c1_IN_NO_ACTIVE_CHILD;
_SFD_CS_CALL(STATE_INACTIVE_TAG,11);
break;
default:
CV_STATE_EVAL(5,1,0);
break;
}
}
static void c1_uav4(void)
{
_SFD_CS_CALL(STATE_ENTER_DURING_FUNCTION_TAG,23);
if(chartInstance.c1_is_active_uav4 != 0) {
if(CV_TRANSITION_EVAL(2U, (int32_T)_SFD_CCP_CALL(2,0,(_sfEvent_ ==
c1_d_event_aa))) != 0) {
if(sf_debug_transition_conflict_check_enabled()) {
unsigned int transitionList[4];
unsigned int numTransitions=1;
transitionList[0] = 2;
sf_debug_transition_conflict_check_begin();
if(_sfEvent_ == c1_d_event_oa) {
transitionList[numTransitions] = 4;
numTransitions++;
}
if(_sfEvent_ == c1_d_event_ta) {
transitionList[numTransitions] = 1;
numTransitions++;
}
if(_sfEvent_ == c1_d_event_fk) {
transitionList[numTransitions] = 10;
numTransitions++;
}
sf_debug_transition_conflict_check_end();
if(numTransitions>1) {
_SFD_TRANSITION_CONFLICT(&(transitionList[0]),numTransitions);
}
}
_SFD_CT_CALL(TRANSITION_ACTIVE_TAG,2);
c1_exit_internal_uav4();
if(chartInstance.c1_is_uav4 != c1_IN_ac_avoid) {
chartInstance.c1_is_uav4 = (uint8_T)c1_IN_ac_avoid;
_SFD_CS_CALL(STATE_ACTIVE_TAG,7);
chartInstance.c1_d_tp_ac_avoid = 1;
chartInstance.c1_mode_count[0][3]++;
_SFD_DATA_RANGE_CHECK(chartInstance.c1_mode_count[0][3], 0U);
}
} else if(CV_TRANSITION_EVAL(4U, (int32_T)_SFD_CCP_CALL(4,0,(_sfEvent_ ==
c1_d_event_oa))) != 0) {
if(sf_debug_transition_conflict_check_enabled()) {
unsigned int transitionList[3];
unsigned int numTransitions=1;
transitionList[0] = 4;
sf_debug_transition_conflict_check_begin();
if(_sfEvent_ == c1_d_event_ta) {
transitionList[numTransitions] = 1;
numTransitions++;
}
if(_sfEvent_ == c1_d_event_fk) {
transitionList[numTransitions] = 10;
numTransitions++;
}
sf_debug_transition_conflict_check_end();
if(numTransitions>1) {
_SFD_TRANSITION_CONFLICT(&(transitionList[0]),numTransitions);
}
}
_SFD_CT_CALL(TRANSITION_ACTIVE_TAG,4);
c1_exit_internal_uav4();
if(chartInstance.c1_is_uav4 != c1_IN_obs_avoid) {
chartInstance.c1_is_uav4 = (uint8_T)c1_IN_obs_avoid;
_SFD_CS_CALL(STATE_ACTIVE_TAG,10);
chartInstance.c1_d_tp_obs_avoid = 1;
chartInstance.c1_mode_count[1][3]++;
_SFD_DATA_RANGE_CHECK(chartInstance.c1_mode_count[1][3], 0U);
}
} else if(CV_TRANSITION_EVAL(1U, (int32_T)_SFD_CCP_CALL(1,0,(_sfEvent_ ==
c1_d_event_ta))) != 0) {
if(sf_debug_transition_conflict_check_enabled()) {
unsigned int transitionList[2];
unsigned int numTransitions=1;
transitionList[0] = 1;
sf_debug_transition_conflict_check_begin();
if(_sfEvent_ == c1_d_event_fk) {
transitionList[numTransitions] = 10;
numTransitions++;
}
sf_debug_transition_conflict_check_end();
if(numTransitions>1) {
_SFD_TRANSITION_CONFLICT(&(transitionList[0]),numTransitions);
}
}
_SFD_CT_CALL(TRANSITION_ACTIVE_TAG,1);
c1_exit_internal_uav4();
if(chartInstance.c1_is_uav4 != c1_IN_tgt_aquire) {
chartInstance.c1_is_uav4 = (uint8_T)c1_IN_tgt_aquire;
_SFD_CS_CALL(STATE_ACTIVE_TAG,21);
chartInstance.c1_d_tp_tgt_aquire = 1;
chartInstance.c1_mode_count[2][3]++;
_SFD_DATA_RANGE_CHECK(chartInstance.c1_mode_count[2][3], 0U);
}
} else if(CV_TRANSITION_EVAL(10U, (int32_T)_SFD_CCP_CALL(10,0,(_sfEvent_ ==
c1_d_event_fk))) != 0) {
_SFD_CT_CALL(TRANSITION_ACTIVE_TAG,10);
c1_exit_internal_uav4();
if(chartInstance.c1_is_uav4 != c1_IN_form_keep) {
chartInstance.c1_is_uav4 = (uint8_T)c1_IN_form_keep;
_SFD_CS_CALL(STATE_ACTIVE_TAG,1);
chartInstance.c1_d_tp_form_keep = 1;
chartInstance.c1_mode_count[3][3]++;
_SFD_DATA_RANGE_CHECK(chartInstance.c1_mode_count[3][3], 0U);
}
} else {
switch(chartInstance.c1_is_uav4) {
case c1_IN_ac_avoid:
CV_STATE_EVAL(23,0,1);
_SFD_CS_CALL(STATE_ENTER_DURING_FUNCTION_TAG,7);
_SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,7);
break;
case c1_IN_form_keep:
CV_STATE_EVAL(23,0,2);
_SFD_CS_CALL(STATE_ENTER_DURING_FUNCTION_TAG,1);
_SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,1);
break;
case c1_IN_obs_avoid:
CV_STATE_EVAL(23,0,3);
_SFD_CS_CALL(STATE_ENTER_DURING_FUNCTION_TAG,10);
_SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,10);
break;
case c1_IN_tgt_aquire:
CV_STATE_EVAL(23,0,4);
_SFD_CS_CALL(STATE_ENTER_DURING_FUNCTION_TAG,21);
_SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,21);
break;
default:
CV_STATE_EVAL(23,0,0);
break;
}
}
}
_SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,23);
}
static void c1_exit_internal_uav4(void)
{
switch(chartInstance.c1_is_uav4) {
case c1_IN_ac_avoid:
CV_STATE_EVAL(23,1,1);
chartInstance.c1_d_tp_ac_avoid = 0;
chartInstance.c1_is_uav4 = (uint8_T)c1_IN_NO_ACTIVE_CHILD;
_SFD_CS_CALL(STATE_INACTIVE_TAG,7);
break;
case c1_IN_form_keep:
CV_STATE_EVAL(23,1,2);
chartInstance.c1_d_tp_form_keep = 0;
chartInstance.c1_is_uav4 = (uint8_T)c1_IN_NO_ACTIVE_CHILD;
_SFD_CS_CALL(STATE_INACTIVE_TAG,1);
break;
case c1_IN_obs_avoid:
CV_STATE_EVAL(23,1,3);
chartInstance.c1_d_tp_obs_avoid = 0;
chartInstance.c1_is_uav4 = (uint8_T)c1_IN_NO_ACTIVE_CHILD;
_SFD_CS_CALL(STATE_INACTIVE_TAG,10);
break;
case c1_IN_tgt_aquire:
CV_STATE_EVAL(23,1,4);
chartInstance.c1_d_tp_tgt_aquire = 0;
chartInstance.c1_is_uav4 = (uint8_T)c1_IN_NO_ACTIVE_CHILD;
_SFD_CS_CALL(STATE_INACTIVE_TAG,21);
break;
default:
CV_STATE_EVAL(23,1,0);
break;
}
}
static void c1_uav5(void)
{
_SFD_CS_CALL(STATE_ENTER_DURING_FUNCTION_TAG,0);
if(chartInstance.c1_is_active_uav5 != 0) {
if(CV_TRANSITION_EVAL(16U, (int32_T)_SFD_CCP_CALL(16,0,(_sfEvent_ ==
c1_e_event_aa))) != 0) {
if(sf_debug_transition_conflict_check_enabled()) {
unsigned int transitionList[4];
unsigned int numTransitions=1;
transitionList[0] = 16;
sf_debug_transition_conflict_check_begin();
if(_sfEvent_ == c1_e_event_oa) {
transitionList[numTransitions] = 5;
numTransitions++;
}
if(_sfEvent_ == c1_e_event_ta) {
transitionList[numTransitions] = 17;
numTransitions++;
}
if(_sfEvent_ == c1_e_event_fk) {
transitionList[numTransitions] = 14;
numTransitions++;
}
sf_debug_transition_conflict_check_end();
if(numTransitions>1) {
_SFD_TRANSITION_CONFLICT(&(transitionList[0]),numTransitions);
}
}
_SFD_CT_CALL(TRANSITION_ACTIVE_TAG,16);
c1_exit_internal_uav5();
if(chartInstance.c1_is_uav5 != c1_IN_ac_avoid) {
chartInstance.c1_is_uav5 = (uint8_T)c1_IN_ac_avoid;
_SFD_CS_CALL(STATE_ACTIVE_TAG,4);
chartInstance.c1_e_tp_ac_avoid = 1;
chartInstance.c1_mode_count[0][4]++;
_SFD_DATA_RANGE_CHECK(chartInstance.c1_mode_count[0][4], 0U);
}
} else if(CV_TRANSITION_EVAL(5U, (int32_T)_SFD_CCP_CALL(5,0,(_sfEvent_ ==
c1_e_event_oa))) != 0) {
if(sf_debug_transition_conflict_check_enabled()) {
unsigned int transitionList[3];
unsigned int numTransitions=1;
transitionList[0] = 5;
sf_debug_transition_conflict_check_begin();
if(_sfEvent_ == c1_e_event_ta) {
transitionList[numTransitions] = 17;
numTransitions++;
}
if(_sfEvent_ == c1_e_event_fk) {
transitionList[numTransitions] = 14;
numTransitions++;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -