RKH
Related to state machine

Configuration options related to state machine behaviors. More...

Macros

#define RKH_CFG_SMA_ENT_ARG_SMA_EN   RKH_ENABLED
 If the RKH_CFG_SMA_ENT_ARG_SMA_EN is set to 1 then the entry action prototype will add as argument a pointer to state machine structure RKH_SMA_T. See RKH_ENT_ACT_T definition. More...
 
#define RKH_CFG_SMA_ENT_ARG_STATE_EN   RKH_DISABLED
 If the RKH_CFG_SMA_ENT_ARG_STATE_EN is set to 1 then the entry action prototype will add as argument a pointer to "this" state structure RKH_ST_T. See RKH_ENT_ACT_T definition. More...
 
#define RKH_CFG_SMA_EXT_ARG_SMA_EN   RKH_ENABLED
 If the RKH_CFG_SMA_EXT_ARG_SMA_EN is set to 1 then the exit action prototype will add as argument a pointer to state machine structure RKH_SMA_T. See RKH_EXT_ACT_T definition. More...
 
#define RKH_CFG_SMA_EXT_ARG_STATE_EN   RKH_DISABLED
 If the RKH_CFG_SMA_EXT_ARG_STATE_EN is set to 1 then the exit action prototype will add as argument a pointer to "this" state structure RKH_ST_T. See RKH_EXT_ACT_T definition. More...
 
#define RKH_CFG_SMA_ACT_ARG_SMA_EN   RKH_ENABLED
 If the RKH_CFG_SMA_ACT_ARG_SMA_EN is set to 1 then the transition action prototype will add as argument a pointer to state machine structure RKH_SMA_T. See RKH_TRN_ACT_T definition. More...
 
#define RKH_CFG_SMA_ACT_ARG_EVT_EN   RKH_ENABLED
 If the RKH_CFG_SMA_ACT_ARG_EVT_EN is set to 1 then the transition action prototype will add as argument a pointer to ocurred event. See RKH_TRN_ACT_T definition. More...
 
#define RKH_CFG_SMA_GRD_ARG_EVT_EN   RKH_ENABLED
 If the RKH_CFG_SMA_GRD_ARG_EVT_EN is set to 1 then the transition guard prototype will add as argument a pointer to ocurred event. See RKH_GUARD_T definition. More...
 
#define RKH_CFG_SMA_GRD_ARG_SMA_EN   RKH_ENABLED
 If the RKH_CFG_SMA_GRD_ARG_SMA_EN is set to 1 then the transition guard prototype will add as argument a pointer to state machine structure RKH_SMA_T. See RKH_GUARD_T definition. More...
 
#define RKH_CFG_SMA_PPRO_ARG_SMA_EN   RKH_ENABLED
 If the RKH_CFG_SMA_PPRO_ARG_SMA_EN is set to 1 then the event preprocessor (Moore function like entry and exit actions) prototype will add as argument a pointer to state machine structure RKH_SMA_T. See RKH_PPRO_T definition. More...
 
#define RKH_CFG_SMA_SM_CONST_EN   RKH_ENABLED
 If RKH_CFG_SMA_SM_CONST_EN is set to RKH_ENABLED then much of the state machine object is allocated in ROM. This approach does have as key benefit the little RAM consuming as compared when RKH_CFG_SMA_SM_CONST_EN is set to RKH_DISABLED. Nevertheless, the primary drawback of this approach is the obfuscated API to use it. In constrast, if RKH_CFG_SMA_SM_CONST_EN is set to RKH_ENABLED then the whole state machine object is allocated in RAM, including its own constant part. However, the API to use it is very simple, intuitive, and flexible, allowing easily the dynamic memory allocation. More...
 
#define RKH_CFG_SMA_RT_CTOR_EN   RKH_DISABLED
 If RKH_CFG_SMA_RT_CTOR_EN is set to RKH_ENABLED then is allowed the use of run-time constructors of RKH_SM_T and RKH_SMA_T classes, rkh_sm_ctor() and rkh_sma_ctor() respectively. More...
 
