From 2c5fa52b9f7dbf2ec111a0a7d126a9b9c4b58c32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Heredero?= Date: Mon, 27 Nov 2023 17:07:15 +0100 Subject: [PATCH] Implement unscheduleTimeout & XFInitialState --- src/app/buttoneventslogger.cpp | 6 +- src/mdw/button/ButtonEventsHandler.cpp | 2 +- src/mdw/button/ButtonStateSm.cpp | 131 ++++-------------- src/mdw/button/ButtonStateSm.h | 25 ++-- .../f7-disco-gcc/board/ButtonsController.cpp | 4 +- src/xf/core/XFState.cpp | 24 +++- src/xf/include/xf/XFState.h | 27 ++-- src/xf/include/xf/behavior.h | 2 +- 8 files changed, 82 insertions(+), 139 deletions(-) diff --git a/src/app/buttoneventslogger.cpp b/src/app/buttoneventslogger.cpp index c6d92c3..0ec8c3f 100644 --- a/src/app/buttoneventslogger.cpp +++ b/src/app/buttoneventslogger.cpp @@ -12,9 +12,9 @@ ButtonEventsLogger::ButtonEventsLogger() : stWait(this) { - stInitial.setNextState(&stWait); - stWait.setNextState(event::evButtonShortPressed, &stWait); - stWait.setNextState(event::evButtonLongPressed, &stWait); + stInitial.addInitialTransition(&stWait); + stWait.addTransition(event::evButtonShortPressed, &stWait); + stWait.addTransition(event::evButtonLongPressed, &stWait); stWait.registerOnEntry((XFState::callbackEv)&ButtonEventsLogger::logOnTrace); } diff --git a/src/mdw/button/ButtonEventsHandler.cpp b/src/mdw/button/ButtonEventsHandler.cpp index 47ca17a..6bdede2 100644 --- a/src/mdw/button/ButtonEventsHandler.cpp +++ b/src/mdw/button/ButtonEventsHandler.cpp @@ -16,7 +16,7 @@ ButtonEventsHandler::ButtonEventsHandler() observer_[i] = nullptr; } - stInitial.setNextState(&stRun); + stInitial.addInitialTransition(&stRun); stRun.registerOnEntry((XFState::callback)&ButtonEventsHandler::startButtonSM); } diff --git a/src/mdw/button/ButtonStateSm.cpp b/src/mdw/button/ButtonStateSm.cpp index e190eb7..20a5564 100644 --- a/src/mdw/button/ButtonStateSm.cpp +++ b/src/mdw/button/ButtonStateSm.cpp @@ -8,10 +8,27 @@ #include