HAL Q Overview ¶
Introducing Q ¶
- group Q_Introduction
-
Q handles linked-list operations.
A queue is a set of linked nodes, each containing data and a link to the next node.
The following operations are supported: initialize and de-initialize the queue, and insert, remove, or replace nodes at the head, tail, or any position.
A linked list can be made circular, looping back to any position in the queue.
One queue can also be inserted into another, which merges them.
Create nodes externally using drivers such as DMA, SD, or MMC, using functions like HAL_DMA_FillNodeConfig.
Module and files ¶
The following diagram illustrates the Q module and its associated files.
Component diagram ¶
The following diagram illustrates the software components involved in the Q module. It shows the interactions between the user application, HAL drivers, low-level drivers, and the hardware components.
Configuration table ¶
The following table lists the configuration defines for the HAL Q module, specifying their locations, default values, and descriptions:
- group Q_Configuration_Table
-
¶
Configuration inside the Q module ¶
Config definitions
Description
Default value
Note
USE_ASSERT_DBG_PARAM
from IDE
None
When defined, enable parameter asserts.
USE_HAL_CHECK_PARAM
from hal_conf.h
0U
It allows using run-time checks on parameters.
USE_HAL_{PPP}_LINKEDLIST
from hal_conf.h
0U
It allows using the PPP in linked-list mode.
USE_HAL_Q_CIRCULAR_LINK
from hal_ppp.h
0U
It allows using a circular-link queue.