📄 c1_vehicles.c
字号:
}
sf_debug_transition_conflict_check_end();
if(numTransitions>1) {
_SFD_TRANSITION_CONFLICT(&(transitionList[0]),numTransitions);
}
}
_SFD_CT_CALL(TRANSITION_ACTIVE_TAG,5);
c1_exit_internal_uav5();
if(chartInstance.c1_is_uav5 != c1_IN_obs_avoid) {
chartInstance.c1_is_uav5 = (uint8_T)c1_IN_obs_avoid;
_SFD_CS_CALL(STATE_ACTIVE_TAG,8);
chartInstance.c1_e_tp_obs_avoid = 1;
chartInstance.c1_mode_count[1][4]++;
_SFD_DATA_RANGE_CHECK(chartInstance.c1_mode_count[1][4], 0U);
}
} else if(CV_TRANSITION_EVAL(17U, (int32_T)_SFD_CCP_CALL(17,0,(_sfEvent_ ==
c1_e_event_ta))) != 0) {
if(sf_debug_transition_conflict_check_enabled()) {
unsigned int transitionList[2];
unsigned int numTransitions=1;
transitionList[0] = 17;
sf_debug_transition_conflict_check_begin();
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,17);
c1_exit_internal_uav5();
if(chartInstance.c1_is_uav5 != c1_IN_tgt_aquire) {
chartInstance.c1_is_uav5 = (uint8_T)c1_IN_tgt_aquire;
_SFD_CS_CALL(STATE_ACTIVE_TAG,16);
chartInstance.c1_e_tp_tgt_aquire = 1;
chartInstance.c1_mode_count[2][4]++;
_SFD_DATA_RANGE_CHECK(chartInstance.c1_mode_count[2][4], 0U);
}
} else if(CV_TRANSITION_EVAL(14U, (int32_T)_SFD_CCP_CALL(14,0,(_sfEvent_ ==
c1_e_event_fk))) != 0) {
_SFD_CT_CALL(TRANSITION_ACTIVE_TAG,14);
c1_exit_internal_uav5();
if(chartInstance.c1_is_uav5 != c1_IN_form_keep) {
chartInstance.c1_is_uav5 = (uint8_T)c1_IN_form_keep;
_SFD_CS_CALL(STATE_ACTIVE_TAG,25);
chartInstance.c1_e_tp_form_keep = 1;
chartInstance.c1_mode_count[3][4]++;
_SFD_DATA_RANGE_CHECK(chartInstance.c1_mode_count[3][4], 0U);
}
} else {
switch(chartInstance.c1_is_uav5) {
case c1_IN_ac_avoid:
CV_STATE_EVAL(0,0,1);
_SFD_CS_CALL(STATE_ENTER_DURING_FUNCTION_TAG,4);
_SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,4);
break;
case c1_IN_form_keep:
CV_STATE_EVAL(0,0,2);
_SFD_CS_CALL(STATE_ENTER_DURING_FUNCTION_TAG,25);
_SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,25);
break;
case c1_IN_obs_avoid:
CV_STATE_EVAL(0,0,3);
_SFD_CS_CALL(STATE_ENTER_DURING_FUNCTION_TAG,8);
_SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,8);
break;
case c1_IN_tgt_aquire:
CV_STATE_EVAL(0,0,4);
_SFD_CS_CALL(STATE_ENTER_DURING_FUNCTION_TAG,16);
_SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,16);
break;
default:
CV_STATE_EVAL(0,0,0);
break;
}
}
}
_SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,0);
}
static void c1_exit_internal_uav5(void)
{
switch(chartInstance.c1_is_uav5) {
case c1_IN_ac_avoid:
CV_STATE_EVAL(0,1,1);
chartInstance.c1_e_tp_ac_avoid = 0;
chartInstance.c1_is_uav5 = (uint8_T)c1_IN_NO_ACTIVE_CHILD;
_SFD_CS_CALL(STATE_INACTIVE_TAG,4);
break;
case c1_IN_form_keep:
CV_STATE_EVAL(0,1,2);
chartInstance.c1_e_tp_form_keep = 0;
chartInstance.c1_is_uav5 = (uint8_T)c1_IN_NO_ACTIVE_CHILD;
_SFD_CS_CALL(STATE_INACTIVE_TAG,25);
break;
case c1_IN_obs_avoid:
CV_STATE_EVAL(0,1,3);
chartInstance.c1_e_tp_obs_avoid = 0;
chartInstance.c1_is_uav5 = (uint8_T)c1_IN_NO_ACTIVE_CHILD;
_SFD_CS_CALL(STATE_INACTIVE_TAG,8);
break;
case c1_IN_tgt_aquire:
CV_STATE_EVAL(0,1,4);
chartInstance.c1_e_tp_tgt_aquire = 0;
chartInstance.c1_is_uav5 = (uint8_T)c1_IN_NO_ACTIVE_CHILD;
_SFD_CS_CALL(STATE_INACTIVE_TAG,16);
break;
default:
CV_STATE_EVAL(0,1,0);
break;
}
}
static real_T *c1_e1(void)
{
return (real_T *)*(ssGetInputPortSignalPtrs(chartInstance.S, 0) + 0);
}
static real_T *c1_e2(void)
{
return (real_T *)*(ssGetInputPortSignalPtrs(chartInstance.S, 0) + 1);
}
static real_T *c1_e3(void)
{
return (real_T *)*(ssGetInputPortSignalPtrs(chartInstance.S, 0) + 2);
}
static real_T *c1_e4(void)
{
return (real_T *)*(ssGetInputPortSignalPtrs(chartInstance.S, 0) + 3);
}
static real_T *c1_e5(void)
{
return (real_T *)*(ssGetInputPortSignalPtrs(chartInstance.S, 0) + 4);
}
static real_T *c1_e6(void)
{
return (real_T *)*(ssGetInputPortSignalPtrs(chartInstance.S, 0) + 5);
}
static real_T *c1_e7(void)
{
return (real_T *)*(ssGetInputPortSignalPtrs(chartInstance.S, 0) + 6);
}
static real_T *c1_e8(void)
{
return (real_T *)*(ssGetInputPortSignalPtrs(chartInstance.S, 0) + 7);
}
static real_T *c1_e9(void)
{
return (real_T *)*(ssGetInputPortSignalPtrs(chartInstance.S, 0) + 8);
}
static real_T *c1_e10(void)
{
return (real_T *)*(ssGetInputPortSignalPtrs(chartInstance.S, 0) + 9);
}
static real_T *c1_e11(void)
{
return (real_T *)*(ssGetInputPortSignalPtrs(chartInstance.S, 0) + 10);
}
static real_T *c1_e12(void)
{
return (real_T *)*(ssGetInputPortSignalPtrs(chartInstance.S, 0) + 11);
}
static real_T *c1_e13(void)
{
return (real_T *)*(ssGetInputPortSignalPtrs(chartInstance.S, 0) + 12);
}
static real_T *c1_e14(void)
{
return (real_T *)*(ssGetInputPortSignalPtrs(chartInstance.S, 0) + 13);
}
static real_T *c1_e15(void)
{
return (real_T *)*(ssGetInputPortSignalPtrs(chartInstance.S, 0) + 14);
}
static real_T *c1_e16(void)
{
return (real_T *)*(ssGetInputPortSignalPtrs(chartInstance.S, 0) + 15);
}
static real_T *c1_e17(void)
{
return (real_T *)*(ssGetInputPortSignalPtrs(chartInstance.S, 0) + 16);
}
static real_T *c1_e18(void)
{
return (real_T *)*(ssGetInputPortSignalPtrs(chartInstance.S, 0) + 17);
}
static real_T *c1_e19(void)
{
return (real_T *)*(ssGetInputPortSignalPtrs(chartInstance.S, 0) + 18);
}
static real_T *c1_e20(void)
{
return (real_T *)*(ssGetInputPortSignalPtrs(chartInstance.S, 0) + 19);
}
static void init_test_point_addr_map(void)
{
chartInstance.c1_testPointAddrMap[0] = &chartInstance.c1_mode_count;
chartInstance.c1_testPointAddrMap[1] = &chartInstance.c1_tp_parse_events;
chartInstance.c1_testPointAddrMap[2] = &chartInstance.c1_tp_uav1;
chartInstance.c1_testPointAddrMap[3] = &chartInstance.c1_tp_ac_avoid;
chartInstance.c1_testPointAddrMap[4] = &chartInstance.c1_tp_form_keep;
chartInstance.c1_testPointAddrMap[5] = &chartInstance.c1_tp_obs_avoid;
chartInstance.c1_testPointAddrMap[6] = &chartInstance.c1_tp_tgt_aquire;
chartInstance.c1_testPointAddrMap[7] = &chartInstance.c1_tp_uav2;
chartInstance.c1_testPointAddrMap[8] = &chartInstance.c1_b_tp_ac_avoid;
chartInstance.c1_testPointAddrMap[9] = &chartInstance.c1_b_tp_form_keep;
chartInstance.c1_testPointAddrMap[10] = &chartInstance.c1_b_tp_obs_avoid;
chartInstance.c1_testPointAddrMap[11] = &chartInstance.c1_b_tp_tgt_aquire;
chartInstance.c1_testPointAddrMap[12] = &chartInstance.c1_tp_uav3;
chartInstance.c1_testPointAddrMap[13] = &chartInstance.c1_c_tp_ac_avoid;
chartInstance.c1_testPointAddrMap[14] = &chartInstance.c1_c_tp_form_keep;
chartInstance.c1_testPointAddrMap[15] = &chartInstance.c1_c_tp_obs_avoid;
chartInstance.c1_testPointAddrMap[16] = &chartInstance.c1_c_tp_tgt_aquire;
chartInstance.c1_testPointAddrMap[17] = &chartInstance.c1_tp_uav4;
chartInstance.c1_testPointAddrMap[18] = &chartInstance.c1_d_tp_ac_avoid;
chartInstance.c1_testPointAddrMap[19] = &chartInstance.c1_d_tp_form_keep;
chartInstance.c1_testPointAddrMap[20] = &chartInstance.c1_d_tp_obs_avoid;
chartInstance.c1_testPointAddrMap[21] = &chartInstance.c1_d_tp_tgt_aquire;
chartInstance.c1_testPointAddrMap[22] = &chartInstance.c1_tp_uav5;
chartInstance.c1_testPointAddrMap[23] = &chartInstance.c1_e_tp_ac_avoid;
chartInstance.c1_testPointAddrMap[24] = &chartInstance.c1_e_tp_form_keep;
chartInstance.c1_testPointAddrMap[25] = &chartInstance.c1_e_tp_obs_avoid;
chartInstance.c1_testPointAddrMap[26] = &chartInstance.c1_e_tp_tgt_aquire;
}
static void **get_test_point_address_map(void)
{
return &chartInstance.c1_testPointAddrMap[0];
}
static rtwCAPI_ModelMappingInfo *get_test_point_mapping_info(void)
{
return &chartInstance.c1_testPointMappingInfo;
}
/* SFunction Glue Code */
static void init_test_point_mapping_info(SimStruct *S);
void sf_c1_vehicles_get_check_sum(mxArray *plhs[])
{
((real_T *)mxGetPr((plhs[0])))[0] = (real_T)(3023783601U);
((real_T *)mxGetPr((plhs[0])))[1] = (real_T)(2955509535U);
((real_T *)mxGetPr((plhs[0])))[2] = (real_T)(743496741U);
((real_T *)mxGetPr((plhs[0])))[3] = (real_T)(2872174800U);
}
mxArray *sf_c1_vehicles_get_autoinheritance_info(void)
{
const char *autoinheritanceInfoStructFieldNames[] =
{"checksum","inputTypes","outputSizes","outputTypes"};
mxArray *mxAutoinheritanceInfo = NULL;
mxArray *mxChecksum = NULL;
mxArray *mxInputTypes = NULL;
mxArray *mxOutputSizes = NULL;
mxArray *mxOutputTypes = NULL;
mxAutoinheritanceInfo = mxCreateStructMatrix(1,1,
sizeof(autoinheritanceInfoStructFieldNames)/sizeof(char *),
autoinheritanceInfoStructFieldNames);
mxChecksum = mxCreateDoubleMatrix(4,1,mxREAL);
((real_T *)mxGetPr((mxChecksum)))[0] = (real_T)(0U);
((real_T *)mxGetPr((mxChecksum)))[1] = (real_T)(0U);
((real_T *)mxGetPr((mxChecksum)))[2] = (real_T)(0U);
((real_T *)mxGetPr((mxChecksum)))[3] = (real_T)(0U);
mxInputTypes = mxCreateDoubleMatrix(1,0,mxREAL);
mxOutputSizes = mxCreateDoubleMatrix(2,0,mxREAL);
mxOutputTypes = mxCreateDoubleMatrix(1,0,mxREAL);
mxSetFieldByNumber(mxAutoinheritanceInfo,0,0,mxChecksum);
mxSetFieldByNumber(mxAutoinheritanceInfo,0,1,mxInputTypes);
mxSetFieldByNumber(mxAutoinheritanceInfo,0,2,mxOutputSizes);
mxSetFieldByNumber(mxAutoinheritanceInfo,0,3,mxOutputTypes);
return(mxAutoinheritanceInfo);
}
static void chart_debug_initialization(SimStruct *S)
{
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(_vehiclesMachineNumber_,
1,
26,
25,
1,
40,
0,
0,
0,
&(chartInstance.chartNumber),
&(chartInstance.instanceNumber),
ssGetPath(S),
(void *)S);
if(chartAlreadyPresent==0) {
/* this is the first instance */
sf_debug_set_chart_disable_implicit_casting(_vehiclesMachineNumber_,chartInstance.chartNumber,0);
sf_debug_set_chart_event_thresholds(_vehiclesMachineNumber_,
chartInstance.chartNumber,
40,
40,
40);
{
unsigned int dimVector[2];
dimVector[0]= 5;
dimVector[1]= 4;
_SFD_SET_DATA_PROPS(0,0,0,0,SF_DOUBLE,2,&(dimVector[0]),0,0.0,1.0,0,"mode_count",0);
}
_SFD_EVENT_SCOPE(24,1);
_SFD_EVENT_SCOPE(1,1);
_SFD_EVENT_SCOPE(21,1);
_SFD_EVENT_SCOPE(8,1);
_SFD_EVENT_SCOPE(2,1);
_SFD_EVENT_SCOPE(28,1);
_SFD_EVENT_SCOPE(34,1);
_SFD_EVENT_SCOPE(5,1);
_SFD_EVENT_SCOPE(17,1);
_SFD_EVENT_SCOPE(35,1);
_SFD_EVENT_SCOPE(22,1);
_SFD_EVENT_SCOPE(0,1);
_SFD_EVENT_SCOPE(18,1);
_SFD_EVENT_SCOPE(39,1);
_SFD_EVENT_SCOPE(12,1);
_SFD_EVENT_SCOPE(3,1);
_SFD_EVENT_SCOPE(33,1);
_SFD_EVENT_SCOPE(9,1);
_SFD_EVENT_SCOPE(20,1);
_SFD_EVENT_SCOPE(23,1);
_SFD_EVENT_SCOPE(36,0);
_SFD_EVENT_SCOPE(6,0);
_SFD_EVENT_SCOPE(15,0);
_SFD_EVENT_SCOPE(25,0);
_SFD_EVENT_SCOPE(7,0);
_SFD_EVENT_SCOPE(14,0);
_SFD_EVENT_SCOPE(37,0);
_SFD_EVENT_SCOPE(16,0);
_SFD_EVENT_SCOPE(13,0);
_SFD_EVENT_SCOPE(26,0);
_SFD_EVENT_SCOPE(27,0);
_SFD_EVENT_SCOPE(11,0);
_SFD_EVENT_SCOPE(38,0);
_SFD_EVENT_SCOPE(32,0);
_SFD_EVENT_SC
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -