zephyr/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
cpp llvm: Add support for LLVM libc++ C++ Standard Library 2023-10-20 14:59:31 +02:00
crc lib: crc: address absence of crc4, crc4_ti in crc_types array 2024-01-03 10:20:14 +01:00
hash lib: hash: use new c++ Kconfig symbols 2023-07-26 14:53:51 +02:00
heap lib: heap: move heap stats to own file 2023-12-13 17:27:54 -05:00
libc buildsystem: Enable LTO also for the application 2024-03-02 15:39:36 +01:00
mem_blocks lib: mem_block: move to own folder 2023-12-13 17:27:54 -05:00
open-amp open-amp: Fix compilation with cache enabled 2023-04-18 12:12:56 +02:00
os lib: cbprintf: do not blindly skip tags 2024-02-06 09:53:15 +01:00
posix posix: syslog: add support for syslog 2024-02-29 02:45:01 -05:00
runtime llvm: Add support for selecting runtime library 2023-08-03 19:35:11 +02:00
smf Lib: SMF: Add initial transition and smf_set_handled() 2024-03-04 22:16:40 +01:00
utils lib: move utilities into own folder 2023-12-22 09:54:12 +01:00
CMakeLists.txt lib posix: Allow building the POSIX_API library without the host libC 2023-12-28 09:58:23 -05:00
Kconfig lib: move utilities into own folder 2023-12-22 09:54:12 +01:00