STM32H735xx HAL User Manual
Functions
Linked List operation functions
MDMA Exported Functions

Linked list operation functions. More...

Functions

HAL_StatusTypeDef HAL_MDMA_LinkedList_CreateNode (MDMA_LinkNodeTypeDef *pNode, MDMA_LinkNodeConfTypeDef *pNodeConfig)
 Initializes an MDMA Link Node according to the specified parameters in the pMDMA_LinkedListNodeConfig .
HAL_StatusTypeDef HAL_MDMA_LinkedList_AddNode (MDMA_HandleTypeDef *hmdma, MDMA_LinkNodeTypeDef *pNewNode, MDMA_LinkNodeTypeDef *pPrevNode)
 Connect a node to the linked list.
HAL_StatusTypeDef HAL_MDMA_LinkedList_RemoveNode (MDMA_HandleTypeDef *hmdma, MDMA_LinkNodeTypeDef *pNode)
 Disconnect/Remove a node from the transfer linked list.
HAL_StatusTypeDef HAL_MDMA_LinkedList_EnableCircularMode (MDMA_HandleTypeDef *hmdma)
 Make the linked list circular by connecting the last node to the first.
HAL_StatusTypeDef HAL_MDMA_LinkedList_DisableCircularMode (MDMA_HandleTypeDef *hmdma)
 Disable the linked list circular mode by setting the last node connection to null.

Detailed Description

Linked list operation functions.

 ===============================================================================
                      #####  Linked list operation functions  #####
 ===============================================================================
    [..]  This section provides functions allowing to:
      (+) Create a linked list node
      (+) Add a node to the MDMA linked list
      (+) Remove a node from the MDMA linked list
      (+) Enable/Disable linked list circular mode

Function Documentation

HAL_StatusTypeDef HAL_MDMA_LinkedList_AddNode ( MDMA_HandleTypeDef hmdma,
MDMA_LinkNodeTypeDef pNewNode,
MDMA_LinkNodeTypeDef pPrevNode 
)

Connect a node to the linked list.

Parameters:
hmdma: Pointer to a MDMA_HandleTypeDef structure that contains the configuration information for the specified MDMA Channel.
pNewNode: Pointer to a MDMA_LinkNodeTypeDef structure that contains Linked list node to be add to the list.
pPrevNode: Pointer to the new node position in the linked list or zero to insert the new node at the end of the list
Return values:
HALstatus

Definition at line 711 of file stm32h7xx_hal_mdma.c.

References MDMA_LinkNodeTypeDef::CLAR, __MDMA_HandleTypeDef::FirstLinkedListNodeAddress, HAL_MDMA_STATE_BUSY, HAL_MDMA_STATE_READY, __MDMA_HandleTypeDef::Instance, __MDMA_HandleTypeDef::LastLinkedListNodeAddress, __MDMA_HandleTypeDef::LinkedListNodeCounter, and __MDMA_HandleTypeDef::State.

HAL_StatusTypeDef HAL_MDMA_LinkedList_CreateNode ( MDMA_LinkNodeTypeDef pNode,
MDMA_LinkNodeConfTypeDef pNodeConfig 
)

Initializes an MDMA Link Node according to the specified parameters in the pMDMA_LinkedListNodeConfig .

Parameters:
pNode,:Pointer to a MDMA_LinkNodeTypeDef structure that contains Linked list node registers configurations.
pNodeConfig,:Pointer to a MDMA_LinkNodeConfTypeDef structure that contains the configuration information for the specified MDMA Linked List Node.
Return values:
HALstatus

Definition at line 568 of file stm32h7xx_hal_mdma.c.

