按键状态机编译通过

This commit is contained in:
TrashGod 2024-06-28 22:39:41 +08:00
parent 010e6a907f
commit 951e6d1695
5 changed files with 35 additions and 73 deletions

View File

@ -44,15 +44,8 @@
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.FP_MODE.860711964" name="Floating Point mode (--fp_mode)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.FP_MODE" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.FP_MODE.relaxed" valueType="enumerated"/> <option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.FP_MODE.860711964" name="Floating Point mode (--fp_mode)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.FP_MODE" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.FP_MODE.relaxed" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.INCLUDE_PATH.2094867255" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.INCLUDE_PATH" valueType="includePath"> <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.INCLUDE_PATH.2094867255" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.INCLUDE_PATH" valueType="includePath">
<listOptionValue builtIn="false" value="${PROJECT_ROOT}"/> <listOptionValue builtIn="false" value="${PROJECT_ROOT}"/>
<listOptionValue builtIn="false" value="${PROJECT_ROOT}/FSM_OOP/baseFSM"/>
<listOptionValue builtIn="false" value="${PROJECT_ROOT}/FSM_OOP/usr"/>
<listOptionValue builtIn="false" value="${PROJECT_ROOT}/include/common"/> <listOptionValue builtIn="false" value="${PROJECT_ROOT}/include/common"/>
<listOptionValue builtIn="false" value="${PROJECT_ROOT}/include/headers"/> <listOptionValue builtIn="false" value="${PROJECT_ROOT}/include/headers"/>
<listOptionValue builtIn="false" value="${PROJECT_LOC}/../key_FSM/FSM_OOP/usr"/>
<listOptionValue builtIn="false" value="${PROJECT_LOC}/../key_FSM/FSM_OOP/baseFSM"/>
<listOptionValue builtIn="false" value="${PROJECT_LOC}/../FSM_vscode/FSM_OOP/childtest"/>
<listOptionValue builtIn="false" value="${PROJECT_LOC}/../FSM_vscode/FSM_OOP/baseFSM"/>
<listOptionValue builtIn="false" value="${PROJECT_LOC}/../FSM_vscode/FSM_OOP/keytest"/>
<listOptionValue builtIn="false" value="${PROJECT_LOC}/../vscode/FSM_OOP/keytest"/> <listOptionValue builtIn="false" value="${PROJECT_LOC}/../vscode/FSM_OOP/keytest"/>
<listOptionValue builtIn="false" value="${PROJECT_LOC}/../vscode/FSM_OOP/childtest"/> <listOptionValue builtIn="false" value="${PROJECT_LOC}/../vscode/FSM_OOP/childtest"/>
<listOptionValue builtIn="false" value="${PROJECT_LOC}/../vscode/FSM_OOP/baseFSM"/> <listOptionValue builtIn="false" value="${PROJECT_LOC}/../vscode/FSM_OOP/baseFSM"/>
@ -61,7 +54,6 @@
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.ADVICE__PERFORMANCE.171868085" name="Provide advice on optimization techniques (--advice:performance)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.ADVICE__PERFORMANCE" value="--advice:performance=all" valueType="string"/> <option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.ADVICE__PERFORMANCE.171868085" name="Provide advice on optimization techniques (--advice:performance)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.ADVICE__PERFORMANCE" value="--advice:performance=all" valueType="string"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DEFINE.1681891118" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DEFINE" valueType="definedSymbols"> <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DEFINE.1681891118" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DEFINE" valueType="definedSymbols">
<listOptionValue builtIn="false" value="_INLINE"/> <listOptionValue builtIn="false" value="_INLINE"/>
<listOptionValue builtIn="false" value="NDEBUG"/>
<listOptionValue builtIn="false" value="DSP28377"/> <listOptionValue builtIn="false" value="DSP28377"/>
<listOptionValue builtIn="false" value="CPU1"/> <listOptionValue builtIn="false" value="CPU1"/>
</option> </option>
@ -73,6 +65,12 @@
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DIAG_WRAP.1704240081" name="Wrap diagnostic messages (--diag_wrap) [deprecated]" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DIAG_WRAP.off" valueType="enumerated"/> <option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DIAG_WRAP.1704240081" name="Wrap diagnostic messages (--diag_wrap) [deprecated]" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DIAG_WRAP.off" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DISPLAY_ERROR_NUMBER.65226327" name="Emit diagnostic identifier numbers (--display_error_number, -pden) [deprecated]" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/> <option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DISPLAY_ERROR_NUMBER.65226327" name="Emit diagnostic identifier numbers (--display_error_number, -pden) [deprecated]" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.ABI.476173017" name="Application binary interface [See 'General' page to edit] (--abi)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.ABI.eabi" valueType="enumerated"/> <option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.ABI.476173017" name="Application binary interface [See 'General' page to edit] (--abi)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.ABI.eabi" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DIAG_SUPPRESS.591047759" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DIAG_SUPPRESS" valueType="stringList">
<listOptionValue builtIn="false" value="303"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.OTHER_FLAGS.1805123875" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.OTHER_FLAGS" valueType="stringList">
<listOptionValue builtIn="false" value=""/>
</option>
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__C_SRCS.1245540863" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__C_SRCS"/> <inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__C_SRCS.1245540863" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__C_SRCS"/>
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__CPP_SRCS.2068954361" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__CPP_SRCS"/> <inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__CPP_SRCS.2068954361" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__CPP_SRCS"/>
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__ASM_SRCS.812447921" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__ASM_SRCS"/> <inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__ASM_SRCS.812447921" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__ASM_SRCS"/>
@ -101,6 +99,12 @@
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.ENTRY_POINT.1816405551" name="Specify program entry point for the output module (--entry_point, -e)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.ENTRY_POINT" value="code_start" valueType="string"/> <option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.ENTRY_POINT.1816405551" name="Specify program entry point for the output module (--entry_point, -e)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.ENTRY_POINT" value="code_start" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.CINIT_COMPRESSION.934245867" name="Compress ELF C style auto initialization data (--cinit_compression)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.CINIT_COMPRESSION" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.CINIT_COMPRESSION.off" valueType="enumerated"/> <option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.CINIT_COMPRESSION.934245867" name="Compress ELF C style auto initialization data (--cinit_compression)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.CINIT_COMPRESSION" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.CINIT_COMPRESSION.off" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.INITIALIZATION_MODEL.483430313" name="Initialization model" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.INITIALIZATION_MODEL" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.INITIALIZATION_MODEL.RAM_MODEL" valueType="enumerated"/> <option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.INITIALIZATION_MODEL.483430313" name="Initialization model" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.INITIALIZATION_MODEL" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.INITIALIZATION_MODEL.RAM_MODEL" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="true" id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.DIAG_SUPPRESS.828333989" name="Suppress diagnostic &lt;id&gt; (--diag_suppress)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.DIAG_SUPPRESS" valueType="stringList"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.NO_WARNINGS.1360684884" name="Suppress warnings (--no_warnings)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.NO_WARNINGS" value="false" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.NO_DEMANGLE.134029592" name="Don't demangle symbol names in diagnostics (--no_demangle)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.NO_DEMANGLE" value="false" valueType="boolean"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="true" id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.DIAG_REMARK.591856308" name="Treat diagnostic &lt;id&gt; as remark (--diag_remark)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.DIAG_REMARK" valueType="stringList"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="true" id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.DIAG_ERROR.1347655044" name="Treat diagnostic &lt;id&gt; as error (--diag_error)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.DIAG_ERROR" valueType="stringList"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.EMIT_WARNINGS_AS_ERRORS.320090475" name="Treat warnings as errors (--emit_warnings_as_errors, -pdew)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.EMIT_WARNINGS_AS_ERRORS" value="false" valueType="boolean"/>
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__CMD_SRCS.737359659" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__CMD_SRCS"/> <inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__CMD_SRCS.737359659" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__CMD_SRCS"/>
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__CMD2_SRCS.1248498450" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__CMD2_SRCS"/> <inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__CMD2_SRCS.1248498450" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__CMD2_SRCS"/>
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__GEN_CMDS.212203086" name="Generated Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__GEN_CMDS"/> <inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__GEN_CMDS.212203086" name="Generated Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__GEN_CMDS"/>

