Sample QP/C++ configuration file. More...
Go to the source code of this file.
Macros | |
#define | QP_API_VERSION 0 |
QP Framework API backwards-compatibility version. | |
#define | Q_UNSAFE |
Disable the QP Functional Safety (FuSa) Subsystem. | |
#define | Q_SIGNAL_SIZE 2U |
Size of the QEvt signal [bytes]. | |
#define | QF_MAX_ACTIVE 32U |
Maximum # Active Objects in the system (1..64) | |
#define | QF_MAX_EPOOL 3U |
Maximum # event pools in the system (0..15) | |
#define | QF_MAX_TICK_RATE 1U |
Maximum # clock tick rates in the system (0..15) | |
#define | QEVT_PAR_INIT |
Event parameter initialization (RAII) for dynamic events. | |
#define | QACTIVE_CAN_STOP |
Enable the Active Object stop API. | |
#define | Q_XTOR |
Enable the virtual destructor in the QP::QAsm base class. | |
#define | QF_EVENT_SIZ_SIZE 2U |
Maximum size of dynamic events managed by QP. | |
#define | QF_TIMEEVT_CTR_SIZE 4U |
Time event counter size. | |
#define | QF_EQUEUE_CTR_SIZE 1U |
Event queue counter size. | |
#define | QF_MPOOL_CTR_SIZE 2U |
Memory pool counter size (QF_MPOOL_CTR_SIZE) | |
#define | QF_MPOOL_SIZ_SIZE 2U |
Memory block size (QF_MPOOL_SIZ_SIZE) | |
#define | QS_TIME_SIZE 4U |
QS timestamp size (QS_TIME_SIZE) | |
#define | QS_CTR_SIZE 2U |
QS buffer counter size (QS_CTR_SIZE) | |
#define | QF_ON_CONTEXT_SW |
Enable context switch callback WITHOUT QS. | |
#define | QF_MEM_ISOLATE |
Enable MPU memory isolation. | |
#define | QK_USE_IRQ_NUM 31 |
Use IRQ handler for QK return-from-preemption in ARM Cortex-M. | |
#define | QK_USE_IRQ_HANDLER Reserved31_IRQHandler |
Use IRQ handler for QK return-from-preemption in ARM Cortex-M. | |
#define | QXK_USE_IRQ_NUM 31 |
Use IRQ handler for QXK return-from-preemption in ARM Cortex-M. | |
#define | QXK_USE_IRQ_HANDLER Reserved31_IRQHandler |
Use IRQ handler for QK return-from-preemption in ARM Cortex-M. | |
Sample QP/C++ configuration file.
qp_config.hpp
file is optional and does not need to be provided (see the description of the QP_CONFIG macro below). In that case, all the listed configuration macros will be set at their default values.qp_config.hpp
configuration file takes effect only when the command-line macro QP_CONFIG is defined.Also, if the qp_config.hpp
file is provided and enabled (by defining the command-line macro QP_CONFIG), but any of the listed configuration macros is not defined in the provided file, the default value will be used.
qp_config.hpp
header files provided in the various QP/C++ examples are formatted to support the "Configuration Wizard" editor available in some IDEs (e.g., KEIL uVision). The screen shot below shows how to edit qp_config.hpp
in that mode.Definition in file qp_config.hpp.
#define QP_API_VERSION 0 |
QP Framework API backwards-compatibility version.
QP_API_VERSION
values enable backwards compatibility with lower (older) QP API versions.For example, QP_API_VERSION==691
will enable the compatibility layer with QP version 6.9.1 and newer, but not older than 6.9.1. QP_API_VERSION==0
enables the maximum currently supported backwards compatibility. Conversely, QP_API_VERSION==9999
means that no backwards compatibility layer should be enabled. Default: 0 (All supported)
Definition at line 61 of file qp_config.hpp.
#define Q_UNSAFE |
Disable the QP Functional Safety (FuSa) Subsystem.
Q_UNSAFE
disables QP FuSa Subsystem, which consists of the following facilities:Default: undefined
Q_UNSAFE
), especially in the final production release, CONTRADICTS the most fundamental principles of functional safety and is NOT recommended. Definition at line 91 of file qp_config.hpp.
#define Q_SIGNAL_SIZE 2U |
Size of the QEvt signal [bytes].
Definition at line 106 of file qp_config.hpp.
#define QF_MAX_ACTIVE 32U |
Maximum # Active Objects in the system (1..64)
Definition at line 123 of file qp_config.hpp.
#define QF_MAX_EPOOL 3U |
Maximum # event pools in the system (0..15)
Definition at line 133 of file qp_config.hpp.
#define QF_MAX_TICK_RATE 1U |
Maximum # clock tick rates in the system (0..15)
Definition at line 143 of file qp_config.hpp.
#define QEVT_PAR_INIT |
Event parameter initialization (RAII) for dynamic events.
Default: undefined
Definition at line 161 of file qp_config.hpp.
#define QACTIVE_CAN_STOP |
Enable the Active Object stop API.
Default: undefined
Definition at line 172 of file qp_config.hpp.
#define Q_XTOR |
Enable the virtual destructor in the QP::QAsm base class.
delete
operator, which then must be linked from a standard library. This is undesirable in many embedded systems.Default: undefined
Definition at line 192 of file qp_config.hpp.
#define QF_EVENT_SIZ_SIZE 2U |
Maximum size of dynamic events managed by QP.
Default: 2 byte dynamic range (64K bytes maximum event size)
Definition at line 204 of file qp_config.hpp.
#define QF_TIMEEVT_CTR_SIZE 4U |
Time event counter size.
Default: 4 bytes (2^32 dynamic range)
Definition at line 219 of file qp_config.hpp.
#define QF_EQUEUE_CTR_SIZE 1U |
Event queue counter size.
The size [bytes] of the ring-buffer counters used in the native QF event queue implementation. Valid values: 1U or 2U; default 1U.
This macro can be defined in the QF port file (qf_port.hpp) to configure the QP::QEQueueCtr type. Here the macro is not defined so the default of 1 byte is chosen.
Default: 1 (maximum 255 events in a queue)
Definition at line 232 of file qp_config.hpp.
#define QF_MPOOL_CTR_SIZE 2U |
Memory pool counter size (QF_MPOOL_CTR_SIZE)
Default: 2 bytes (up to 65535 memory blocks maximum in a pool)
Definition at line 246 of file qp_config.hpp.
#define QF_MPOOL_SIZ_SIZE 2U |
Memory block size (QF_MPOOL_SIZ_SIZE)
Default: 2 byte dynamic range (64K bytes maximum block size)
Definition at line 259 of file qp_config.hpp.
#define QS_TIME_SIZE 4U |
QS timestamp size (QS_TIME_SIZE)
Default: 4 bytes (2^32 dynamic range)
Definition at line 281 of file qp_config.hpp.
#define QS_CTR_SIZE 2U |
QS buffer counter size (QS_CTR_SIZE)
Default: 2 bytes (maximum 65535 bytes in QS buffers)
Definition at line 295 of file qp_config.hpp.
#define QF_ON_CONTEXT_SW |
Enable context switch callback WITHOUT QS.
Default: undefined
Definition at line 307 of file qp_config.hpp.
#define QF_MEM_ISOLATE |
Enable MPU memory isolation.
Definition at line 318 of file qp_config.hpp.
#define QK_USE_IRQ_NUM 31 |
Use IRQ handler for QK return-from-preemption in ARM Cortex-M.
This macro should be defined only if the NMI handler is utilized in the project. The specified IRQ number must be otherwise unused.
Default: undefined
Definition at line 337 of file qp_config.hpp.
#define QK_USE_IRQ_HANDLER Reserved31_IRQHandler |
Use IRQ handler for QK return-from-preemption in ARM Cortex-M.
This macro should be defined only if the NMI handler is utilized in the project. The specified IRQ handler must be otherwise unused.
Definition at line 353 of file qp_config.hpp.
#define QXK_USE_IRQ_NUM 31 |
Use IRQ handler for QXK return-from-preemption in ARM Cortex-M.
This macro should be defined only if the NMI handler is utilized in the project. The specified IRQ number must be otherwise unused.
Default: undefined
Definition at line 371 of file qp_config.hpp.
#define QXK_USE_IRQ_HANDLER Reserved31_IRQHandler |
Use IRQ handler for QK return-from-preemption in ARM Cortex-M.
This macro should be defined only if the NMI handler is utilized in the project. The specified IRQ handler must be otherwise unused.
Default: undefined
Definition at line 389 of file qp_config.hpp.