References assert_param, MDMA_LinkNodeConfTypeDef::BlockCount, MDMA_LinkNodeConfTypeDef::BlockDataLength, MDMA_InitTypeDef::BufferTransferLength, MDMA_LinkNodeTypeDef::CBNDTR, MDMA_LinkNodeTypeDef::CBRUR, MDMA_LinkNodeTypeDef::CDAR, MDMA_LinkNodeTypeDef::CLAR, MDMA_LinkNodeTypeDef::CMAR, MDMA_LinkNodeTypeDef::CMDR, MDMA_LinkNodeTypeDef::CSAR, MDMA_LinkNodeTypeDef::CTBR, MDMA_LinkNodeTypeDef::CTCR, MDMA_InitTypeDef::DataAlignment, MDMA_InitTypeDef::DestBlockAddressOffset, MDMA_InitTypeDef::DestBurst, MDMA_InitTypeDef::DestDataSize, MDMA_InitTypeDef::DestinationInc, MDMA_LinkNodeConfTypeDef::DstAddress, MDMA_InitTypeDef::Endianness, MDMA_LinkNodeConfTypeDef::Init, IS_MDMA_BLOCK_ADDR_OFFSET, IS_MDMA_BLOCK_COUNT, IS_MDMA_BUFFER_TRANSFER_LENGTH, IS_MDMA_DATA_ALIGNMENT, IS_MDMA_DESTINATION_BURST, IS_MDMA_DESTINATION_DATASIZE, IS_MDMA_DESTINATION_INC, IS_MDMA_ENDIANNESS_MODE, IS_MDMA_PRIORITY, IS_MDMA_REQUEST, IS_MDMA_SOURCE_BURST, IS_MDMA_SOURCE_DATASIZE, IS_MDMA_SOURCE_INC, IS_MDMA_TRANSFER_LENGTH, IS_MDMA_TRANSFER_TRIGGER_MODE, MDMA_REQUEST_SW, MDMA_LinkNodeConfTypeDef::PostRequestMaskAddress, MDMA_LinkNodeConfTypeDef::PostRequestMaskData, MDMA_InitTypeDef::Priority, MDMA_InitTypeDef::Request, MDMA_LinkNodeTypeDef::Reserved, MDMA_InitTypeDef::SourceBlockAddressOffset, MDMA_InitTypeDef::SourceBurst, MDMA_InitTypeDef::SourceDataSize, MDMA_InitTypeDef::SourceInc, MDMA_LinkNodeConfTypeDef::SrcAddress, and MDMA_InitTypeDef::TransferTriggerMode.

Disable the linked list circular mode by setting the last node connection to null.

Parameters:
hmdma: Pointer to a MDMA_HandleTypeDef structure that contains the configuration information for the specified MDMA Channel.
Return values:
HALstatus

Definition at line 1001 of file stm32h7xx_hal_mdma.c.

References MDMA_LinkNodeTypeDef::CLAR, __MDMA_HandleTypeDef::FirstLinkedListNodeAddress, HAL_MDMA_STATE_BUSY, HAL_MDMA_STATE_READY, __MDMA_HandleTypeDef::LastLinkedListNodeAddress, __MDMA_HandleTypeDef::LinkedListNodeCounter, and __MDMA_HandleTypeDef::State.

Make the linked list circular by connecting the last node to the first.

Parameters:
hmdma: Pointer to a MDMA_HandleTypeDef structure that contains the configuration information for the specified MDMA Channel.
Return values:
HALstatus

Definition at line 957 of file stm32h7xx_hal_mdma.c.

References MDMA_LinkNodeTypeDef::CLAR, __MDMA_HandleTypeDef::FirstLinkedListNodeAddress, HAL_MDMA_STATE_BUSY, HAL_MDMA_STATE_READY, __MDMA_HandleTypeDef::LastLinkedListNodeAddress, __MDMA_HandleTypeDef::LinkedListNodeCounter, and __MDMA_HandleTypeDef::State.

HAL_StatusTypeDef HAL_MDMA_LinkedList_RemoveNode ( MDMA_HandleTypeDef hmdma,
MDMA_LinkNodeTypeDef pNode 
)

Disconnect/Remove a node from the transfer linked list.

Parameters:
hmdma: Pointer to a MDMA_HandleTypeDef structure that contains the configuration information for the specified MDMA Channel.
pNode: Pointer to a MDMA_LinkNodeTypeDef structure that contains Linked list node to be removed from the list.
Return values:
HALstatus

Definition at line 844 of file stm32h7xx_hal_mdma.c.

References MDMA_LinkNodeTypeDef::CLAR, __MDMA_HandleTypeDef::FirstLinkedListNodeAddress, HAL_MDMA_STATE_BUSY, HAL_MDMA_STATE_READY, __MDMA_HandleTypeDef::Instance, __MDMA_HandleTypeDef::LastLinkedListNodeAddress, __MDMA_HandleTypeDef::LinkedListNodeCounter, and __MDMA_HandleTypeDef::State.