0569809c80
Brings SMF framework closer into alignment with accepted Hierarchical State Machine operation by: 1. Allowing 'programming by difference' by having some child states handle events and prevent propagation up to the parent run actions while others propagate events up to a common handler in a parent state. 2. Optionally allow initial transitions within a parent state to determine the most nested child state to transition to. 3. Adding a test case for `CONFIG_SMF_INITIAL_TRANSITION` and `smf_set_handled()` 4. Updating documentation for the new API (and fixing some references) There was discussion in https://github.com/zephyrproject-rtos/zephyr/issues/55344 about not making the initial transition a Kconfig option, but I'm not sure of any way else of doing it without permanently adding a pointer to each `smf_state` entry, which is a problem for resource-constrained devices. This does not fix https://github.com/zephyrproject-rtos/zephyr/issues/66341 but documentation has been updated to warn users of the issue. Signed-off-by: Glenn Andrews <glenn.andrews.42@gmail.com>
15 lines
320 B
YAML
15 lines
320 B
YAML
common:
|
|
integration_platforms:
|
|
- native_sim
|
|
tags:
|
|
- smf
|
|
tests:
|
|
libraries.smf.flat: {}
|
|
libraries.smf.hierarchical:
|
|
extra_configs:
|
|
- CONFIG_SMF_ANCESTOR_SUPPORT=y
|
|
libraries.smf.initial_transition:
|
|
extra_configs:
|
|
- CONFIG_SMF_ANCESTOR_SUPPORT=y
|
|
- CONFIG_SMF_INITIAL_TRANSITION=y
|