QF/C sample port with all configurable options. More...
Go to the source code of this file.
Macros | |
#define | QF_THREAD_TYPE void* |
#define | QF_EQUEUE_TYPE QEQueue |
#define | QF_OS_OBJECT_TYPE pthread_cond_t |
#define | QF_EPOOL_TYPE_ QMPool |
#define | QF_MAX_ACTIVE 64U |
#define | QF_MAX_TICK_RATE 1U |
#define | QF_TIMEEVT_CTR_SIZE 4U |
#define | QF_MAX_EPOOL 3U |
#define | QF_EVENT_SIZ_SIZE 2U |
#define | QF_EQUEUE_CTR_SIZE 1U |
#define | QF_MPOOL_SIZ_SIZE 2U |
#define | QF_MPOOL_CTR_SIZE 2U |
#define | QF_INT_DISABLE() intDisable() |
#define | QF_INT_ENABLE() intEnable() |
#define | QF_CRIT_STAT_TYPE crit_stat_t |
#define | QF_CRIT_ENTRY(stat_) ((stat_) = critEntry()) |
#define | QF_CRIT_EXIT(stat_) critExit(stat_) |
#define | QF_CRIT_EXIT_NOP() __asm volatile ("isb") |
Definition in file qf_port.h.
#define QF_THREAD_TYPE void* |
#define QF_EQUEUE_TYPE QEQueue |
#define QF_OS_OBJECT_TYPE pthread_cond_t |
This macro defines the type of the OS-Object used for blocking the native QEQueue when the queue is empty
#define QF_EPOOL_TYPE_ QMPool |
#define QF_MAX_ACTIVE 64U |
The maximum number of active objects in the application.
qf_port.h
header file and should be in range of 1U..64U, inclusive. The value of this macro determines the maximum priority level of an active object in the system. Not all priority levels must be used, but the maximum priority cannot exceed QF_MAX_ACTIVE
. Defining the value below the maximum limit of 64 saves some memory (RAM). #define QF_MAX_TICK_RATE 1U |
The maximum number of clock tick rates in the application.
qf_port.h
header file and should be in range of 1U..15U, inclusive. The value of this macro determines the maximum number of clock tick rates for time events (QTimeEvt).If the macro is not defined, the qf.h
header file sets the default value to 1U.
#define QF_TIMEEVT_CTR_SIZE 4U |
The size (in bytes) of the time event-counter representation in the QTimeEvt struct. Valid values: 1U, 2U, or 4U; default 2U.
qf_port.h
header file to configure the internal tick counters of Time Events. If the macro is not defined, the default of 4 bytes will be chosen in qf.h
. The valid QF_TIMEEVT_CTR_SIZE values of 1, 2, or 4, correspond to tick counters of uint8_t, uint16_t, and uint32_t, respectively. The tick counter representation determines the dynamic range of time delays that a Time Event can handle. #define QF_MAX_EPOOL 3U |
The maximum number of event pools in the application.
qf_port.h
header file and should be in range of 1U..255U, inclusive. The value of this macro determines the maximum number of event pools in the system. Not all event pools must be actually used, but the maximum number of pools cannot exceed QF_MAX_EPOOL
.If the macro is not defined, the qf.h
header file sets the default value to 3U. Defining QF_MAX_EPOOL
below the maximum limit of 255 saves some memory (RAM).
#define QF_EVENT_SIZ_SIZE 2U |
#define QF_EQUEUE_CTR_SIZE 1U |
The size (in bytes) of the ring-buffer counters used in the native QF event queue implementation. Valid values: 1U, 2U, or 4U; default 1U
qf_port.h
header file to configure the QEQueueCtr type. If the macro is not defined, the default of 1 byte will be chosen in qequeue.h
. The valid QF_EQUEUE_CTR_SIZE values of 1U, 2U, or 4U, correspond to QEQueueCtr of uint8_t, uint16_t, and uint32_t, respectively. The::QEQueueCtr data type determines the dynamic range of numerical values of ring-buffer counters inside event queues, or, in other words, the maximum number of events that the native QF event queue can manage. #define QF_MPOOL_SIZ_SIZE 2U |
The size (in bytes) of the block-size representation in the native QF event pool. Valid values: 1U, 2U, or 4U; default QF_EVENT_SIZ_SIZE.
qf_port.h
header file to configure the QMPoolSize type. If the macro is not defined, the default of QF_EVENT_SIZ_SIZE will be chosen in qmpool.h
, because the memory pool is primarily used for implementing event pools.The valid QF_MPOOL_SIZ_SIZE values of 1U, 2U, or 4U, correspond to QMPoolSize of uint8_t, uint16_t, and uint32_t, respectively. The QMPoolSize data type determines the dynamic range of block-sizes that the native QMPool can handle.
#define QF_MPOOL_CTR_SIZE 2U |
The size (in bytes) of the block-counter representation in the native QF event pool. Valid values: 1U, 2U, or 4U; default 2U.
qf_port.h
header file to configure the QMPoolCtr type. If the macro is not defined, the default of 2 bytes will be chosen in qmpool.h
. The valid QF_MPOOL_CTR_SIZE values of 1U, 2U, or 4U, correspond to QMPoolSize of uint8_t, uint16_t, and uint32_t, respectively. The QMPoolCtr data type determines the dynamic range of block-counters that the native QMPool can handle, or, in other words, the maximum number of blocks that the native QF event pool can manage. #define QF_INT_DISABLE | ( | ) | intDisable() |
Define the interrupt disabling policy.
#define QF_INT_ENABLE | ( | ) | intEnable() |
Define the interrupt enabling policy.
#define QF_CRIT_STAT_TYPE crit_stat_t |
#define QF_CRIT_ENTRY | ( | stat_ | ) | ((stat_) = critEntry()) |
Define the critical section entry policy.
#define QF_CRIT_EXIT | ( | stat_ | ) | critExit(stat_) |
Define the critical section exit policy.