View File

@ -19,3 +19,6 @@ encoding//CPU1_RAM/source/subdir_vars.mk=UTF-8
encoding//CPU1_RAM/sources.mk=UTF-8 encoding//CPU1_RAM/sources.mk=UTF-8
encoding//CPU1_RAM/subdir_rules.mk=UTF-8 encoding//CPU1_RAM/subdir_rules.mk=UTF-8
encoding//CPU1_RAM/subdir_vars.mk=UTF-8 encoding//CPU1_RAM/subdir_vars.mk=UTF-8
encoding/<project>=UTF-8
encoding/FSM_private.h=UTF-8
encoding/FSM_protected.h=UTF-8

View File

@ -8,6 +8,8 @@
#define LED_BLINKY_GPIO 2 #define LED_BLINKY_GPIO 2
#define INPUT_GPIO 15 #define INPUT_GPIO 15
#pragma diag_suppress 303
uint32_t exec_time[50]; uint32_t exec_time[50];
uint32_t stop_time; uint32_t stop_time;
int index = 0; int index = 0;
@ -30,36 +32,6 @@ int isDown = 0;
//ChildFSM *cFSM;
//ParentFSM *pFSM;
//void childTest(){
//
// cFSM = createChildFSM();
// pFSM = createParentFSM();
//
// setChildNum((pFSM), 1);
// registerChildFSM((pFSM), (cFSM), 0);
//
// for (int i = 0; i < 15; i++)
// {
// ParentFSM_Input(pFSM)->arrindex = i;
// SetPreloaderReady(pFSM);
//
// ChildFSM_Input(cFSM)->arrindex = i;
// SetPreloaderReady(cFSM);
//
// ChildFSMData* data = getData((FSM *)(cFSM));
// printf(" %d ", data->arrindex);
//
// tic();
// _vptrFSM((FSM *)pFSM)->step((FSM *)pFSM);
// toc(index++);
// printf("\n");
// }
//}
KeyFSM* keyFSM; KeyFSM* keyFSM;
@ -68,7 +40,6 @@ KeyIn keystat;
void keyFSMTest(){ void keyFSMTest(){
keyFSM = createKeyFSM(); keyFSM = createKeyFSM();
data = _getData((FSM *)keyFSM);
printf("hello 28377\n"); printf("hello 28377\n");
@ -80,8 +51,9 @@ void keyFSMTest(){
Step(keyFSM); Step(keyFSM);
toc(index++); toc(index++);
if(data->internal.out != Idle){ KeyOut out = readKeyFSMOut(keyFSM);
printf("%s\n", keyStr[data->internal.out]); if(out != Idle){
printf("\t\t\t\t%d", out);
} }
else{ else{
index--; index--;
@ -96,21 +68,6 @@ int printtest(int a, int b){
return a+b; return a+b;
} }
void funptrTest(){
fcn fcnptr;
fcnptr = printtest;
int index = 0;
while(1){
tic();
int c = fcnptr(10, 20);
toc(index);
index++;
printf("%d\n", c);
DELAY_US(20*1000);
}
}
void main(void) void main(void)
{ {
@ -124,10 +81,8 @@ void main(void)
GPIO_SetupPinMux(LED_BLINKY_GPIO, GPIO_MUX_CPU1, 0); GPIO_SetupPinMux(LED_BLINKY_GPIO, GPIO_MUX_CPU1, 0);
GPIO_SetupPinOptions(INPUT_GPIO, GPIO_INPUT, GPIO_PULLUP); GPIO_SetupPinOptions(INPUT_GPIO, GPIO_INPUT, GPIO_PULLUP);
// childTest();
keyFSMTest(); keyFSMTest();
// funptrTest();
} }

View File

@ -63,7 +63,7 @@ typedef struct FSMPrivateVars
/** /**
* @brief * @brief
*/ */
static void empty_func(){ static void empty_func(void * a){
} }

View File

@ -216,17 +216,17 @@ void transitionGeneralAction(KeyFSMData *data){
data->internal.countDelay = 0; data->internal.countDelay = 0;
} }
static State transitionHandler(DownDebouncing, Downing)(KeyFSMData* data){ static void transitionHandler(DownDebouncing, Downing)(KeyFSMData* data){
data->internal.out = Down; data->internal.out = Down;
} }
static State transitionHandler(UpDebouncing, MultiDownWaiting)(KeyFSMData* data){ static void transitionHandler(UpDebouncing, MultiDownWaiting)(KeyFSMData* data){
data->internal.out = Idle; data->internal.out = Idle;
data->internal.countMultiDown++; data->internal.countMultiDown++;
} }
static State transitionHandler(MultiDownDebouncing, MultiDowning)(KeyFSMData* data){ static void transitionHandler(MultiDownDebouncing, MultiDowning)(KeyFSMData* data){
switch (data->internal.countMultiDown + 1) switch (data->internal.countMultiDown + 1)
{ {
case 2: case 2:
@ -244,11 +244,11 @@ static State transitionHandler(MultiDownDebouncing, MultiDowning)(KeyFSMData* da
} }
static State transitionHandler(Downing, Holding)(KeyFSMData* data){ static void transitionHandler(Downing, Holding)(KeyFSMData* data){
data->internal.out = Hold; data->internal.out = Hold;
} }
static State transitionHandler(MultiDownWaiting, Waiting)(KeyFSMData* data){ static void transitionHandler(MultiDownWaiting, Waiting)(KeyFSMData* data){
data->internal.countMultiDown = 0; data->internal.countMultiDown = 0;
} }