RKH
|
Prev: Home
Next: Getting started with RKH
Each RKH application must have its own configuration file, called rkhcfg.h
. This file adapts and configures RKH by means of compiler definitions and macros allowing to restrict the resources consumed by RKH. Adjusting this definitions allows to reduce the ROM and RAM consumption, and to enhance the system performance in a substantial manner.
Also, each RKH port must have its own configuration options, that must be explicitely defined in the proper rkhport.h file. Here is an list of all options with their documentation:
This section includes:
Related with RKH port | ||||
---|---|---|---|---|
Option | Type | Range | Default | Description |
RKH_CFGPORT_SMA_THREAD_EN | boolean | RKH_DISABLED | If the RKH_CFGPORT_SMA_THREAD_EN is set to 1, each SMA (active object) has its own thread of execution. | |
RKH_CFGPORT_SMA_THREAD_DATA_EN | boolean | RKH_DISABLED | If the RKH_CFGPORT_SMA_THREAD_EN and RKH_CFGPORT_SMA_THREAD_DATA_EN are set to 1, each SMA (active object) has its own thread of execution and its own object data. When enabling it, the option RKH_OSSIGNAL_TYPE must be defined. | |
RKH_CFGPORT_NATIVE_SCHEDULER_EN | boolean | RKH_ENABLED | If the RKH_CFGPORT_NATIVE_SCHEDULER_EN is set to 1 then RKH will include the simple, cooperative, and nonpreemptive scheduler RKHS. When RKH_CFGPORT_NATIVE_SCHEDULER_EN is enabled RKH also will automatically define RKH_EQ_TYPE, and include rkh_sma_block(), rkh_sma_setReady(), rkh_sma_setUnready(), and assume the native priority scheme. | |
RKH_CFGPORT_NATIVE_EQUEUE_EN | boolean | RKH_ENABLED | If the RKH_CFGPORT_NATIVE_EQUEUE_EN is set to 1 and the native event queue is enabled (see RKH_CFG_QUE_EN) then RKH will include its own implementation of rkh_sma_post_fifo(), rkh_sma_post_lifo(), and rkh_sma_get() functions. | |
RKH_CFGPORT_NATIVE_DYN_EVT_EN | boolean | RKH_ENABLED | If the RKH_CFGPORT_NATIVE_DYN_EVT_EN is set to 1 and the native fixed-size memory block facility is enabled (see RKH_CFG_MP_EN) then RKH will include its own implementation of dynamic memory management. When RKH_CFGPORT_NATIVE_DYN_EVT_EN is enabled RKH also will provide the event pool manager implementation based on its native memory pool module. | |
RKH_CFGPORT_REENTRANT_EN | boolean | RKH_DISABLED | If the RKH_CFGPORT_REENTRANT_EN is set to 1, the RKH event dispatch allows to be invoked from several threads of executions. Enable this only if the application is based on a multi-thread architecture. | |
RKH_CFGPORT_TRC_SIZEOF_PTR | integer | [8,16,32] | 32 | Specify the size of void pointer. The valid values [in bits] are 16 or 32. Default is 32. See RKH_TRC_SYM() macro. |
RKH_CFGPORT_TRC_SIZEOF_FUN_PTR | integer | [8,16,32] | 32 | Specify the size of function pointer. The valid values [in bits] are 16 or 32. Default is 32. See RKH_TUSR_FUN() and RKH_TRC_FUN() macros. |
RKH_CFGPORT_TRC_SIZEOF_TSTAMP | integer | [8,16,32] | 16 | Specify the number of bytes (size) used by the trace record timestamp. The valid values [in bits] are 8, 16 or 32. Default is 16. |
RKH_CFGPORT_SMA_QSTO_EN | boolean | RKH_ENABLED | If the RKH_CFGPORT_SMA_QSTO_EN is set to 1 then RKH_SMA_ACTIVATE() macro invokes the rkh_sma_activate() function ignoring the external event queue storage argument, qs . | |
RKH_CFGPORT_SMA_STK_EN | boolean | RKH_DISABLED | If the RKH_CFGPORT_SMA_STK_EN is set to 0 then RKH_SMA_ACTIVATE() macro invokes the rkh_sma_activate() function ignoring the thread's stack related arguments, stks and stksize . |
Back: Configuring framework RKH
Related with Framework (FWK) | ||||
---|---|---|---|---|
Option | Type | Range | Default | Description |
RKH_CFG_FWK_MAX_SMA | integer | [1..64] | 4 | Specify the maximum number of state machine applications (SMA) to be used by the application (can be a number in the range [1..64]). |
RKH_CFG_FWK_DYN_EVT_EN | boolean | RKH_DISABLED | If the dynamic event support (see RKH_CFG_FWK_DYN_EVT_EN) is set to 1, RKH allows to use event with parameters, defer/recall, allocating and recycling dynamic events, among other features. | |
RKH_CFG_FWK_MAX_EVT_POOL | integer | [0..255] | RKH_DISABLED | If the dynamic event support is enabled (see RKH_CFG_FWK_DYN_EVT_EN) then the RKH_CFG_FWK_MAX_EVT_POOL can be used to specify the maximum number of fixed-size memory block pools to be used by the application (can be a number in the range [0..256]). Note that a value of 0 will completely suppress the memory pool services. |
RKH_CFG_FWK_SIZEOF_EVT | integer | [8,16,32] | 8 | Specify the size of the event signal. The valid values [in bits] are 8, 16 or 32. Default is 8. The higher the signal size, the higher the event structure size and therefore more memory consumption. See RKH_SIG_T data type. |
RKH_CFG_FWK_MAX_SIGNALS | integer | [1-65536] | 16 | Specify the maximum number of event signals to be used by the application. |
RKH_CFG_FWK_SIZEOF_EVT_SIZE | integer | [8,16,32] | 8 | Specify the data type of event size. The valid values [in bits] are 8, 16 or 32. Default is 8. See RKH_ES_T, rkh_fwk_epool_register(), and RKH_ALLOC_EVT(). Use a 8 value if the bigger event size is minor to 256 bytes. |
RKH_CFG_FWK_DEFER_EVT_EN | boolean | RKH_DISABLED | If the RKH_CFG_FWK_DEFER_EVT_EN is set to 1 and the dynamic event support is enabled (see RKH_CFG_FWK_DYN_EVT_EN), RKH enables the defer and recall event features. | |
RKH_CFG_FWK_ASSERT_EN | boolean | RKH_ENABLED | If the RKH_CFG_FWK_ASSERT_EN is set to 0 the checking assertions are disabled. In particular macros RKH_ASSERT(), RKH_REQUIRE(), RKH_ENSURE(), RKH_INVARIANT(), and RKH_ERROR() do NOT evaluate the test condition passed as the argument to these macros. One notable exception is the macro RKH_ALLEGE(), that still evaluates the test condition, but does not report assertion failures when the RKH_CFG_FWK_ASSERT_EN is enabled. | |
RKH_CFG_FWK_PUBSUB_EN | boolean | RKH_ENABLED | If the RKH_CFG_FWK_PUBSUB_EN is set to 1 then RKH will include the native publish-subscriber module. | |
RKH_CFG_FWK_MAX_SUBS_CHANNELS | integer | [1..128] | 16 | Specify the maximum number of channels (topics) to which an active object wants to subscribe (can be a number in the range [1..128]). |
RKH_CFG_HOOK_DISPATCH_EN | boolean | RKH_DISABLED | If the RKH_CFG_HOOK_DISPATCH_EN is set to 1, RKH will invoke the dispatch hook function rkh_hook_dispatch() when dispatching an event to a SMA. When this is set the application must provide the hook function. | |
RKH_CFG_HOOK_SIGNAL_EN | boolean | RKH_DISABLED | If the RKH_CFG_HOOK_SIGNAL_EN is set to 1, RKH will invoke the signal hook function rkh_hook_signal() when the producer of an event directly posts the event to the event queue of the consumer SMA. When this is set the application must provide the hook function. | |
RKH_CFG_HOOK_TIMEOUT_EN | boolean | RKH_DISABLED | If the RKH_CFG_HOOK_TIMEOUT_EN is set to 1, RKH will invoke the timeout hook function rkh_hook_timeout() when a timer expires just before the assigned event is directly posted into the state machine application queue. When this is set the application must provide the hook function. | |
RKH_CFG_HOOK_START_EN | boolean | RKH_ENABLED | If the RKH_CFG_HOOK_START_EN is set to 1, RKH will invoke the start hook function rkh_hook_start() just before the RKH takes over control of the application. When this is set the application must provide the hook function. | |
RKH_CFG_HOOK_EXIT_EN | boolean | RKH_ENABLED | If the RKH_CFG_HOOK_EXIT_EN is set to 1, RKH will invoke the exit hook function just before it returns to the underlying OS/RTOS. Usually, the rkh_hook_exit() is useful when executing clean-up code upon SMA terminate or framework exit. When this is set the application must provide the hook function. | |
RKH_CFG_HOOK_TIMETICK_EN | boolean | RKH_ENABLED | If the RKH_CFG_HOOK_TIMETICK_EN is set to 1, RKH will invoke the time tick hook function from rkh_tmr_tick(), at the very beginning of that, to give priority to user or port-specific code when the tick interrupt occurs. | |
RKH_CFG_HOOK_PUT_TRCEVT_EN | boolean | RKH_DISABLED | If the RKH_CFG_HOOK_PUT_TRCEVT_EN is set to 1, RKH will invoke the rkh_hook_putTrcEvt() function from rkh_trc_end() function, at the end of that, to allow to the application to extend the functionality of RKH, giving the port developer the opportunity to add code that will be called when is put a trace event into the stream buffer. When this is set the application must provide the hook function. | |
RKH_CFG_FWK_TICK_RATE_HZ | integer | [1..1000] | 100 | Specify the frequency of the framework tick interrupt (number of ticks in one second). It's the rate at which the rkh_tmr_tick() function is invoked. This configuration constant is not used by RKH, it is just a value to allow an application to deal with time when using timer services, converting ticks to time. See RKH_TICK_RATE_MS constant. |
RKH_CFG_FWK_AWARE_ISR_PRIO | integer | [0..255] | 0 | This number divides interrupts into "aware" and "unware" interrupts, which are never disabled, and "aware" interrupts, which are disabled in the RKH critical section. For example, an interrupt priority number lower than RKH_CFG_FWK_AWARE_ISR_PRIO indicates an "unware" interrupt, whereas an interrupt priority number equal or higher than RKH_CFG_FWK_AWARE_ISR_PRIO indicates an "aware" interrupt. |
Back: Configuring framework RKH
Related with State Machine Application SMA or Active Object | ||||
---|---|---|---|---|
Option | Type | Range | Default | Description |
RKH_CFG_SMA_GET_INFO_EN | boolean | RKH_DISABLED | If the RKH_CFG_SMA_GET_INFO_EN is set to 1 then RKH will include the rkh_clear_info() and rkh_get_info() functions. | |
RKH_CFG_SMA_PPRO_EN | boolean | RKH_DISABLED | If the RKH_CFG_SMA_PPRO_EN is set to 1 then RKH allows to reference a event preprocessor to any basic state. Aditionally, by means of single inheritance in C it could be used as state's abstract data. Moreover, implementing the single inheritance in C is very simply by literally embedding the base type, RKH_PPRO_T in this case, as the first member of the derived structure. See prepro member of RKH_ST_T structure for more information. | |
RKH_CFG_SMA_HCAL_EN | boolean | RKH_ENABLED | If the RKH_CFG_SMA_HCAL_EN is set to 1, the RKH allows state nesting. When RKH_CFG_SMA_HCAL_EN is set to 0 some important features of RKH are not included: state nesting, composite state, history (shallow and deep) pseudostate, entry action, and exit action. | |
RKH_CFG_SMA_MAX_HCAL_DEPTH | integer | [1..8] | 4 | Specify the maximum number of hierarchical levels. The smaller this number, the lower the RAM consumption. Typically, the most of hierarchical state machines uses up to 4 levels. Currently RKH_CFG_SMA_MAX_HCAL_DEPTH cannot exceed 8. |
RKH_CFG_SMA_MAX_TRC_SEGS | integer | [1..4] | 4 | Specify the maximum number of linked transition segments. The smaller this number, the lower the RAM consumption. Typically, the most of hierarchical state machines uses up to 4 transition segments. Currently RKH_CFG_SMA_MAX_TRC_SEGS cannot exceed 8. |
RKH_CFG_SMA_PSEUDOSTATE_EN | boolean | RKH_DISABLED | If the RKH_CFG_SMA_PSEUDOSTATE_EN is set to 1, the RKH allows pseudostates usage. | |
RKH_CFG_SMA_DEEP_HIST_EN | boolean | RKH_DISABLED | If the RKH_CFG_SMA_DEEP_HIST_EN and RKH_CFG_SMA_PSEUDOSTATE_EN are set to 1, the RKH allows deep history pseudostate usage. | |
RKH_CFG_SMA_SHALLOW_HIST_EN | boolean | RKH_DISABLED | If the RKH_CFG_SMA_SHALLOW_HIST_EN and RKH_CFG_SMA_PSEUDOSTATE_EN are set to 1, the RKH allows shallow history pseudostate usage. | |
RKH_CFG_SMA_CHOICE_EN | boolean | RKH_DISABLED | If the RKH_CFG_SMA_CHOICE_EN and RKH_CFG_SMA_PSEUDOSTATE_EN are set to 1, the RKH allows choice pseudostate usage. | |
RKH_CFG_SMA_CONDITIONAL_EN | boolean | RKH_DISABLED | If the RKH_CFG_SMA_CONDITIONAL_EN and RKH_CFG_SMA_PSEUDOSTATE_EN are set to 1, the RKH allows branch (or conditional) pseudostate usage. | |
RKH_CFG_SMA_SUBMACHINE_EN | boolean | RKH_DISABLED | If the RKH_CFG_SMA_SUBMACHINE_EN and RKH_CFG_SMA_PSEUDOSTATE_EN are set to 1, the RKH allows submachine state (and exit/entry points) usage. | |
RKH_CFG_SMA_TRC_SNDR_EN | boolean | RKH_DISABLED | If the RKH_CFG_SMA_TRC_SNDR_EN and RKH_CFG_TRC_EN are set to 1, when posting an event the RKH inserts a pointer to the sender object. | |
RKH_CFG_SMA_INIT_EVT_EN | boolean | RKH_DISABLED | If the RKH_CFG_SMA_INIT_EVT_EN is set to 1 then an initial event could be be passed to state machine application when it starts, like an argc/argv. Also, the RKH_CFG_SMA_INIT_EVT_EN changes the initial action prototype. | |
RKH_CFG_SMA_ENT_ARG_SMA_EN | boolean | 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. | |
RKH_CFG_SMA_ENT_ARG_STATE_EN | boolean | 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. | |
RKH_CFG_SMA_EXT_ARG_SMA_EN | boolean | 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. | |
RKH_CFG_SMA_EXT_ARG_STATE_EN | boolean | 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. | |
RKH_CFG_SMA_ACT_ARG_SMA_EN | boolean | 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. | |
RKH_CFG_SMA_ACT_ARG_EVT_EN | boolean | 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. | |
RKH_CFG_SMA_GRD_ARG_EVT_EN | boolean | 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. | |
RKH_CFG_SMA_GRD_ARG_SMA_EN | boolean | 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. | |
RKH_CFG_SMA_PPRO_ARG_SMA_EN | boolean | 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. | |
RKH_CFG_SMA_SM_CONST_EN | boolean | 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. | |
RKH_CFG_SMA_RT_CTOR_EN | boolean | 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. | |
RKH_CFG_SMA_VFUNCT_EN | boolean | 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. | |
RKH_CFG_SMA_ORTHREG_EN | boolean | 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. |
Back: Configuring framework RKH
Related with trace facility (TRC) | ||||
---|---|---|---|---|
Option | Type | Range | Default | Description |
RKH_CFG_TRC_EN | boolean | RKH_ENABLED | If the RKH_CFG_TRC_EN is set to 1 then RKH will include the trace facility. | |
RKH_CFG_TRC_RTFIL_EN | boolean | RKH_DISABLED | If the RKH_CFG_TRC_RTFIL_EN is set to 1 then RKH will include the runtime trace filter facility. When RKH_CFG_TRC_RTFIL_EN is enabled RKH also will automatically define RKH_FILTER_ON_GROUP(), RKH_FILTER_OFF_GROUP(), RKH_FILTER_ON_EVENT(), RKH_FILTER_OFF_EVENT(), RKH_FILTER_ON_GROUP_ALL_EVENTS(), RKH_FILTER_OFF_GROUP_ALL_EVENTS(), RKH_FILTER_ON_SMA(), and RKH_FILTER_OFF_SMA() macros. | |
RKH_CFG_TRC_RTFIL_SMA_EN | boolean | RKH_DISABLED | If the RKH_CFG_TRC_RTFIL_EN and RKH_CFG_TRC_RTFIL_SMA_EN are set to 1, the RKH allows the usage of runtime trace filter for state machine applications (active objects). | |
RKH_CFG_TRC_RTFIL_SIGNAL_EN | boolean | RKH_DISABLED | If the RKH_CFG_TRC_RTFIL_EN and RKH_CFG_TRC_RTFIL_SIGNAL_EN are set to 1, the RKH allows the usage of runtime trace filter for signals (events). | |
RKH_CFG_TRC_USER_TRACE_EN | boolean | RKH_DISABLED | If the RKH_CFG_TRC_USER_TRACE_EN is set to 1 then RKH will allow to build and generate tracing information from the application-level code. This trace records are application-specific. | |
RKH_CFG_TRC_ALL_EN | boolean | RKH_DISABLED | If the RKH_CFG_TRC_ALL_EN is set to 1 then RKH will include all its own trace records. | |
RKH_CFG_TRC_MP_EN | boolean | RKH_DISABLED | If the RKH_CFG_TRC_MP_EN is set to 1 then RKH will include all trace records related to the native fixed-size memory blocks. | |
RKH_CFG_TRC_QUE_EN | boolean | RKH_DISABLED | If the RKH_CFG_TRC_QUE_EN is set to 1 then RKH will include all trace records related to the native queues. | |
RKH_CFG_TRC_SMA_EN | boolean | RKH_DISABLED | If the RKH_CFG_TRC_SMA_EN is set to 1 then RKH will include all trace records related to the state machine applications. | |
RKH_CFG_TRC_TMR_EN | boolean | RKH_ENABLED | If the RKH_CFG_TRC_TMR_EN is set to 1 then RKH will include all trace records related to the native software timer. | |
RKH_CFG_TRC_SM_EN | boolean | RKH_ENABLED | If the RKH_CFG_TRC_SM_EN is set to 1 then RKH will include all trace records related to the state machine (hierarchical and "flat"). | |
RKH_CFG_TRC_FWK_EN | boolean | RKH_ENABLED | If the RKH_CFG_TRC_FWK_EN is set to 1 then RKH will include all trace records related to the nativenative event framework. | |
RKH_CFG_TRC_ASSERT_EN | boolean | RKH_ENABLED | If the RKH_CFG_TRC_ASSERT_EN and RKH_CFG_TRC_FWK_EN are set to 1 then RKH will include the "assertion" trace record. | |
RKH_CFG_TRC_SM_INIT_EN | boolean | RKH_DISABLED | If the RKH_CFG_TRC_SM_INIT_EN and RKH_CFG_TRC_SM_EN are set to 1 then RKH will include the "init state machine" trace record. | |
RKH_CFG_TRC_SM_DCH_EN | boolean | RKH_DISABLED | If the RKH_CFG_TRC_SM_DCH_EN and RKH_CFG_TRC_SM_EN are set to 1 then RKH will include the "start a state machine" trace record. | |
RKH_CFG_TRC_SM_CLRH_EN | boolean | RKH_DISABLED | If the RKH_CFG_TRC_SM_CLRH_EN and RKH_CFG_TRC_SM_EN are set to 1 then RKH will include the "dispatch an event to state machine" trace record. | |
RKH_CFG_TRC_SM_TRN_EN | boolean | RKH_DISABLED | If the RKH_CFG_TRC_SM_CLRH_EN and RKH_CFG_TRC_SM_EN are set to 1 then RKH will include the "clear the history pseudostate" trace record. | |
RKH_CFG_TRC_SM_STATE_EN | boolean | RKH_ENABLED | If the RKH_CFG_TRC_SM_STATE_EN and RKH_CFG_TRC_SM_EN are set to 1 then RKH will include the "final state of transition" trace record. | |
RKH_CFG_TRC_SM_ENSTATE_EN | boolean | RKH_DISABLED | If the RKH_CFG_TRC_SM_CLRH_EN and RKH_CFG_TRC_SM_EN are set to 1 then RKH will include the "entry state" trace record. | |
RKH_CFG_TRC_SM_EXSTATE_EN | boolean | RKH_DISABLED | If the RKH_CFG_TRC_SM_CLRH_EN and RKH_CFG_TRC_SM_EN are set to 1 then RKH will include the "exit state" trace record. | |
RKH_CFG_TRC_SM_NENEX_EN | boolean | RKH_DISABLED | If the RKH_CFG_TRC_SM_CLRH_EN and RKH_CFG_TRC_SM_EN are set to 1 then RKH will include the "number of entry and exit states in transition" trace record. | |
RKH_CFG_TRC_SM_NTRNACT_EN | boolean | RKH_DISABLED | If the RKH_CFG_TRC_SM_CLRH_EN and RKH_CFG_TRC_SM_EN are set to 1 then RKH will include the "number of executed actions in transition" trace record. | |
RKH_CFG_TRC_SM_TS_STATE_EN | boolean | RKH_DISABLED | If the RKH_CFG_TRC_SM_CLRH_EN and RKH_CFG_TRC_SM_EN are set to 1 then RKH will include the "state or pseudostate in a compound transition" trace record. | |
RKH_CFG_TRC_SM_PROCESS_EN | boolean | RKH_DISABLED | If the RKH_CFG_TRC_SM_CLRH_EN and RKH_CFG_TRC_SM_EN are set to 1 then RKH will include the "returned code from dispatch function" trace record. | |
RKH_CFG_TRC_SM_EXE_ACT_EN | boolean | RKH_DISABLED | If the RKH_CFG_TRC_SM_EXE_ACT_EN and RKH_CFG_TRC_SM_EN are set to 1 then RKH will include the "executed behavior of state machine" trace record. | |
RKH_CFG_TRC_NSEQ_EN | boolean | RKH_DISABLED | If the RKH_CFG_TRC_NSEQ_EN is set to 1 then RKH will add to the trace record an incremental number (1-byte), used like a sequence number. See RKH_TRC_NSEQ() and RKH_TRC_HDR() macros. | |
RKH_CFG_TRC_CHK_EN | boolean | RKH_ENABLED | If the RKH_CFG_TRC_CHK_EN is set to 1 then RKH will add to the trace record a checksum (1-byte). See RKH_TRC_CHK() macro. | |
RKH_CFG_TRC_TSTAMP_EN | boolean | RKH_ENABLED | If the RKH_CFG_TRC_TSTAMP_EN is set to 1 then RKH will add to the trace record a timestamp field. It's configurable by means of RKH_CFGPORT_TRC_SIZEOF_TSTAMP. | |
RKH_CFG_TRC_SIZEOF_STREAM | integer | [8,16,32] | 128 | Specify the maximum number of trace events in the stream. The smaller this number, the lower the RAM consumption. |
Back: Configuring framework RKH
Related with queue module (QUE) | ||||
---|---|---|---|---|
Option | Type | Range | Default | Description |
RKH_CFG_QUE_EN | boolean | RKH_ENABLED | If the RKH_CFG_QUE_EN is set to 1 then RKH will include the native queue facility. | |
RKH_CFG_QUE_SIZEOF_NELEM | integer | [8,16,32] | 8 | Specify the maximum number of elements that any queue can contain. The valid values [in bits] are 8, 16 or 32. Default is 8. See RKH_QUENE_T type. |
RKH_CFG_QUE_GET_LWMARK_EN | boolean | RKH_ENABLED | If the RKH_CFG_QUE_GET_LWMARK_EN is set to 1 then RKH allows to known the minimum number of free elements ever in the queue (low-watermark ). This provides valuable empirical data for proper sizing of the queue. See rkh_rq_get_lwm() function. | |
RKH_CFG_QUE_READ_EN | boolean | RKH_DISABLED | If the RKH_CFG_QUE_READ_EN is set to 1 then RKH will include the rkh_rq_read() function that allows read an element from a queue without remove it. See rkh_rq_read() function. | |
RKH_CFG_QUE_DEPLETE_EN | boolean | RKH_DISABLED | If the RKH_CFG_QUE_DEPLETE_EN is set to 1 then RKH will include the rkh_rq_deplete() function that empties the contents of the queue and eliminates all stored elements. See rkh_rq_deplete() function. | |
RKH_CFG_QUE_IS_FULL_EN | boolean | RKH_DISABLED | If the RKH_CFG_QUE_IS_FULL_EN is set to 1 then RKH will include the rkh_rq_is_full() function that allows to known if a queue is full. See rkh_rq_is_full() function. | |
RKH_CFG_QUE_GET_NELEMS_EN | boolean | RKH_DISABLED | If the RKH_CFG_QUE_GET_NELEMS_EN is set to 1 then RKH will include the rkh_rq_get_num() function that returns the number of elements currently in the queue. See rkh_rq_get_num() function. | |
RKH_CFG_QUE_PUT_LIFO_EN | boolean | RKH_DISABLED | If the RKH_CFG_QUE_PUT_LIFO_EN is set to 1 then RKH will include the rkh_rq_put_lifo() function that puts an element on a queue in a LIFO manner. See rkh_rq_put_lifo() function. | |
RKH_CFG_QUE_GET_INFO_EN | boolean | RKH_DISABLED | If the RKH_CFG_QUE_GET_INFO_EN is set to 1 then RKH allows to collect and retrives performance information for a particular queue. See rkh_rq_get_info() and rkh_rq_clear_info() functions. |
Back: Configuring framework RKH
Related with fixed-sized memory block facility (MP) | ||||
---|---|---|---|---|
Option | Type | Range | Default | Description |
RKH_CFG_MP_EN | boolean | RKH_DISABLED | If the RKH_CFG_MP_EN is set to 1 then RKH will include the native fixed-size memory block management. | |
RKH_CFG_MP_REDUCED_EN | boolean | RKH_DISABLED | If the RKH_CFG_MP_EN is set to 1 then RKH will include the native fixed-size memory block management. | |
RKH_CFG_MP_SIZEOF_BSIZE | integer | [8,16,32] | 8 | Specify the size of memory block size. The valid values [in bits] are 8, 16 or 32. Default is 8. See RKH_MPBS_T type. |
RKH_CFG_MP_SIZEOF_NBLOCK | integer | [8,16,32] | 8 | Specify size of number of memory block size. The valid values [in bits] are 8, 16 or 32. Default is 8. See RKH_MPNB_T type. |
RKH_CFG_MP_GET_BSIZE_EN | boolean | RKH_DISABLED | If the RKH_CFG_MP_GET_BSIZE_EN is set to 1 then RKH will include the rkh_mp_get_bsize() function that returns the size of memory block in bytes. See rkh_mp_get_bsize() function. | |
RKH_CFG_MP_GET_NFREE_EN | boolean | RKH_DISABLED | If the RKH_CFG_MP_GET_NFREE_EN is set to 1 then RKH will include the rkh_mp_get_nfree() function that returns the current number of free memory blocks in the pool. See rkh_mp_get_nfree() function. | |
RKH_CFG_MP_GET_LWM_EN | boolean | RKH_DISABLED | If the RKH_CFG_MP_GET_LWM_EN is set to 1 then RKH will include the rkh_mp_get_low_wmark() function that returns the lowest number of free blocks ever present in the pool. This number provides valuable empirical data for proper sizing of the memory pool. See rkh_mp_get_low_wmark() function. | |
RKH_CFG_MP_GET_INFO_EN | boolean | RKH_DISABLED | If the RKH_CFG_MP_GET_INFO_EN is set to 1 then RKH will include the rkh_mp_get_info() function that retrieves performance information for a particular memory pool. See rkh_mp_get_info() function. |
Back: Configuring framework RKH
Related with software timer facility (TMR) | ||||
---|---|---|---|---|
Option | Type | Range | Default | Description |
RKH_CFG_TMR_EN | boolean | RKH_ENABLED | If the RKH_CFG_QUE_EN is set to 1 then RKH will include the native software timer facility. | |
RKH_CFG_TMR_SIZEOF_NTIMER | integer | [8,16,32] | 8 | Specify the dynamic range of the time delays measured in clock ticks (maximum number of ticks). The valid values [in bits] are 8, 16 or 32. Default is 8. |
RKH_CFG_TMR_HOOK_EN | boolean | RKH_DISABLED | If the RKH_CFG_TMR_HOOK_EN is set to 1 then RKH will invoke a hook function when a timer expires. When this is set the application must provide the hook function. | |
RKH_CFG_TMR_GET_INFO_EN | boolean | RKH_DISABLED | If the RKH_CFG_TMR_GET_INFO_EN is set to 1 then RKH will include the rkh_tmr_get_info() function that retrieves performance information for a particular software timer. See rkh_tmr_get_info() function. |
Prev: Home
Next: Getting started with RKH