#define RKH_CFG_SMA_VFUNCT_EN   RKH_DISABLED
 If RKH_CFG_SMA_VFUNCT_EN is set to RKH_ENABLED, the active objects are defined as polymorphics, since it incorporates a virtual table of functions. See the default virtual table rkhSmaVtbl to known the available polymorphic operations. More...
 
#define RKH_CFG_SMA_ORTHREG_EN   RKH_DISABLED
 If RKH_CFG_SMA_ORTHREG_EN is set to RKH_ENABLED, the state machine functions are reentrant, therefore it could be used as workaround to easily emulates a state machine or composite state with orthogonal regions, for example, dispatching the same event to multiple state machines (regions) at the same time. More...
 

Detailed Description

Configuration options related to state machine behaviors.

Macro Definition Documentation

◆ RKH_CFG_SMA_ENT_ARG_SMA_EN

#define RKH_CFG_SMA_ENT_ARG_SMA_EN   RKH_ENABLED

If the RKH_CFG_SMA_ENT_ARG_SMA_EN is set to 1 then the entry action prototype will add as argument a pointer to state machine structure RKH_SMA_T. See RKH_ENT_ACT_T definition.

Type value Boolean
Range value
Default configuration: RKH_ENABLED

Definition at line 518 of file rkhcfg.h.

◆ RKH_CFG_SMA_ENT_ARG_STATE_EN

#define RKH_CFG_SMA_ENT_ARG_STATE_EN   RKH_DISABLED

If the RKH_CFG_SMA_ENT_ARG_STATE_EN is set to 1 then the entry action prototype will add as argument a pointer to "this" state structure RKH_ST_T. See RKH_ENT_ACT_T definition.

Type value Boolean
Range value
Default configuration: RKH_DISABLED

Definition at line 530 of file rkhcfg.h.

◆ RKH_CFG_SMA_EXT_ARG_SMA_EN

#define RKH_CFG_SMA_EXT_ARG_SMA_EN   RKH_ENABLED

If the RKH_CFG_SMA_EXT_ARG_SMA_EN is set to 1 then the exit action prototype will add as argument a pointer to state machine structure RKH_SMA_T. See RKH_EXT_ACT_T definition.

Type value Boolean
Range value
Default configuration: RKH_ENABLED

Definition at line 542 of file rkhcfg.h.

◆ RKH_CFG_SMA_EXT_ARG_STATE_EN

#define RKH_CFG_SMA_EXT_ARG_STATE_EN   RKH_DISABLED

If the RKH_CFG_SMA_EXT_ARG_STATE_EN is set to 1 then the exit action prototype will add as argument a pointer to "this" state structure RKH_ST_T. See RKH_EXT_ACT_T definition.

Type value Boolean
Range value
Default configuration: RKH_DISABLED

Definition at line 554 of file rkhcfg.h.

◆ RKH_CFG_SMA_ACT_ARG_SMA_EN

#define RKH_CFG_SMA_ACT_ARG_SMA_EN   RKH_ENABLED

If the RKH_CFG_SMA_ACT_ARG_SMA_EN is set to 1 then the transition action prototype will add as argument a pointer to state machine structure RKH_SMA_T. See RKH_TRN_ACT_T definition.

Type value Boolean
Range value
Default configuration: RKH_ENABLED

Definition at line 566 of file rkhcfg.h.

◆ RKH_CFG_SMA_ACT_ARG_EVT_EN

#define RKH_CFG_SMA_ACT_ARG_EVT_EN   RKH_ENABLED

If the RKH_CFG_SMA_ACT_ARG_EVT_EN is set to 1 then the transition action prototype will add as argument a pointer to ocurred event. See RKH_TRN_ACT_T definition.

Type value Boolean
Range value
Default configuration: RKH_ENABLED

Definition at line 578 of file rkhcfg.h.

