Zephyr API Documentation 4.1.99
A Scalable Open Source RTOS
|
|
4.1.99 |
State Machine Framework header file. More...
Go to the source code of this file.
Data Structures | |
struct | smf_state |
General state that can be used in multiple state machines. More... | |
struct | smf_ctx |
Defines the current context of the state machine. More... | |
Macros | |
#define | SMF_CREATE_STATE(_entry, _run, _exit, _parent, _initial) |
Macro to create a hierarchical state with initial transitions. | |
#define | SMF_CTX(o) |
Macro to cast user defined object to state machine context. | |
Typedefs | |
typedef void(* | state_method) (void *obj) |
Function pointer that implements a entry and exit actions of a state. | |
typedef enum smf_state_result(* | state_execution) (void *obj) |
Function pointer that implements a the run action of a state. | |
Enumerations | |
enum | smf_state_result { SMF_EVENT_HANDLED , SMF_EVENT_PROPAGATE } |
enum for the return value of a state_execution function More... | |
Functions | |
void | smf_set_initial (struct smf_ctx *ctx, const struct smf_state *init_state) |
Initializes the state machine and sets its initial state. | |
void | smf_set_state (struct smf_ctx *ctx, const struct smf_state *new_state) |
Changes a state machines state. | |
void | smf_set_terminate (struct smf_ctx *ctx, int32_t val) |
Terminate a state machine. | |
int32_t | smf_run_state (struct smf_ctx *ctx) |
Runs one iteration of a state machine (including any parent states) | |
State Machine Framework header file.