Labor04
|
#include <stdint.h>
#include <stdbool.h>
Go to the source code of this file.
Data Structures | |
struct | stateTransition |
Event table holds events that can generate a state transition. More... | |
struct | stateTableEvents |
State table holds states and corresponding event tables. More... | |
struct | stateMachine |
All nesseccary data for a state machine. More... | |
Macros | |
#define | SW_USE_ONENTRY 1 |
Set to one, if onEntry() functions are needed. More... | |
#define | SW_USE_ONDO 0 |
Set to one, if onDo() functions are needed. More... | |
#define | SW_USE_ONEXIT 1 |
Set to one, if onExit() functions are needed. More... | |
#define | SW_USE_TRANSITIONFUNCTION 1 |
Set to one, if transition functions are nedded. More... | |
#define | IS_IN(statemachine, state) (statemachine.s32ActualState == state) |
MACRO checking if statemachine is in state. More... | |
Typedefs | |
typedef struct stateTableEvents | sStateTable_t |
typedef sStateTable_t * | psStateTable_t |
typedef enum specialStates | eSpecialStates_t |
Special states to use with nextStateId in sStateTransitions_t. More... | |
typedef enum specialEvents | eSpecialEvents_t |
Special events that can occur while the state machine is running. More... | |
typedef void(* | vCallback_t) (void) |
Callback typedef for better readable code. More... | |
typedef _Bool(* | bCallbackGuard_t) (void) |
Callback for guard functions, that return either true or false. More... | |
typedef struct stateTransition | sStateTransitions_t |
Event table holds events that can generate a state transition. More... | |
typedef sStateTransitions_t * | psStateTransitions_t |
typedef struct stateTableEvents | sStateTableEvents_t |
State table holds states and corresponding event tables. More... | |
typedef sStateTableEvents_t * | psStateTableEvents_t |
typedef struct stateMachine | sStateMachine_t |
All nesseccary data for a state machine. More... | |
typedef sStateMachine_t * | psStateMachine_t |
Enumerations | |
enum | specialStates { FAULT_STATE = -1, FINAL_STATE = -2 } |
Special states to use with nextStateId in sStateTransitions_t. More... | |
enum | specialEvents { NO_EVENT = -1, TIME_EVENT = -2 } |
Special events that can occur while the state machine is running. More... | |
Functions | |
_Bool | bFsmframeworkInitialize (psStateMachine_t psStateMachine, psStateTable_t psStateTable, int32_t s32StartState, uint32_t u32StateCount, uint32_t u32EventCount, vCallback_t vInitCallback) |
Initialization of the State Machine. More... | |
_Bool | bFsmframeworkDispatchEvent (psStateMachine_t psStateMachine, int32_t s32Event) |
Dispatch Event. More... | |
int32_t | s32FsmframeworkGetState (psStateMachine_t psStateMachine) |
Get the actual state of a statemachine. More... | |
_Bool | bFsmframeworkIsStateChanged (psStateMachine_t psStateMachine) |
Get the statechanged flag. 1 if last event changed the state, 0 if last event did not changed the state. More... | |