15 Commits

Author SHA1 Message Date
John Wellbelove
aeb8e4f734 Formatted source files 2026-04-02 14:11:45 +01:00
John Wellbelove
d884719098 Fixed all 'extra semicolon' warnings 2025-12-16 09:15:26 +00:00
John Wellbelove
2de4057021 Added transition_to member function to change state
Pulled out the core state change code to process_state_change
2025-08-05 18:48:15 +01:00
John Wellbelove
ffc17160da Added support for self transition to etl::hfsm
Changed all instances of 'return STATE_ID' to 'return No_State_Change'
2025-05-27 17:07:58 +01:00
John Wellbelove
8710dfc4ff Fixed dereference of state pointer when null. 2024-03-20 23:27:18 +00:00
John Wellbelove
b609548f38 Added ETL_OR_STD17 macro for the namespace for size() 2023-04-23 18:58:30 +01:00
John Wellbelove
8eabe5fb26 Fix test array sizes
C++14 compiler compatibility

Updated test run scripts

Changed some ETL_ASSERT macros to ETL_ASSERT_OR_RETURN

Changed unit test macros for C++20 compaibility

Updated test run scripts

Updated CMake files to allow C++ standard selection

Replaced ETL_ASSERT_AND_RETURN with ETL_ASSERT_OR_RETURN

Updated C++14 & C++20 unit test compatibility

Changed native char8_t check

Added optional optimisation argument to bash script
2023-03-25 12:16:59 +00:00
David Ockey
055ce0d442
Added HFSM-specific start() and reset() (#672)
* Added HFSM specific Start and Reset

* Added unit tests for HFSM start() and reset()

* Updated FSM generator
2023-02-16 08:53:17 +00:00
Jeremy Overesch
8ac2db0dbe
Feature/pass partial handled events to parent (#541)
* Pass partial handled events to parent.

* Fix the generator file for C++17.
2022-04-28 15:29:11 +01:00
John Wellbelove
f3bf0dc7fe Disable etl::begin(), etl::end() and etl::size() for ETL_NO_STL 2021-10-20 13:34:44 +01:00
John Wellbelove
c691991538 Removed warning from compilation 2021-10-01 18:41:35 +01:00
John Wellbelove
cf9d46810b HFSM documentation 2021-04-26 13:51:33 +01:00
John Wellbelove
b01d58a21c Adjustments to code and optimisations 2021-04-25 14:20:29 +01:00
John Wellbelove
7f2ea864e0 Minor changes & renames 2021-04-24 09:25:39 +01:00
Jeremy Overesch
2d3b063df6
Add hierarchical FSM capabilities to the FSM. (#374)
In order to work properly, states with no change need to return ifsm_state::NO_CHANGE rather than their given state id.
Otherwise, when an event isn't handled, it will return the parent state rather than the active state.
Also, in this implementation, a state cannot return a different state during the on_enter_state() function. An assert has been added to check for that.
2021-04-22 08:40:53 +01:00