📄 auto_netcon_sfun_c1.c
字号:
/*
*
* Stateflow code generation for chart:
* auto_netcon/chart/Chart_repaired_1
*
* Target Name : sfun
* Model Version : 1.188
* Stateflow Version : 5.0.0.13.00.1.000001
* Date of code generation : 03-Jul-2007 09:28:18
*
*/
#define IN_SF_CHART_SOURCE 1
#include "auto_netcon_sfun.h"
#include "auto_netcon_sfun_c1.h"
#define mexPrintf sf_mex_printf
#ifdef printf
#undef printf
#endif
#define printf sf_mex_printf
#define CHARTINSTANCE_CHARTNUMBER (chartInstance.chartNumber)
#define CHARTINSTANCE_INSTANCENUMBER (chartInstance.instanceNumber)
#include "auto_netcon_sfun_debug_macros.h"
#define IN_NO_ACTIVE_CHILD (0)
#define IN_m0_c1_s1_ROAD1 1
#define IN_m0_c1_s2_ROAD2 2
#define IN_m0_c1_s3_ROAD3 3
#define IN_m0_c1_s4_ROAD4 4
#define IN_m0_c1_s5_STOP 5
#define IN_m0_c1_s6_start 6
#define event_m0_c1_e9_event 0
static SFauto_netcon_sfun_c1InstanceStruct chartInstance;
#define InputData_m0_c1_d7_indp (((real_T *)(ssGetInputPortSignal(chartInstance.S,0)))[0])
#define m0_c1_e9_event (*(int8_T *)(ssGetInputPortSignalPtrs(chartInstance.S,1)[0]))
#define OutputData_m0_c1_d8_outdp (((real_T *)(ssGetOutputPortSignal(chartInstance.S,1)))[0])
static uint16_T m0_c1_u16_pre_incr__(uint16_T *b);
static uint16_T m0_c1_u16_add__(uint16_T b, uint16_T c);
static int8_T m0_c1_s8_pre_incr__(int8_T *b);
static int8_T m0_c1_s8_add__(int8_T b, int8_T c);
static uint8_T m0_c1_u8_pre_incr__(uint8_T *b);
static uint8_T m0_c1_u8_add__(uint8_T b, uint8_T c);
static uint16_T m0_c1_u16_pre_incr__(uint16_T *b)
{
*b = m0_c1_u16_add__(*b, 1);
return *b;
}
static uint16_T m0_c1_u16_add__(uint16_T b, uint16_T c)
{
uint16_T a;
a = (uint16_T)(b + c);
if(a < b) {
sf_debug_overflow_detection(0);
}
return a;
}
static int8_T m0_c1_s8_pre_incr__(int8_T *b)
{
*b = m0_c1_s8_add__(*b, 1);
return *b;
}
static int8_T m0_c1_s8_add__(int8_T b, int8_T c)
{
int8_T a;
a = (int8_T)(b + c);
if((int8_T)((int8_T)(a ^ b) & (int8_T)(a ^ c)) < 0) {
sf_debug_overflow_detection(0);
}
return a;
}
static uint8_T m0_c1_u8_pre_incr__(uint8_T *b)
{
*b = m0_c1_u8_add__(*b, 1);
return *b;
}
static uint8_T m0_c1_u8_add__(uint8_T b, uint8_T c)
{
uint8_T a;
a = (uint8_T)(b + c);
if(a < b) {
sf_debug_overflow_detection(0);
}
return a;
}
static void enter_atomic_m0_c1_s1_ROAD1(void);
static void exit_atomic_m0_c1_s1_ROAD1(void);
static void enter_atomic_m0_c1_s2_ROAD2(void);
static void exit_atomic_m0_c1_s2_ROAD2(void);
static void enter_atomic_m0_c1_s3_ROAD3(void);
static void exit_atomic_m0_c1_s3_ROAD3(void);
static void enter_atomic_m0_c1_s4_ROAD4(void);
static void exit_atomic_m0_c1_s4_ROAD4(void);
static void enter_atomic_m0_c1_s6_start(void);
static void exit_atomic_m0_c1_s6_start(void);
static void broadcast_m0_c1_e9_event(void);
void auto_netcon_sfun_c1(void)
{
_SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG,0);
if(chartInstance.State.is_active_auto_netcon_sfun_c1 == 0) {
_SFD_CC_CALL(CHART_ENTER_ENTRY_FUNCTION_TAG,0);
chartInstance.State.is_active_auto_netcon_sfun_c1 = 1;
_SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG,0);
_SFD_CT_CALL(TRANSITION_ACTIVE_TAG,1);
_SFD_CT_CALL(TRANSITION_WHEN_VALID_TAG,1);
_SFD_CT_CALL(TRANSITION_BEFORE_COND_ACTION_TAG,1);
chartInstance.LocalData.m0_c1_d3_count = 0;
_SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,1,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,1,1);
chartInstance.LocalData.m0_c1_d2_convec[_SFD_ARRAY_BOUNDS_CHECK(6, 1, 0, 1,
0)] = 0;
_SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,1,2);
_SFD_CT_CALL(TRANSITION_AFTER_COND_ACTION_TAG,1);
_SFD_CT_CALL(TRANSITION_INACTIVE_TAG,1);
enter_atomic_m0_c1_s6_start();
} else {
switch(chartInstance.State.is_auto_netcon_sfun_c1) {
case IN_m0_c1_s1_ROAD1:
CV_CHART_EVAL(0,0,1);
_SFD_CS_CALL(STATE_ENTER_DURING_FUNCTION_TAG,5);
_SFD_CCS_CALL(STATE_DURING_COVERAGE_TAG,5,0);
_SFD_CT_CALL(TRANSITION_BEFORE_PROCESSING_TAG,10);
if(CV_TRANSITION_EVAL(10,
_SFD_CCP_CALL(10,0,(chartInstance.LocalData.m0_c1_d4_i == 1)))) {
if(sf_debug_transition_conflict_check_enabled()) {
unsigned int transitionList[2];
unsigned int numTransitions=1;
transitionList[0] = 10;
sf_debug_transition_conflict_check_begin();
if(chartInstance.LocalData.m0_c1_d4_i < 1) {
transitionList[numTransitions] = 9;
numTransitions++;
}
sf_debug_transition_conflict_check_end();
if(numTransitions>1) {
_SFD_TRANSITION_CONFLICT(&(transitionList[0]),numTransitions);
}
}
_SFD_CT_CALL(TRANSITION_ACTIVE_TAG,10);
_SFD_CT_CALL(TRANSITION_WHEN_VALID_TAG,10);
_SFD_CT_CALL(TRANSITION_BEFORE_COND_ACTION_TAG,10);
chartInstance.LocalData.m0_c1_d2_convec[_SFD_ARRAY_BOUNDS_CHECK(6, 1, 0,
1, 0)] = 1;
_SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,10,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,10,1);
output(&chartInstance.LocalData.m0_c1_d2_convec[0]);
_SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,10,2);
OutputData_m0_c1_d8_outdp = 1.0;
_SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,10,3);
chartInstance.LocalData.m0_c1_d6_j = 0;
_SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,10,4);
_SFD_CT_CALL(TRANSITION_AFTER_COND_ACTION_TAG,10);
_SFD_CT_CALL(TRANSITION_INACTIVE_TAG,10);
exit_atomic_m0_c1_s1_ROAD1();
enter_atomic_m0_c1_s3_ROAD3();
} else {
_SFD_CT_CALL(TRANSITION_BEFORE_PROCESSING_TAG,9);
if(CV_TRANSITION_EVAL(9,
_SFD_CCP_CALL(9,0,(chartInstance.LocalData.m0_c1_d4_i < 1)))) {
_SFD_CT_CALL(TRANSITION_ACTIVE_TAG,9);
_SFD_CT_CALL(TRANSITION_WHEN_VALID_TAG,9);
_SFD_CT_CALL(TRANSITION_BEFORE_COND_ACTION_TAG,9);
chartInstance.LocalData.m0_c1_d2_convec[_SFD_ARRAY_BOUNDS_CHECK(6, 1,
0, 1, 0)] = 1;
_SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,9,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,9,1);
output(&chartInstance.LocalData.m0_c1_d2_convec[0]);
_SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,9,2);
OutputData_m0_c1_d8_outdp = 1.0;
_SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,9,3);
_SFD_CT_CALL(TRANSITION_AFTER_COND_ACTION_TAG,9);
_SFD_CT_CALL(TRANSITION_INACTIVE_TAG,9);
exit_atomic_m0_c1_s1_ROAD1();
enter_atomic_m0_c1_s1_ROAD1();
}
}
_SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,5);
break;
case IN_m0_c1_s2_ROAD2:
CV_CHART_EVAL(0,0,2);
_SFD_CS_CALL(STATE_ENTER_DURING_FUNCTION_TAG,0);
_SFD_CCS_CALL(STATE_DURING_COVERAGE_TAG,0,0);
_SFD_CT_CALL(TRANSITION_BEFORE_PROCESSING_TAG,0);
if(CV_TRANSITION_EVAL(0,
_SFD_CCP_CALL(0,0,(chartInstance.LocalData.m0_c1_d4_i == 5)))) {
if(sf_debug_transition_conflict_check_enabled()) {
unsigned int transitionList[2];
unsigned int numTransitions=1;
transitionList[0] = 0;
sf_debug_transition_conflict_check_begin();
if(chartInstance.LocalData.m0_c1_d4_i < 5) {
transitionList[numTransitions] = 12;
numTransitions++;
}
sf_debug_transition_conflict_check_end();
if(numTransitions>1) {
_SFD_TRANSITION_CONFLICT(&(transitionList[0]),numTransitions);
}
}
_SFD_CT_CALL(TRANSITION_ACTIVE_TAG,0);
_SFD_CT_CALL(TRANSITION_WHEN_VALID_TAG,0);
_SFD_CT_CALL(TRANSITION_BEFORE_COND_ACTION_TAG,0);
chartInstance.LocalData.m0_c1_d2_convec[_SFD_ARRAY_BOUNDS_CHECK(6, 1, 0,
1, 0)] = 1;
_SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,0,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,0,1);
output(&chartInstance.LocalData.m0_c1_d2_convec[0]);
_SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,0,2);
OutputData_m0_c1_d8_outdp = 1.0;
_SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,0,3);
chartInstance.LocalData.m0_c1_d6_j = 0;
_SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,0,4);
_SFD_CT_CALL(TRANSITION_AFTER_COND_ACTION_TAG,0);
_SFD_CT_CALL(TRANSITION_INACTIVE_TAG,0);
exit_atomic_m0_c1_s2_ROAD2();
enter_atomic_m0_c1_s4_ROAD4();
} else {
_SFD_CT_CALL(TRANSITION_BEFORE_PROCESSING_TAG,12);
if(CV_TRANSITION_EVAL(12,
_SFD_CCP_CALL(12,0,(chartInstance.LocalData.m0_c1_d4_i < 5)))) {
_SFD_CT_CALL(TRANSITION_ACTIVE_TAG,12);
_SFD_CT_CALL(TRANSITION_WHEN_VALID_TAG,12);
_SFD_CT_CALL(TRANSITION_BEFORE_COND_ACTION_TAG,12);
chartInstance.LocalData.m0_c1_d2_convec[_SFD_ARRAY_BOUNDS_CHECK(6, 1,
0, 1, 0)] = 1;
_SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,12,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,12,1);
output(&chartInstance.LocalData.m0_c1_d2_convec[0]);
_SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,12,2);
OutputData_m0_c1_d8_outdp = 1.0;
_SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,12,3);
_SFD_CT_CALL(TRANSITION_AFTER_COND_ACTION_TAG,12);
_SFD_CT_CALL(TRANSITION_INACTIVE_TAG,12);
exit_atomic_m0_c1_s2_ROAD2();
enter_atomic_m0_c1_s2_ROAD2();
}
}
_SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,0);
break;
case IN_m0_c1_s3_ROAD3:
CV_CHART_EVAL(0,0,3);
_SFD_CS_CALL(STATE_ENTER_DURING_FUNCTION_TAG,1);
_SFD_CCS_CALL(STATE_DURING_COVERAGE_TAG,1,0);
_SFD_CT_CALL(TRANSITION_BEFORE_PROCESSING_TAG,11);
if(CV_TRANSITION_EVAL(11,
_SFD_CCP_CALL(11,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] = 11;
sf_debug_transition_conflict_check_begin();
if(chartInstance.LocalData.m0_c1_d6_j < 2) {
transitionList[numTransitions] = 2;
numTransitions++;
}
sf_debug_transition_conflict_check_end();
if(numTransitions>1) {
_SFD_TRANSITION_CONFLICT(&(transitionList[0]),numTransitions);
}
}
_SFD_CT_CALL(TRANSITION_ACTIVE_TAG,11);
_SFD_CT_CALL(TRANSITION_WHEN_VALID_TAG,11);
_SFD_CT_CALL(TRANSITION_BEFORE_COND_ACTION_TAG,11);
m0_c1_u16_pre_incr__(&chartInstance.LocalData.m0_c1_d3_count);
_SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,11,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,11,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,11,2);
output(&chartInstance.LocalData.m0_c1_d2_convec[0]);
_SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,11,3);
OutputData_m0_c1_d8_outdp = 0.0;
_SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,11,4);
_SFD_CT_CALL(TRANSITION_AFTER_COND_ACTION_TAG,11);
_SFD_CT_CALL(TRANSITION_INACTIVE_TAG,11);
exit_atomic_m0_c1_s3_ROAD3();
enter_atomic_m0_c1_s6_start();
} else {
_SFD_CT_CALL(TRANSITION_BEFORE_PROCESSING_TAG,2);
if(CV_TRANSITION_EVAL(2,
_SFD_CCP_CALL(2,0,(chartInstance.LocalData.m0_c1_d6_j < 2)))) {
_SFD_CT_CALL(TRANSITION_ACTIVE_TAG,2);
_SFD_CT_CALL(TRANSITION_WHEN_VALID_TAG,2);
_SFD_CT_CALL(TRANSITION_BEFORE_COND_ACTION_TAG,2);
chartInstance.LocalData.m0_c1_d2_convec[_SFD_ARRAY_BOUNDS_CHECK(6, 1,
0, 1, 0)] = 0;
_SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,2,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,2,1);
output(&chartInstance.LocalData.m0_c1_d2_convec[0]);
_SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,2,2);
OutputData_m0_c1_d8_outdp = 0.0;
_SFD_CCT_CALL(TRANSITION_CONDITION_ACTION_COVERAGE_TAG,2,3);
_SFD_CT_CALL(TRANSITION_AFTER_COND_ACTION_TAG,2);
_SFD_CT_CALL(TRANSITION_INACTIVE_TAG,2);
exit_atomic_m0_c1_s3_ROAD3();
enter_atomic_m0_c1_s3_ROAD3();
}
}
_SFD_CS_CALL(EXIT_OUT_OF_FUNCTION_TAG,1);
break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -