LibJuno 0.42.0
LibJuno is a lightweight C99 library designed specifically for embedded systems.
Loading...
Searching...
No Matches
sm_api.h File Reference
#include "juno/macros.h"
#include "juno/status.h"
#include "juno/module.h"
#include "juno/types.h"
#include <stdbool.h>
#include <stddef.h>
Include dependency graph for sm_api.h:

Go to the source code of this file.

Data Structures

struct  JUNO_SM_STATE_API_TAG
 

Typedefs

typedef struct JUNO_SM_ROOT_TAG JUNO_SM_ROOT_T
 
typedef struct JUNO_SM_STATE_API_TAG JUNO_SM_STATE_API_T
 
typedef struct JUNO_SM_STATE_ROOT_TAG JUNO_SM_STATE_ROOT_T
 

Functions

 JUNO_MODULE_DECLARE (JUNO_SM_STATE_T)
 
 JUNO_MODULE_DECLARE (JUNO_SM_T)
 
 JUNO_MODULE_RESULT (JUNO_SM_RESULT_STATE_ROOT_T, JUNO_SM_STATE_ROOT_T *)
 A result type for returning a SM state.
 
 JUNO_MODULE_RESULT (JUNO_SM_RESULT_STATE_T, JUNO_SM_STATE_T *)
 
 JUNO_MODULE_OPTION (JUNO_SM_OPTION_STATE_ROOT_T, JUNO_SM_STATE_ROOT_T *)
 
 JUNO_MODULE_OPTION (JUNO_SM_OPTION_STATE_T, JUNO_SM_STATE_T *)
 
 JUNO_MODULE_RESULT (JUNO_SM_RESULT_OPTION_STATE_ROOT_T, JUNO_SM_OPTION_STATE_ROOT_T)
 
 JUNO_MODULE_RESULT (JUNO_SM_RESULT_OPTION_STATE_T, JUNO_SM_OPTION_STATE_T)
 
struct JUNO_SM_STATE_ROOT_TAG JUNO_MODULE_ROOT (JUNO_SM_STATE_API_T, JUNO_SM_T *ptSm;JUNO_SM_OPTION_STATE_T tOptionNextState;)
 A State Machine State.
 
struct JUNO_SM_ROOT_TAG JUNO_MODULE_ROOT (void, JUNO_SM_STATE_T *ptCurrentState;)
 
static JUNO_STATUS_T JunoSm_Verify (JUNO_SM_ROOT_T *ptSmRoot)
 Verify if this is a valid state machine.
 
static JUNO_STATUS_T JunoSm_StateVerify (JUNO_SM_STATE_ROOT_T *ptSmState)
 
static JUNO_STATUS_T JunoSm_StateInit (JUNO_SM_ROOT_T *ptSm, JUNO_SM_STATE_ROOT_T *ptStateRoot, JUNO_SM_STATE_ROOT_T *ptNextState, const JUNO_SM_STATE_API_T *ptStateApi, JUNO_FAILURE_HANDLER_T pfcnFailureHandler, JUNO_USER_DATA_T *pvFailureUserData)
 
static JUNO_STATUS_T JunoSm_Init (JUNO_SM_ROOT_T *ptSmRoot, JUNO_SM_STATE_ROOT_T *ptStartState, JUNO_FAILURE_HANDLER_T pfcnFailureHandler, JUNO_USER_DATA_T *pvFailureUserData)
 
static JUNO_SM_RESULT_STATE_T JunoSm_GetCurrentState (JUNO_SM_ROOT_T *ptSmRoot)
 
static JUNO_SM_RESULT_OPTION_STATE_T JunoSm_TransitionState (JUNO_SM_ROOT_T *ptSmRoot)
 

Typedef Documentation

◆ JUNO_SM_ROOT_T

typedef struct JUNO_SM_ROOT_TAG JUNO_SM_ROOT_T

This API has been generated by LibJuno: https://www.robinonsay.com/libjuno/ This header contains the juno_sm library API

Author
Robin Onsay

◆ JUNO_SM_STATE_API_T

