From b1b74605b8703e85a96df77e67c96681d0d50d6a Mon Sep 17 00:00:00 2001 From: godcreator <974980621@qq.com> Date: Mon, 29 Jan 2024 11:26:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=B8=80=E4=B8=AANDEBUG?= =?UTF-8?q?=EF=BC=8C=E5=8E=BB=E6=8E=89assert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FSM_OOP/baseFSM/FSM.c | 6 ++++-- FSM_OOP/baseFSM/FSM_protected.h | 4 ++-- FSM_OOP/baseFSM/FSM_public.h | 2 ++ FSM_OOP/usr/keyFSM.c | 4 ++-- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/FSM_OOP/baseFSM/FSM.c b/FSM_OOP/baseFSM/FSM.c index 1438273..7d65451 100644 --- a/FSM_OOP/baseFSM/FSM.c +++ b/FSM_OOP/baseFSM/FSM.c @@ -96,9 +96,11 @@ int getFSMCurEvent(FSM *pFSM){ void setEvent(FSM* pFSM){ assert(pFSM->vtbl.selectEvent); + pFSM->privateVars.curEvent = pFSM->vtbl.selectEvent(pFSM->data); - int e = pFSM->vtbl.selectEvent(pFSM->data); - pFSM->privateVars.curEvent = e; + if(0 == pFSM->privateVars.numChild){ + return; + } for (int i = 0; i < pFSM->privateVars.numChild; i++) { diff --git a/FSM_OOP/baseFSM/FSM_protected.h b/FSM_OOP/baseFSM/FSM_protected.h index b63cb20..9ff2e41 100644 --- a/FSM_OOP/baseFSM/FSM_protected.h +++ b/FSM_OOP/baseFSM/FSM_protected.h @@ -3,8 +3,8 @@ #include "FSM_public.h" - -#define FSM_LOG_ON +#define NDEBUG +// #define FSM_LOG_ON #ifdef FSM_LOG_ON #define FSM_LOG(...) printf(__VA_ARGS__) #else diff --git a/FSM_OOP/baseFSM/FSM_public.h b/FSM_OOP/baseFSM/FSM_public.h index 362ede5..b9b3cb0 100644 --- a/FSM_OOP/baseFSM/FSM_public.h +++ b/FSM_OOP/baseFSM/FSM_public.h @@ -2,6 +2,8 @@ #define __FSM_PUBLIC_H_ + + #define BASE_FSM(ptr) ((FSM *)(ptr)) #define BASE_PTR (FSM *) diff --git a/FSM_OOP/usr/keyFSM.c b/FSM_OOP/usr/keyFSM.c index 39cd5eb..4a4a4e4 100644 --- a/FSM_OOP/usr/keyFSM.c +++ b/FSM_OOP/usr/keyFSM.c @@ -10,11 +10,11 @@ */ static Event selectEvent(KeyFSMData *data){ // 必须重新实现 - if(data->countDelay == 4){ + if(data->countDelay == 10){ return HoldCount4; } - if(data->countDelay == 3){ + if(data->countDelay == 5){ return DelayCount3; }