◆ RKH_CFG_SMA_GRD_ARG_EVT_EN

#define RKH_CFG_SMA_GRD_ARG_EVT_EN   RKH_ENABLED

If the RKH_CFG_SMA_GRD_ARG_EVT_EN is set to 1 then the transition guard prototype will add as argument a pointer to ocurred event. See RKH_GUARD_T definition.

Type value Boolean
Range value
Default configuration: RKH_ENABLED

Definition at line 590 of file rkhcfg.h.

◆ RKH_CFG_SMA_GRD_ARG_SMA_EN

#define RKH_CFG_SMA_GRD_ARG_SMA_EN   RKH_ENABLED

If the RKH_CFG_SMA_GRD_ARG_SMA_EN is set to 1 then the transition guard prototype will add as argument a pointer to state machine structure RKH_SMA_T. See RKH_GUARD_T definition.

Type value Boolean
Range value
Default configuration: RKH_ENABLED

Definition at line 602 of file rkhcfg.h.

◆ RKH_CFG_SMA_PPRO_ARG_SMA_EN

#define RKH_CFG_SMA_PPRO_ARG_SMA_EN   RKH_ENABLED

If the RKH_CFG_SMA_PPRO_ARG_SMA_EN is set to 1 then the event preprocessor (Moore function like entry and exit actions) prototype will add as argument a pointer to state machine structure RKH_SMA_T. See RKH_PPRO_T definition.

Type value Boolean
Range value
Default configuration: RKH_ENABLED

Definition at line 615 of file rkhcfg.h.

◆ RKH_CFG_SMA_SM_CONST_EN

#define RKH_CFG_SMA_SM_CONST_EN   RKH_ENABLED

If RKH_CFG_SMA_SM_CONST_EN is set to RKH_ENABLED then much of the state machine object is allocated in ROM. This approach does have as key benefit the little RAM consuming as compared when RKH_CFG_SMA_SM_CONST_EN is set to RKH_DISABLED. Nevertheless, the primary drawback of this approach is the obfuscated API to use it. In constrast, if RKH_CFG_SMA_SM_CONST_EN is set to RKH_ENABLED then the whole state machine object is allocated in RAM, including its own constant part. However, the API to use it is very simple, intuitive, and flexible, allowing easily the dynamic memory allocation.

Type value Boolean
Range value
Default configuration: RKH_ENABLED

Definition at line 634 of file rkhcfg.h.

◆ RKH_CFG_SMA_RT_CTOR_EN

#define RKH_CFG_SMA_RT_CTOR_EN   RKH_DISABLED

If RKH_CFG_SMA_RT_CTOR_EN is set to RKH_ENABLED then is allowed the use of run-time constructors of RKH_SM_T and RKH_SMA_T classes, rkh_sm_ctor() and rkh_sma_ctor() respectively.

Type value Boolean
Range value
Default configuration: RKH_DISABLED

Definition at line 646 of file rkhcfg.h.

◆ RKH_CFG_SMA_VFUNCT_EN

#define RKH_CFG_SMA_VFUNCT_EN   RKH_DISABLED

If RKH_CFG_SMA_VFUNCT_EN is set to RKH_ENABLED, the active objects are defined as polymorphics, since it incorporates a virtual table of functions. See the default virtual table rkhSmaVtbl to known the available polymorphic operations.

Type value Boolean
Range value
Default configuration: RKH_DISABLED

Definition at line 659 of file rkhcfg.h.

◆ RKH_CFG_SMA_ORTHREG_EN

#define RKH_CFG_SMA_ORTHREG_EN   RKH_DISABLED

If RKH_CFG_SMA_ORTHREG_EN is set to RKH_ENABLED, the state machine functions are reentrant, therefore it could be used as workaround to easily emulates a state machine or composite state with orthogonal regions, for example, dispatching the same event to multiple state machines (regions) at the same time.

Type value Boolean
Range value
Default configuration: RKH_DISABLED

Definition at line 673 of file rkhcfg.h.