◆ JUNO_SM_STATE_ROOT_T

typedef struct JUNO_SM_STATE_ROOT_TAG JUNO_SM_STATE_ROOT_T

Function Documentation

◆ JUNO_MODULE_DECLARE() [1/2]

JUNO_MODULE_DECLARE ( JUNO_SM_STATE_T  )

◆ JUNO_MODULE_DECLARE() [2/2]

JUNO_MODULE_DECLARE ( JUNO_SM_T  )

◆ JUNO_MODULE_OPTION() [1/2]

JUNO_MODULE_OPTION ( JUNO_SM_OPTION_STATE_ROOT_T  ,
JUNO_SM_STATE_ROOT_T  
)

◆ JUNO_MODULE_OPTION() [2/2]

JUNO_MODULE_OPTION ( JUNO_SM_OPTION_STATE_T  ,
JUNO_SM_STATE_T *   
)

◆ JUNO_MODULE_RESULT() [1/4]

JUNO_MODULE_RESULT ( JUNO_SM_RESULT_OPTION_STATE_ROOT_T  ,
JUNO_SM_OPTION_STATE_ROOT_T   
)

◆ JUNO_MODULE_RESULT() [2/4]

JUNO_MODULE_RESULT ( JUNO_SM_RESULT_OPTION_STATE_T  ,
JUNO_SM_OPTION_STATE_T   
)

◆ JUNO_MODULE_RESULT() [3/4]

JUNO_MODULE_RESULT ( JUNO_SM_RESULT_STATE_ROOT_T  ,
JUNO_SM_STATE_ROOT_T  
)

A result type for returning a SM state.

◆ JUNO_MODULE_RESULT() [4/4]

JUNO_MODULE_RESULT ( JUNO_SM_RESULT_STATE_T  ,
JUNO_SM_STATE_T *   
)

◆ JUNO_MODULE_ROOT() [1/2]

struct JUNO_SM_STATE_ROOT_TAG JUNO_MODULE_ROOT ( JUNO_SM_STATE_API_T  ,
JUNO_SM_T *ptSm;JUNO_SM_OPTION_STATE_T tOptionNextState;   
)

A State Machine State.

◆ JUNO_MODULE_ROOT() [2/2]

struct JUNO_SM_ROOT_TAG JUNO_MODULE_ROOT ( void  ,
JUNO_SM_STATE_T *ptCurrentState;   
)

◆ JunoSm_GetCurrentState()

static JUNO_SM_RESULT_STATE_T JunoSm_GetCurrentState ( JUNO_SM_ROOT_T ptSmRoot)
inlinestatic

◆ JunoSm_Init()

static JUNO_STATUS_T JunoSm_Init ( JUNO_SM_ROOT_T ptSmRoot,
JUNO_SM_STATE_ROOT_T ptStartState,
JUNO_FAILURE_HANDLER_T  pfcnFailureHandler,
JUNO_USER_DATA_T pvFailureUserData 
)
inlinestatic

◆ JunoSm_StateInit()

static JUNO_STATUS_T JunoSm_StateInit ( JUNO_SM_ROOT_T ptSm,
JUNO_SM_STATE_ROOT_T ptStateRoot,
JUNO_SM_STATE_ROOT_T ptNextState,
const JUNO_SM_STATE_API_T ptStateApi,
JUNO_FAILURE_HANDLER_T  pfcnFailureHandler,
JUNO_USER_DATA_T pvFailureUserData 
)
inlinestatic

◆ JunoSm_StateVerify()

static JUNO_STATUS_T JunoSm_StateVerify ( JUNO_SM_STATE_ROOT_T ptSmState)
inlinestatic

◆ JunoSm_TransitionState()

static JUNO_SM_RESULT_OPTION_STATE_T JunoSm_TransitionState ( JUNO_SM_ROOT_T ptSmRoot)
inlinestatic

◆ JunoSm_Verify()

static JUNO_STATUS_T JunoSm_Verify ( JUNO_SM_ROOT_T ptSmRoot)
inlinestatic

Verify if this is a valid state machine.