zephyr/tests/lib
Glenn Andrews 0569809c80 Lib: SMF: Add initial transition and smf_set_handled()
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>
2024-03-04 22:16:40 +01:00
..
acpi lib: acpi: update shell and test app with the modifed resource struct 2024-02-15 12:28:55 +01:00
c_lib hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
cbprintf_fp tests: cbprintf: fix test meta data and components 2023-10-11 14:19:40 +03:00
cbprintf_package tests: lib: cbprintf_package: Add test case for cbprintf_convert 2023-12-28 12:18:50 +00:00
cmsis_dsp hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
cmsis_nn hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
cpp hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
devicetree tests: lib: deviceteee: api: remove deprecated, unused labels 2024-02-14 23:49:35 +01:00
fdtable tests: fix thread function signatures 2023-10-30 12:24:34 +01:00
gui/lvgl tests/lib/gui/lvgl: Enable for native_sim 2023-11-27 16:06:42 +00:00
hash_function tests/lib/*: Switch integration platform to native_sim 2023-11-30 09:42:25 -05:00
hash_map tests/lib/*: Switch integration platform to native_sim 2023-11-30 09:42:25 -05:00
heap hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
heap_align hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
json tests/lib/*: Switch integration platform to native_sim 2023-11-30 09:42:25 -05:00
linear_range tests/lib/*: Switch integration platform to native_sim 2023-11-30 09:42:25 -05:00
mem_alloc tests: remove CONFIG_ZTEST_NEW_API in all tests 2023-10-20 15:04:29 +02:00
mem_blocks tests/lib/*: Switch integration platform to native_sim 2023-11-30 09:42:25 -05:00
mem_blocks_stats tests/lib/*: Switch integration platform to native_sim 2023-11-30 09:42:25 -05:00
mpsc_pbuf hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
multi_heap hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
newlib hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
notify tests/lib/*: Switch integration platform to native_sim 2023-11-30 09:42:25 -05:00
onoff tests/lib/*: Switch integration platform to native_sim 2023-11-30 09:42:25 -05:00
p4workq tests/lib/*: Switch integration platform to native_sim 2023-11-30 09:42:25 -05:00
ringbuffer tests/lib/*: Switch integration platform to native_sim 2023-11-30 09:42:25 -05:00
shared_multi_heap hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
smf Lib: SMF: Add initial transition and smf_set_handled() 2024-03-04 22:16:40 +01:00
sprintf hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
spsc_pbuf tests/lib/*: Switch integration platform to native_sim 2023-11-30 09:42:25 -05:00
sys_util tests/lib/*: Switch integration platform to native_sim 2023-11-30 09:42:25 -05:00
time hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00