Labor04
FsmFramework.h File Reference
#include <stdint.h>
#include <stdbool.h>
Include dependency graph for FsmFramework.h:
This graph shows which files directly or indirectly include this file:

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_tpsStateTable_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_tpsStateTransitions_t
 
typedef struct stateTableEvents sStateTableEvents_t
 State table holds states and corresponding event tables. More...
 
typedef sStateTableEvents_tpsStateTableEvents_t
 
typedef struct stateMachine sStateMachine_t
 All nesseccary data for a state machine. More...
 
typedef sStateMachine_tpsStateMachine_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...