PSOC E8XXGP Device Support Library

| PSOC E8XXGP Device Support Library

Functions
Descriptor Functions
PDL API Reference » AXIDMAC (AXI Direct Memory Access Controller) » Functions

## General Description

## Functions
cy_en_axidmac_status_t | Cy_AXIDMAC_Descriptor_Init (cy_stc_axidmac_descriptor_t *descriptor, cy_stc_axidmac_descriptor_config_t const *config)
| Initializes the descriptor structure in SRAM from a pre-initialized configuration structure. More...
void | Cy_AXIDMAC_Descriptor_DeInit (cy_stc_axidmac_descriptor_t *descriptor)
| Clears the content of the specified descriptor. More...
void | Cy_AXIDMAC_Descriptor_SetNextDescriptor (cy_stc_axidmac_descriptor_t *descriptor, cy_stc_axidmac_descriptor_t const *nextDescriptor)
| Sets a Next Descriptor parameter for the specified descriptor. More...
void | Cy_AXIDMAC_Descriptor_SetDescriptorType (cy_stc_axidmac_descriptor_t *descriptor, cy_en_axidmac_descriptor_type_t descriptorType)
| Sets the descriptor's type for the specified descriptor. More...
__STATIC_INLINE void | Cy_AXIDMAC_Descriptor_SetSrcAddress (cy_stc_axidmac_descriptor_t *descriptor, void const *srcAddress)
| Sets the source address parameter for the specified descriptor. More...
__STATIC_INLINE void | Cy_AXIDMAC_Descriptor_SetDstAddress (cy_stc_axidmac_descriptor_t *descriptor, void const *dstAddress)
| Sets the destination address parameter for the specified descriptor. More...
__STATIC_INLINE void | Cy_AXIDMAC_Descriptor_SetMloopDataCount (cy_stc_axidmac_descriptor_t *descriptor, uint32_t mCount)
| Sets the number of data elements for the M loop of the specified descriptor. More...
void | Cy_AXIDMAC_Descriptor_SetXloopDataCount (cy_stc_axidmac_descriptor_t *descriptor, uint32_t xCount)
| Sets the number of data elements to transfer in the X loop for the specified descriptor (for 2D and 3D memory copy descriptors). More...
__STATIC_INLINE void | Cy_AXIDMAC_Descriptor_SetYloopDataCount (cy_stc_axidmac_descriptor_t *descriptor, uint32_t yCount)
| Sets the number of data elements for the Y loop of the specified descriptor (for 3D descriptors only). More...
__STATIC_INLINE void | Cy_AXIDMAC_Descriptor_SetXloopSrcIncrement (cy_stc_axidmac_descriptor_t *descriptor, int16_t srcXincrement)
| Sets the source increment parameter for the X loop of the specified descriptor (for 2D or 3D descriptors only). More...
__STATIC_INLINE void | Cy_AXIDMAC_Descriptor_SetXloopDstIncrement (cy_stc_axidmac_descriptor_t *descriptor, int16_t dstXincrement)
| Sets the destination increment parameter for the X loop for the specified descriptor (for 2D or 3D descriptors only). More...
__STATIC_INLINE void | Cy_AXIDMAC_Descriptor_SetYloopSrcIncrement (cy_stc_axidmac_descriptor_t *descriptor, int16_t srcYincrement)
| Sets the source increment parameter for the Y loop for the specified descriptor (for 3D descriptors only). More...
__STATIC_INLINE void | Cy_AXIDMAC_Descriptor_SetYloopDstIncrement (cy_stc_axidmac_descriptor_t *descriptor, int16_t dstYincrement)
| Sets the destination increment parameter for the Y loop of the specified descriptor (for 3D descriptors only). More...
__STATIC_INLINE void | Cy_AXIDMAC_Descriptor_SetInterruptType (cy_stc_axidmac_descriptor_t *descriptor, cy_en_axidmac_trigger_type_t interruptType)
| Sets the interrupt type parameter for the specified descriptor. More...
__STATIC_INLINE void | Cy_AXIDMAC_Descriptor_SetTriggerInType (cy_stc_axidmac_descriptor_t *descriptor, cy_en_axidmac_trigger_type_t triggerInType)
| Sets the Trigger In Type parameter for the specified descriptor. More...
__STATIC_INLINE void | Cy_AXIDMAC_Descriptor_SetTriggerOutType (cy_stc_axidmac_descriptor_t *descriptor, cy_en_axidmac_trigger_type_t triggerOutType)
| Sets the Trigger Out Type parameter for the specified descriptor. More...
__STATIC_INLINE void | Cy_AXIDMAC_Descriptor_SetRetrigger (cy_stc_axidmac_descriptor_t *descriptor, cy_en_axidmac_retrigger_t retrigger)
| Sets the retrigger value which specifies whether the controller should wait for the input trigger to be deactivated. More...
__STATIC_INLINE void | Cy_AXIDMAC_Descriptor_SetChannelState (cy_stc_axidmac_descriptor_t *descriptor, cy_en_axidmac_channel_state_t channelState)
| Sets the channel state on completion of the specified descriptor. More...
cy_stc_axidmac_descriptor_t * | Cy_AXIDMAC_Descriptor_GetNextDescriptor (cy_stc_axidmac_descriptor_t const *descriptor)
| Returns a next descriptor address of the specified descriptor. More...
__STATIC_INLINE cy_en_axidmac_descriptor_type_t | Cy_AXIDMAC_Descriptor_GetDescriptorType (cy_stc_axidmac_descriptor_t const *descriptor)
| Returns the descriptor's type of the specified descriptor. More...
__STATIC_INLINE void * | Cy_AXIDMAC_Descriptor_GetSrcAddress (cy_stc_axidmac_descriptor_t const *descriptor)
| Returns the source address of the specified descriptor. More...
__STATIC_INLINE void * | Cy_AXIDMAC_Descriptor_GetDstAddress (cy_stc_axidmac_descriptor_t const *descriptor)
| Returns the destination address of the specified descriptor. More...
__STATIC_INLINE uint32_t | Cy_AXIDMAC_Descriptor_GetMloopDataCount (cy_stc_axidmac_descriptor_t const *descriptor)
| Returns the number of M loops to execute in the specified descriptor. More...
uint32_t | Cy_AXIDMAC_Descriptor_GetXloopDataCount (cy_stc_axidmac_descriptor_t const *descriptor)
| Returns the number of data elements for the X loop of the specified descriptor (for 2D and 3D memory copy descriptors). More...
__STATIC_INLINE uint32_t | Cy_AXIDMAC_Descriptor_GetYloopDataCount (cy_stc_axidmac_descriptor_t const *descriptor)
| Returns the number of X loops to execute in the Y loop of the specified descriptor (for 3D descriptors only). More...
__STATIC_INLINE int16_t | Cy_AXIDMAC_Descriptor_GetXloopSrcIncrement (cy_stc_axidmac_descriptor_t const *descriptor)
| Returns the source increment parameter for the X loop of the specified descriptor (for 2D or 3D descriptors only). More...
__STATIC_INLINE int16_t | Cy_AXIDMAC_Descriptor_GetXloopDstIncrement (cy_stc_axidmac_descriptor_t const *descriptor)
| Returns the destination increment parameter for the X loop of the specified descriptor (for 2D or 3D descriptors only). More...
__STATIC_INLINE int16_t | Cy_AXIDMAC_Descriptor_GetYloopSrcIncrement (cy_stc_axidmac_descriptor_t const *descriptor)
| Returns the source increment parameter for the Y loop of the specified descriptor (for 2D descriptors only). More...
__STATIC_INLINE int16_t | Cy_AXIDMAC_Descriptor_GetYloopDstIncrement (cy_stc_axidmac_descriptor_t const *descriptor)
| Returns the destination increment parameter for the Y loop of the specified descriptor (for 3D descriptors only). More...
__STATIC_INLINE cy_en_axidmac_trigger_type_t | Cy_AXIDMAC_Descriptor_GetInterruptType (cy_stc_axidmac_descriptor_t const *descriptor)
| Returns the Interrupt-Type of the specified descriptor. More...
__STATIC_INLINE cy_en_axidmac_trigger_type_t | Cy_AXIDMAC_Descriptor_GetTriggerInType (cy_stc_axidmac_descriptor_t const *descriptor)
| Returns the Trigger In Type of the specified descriptor. More...
__STATIC_INLINE cy_en_axidmac_trigger_type_t | Cy_AXIDMAC_Descriptor_GetTriggerOutType (cy_stc_axidmac_descriptor_t const *descriptor)
| Returns the Trigger Out Type of the specified descriptor. More...
__STATIC_INLINE cy_en_axidmac_retrigger_t | Cy_AXIDMAC_Descriptor_GetRetrigger (cy_stc_axidmac_descriptor_t const *descriptor)
| Returns a value which specifies whether the controller should wait for the input trigger to be deactivated. More...
__STATIC_INLINE cy_en_axidmac_channel_state_t | Cy_AXIDMAC_Descriptor_GetChannelState (cy_stc_axidmac_descriptor_t const *descriptor)
| Returns the channel state on completion of the specified descriptor. More...

## Function Documentation

## ◆ Cy_AXIDMAC_Descriptor_Init()

cy_en_axidmac_status_t Cy_AXIDMAC_Descriptor_Init | ( | cy_stc_axidmac_descriptor_t * | descriptor,
|  | const cy_stc_axidmac_descriptor_config_t * | config
| ) |  |

Initializes the descriptor structure in SRAM from a pre-initialized configuration structure.

This function initializes only the descriptor and not the channel.

Parameters

  descriptor | The descriptor structure instance.
  config | This is a configuration structure that has all initialization information for the descriptor.

Returns
  The status cy_en_axidmac_status_t.

Function Usage
  #define AXIDMAC_DESCRIPTOR CY_SECTION(".cy_socmem_data") cy_stc_axidmac_descriptor_t
  /* Scenario: Initialize a 2D descriptor with descriptors, src and dst are in SOCMEM*/
  #define DATACNT (8UL)
  CY_SECTION(".cy_socmem_data") cy_stc_axidmac_descriptor_t firstDescriptor;
  CY_SECTION(".cy_socmem_data") cy_stc_axidmac_descriptor_t nextDescriptor;
  CY_SECTION(".cy_socmem_data") uint32_t src[DATACNT];
  CY_SECTION(".cy_socmem_data") uint32_t dst[DATACNT];
  CY_SECTION(".cy_socmem_data") cy_stc_axidmac_descriptor_config_t descriptor_cfg =
  {
  .retrigger = CY_AXIDMAC_RETRIG_IM,
  .interruptType = CY_AXIDMAC_DESCR,
  .triggerOutType = CY_AXIDMAC_DESCR,
  .channelState = CY_AXIDMAC_CHANNEL_ENABLED,
  .triggerInType = CY_AXIDMAC_DESCR,
  .descriptorType = CY_AXIDMAC_2D_MEMORY_COPY,
  .srcAddress = &src,
  .dstAddress = &dst,
  .mCount=1U,
  .srcXincrement = 1U,
  .dstXincrement = 1U,
  .xCount = DATACNT,
  .srcYincrement = 0U,
  .dstYincrement = 0U,
  .yCount = 1UL,
  .nextDescriptor = &nextDescriptor,
  };
  void snippet_Cy_AXIDMAC_Enable(void)
  {
  /* Scenario: Setup and enable the AXIDMAC channel 0 */
  cy_stc_axidmac_channel_config_t channelConfig;
  channelConfig.enable = false;
  channelConfig.bufferable = false;
  channelConfig.descriptor = &firstDescriptor;
  if (CY_AXIDMAC_SUCCESS != Cy_AXIDMAC_Descriptor_Init(&firstDescriptor, &descriptor_cfg))
  {
  /* Insert error handling */
  }
  if (CY_AXIDMAC_SUCCESS != Cy_AXIDMAC_Channel_Init(SAXI_DMAC, 0UL, &channelConfig))
  {
  /* Insert error handling */
  }
  Cy_AXIDMAC_Channel_SetDescriptor(SAXI_DMAC, 0UL, &firstDescriptor);
  Cy_AXIDMAC_Channel_SetPriority(SAXI_DMAC, 0UL, 3UL);
  Cy_AXIDMAC_Channel_Enable(SAXI_DMAC, 0UL);
  Cy_AXIDMAC_Enable(SAXI_DMAC);
  }
  Cy_AXIDMAC_Enable
  __STATIC_INLINE void Cy_AXIDMAC_Enable(AXI_DMAC_Type *base)
  Enables the AXIDMAC block.
  Definition: cy_axidmac.h:693
  Cy_AXIDMAC_Channel_SetPriority
  __STATIC_INLINE void Cy_AXIDMAC_Channel_SetPriority(AXI_DMAC_Type *base, uint32_t channel, uint32_t priority)
  The function is used to set a priority for the AXIDMAC channel.
  Definition: cy_axidmac.h:1575
  Cy_AXIDMAC_Channel_Enable
  __STATIC_INLINE void Cy_AXIDMAC_Channel_Enable(AXI_DMAC_Type *base, uint32_t channel)
  Enables a AXIDMAC channel.
  Definition: cy_axidmac.h:1524
  Cy_AXIDMAC_Channel_Init
  cy_en_axidmac_status_t Cy_AXIDMAC_Channel_Init(AXI_DMAC_Type *base, uint32_t channel, cy_stc_axidmac_channel_config_t const *config)
  Initializes the AXIDMAC channel with a descriptor and other parameters.
  Definition: cy_axidmac.c:131
  Cy_AXIDMAC_Channel_SetDescriptor
  __STATIC_INLINE void Cy_AXIDMAC_Channel_SetDescriptor(AXI_DMAC_Type *base, uint32_t channel, cy_stc_axidmac_descriptor_t const *descriptor)
  Sets a descriptor as current for the specified AXIDMAC channel.
  Definition: cy_axidmac.h:1500
  cy_stc_axidmac_descriptor_config_t::retrigger
  cy_en_axidmac_retrigger_t retrigger
  Specifies whether the AXIDMA controller should wait for the input trigger to be deactivated.
  Definition: cy_axidmac.h:338
  cy_stc_axidmac_channel_config_t::descriptor
  cy_stc_axidmac_descriptor_t * descriptor
  The AXIDMAC descriptor associated with the channel being initialized.
  Definition: cy_axidmac.h:365
  cy_stc_axidmac_channel_config_t::bufferable
  bool bufferable
  This parameter specifies whether a write transaction can complete.
  Definition: cy_axidmac.h:368
  cy_stc_axidmac_channel_config_t::enable
  bool enable
  This parameter specifies if the channel is enabled after initializing.
  Definition: cy_axidmac.h:367
  cy_stc_axidmac_channel_config_t
  This structure holds the initialization values for the AXIDMAC channel.
  Definition: cy_axidmac.h:364
  cy_stc_axidmac_descriptor_config_t
  This structure is a configuration structure pre-initialized by user and passed as a parameter to the ...
  Definition: cy_axidmac.h:337
  cy_stc_axidmac_descriptor_t
  AXIDMAC descriptor structure type.
  Definition: cy_axidmac.h:289
  Cy_AXIDMAC_Descriptor_Init
  cy_en_axidmac_status_t Cy_AXIDMAC_Descriptor_Init(cy_stc_axidmac_descriptor_t *descriptor, cy_stc_axidmac_descriptor_config_t const *config)
  Initializes the descriptor structure in SRAM from a pre-initialized configuration structure.
  Definition: cy_axidmac.c:44
  CY_AXIDMAC_DESCR
  @ CY_AXIDMAC_DESCR
  One descriptor transfer.
  Definition: cy_axidmac.h:206
  CY_AXIDMAC_SUCCESS
  @ CY_AXIDMAC_SUCCESS
  Success.
  Definition: cy_axidmac.h:230
  CY_AXIDMAC_RETRIG_IM
  @ CY_AXIDMAC_RETRIG_IM
  Retrigger immediately.
  Definition: cy_axidmac.h:213
  CY_AXIDMAC_CHANNEL_ENABLED
  @ CY_AXIDMAC_CHANNEL_ENABLED
  Channel stays enabled.
  Definition: cy_axidmac.h:223
  CY_AXIDMAC_2D_MEMORY_COPY
  @ CY_AXIDMAC_2D_MEMORY_COPY
  2D Memory copy
  Definition: cy_axidmac.h:197

This function initializes only the descriptor and not the channel.

## ◆ Cy_AXIDMAC_Descriptor_DeInit()

void Cy_AXIDMAC_Descriptor_DeInit | ( | cy_stc_axidmac_descriptor_t * | descriptor | ) |

Clears the content of the specified descriptor.

Parameters

  descriptor | The descriptor structure instance.

Function Usage
  /* Scenario: Disable a descriptor */
  if (&descriptor != Cy_AXIDMAC_Channel_GetCurrentDescriptor(SAXI_DMAC, 0UL)) /* Make sure it is not in use */
  {
  Cy_AXIDMAC_Descriptor_DeInit(&descriptor);
  }
  Cy_AXIDMAC_Channel_GetCurrentDescriptor
  __STATIC_INLINE cy_stc_axidmac_descriptor_t * Cy_AXIDMAC_Channel_GetCurrentDescriptor(AXI_DMAC_Type const *base, uint32_t channel)
  Returns the descriptor that is active in the channel.
  Definition: cy_axidmac.h:1815
  Cy_AXIDMAC_Descriptor_DeInit
  void Cy_AXIDMAC_Descriptor_DeInit(cy_stc_axidmac_descriptor_t *descriptor)
  Clears the content of the specified descriptor.
  Definition: cy_axidmac.c:109

## ◆ Cy_AXIDMAC_Descriptor_SetNextDescriptor()

void Cy_AXIDMAC_Descriptor_SetNextDescriptor | ( | cy_stc_axidmac_descriptor_t * | descriptor,
|  | cy_stc_axidmac_descriptor_t const * | nextDescriptor
| ) |  |

Sets a Next Descriptor parameter for the specified descriptor.

Based on the descriptor type, the offset of the address for the next descriptor register may vary: For the 1D memory copy descriptor type, this register is at offset 0x10. For the 2D memory copy descriptor type, this register is at offset 0x18. For the 3D memory copy descriptor type, this register is at offset 0x20.

Parameters

  descriptor | The descriptor structure instance.
  nextDescriptor | The pointer to the next descriptor.

Function Usage
  /* Scenario: Set or modify individual descriptor parameters dynamically. This snippet shows them all. */
  #define DATACNT (8UL)
  cy_stc_axidmac_descriptor_t firstDescriptor_local = {0};
  cy_stc_axidmac_descriptor_t nextDescriptor_local = {0};
  uint32_t src_data[DATACNT];
  uint32_t dst_data[DATACNT];
  if (&firstDescriptor_local != Cy_AXIDMAC_Channel_GetCurrentDescriptor(SAXI_DMAC, 0UL)) /* Make sure it is not in use */
  {
  Cy_AXIDMAC_Descriptor_SetRetrigger(&firstDescriptor_local, CY_AXIDMAC_RETRIG_IM);
  Cy_AXIDMAC_Descriptor_SetInterruptType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetTriggerOutType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetChannelState(&firstDescriptor_local, CY_AXIDMAC_CHANNEL_ENABLED);
  Cy_AXIDMAC_Descriptor_SetTriggerInType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetDescriptorType(&firstDescriptor_local, CY_AXIDMAC_2D_MEMORY_COPY);
  Cy_AXIDMAC_Descriptor_SetSrcAddress(&firstDescriptor_local, &src_data);
  Cy_AXIDMAC_Descriptor_SetDstAddress(&firstDescriptor_local, &dst_data);
  Cy_AXIDMAC_Descriptor_SetMloopDataCount(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopSrcIncrement(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopDstIncrement(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopDataCount(&firstDescriptor_local, DATACNT);
  Cy_AXIDMAC_Descriptor_SetYloopSrcIncrement(&firstDescriptor_local, 0UL);
  Cy_AXIDMAC_Descriptor_SetYloopDstIncrement(&firstDescriptor_local, 0UL);
  Cy_AXIDMAC_Descriptor_SetYloopDataCount(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetNextDescriptor(&firstDescriptor_local, &nextDescriptor_local);
  }
  Cy_AXIDMAC_Descriptor_SetXloopDstIncrement
  __STATIC_INLINE void Cy_AXIDMAC_Descriptor_SetXloopDstIncrement(cy_stc_axidmac_descriptor_t *descriptor, int16_t dstXincrement)
  Sets the destination increment parameter for the X loop for the specified descriptor (for 2D or 3D de...
  Definition: cy_axidmac.h:1285
  Cy_AXIDMAC_Descriptor_SetTriggerOutType
  __STATIC_INLINE void Cy_AXIDMAC_Descriptor_SetTriggerOutType(cy_stc_axidmac_descriptor_t *descriptor, cy_en_axidmac_trigger_type_t triggerOutType)
  Sets the Trigger Out Type parameter for the specified descriptor.
  Definition: cy_axidmac.h:1017
  Cy_AXIDMAC_Descriptor_SetMloopDataCount
  __STATIC_INLINE void Cy_AXIDMAC_Descriptor_SetMloopDataCount(cy_stc_axidmac_descriptor_t *descriptor, uint32_t mCount)
  Sets the number of data elements for the M loop of the specified descriptor.
  Definition: cy_axidmac.h:1184
  Cy_AXIDMAC_Descriptor_SetYloopSrcIncrement
  __STATIC_INLINE void Cy_AXIDMAC_Descriptor_SetYloopSrcIncrement(cy_stc_axidmac_descriptor_t *descriptor, int16_t srcYincrement)
  Sets the source increment parameter for the Y loop for the specified descriptor (for 3D descriptors o...
  Definition: cy_axidmac.h:1388
  Cy_AXIDMAC_Descriptor_SetSrcAddress
  __STATIC_INLINE void Cy_AXIDMAC_Descriptor_SetSrcAddress(cy_stc_axidmac_descriptor_t *descriptor, void const *srcAddress)
  Sets the source address parameter for the specified descriptor.
  Definition: cy_axidmac.h:835
  Cy_AXIDMAC_Descriptor_SetDescriptorType
  void Cy_AXIDMAC_Descriptor_SetDescriptorType(cy_stc_axidmac_descriptor_t *descriptor, cy_en_axidmac_descriptor_type_t descriptorType)
  Sets the descriptor's type for the specified descriptor.
  Definition: cy_axidmac.c:313
  Cy_AXIDMAC_Descriptor_SetDstAddress
  __STATIC_INLINE void Cy_AXIDMAC_Descriptor_SetDstAddress(cy_stc_axidmac_descriptor_t *descriptor, void const *dstAddress)
  Sets the destination address parameter for the specified descriptor.
  Definition: cy_axidmac.h:879
  Cy_AXIDMAC_Descriptor_SetChannelState
  __STATIC_INLINE void Cy_AXIDMAC_Descriptor_SetChannelState(cy_stc_axidmac_descriptor_t *descriptor, cy_en_axidmac_channel_state_t channelState)
  Sets the channel state on completion of the specified descriptor.
  Definition: cy_axidmac.h:1137
  Cy_AXIDMAC_Descriptor_SetYloopDstIncrement
  __STATIC_INLINE void Cy_AXIDMAC_Descriptor_SetYloopDstIncrement(cy_stc_axidmac_descriptor_t *descriptor, int16_t dstYincrement)
  Sets the destination increment parameter for the Y loop of the specified descriptor (for 3D descripto...
  Definition: cy_axidmac.h:1439
  Cy_AXIDMAC_Descriptor_SetXloopSrcIncrement
  __STATIC_INLINE void Cy_AXIDMAC_Descriptor_SetXloopSrcIncrement(cy_stc_axidmac_descriptor_t *descriptor, int16_t srcXincrement)
  Sets the source increment parameter for the X loop of the specified descriptor (for 2D or 3D descript...
  Definition: cy_axidmac.h:1234
  Cy_AXIDMAC_Descriptor_SetYloopDataCount
  __STATIC_INLINE void Cy_AXIDMAC_Descriptor_SetYloopDataCount(cy_stc_axidmac_descriptor_t *descriptor, uint32_t yCount)
  Sets the number of data elements for the Y loop of the specified descriptor (for 3D descriptors only)...
  Definition: cy_axidmac.h:1336
  Cy_AXIDMAC_Descriptor_SetTriggerInType
  __STATIC_INLINE void Cy_AXIDMAC_Descriptor_SetTriggerInType(cy_stc_axidmac_descriptor_t *descriptor, cy_en_axidmac_trigger_type_t triggerInType)
  Sets the Trigger In Type parameter for the specified descriptor.
  Definition: cy_axidmac.h:970
  Cy_AXIDMAC_Descriptor_SetRetrigger
  __STATIC_INLINE void Cy_AXIDMAC_Descriptor_SetRetrigger(cy_stc_axidmac_descriptor_t *descriptor, cy_en_axidmac_retrigger_t retrigger)
  Sets the retrigger value which specifies whether the controller should wait for the input trigger to ...
  Definition: cy_axidmac.h:1066
  Cy_AXIDMAC_Descriptor_SetXloopDataCount
  void Cy_AXIDMAC_Descriptor_SetXloopDataCount(cy_stc_axidmac_descriptor_t *descriptor, uint32_t xCount)
  Sets the number of data elements to transfer in the X loop for the specified descriptor (for 2D and 3...
  Definition: cy_axidmac.c:201
  Cy_AXIDMAC_Descriptor_SetInterruptType
  __STATIC_INLINE void Cy_AXIDMAC_Descriptor_SetInterruptType(cy_stc_axidmac_descriptor_t *descriptor, cy_en_axidmac_trigger_type_t interruptType)
  Sets the interrupt type parameter for the specified descriptor.
  Definition: cy_axidmac.h:923
  Cy_AXIDMAC_Descriptor_SetNextDescriptor
  void Cy_AXIDMAC_Descriptor_SetNextDescriptor(cy_stc_axidmac_descriptor_t *descriptor, cy_stc_axidmac_descriptor_t const *nextDescriptor)
  Sets a Next Descriptor parameter for the specified descriptor.
  Definition: cy_axidmac.c:225

Based on the descriptor type, the offset of the address for the next descriptor register may vary: For the 1D memory copy descriptor type, this register is at offset 0x10. For the 2D memory copy descriptor type, this register is at offset 0x18. For the 3D memory copy descriptor type, this register is at offset 0x20.

## ◆ Cy_AXIDMAC_Descriptor_SetDescriptorType()

void Cy_AXIDMAC_Descriptor_SetDescriptorType | ( | cy_stc_axidmac_descriptor_t * | descriptor,
|  | cy_en_axidmac_descriptor_type_t | descriptorType
| ) |  |

Sets the descriptor's type for the specified descriptor.

Moves the next descriptor pointer and M data count values into the proper offset in accordance to the actual descriptor type.

During the descriptor's type change, carefully set up the settings starting from dstAddress and all the rest below in the cy_stc_axidmac_descriptor_config_t structure. This is because the content of the descriptor registers might be lost/overridden by other descriptor settings due to the different registers structure for different descriptor types.

Parameters

  descriptor | The descriptor structure instance.
  descriptorType | The descriptor type cy_en_axidmac_descriptor_type_t.

Function Usage
  /* Scenario: Set or modify individual descriptor parameters dynamically. This snippet shows them all. */
  #define DATACNT (8UL)
  cy_stc_axidmac_descriptor_t firstDescriptor_local = {0};
  cy_stc_axidmac_descriptor_t nextDescriptor_local = {0};
  uint32_t src_data[DATACNT];
  uint32_t dst_data[DATACNT];
  if (&firstDescriptor_local != Cy_AXIDMAC_Channel_GetCurrentDescriptor(SAXI_DMAC, 0UL)) /* Make sure it is not in use */
  {
  Cy_AXIDMAC_Descriptor_SetRetrigger(&firstDescriptor_local, CY_AXIDMAC_RETRIG_IM);
  Cy_AXIDMAC_Descriptor_SetInterruptType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetTriggerOutType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetChannelState(&firstDescriptor_local, CY_AXIDMAC_CHANNEL_ENABLED);
  Cy_AXIDMAC_Descriptor_SetTriggerInType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetDescriptorType(&firstDescriptor_local, CY_AXIDMAC_2D_MEMORY_COPY);
  Cy_AXIDMAC_Descriptor_SetSrcAddress(&firstDescriptor_local, &src_data);
  Cy_AXIDMAC_Descriptor_SetDstAddress(&firstDescriptor_local, &dst_data);
  Cy_AXIDMAC_Descriptor_SetMloopDataCount(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopSrcIncrement(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopDstIncrement(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopDataCount(&firstDescriptor_local, DATACNT);
  Cy_AXIDMAC_Descriptor_SetYloopSrcIncrement(&firstDescriptor_local, 0UL);
  Cy_AXIDMAC_Descriptor_SetYloopDstIncrement(&firstDescriptor_local, 0UL);
  Cy_AXIDMAC_Descriptor_SetYloopDataCount(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetNextDescriptor(&firstDescriptor_local, &nextDescriptor_local);
  }

Moves the next descriptor pointer and M data count values into the proper offset in accordance to the actual descriptor type.

During the descriptor's type change, carefully set up the settings starting from dstAddress and all the rest below in the cy_stc_axidmac_descriptor_config_t structure. This is because the content of the descriptor registers might be lost/overridden by other descriptor settings due to the different registers structure for different descriptor types.

## ◆ Cy_AXIDMAC_Descriptor_SetSrcAddress()

__STATIC_INLINE void Cy_AXIDMAC_Descriptor_SetSrcAddress | ( | cy_stc_axidmac_descriptor_t * | descriptor,
|  | void const * | srcAddress
| ) |  |

Sets the source address parameter for the specified descriptor.

Parameters

  descriptor | The descriptor structure instance.
  srcAddress | The source address value for the descriptor.

Function Usage
  /* Scenario: Set or modify individual descriptor parameters dynamically. This snippet shows them all. */
  #define DATACNT (8UL)
  cy_stc_axidmac_descriptor_t firstDescriptor_local = {0};
  cy_stc_axidmac_descriptor_t nextDescriptor_local = {0};
  uint32_t src_data[DATACNT];
  uint32_t dst_data[DATACNT];
  if (&firstDescriptor_local != Cy_AXIDMAC_Channel_GetCurrentDescriptor(SAXI_DMAC, 0UL)) /* Make sure it is not in use */
  {
  Cy_AXIDMAC_Descriptor_SetRetrigger(&firstDescriptor_local, CY_AXIDMAC_RETRIG_IM);
  Cy_AXIDMAC_Descriptor_SetInterruptType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetTriggerOutType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetChannelState(&firstDescriptor_local, CY_AXIDMAC_CHANNEL_ENABLED);
  Cy_AXIDMAC_Descriptor_SetTriggerInType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetDescriptorType(&firstDescriptor_local, CY_AXIDMAC_2D_MEMORY_COPY);
  Cy_AXIDMAC_Descriptor_SetSrcAddress(&firstDescriptor_local, &src_data);
  Cy_AXIDMAC_Descriptor_SetDstAddress(&firstDescriptor_local, &dst_data);
  Cy_AXIDMAC_Descriptor_SetMloopDataCount(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopSrcIncrement(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopDstIncrement(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopDataCount(&firstDescriptor_local, DATACNT);
  Cy_AXIDMAC_Descriptor_SetYloopSrcIncrement(&firstDescriptor_local, 0UL);
  Cy_AXIDMAC_Descriptor_SetYloopDstIncrement(&firstDescriptor_local, 0UL);
  Cy_AXIDMAC_Descriptor_SetYloopDataCount(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetNextDescriptor(&firstDescriptor_local, &nextDescriptor_local);
  }

## ◆ Cy_AXIDMAC_Descriptor_SetDstAddress()

__STATIC_INLINE void Cy_AXIDMAC_Descriptor_SetDstAddress | ( | cy_stc_axidmac_descriptor_t * | descriptor,
|  | void const * | dstAddress
| ) |  |

Sets the destination address parameter for the specified descriptor.

Parameters

  descriptor | The descriptor structure instance.
  dstAddress | The destination address value for the descriptor.

Function Usage
  /* Scenario: Set or modify individual descriptor parameters dynamically. This snippet shows them all. */
  #define DATACNT (8UL)
  cy_stc_axidmac_descriptor_t firstDescriptor_local = {0};
  cy_stc_axidmac_descriptor_t nextDescriptor_local = {0};
  uint32_t src_data[DATACNT];
  uint32_t dst_data[DATACNT];
  if (&firstDescriptor_local != Cy_AXIDMAC_Channel_GetCurrentDescriptor(SAXI_DMAC, 0UL)) /* Make sure it is not in use */
  {
  Cy_AXIDMAC_Descriptor_SetRetrigger(&firstDescriptor_local, CY_AXIDMAC_RETRIG_IM);
  Cy_AXIDMAC_Descriptor_SetInterruptType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetTriggerOutType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetChannelState(&firstDescriptor_local, CY_AXIDMAC_CHANNEL_ENABLED);
  Cy_AXIDMAC_Descriptor_SetTriggerInType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetDescriptorType(&firstDescriptor_local, CY_AXIDMAC_2D_MEMORY_COPY);
  Cy_AXIDMAC_Descriptor_SetSrcAddress(&firstDescriptor_local, &src_data);
  Cy_AXIDMAC_Descriptor_SetDstAddress(&firstDescriptor_local, &dst_data);
  Cy_AXIDMAC_Descriptor_SetMloopDataCount(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopSrcIncrement(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopDstIncrement(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopDataCount(&firstDescriptor_local, DATACNT);
  Cy_AXIDMAC_Descriptor_SetYloopSrcIncrement(&firstDescriptor_local, 0UL);
  Cy_AXIDMAC_Descriptor_SetYloopDstIncrement(&firstDescriptor_local, 0UL);
  Cy_AXIDMAC_Descriptor_SetYloopDataCount(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetNextDescriptor(&firstDescriptor_local, &nextDescriptor_local);
  }

## ◆ Cy_AXIDMAC_Descriptor_SetMloopDataCount()

__STATIC_INLINE void Cy_AXIDMAC_Descriptor_SetMloopDataCount | ( | cy_stc_axidmac_descriptor_t * | descriptor,
|  | uint32_t | mCount
| ) |  |

Sets the number of data elements for the M loop of the specified descriptor.

Parameters

  descriptor | The descriptor structure instance.
  mCount | The number of M loops to execute. The valid range is 1 ... 65536.

Function Usage
  /* Scenario: Set or modify individual descriptor parameters dynamically. This snippet shows them all. */
  #define DATACNT (8UL)
  cy_stc_axidmac_descriptor_t firstDescriptor_local = {0};
  cy_stc_axidmac_descriptor_t nextDescriptor_local = {0};
  uint32_t src_data[DATACNT];
  uint32_t dst_data[DATACNT];
  if (&firstDescriptor_local != Cy_AXIDMAC_Channel_GetCurrentDescriptor(SAXI_DMAC, 0UL)) /* Make sure it is not in use */
  {
  Cy_AXIDMAC_Descriptor_SetRetrigger(&firstDescriptor_local, CY_AXIDMAC_RETRIG_IM);
  Cy_AXIDMAC_Descriptor_SetInterruptType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetTriggerOutType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetChannelState(&firstDescriptor_local, CY_AXIDMAC_CHANNEL_ENABLED);
  Cy_AXIDMAC_Descriptor_SetTriggerInType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetDescriptorType(&firstDescriptor_local, CY_AXIDMAC_2D_MEMORY_COPY);
  Cy_AXIDMAC_Descriptor_SetSrcAddress(&firstDescriptor_local, &src_data);
  Cy_AXIDMAC_Descriptor_SetDstAddress(&firstDescriptor_local, &dst_data);
  Cy_AXIDMAC_Descriptor_SetMloopDataCount(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopSrcIncrement(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopDstIncrement(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopDataCount(&firstDescriptor_local, DATACNT);
  Cy_AXIDMAC_Descriptor_SetYloopSrcIncrement(&firstDescriptor_local, 0UL);
  Cy_AXIDMAC_Descriptor_SetYloopDstIncrement(&firstDescriptor_local, 0UL);
  Cy_AXIDMAC_Descriptor_SetYloopDataCount(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetNextDescriptor(&firstDescriptor_local, &nextDescriptor_local);
  }

## ◆ Cy_AXIDMAC_Descriptor_SetXloopDataCount()

void Cy_AXIDMAC_Descriptor_SetXloopDataCount | ( | cy_stc_axidmac_descriptor_t * | descriptor,
|  | uint32_t | xCount
| ) |  |

Sets the number of data elements to transfer in the X loop for the specified descriptor (for 2D and 3D memory copy descriptors).

Parameters

  descriptor | The descriptor structure instance.
  xCount | The number of data elements to transfer in the X loop. For all the rest of the descriptors (except 1D memory copy), the valid range is 1...65536.

Function Usage
  /* Scenario: Set or modify individual descriptor parameters dynamically. This snippet shows them all. */
  #define DATACNT (8UL)
  cy_stc_axidmac_descriptor_t firstDescriptor_local = {0};
  cy_stc_axidmac_descriptor_t nextDescriptor_local = {0};
  uint32_t src_data[DATACNT];
  uint32_t dst_data[DATACNT];
  if (&firstDescriptor_local != Cy_AXIDMAC_Channel_GetCurrentDescriptor(SAXI_DMAC, 0UL)) /* Make sure it is not in use */
  {
  Cy_AXIDMAC_Descriptor_SetRetrigger(&firstDescriptor_local, CY_AXIDMAC_RETRIG_IM);
  Cy_AXIDMAC_Descriptor_SetInterruptType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetTriggerOutType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetChannelState(&firstDescriptor_local, CY_AXIDMAC_CHANNEL_ENABLED);
  Cy_AXIDMAC_Descriptor_SetTriggerInType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetDescriptorType(&firstDescriptor_local, CY_AXIDMAC_2D_MEMORY_COPY);
  Cy_AXIDMAC_Descriptor_SetSrcAddress(&firstDescriptor_local, &src_data);
  Cy_AXIDMAC_Descriptor_SetDstAddress(&firstDescriptor_local, &dst_data);
  Cy_AXIDMAC_Descriptor_SetMloopDataCount(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopSrcIncrement(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopDstIncrement(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopDataCount(&firstDescriptor_local, DATACNT);
  Cy_AXIDMAC_Descriptor_SetYloopSrcIncrement(&firstDescriptor_local, 0UL);
  Cy_AXIDMAC_Descriptor_SetYloopDstIncrement(&firstDescriptor_local, 0UL);
  Cy_AXIDMAC_Descriptor_SetYloopDataCount(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetNextDescriptor(&firstDescriptor_local, &nextDescriptor_local);
  }

## ◆ Cy_AXIDMAC_Descriptor_SetYloopDataCount()

__STATIC_INLINE void Cy_AXIDMAC_Descriptor_SetYloopDataCount | ( | cy_stc_axidmac_descriptor_t * | descriptor,
|  | uint32_t | yCount
| ) |  |

Sets the number of data elements for the Y loop of the specified descriptor (for 3D descriptors only).

Parameters

  descriptor | The descriptor structure instance.
  yCount | The number of X loops to execute in the Y loop. The valid range is 1 ... 65536.

Function Usage
  /* Scenario: Set or modify individual descriptor parameters dynamically. This snippet shows them all. */
  #define DATACNT (8UL)
  cy_stc_axidmac_descriptor_t firstDescriptor_local = {0};
  cy_stc_axidmac_descriptor_t nextDescriptor_local = {0};
  uint32_t src_data[DATACNT];
  uint32_t dst_data[DATACNT];
  if (&firstDescriptor_local != Cy_AXIDMAC_Channel_GetCurrentDescriptor(SAXI_DMAC, 0UL)) /* Make sure it is not in use */
  {
  Cy_AXIDMAC_Descriptor_SetRetrigger(&firstDescriptor_local, CY_AXIDMAC_RETRIG_IM);
  Cy_AXIDMAC_Descriptor_SetInterruptType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetTriggerOutType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetChannelState(&firstDescriptor_local, CY_AXIDMAC_CHANNEL_ENABLED);
  Cy_AXIDMAC_Descriptor_SetTriggerInType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetDescriptorType(&firstDescriptor_local, CY_AXIDMAC_2D_MEMORY_COPY);
  Cy_AXIDMAC_Descriptor_SetSrcAddress(&firstDescriptor_local, &src_data);
  Cy_AXIDMAC_Descriptor_SetDstAddress(&firstDescriptor_local, &dst_data);
  Cy_AXIDMAC_Descriptor_SetMloopDataCount(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopSrcIncrement(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopDstIncrement(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopDataCount(&firstDescriptor_local, DATACNT);
  Cy_AXIDMAC_Descriptor_SetYloopSrcIncrement(&firstDescriptor_local, 0UL);
  Cy_AXIDMAC_Descriptor_SetYloopDstIncrement(&firstDescriptor_local, 0UL);
  Cy_AXIDMAC_Descriptor_SetYloopDataCount(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetNextDescriptor(&firstDescriptor_local, &nextDescriptor_local);
  }

## ◆ Cy_AXIDMAC_Descriptor_SetXloopSrcIncrement()

__STATIC_INLINE void Cy_AXIDMAC_Descriptor_SetXloopSrcIncrement | ( | cy_stc_axidmac_descriptor_t * | descriptor,
|  | int16_t | srcXincrement
| ) |  |

Sets the source increment parameter for the X loop of the specified descriptor (for 2D or 3D descriptors only).

Parameters

  descriptor | The descriptor structure instance.
  srcXincrement | The value of the source increment. The valid range is -32768 ... 32767. Top most bit is a sign bit i.e., 0x8000 indicates -32768.

Function Usage
  /* Scenario: Set or modify individual descriptor parameters dynamically. This snippet shows them all. */
  #define DATACNT (8UL)
  cy_stc_axidmac_descriptor_t firstDescriptor_local = {0};
  cy_stc_axidmac_descriptor_t nextDescriptor_local = {0};
  uint32_t src_data[DATACNT];
  uint32_t dst_data[DATACNT];
  if (&firstDescriptor_local != Cy_AXIDMAC_Channel_GetCurrentDescriptor(SAXI_DMAC, 0UL)) /* Make sure it is not in use */
  {
  Cy_AXIDMAC_Descriptor_SetRetrigger(&firstDescriptor_local, CY_AXIDMAC_RETRIG_IM);
  Cy_AXIDMAC_Descriptor_SetInterruptType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetTriggerOutType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetChannelState(&firstDescriptor_local, CY_AXIDMAC_CHANNEL_ENABLED);
  Cy_AXIDMAC_Descriptor_SetTriggerInType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetDescriptorType(&firstDescriptor_local, CY_AXIDMAC_2D_MEMORY_COPY);
  Cy_AXIDMAC_Descriptor_SetSrcAddress(&firstDescriptor_local, &src_data);
  Cy_AXIDMAC_Descriptor_SetDstAddress(&firstDescriptor_local, &dst_data);
  Cy_AXIDMAC_Descriptor_SetMloopDataCount(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopSrcIncrement(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopDstIncrement(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopDataCount(&firstDescriptor_local, DATACNT);
  Cy_AXIDMAC_Descriptor_SetYloopSrcIncrement(&firstDescriptor_local, 0UL);
  Cy_AXIDMAC_Descriptor_SetYloopDstIncrement(&firstDescriptor_local, 0UL);
  Cy_AXIDMAC_Descriptor_SetYloopDataCount(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetNextDescriptor(&firstDescriptor_local, &nextDescriptor_local);
  }

## ◆ Cy_AXIDMAC_Descriptor_SetXloopDstIncrement()

__STATIC_INLINE void Cy_AXIDMAC_Descriptor_SetXloopDstIncrement | ( | cy_stc_axidmac_descriptor_t * | descriptor,
|  | int16_t | dstXincrement
| ) |  |

Sets the destination increment parameter for the X loop for the specified descriptor (for 2D or 3D descriptors only).

Parameters

  descriptor | The descriptor structure instance.
  dstXincrement | The value of the destination increment. The valid range is -32768 ... 32767. Top most bit is a sign bit i.e., 0x8000 indicates -32768.

Function Usage
  /* Scenario: Set or modify individual descriptor parameters dynamically. This snippet shows them all. */
  #define DATACNT (8UL)
  cy_stc_axidmac_descriptor_t firstDescriptor_local = {0};
  cy_stc_axidmac_descriptor_t nextDescriptor_local = {0};
  uint32_t src_data[DATACNT];
  uint32_t dst_data[DATACNT];
  if (&firstDescriptor_local != Cy_AXIDMAC_Channel_GetCurrentDescriptor(SAXI_DMAC, 0UL)) /* Make sure it is not in use */
  {
  Cy_AXIDMAC_Descriptor_SetRetrigger(&firstDescriptor_local, CY_AXIDMAC_RETRIG_IM);
  Cy_AXIDMAC_Descriptor_SetInterruptType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetTriggerOutType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetChannelState(&firstDescriptor_local, CY_AXIDMAC_CHANNEL_ENABLED);
  Cy_AXIDMAC_Descriptor_SetTriggerInType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetDescriptorType(&firstDescriptor_local, CY_AXIDMAC_2D_MEMORY_COPY);
  Cy_AXIDMAC_Descriptor_SetSrcAddress(&firstDescriptor_local, &src_data);
  Cy_AXIDMAC_Descriptor_SetDstAddress(&firstDescriptor_local, &dst_data);
  Cy_AXIDMAC_Descriptor_SetMloopDataCount(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopSrcIncrement(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopDstIncrement(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopDataCount(&firstDescriptor_local, DATACNT);
  Cy_AXIDMAC_Descriptor_SetYloopSrcIncrement(&firstDescriptor_local, 0UL);
  Cy_AXIDMAC_Descriptor_SetYloopDstIncrement(&firstDescriptor_local, 0UL);
  Cy_AXIDMAC_Descriptor_SetYloopDataCount(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetNextDescriptor(&firstDescriptor_local, &nextDescriptor_local);
  }

## ◆ Cy_AXIDMAC_Descriptor_SetYloopSrcIncrement()

__STATIC_INLINE void Cy_AXIDMAC_Descriptor_SetYloopSrcIncrement | ( | cy_stc_axidmac_descriptor_t * | descriptor,
|  | int16_t | srcYincrement
| ) |  |

Sets the source increment parameter for the Y loop for the specified descriptor (for 3D descriptors only).

Parameters

  descriptor | The descriptor structure instance.
  srcYincrement | The value of the source increment. The valid range is -32768 ... 32767. Top most bit is a sign bit i.e., 0x8000 indicates -32768.

Function Usage
  /* Scenario: Set or modify individual descriptor parameters dynamically. This snippet shows them all. */
  #define DATACNT (8UL)
  cy_stc_axidmac_descriptor_t firstDescriptor_local = {0};
  cy_stc_axidmac_descriptor_t nextDescriptor_local = {0};
  uint32_t src_data[DATACNT];
  uint32_t dst_data[DATACNT];
  if (&firstDescriptor_local != Cy_AXIDMAC_Channel_GetCurrentDescriptor(SAXI_DMAC, 0UL)) /* Make sure it is not in use */
  {
  Cy_AXIDMAC_Descriptor_SetRetrigger(&firstDescriptor_local, CY_AXIDMAC_RETRIG_IM);
  Cy_AXIDMAC_Descriptor_SetInterruptType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetTriggerOutType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetChannelState(&firstDescriptor_local, CY_AXIDMAC_CHANNEL_ENABLED);
  Cy_AXIDMAC_Descriptor_SetTriggerInType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetDescriptorType(&firstDescriptor_local, CY_AXIDMAC_2D_MEMORY_COPY);
  Cy_AXIDMAC_Descriptor_SetSrcAddress(&firstDescriptor_local, &src_data);
  Cy_AXIDMAC_Descriptor_SetDstAddress(&firstDescriptor_local, &dst_data);
  Cy_AXIDMAC_Descriptor_SetMloopDataCount(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopSrcIncrement(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopDstIncrement(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopDataCount(&firstDescriptor_local, DATACNT);
  Cy_AXIDMAC_Descriptor_SetYloopSrcIncrement(&firstDescriptor_local, 0UL);
  Cy_AXIDMAC_Descriptor_SetYloopDstIncrement(&firstDescriptor_local, 0UL);
  Cy_AXIDMAC_Descriptor_SetYloopDataCount(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetNextDescriptor(&firstDescriptor_local, &nextDescriptor_local);
  }

## ◆ Cy_AXIDMAC_Descriptor_SetYloopDstIncrement()

__STATIC_INLINE void Cy_AXIDMAC_Descriptor_SetYloopDstIncrement | ( | cy_stc_axidmac_descriptor_t * | descriptor,
|  | int16_t | dstYincrement
| ) |  |

Sets the destination increment parameter for the Y loop of the specified descriptor (for 3D descriptors only).

Parameters

  descriptor | The descriptor structure instance.
  dstYincrement | The value of the destination increment. The valid range is -32768 ... 32767. Top most bit is a sign bit i.e., 0x8000 indicates -32768.

Function Usage
  /* Scenario: Set or modify individual descriptor parameters dynamically. This snippet shows them all. */
  #define DATACNT (8UL)
  cy_stc_axidmac_descriptor_t firstDescriptor_local = {0};
  cy_stc_axidmac_descriptor_t nextDescriptor_local = {0};
  uint32_t src_data[DATACNT];
  uint32_t dst_data[DATACNT];
  if (&firstDescriptor_local != Cy_AXIDMAC_Channel_GetCurrentDescriptor(SAXI_DMAC, 0UL)) /* Make sure it is not in use */
  {
  Cy_AXIDMAC_Descriptor_SetRetrigger(&firstDescriptor_local, CY_AXIDMAC_RETRIG_IM);
  Cy_AXIDMAC_Descriptor_SetInterruptType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetTriggerOutType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetChannelState(&firstDescriptor_local, CY_AXIDMAC_CHANNEL_ENABLED);
  Cy_AXIDMAC_Descriptor_SetTriggerInType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetDescriptorType(&firstDescriptor_local, CY_AXIDMAC_2D_MEMORY_COPY);
  Cy_AXIDMAC_Descriptor_SetSrcAddress(&firstDescriptor_local, &src_data);
  Cy_AXIDMAC_Descriptor_SetDstAddress(&firstDescriptor_local, &dst_data);
  Cy_AXIDMAC_Descriptor_SetMloopDataCount(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopSrcIncrement(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopDstIncrement(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopDataCount(&firstDescriptor_local, DATACNT);
  Cy_AXIDMAC_Descriptor_SetYloopSrcIncrement(&firstDescriptor_local, 0UL);
  Cy_AXIDMAC_Descriptor_SetYloopDstIncrement(&firstDescriptor_local, 0UL);
  Cy_AXIDMAC_Descriptor_SetYloopDataCount(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetNextDescriptor(&firstDescriptor_local, &nextDescriptor_local);
  }

## ◆ Cy_AXIDMAC_Descriptor_SetInterruptType()

__STATIC_INLINE void Cy_AXIDMAC_Descriptor_SetInterruptType | ( | cy_stc_axidmac_descriptor_t * | descriptor,
|  | cy_en_axidmac_trigger_type_t | interruptType
| ) |  |

Sets the interrupt type parameter for the specified descriptor.

Parameters

  descriptor | The descriptor structure instance.
  interruptType | The interrupt type set for the descriptor. cy_en_axidmac_trigger_type_t

Function Usage
  /* Scenario: Set or modify individual descriptor parameters dynamically. This snippet shows them all. */
  #define DATACNT (8UL)
  cy_stc_axidmac_descriptor_t firstDescriptor_local = {0};
  cy_stc_axidmac_descriptor_t nextDescriptor_local = {0};
  uint32_t src_data[DATACNT];
  uint32_t dst_data[DATACNT];
  if (&firstDescriptor_local != Cy_AXIDMAC_Channel_GetCurrentDescriptor(SAXI_DMAC, 0UL)) /* Make sure it is not in use */
  {
  Cy_AXIDMAC_Descriptor_SetRetrigger(&firstDescriptor_local, CY_AXIDMAC_RETRIG_IM);
  Cy_AXIDMAC_Descriptor_SetInterruptType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetTriggerOutType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetChannelState(&firstDescriptor_local, CY_AXIDMAC_CHANNEL_ENABLED);
  Cy_AXIDMAC_Descriptor_SetTriggerInType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetDescriptorType(&firstDescriptor_local, CY_AXIDMAC_2D_MEMORY_COPY);
  Cy_AXIDMAC_Descriptor_SetSrcAddress(&firstDescriptor_local, &src_data);
  Cy_AXIDMAC_Descriptor_SetDstAddress(&firstDescriptor_local, &dst_data);
  Cy_AXIDMAC_Descriptor_SetMloopDataCount(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopSrcIncrement(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopDstIncrement(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopDataCount(&firstDescriptor_local, DATACNT);
  Cy_AXIDMAC_Descriptor_SetYloopSrcIncrement(&firstDescriptor_local, 0UL);
  Cy_AXIDMAC_Descriptor_SetYloopDstIncrement(&firstDescriptor_local, 0UL);
  Cy_AXIDMAC_Descriptor_SetYloopDataCount(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetNextDescriptor(&firstDescriptor_local, &nextDescriptor_local);
  }

## ◆ Cy_AXIDMAC_Descriptor_SetTriggerInType()

__STATIC_INLINE void Cy_AXIDMAC_Descriptor_SetTriggerInType | ( | cy_stc_axidmac_descriptor_t * | descriptor,
|  | cy_en_axidmac_trigger_type_t | triggerInType
| ) |  |

Sets the Trigger In Type parameter for the specified descriptor.

Parameters

  descriptor | The descriptor structure instance.
  triggerInType | The Trigger In Type parameter cy_en_axidmac_trigger_type_t

Function Usage
  /* Scenario: Set or modify individual descriptor parameters dynamically. This snippet shows them all. */
  #define DATACNT (8UL)
  cy_stc_axidmac_descriptor_t firstDescriptor_local = {0};
  cy_stc_axidmac_descriptor_t nextDescriptor_local = {0};
  uint32_t src_data[DATACNT];
  uint32_t dst_data[DATACNT];
  if (&firstDescriptor_local != Cy_AXIDMAC_Channel_GetCurrentDescriptor(SAXI_DMAC, 0UL)) /* Make sure it is not in use */
  {
  Cy_AXIDMAC_Descriptor_SetRetrigger(&firstDescriptor_local, CY_AXIDMAC_RETRIG_IM);
  Cy_AXIDMAC_Descriptor_SetInterruptType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetTriggerOutType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetChannelState(&firstDescriptor_local, CY_AXIDMAC_CHANNEL_ENABLED);
  Cy_AXIDMAC_Descriptor_SetTriggerInType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetDescriptorType(&firstDescriptor_local, CY_AXIDMAC_2D_MEMORY_COPY);
  Cy_AXIDMAC_Descriptor_SetSrcAddress(&firstDescriptor_local, &src_data);
  Cy_AXIDMAC_Descriptor_SetDstAddress(&firstDescriptor_local, &dst_data);
  Cy_AXIDMAC_Descriptor_SetMloopDataCount(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopSrcIncrement(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopDstIncrement(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopDataCount(&firstDescriptor_local, DATACNT);
  Cy_AXIDMAC_Descriptor_SetYloopSrcIncrement(&firstDescriptor_local, 0UL);
  Cy_AXIDMAC_Descriptor_SetYloopDstIncrement(&firstDescriptor_local, 0UL);
  Cy_AXIDMAC_Descriptor_SetYloopDataCount(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetNextDescriptor(&firstDescriptor_local, &nextDescriptor_local);
  }

## ◆ Cy_AXIDMAC_Descriptor_SetTriggerOutType()

__STATIC_INLINE void Cy_AXIDMAC_Descriptor_SetTriggerOutType | ( | cy_stc_axidmac_descriptor_t * | descriptor,
|  | cy_en_axidmac_trigger_type_t | triggerOutType
| ) |  |

Sets the Trigger Out Type parameter for the specified descriptor.

Parameters

  descriptor | The descriptor structure instance.
  triggerOutType | The Trigger Out Type set for the descriptor. cy_en_axidmac_trigger_type_t

Function Usage
  /* Scenario: Set or modify individual descriptor parameters dynamically. This snippet shows them all. */
  #define DATACNT (8UL)
  cy_stc_axidmac_descriptor_t firstDescriptor_local = {0};
  cy_stc_axidmac_descriptor_t nextDescriptor_local = {0};
  uint32_t src_data[DATACNT];
  uint32_t dst_data[DATACNT];
  if (&firstDescriptor_local != Cy_AXIDMAC_Channel_GetCurrentDescriptor(SAXI_DMAC, 0UL)) /* Make sure it is not in use */
  {
  Cy_AXIDMAC_Descriptor_SetRetrigger(&firstDescriptor_local, CY_AXIDMAC_RETRIG_IM);
  Cy_AXIDMAC_Descriptor_SetInterruptType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetTriggerOutType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetChannelState(&firstDescriptor_local, CY_AXIDMAC_CHANNEL_ENABLED);
  Cy_AXIDMAC_Descriptor_SetTriggerInType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetDescriptorType(&firstDescriptor_local, CY_AXIDMAC_2D_MEMORY_COPY);
  Cy_AXIDMAC_Descriptor_SetSrcAddress(&firstDescriptor_local, &src_data);
  Cy_AXIDMAC_Descriptor_SetDstAddress(&firstDescriptor_local, &dst_data);
  Cy_AXIDMAC_Descriptor_SetMloopDataCount(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopSrcIncrement(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopDstIncrement(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopDataCount(&firstDescriptor_local, DATACNT);
  Cy_AXIDMAC_Descriptor_SetYloopSrcIncrement(&firstDescriptor_local, 0UL);
  Cy_AXIDMAC_Descriptor_SetYloopDstIncrement(&firstDescriptor_local, 0UL);
  Cy_AXIDMAC_Descriptor_SetYloopDataCount(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetNextDescriptor(&firstDescriptor_local, &nextDescriptor_local);
  }

## ◆ Cy_AXIDMAC_Descriptor_SetRetrigger()

__STATIC_INLINE void Cy_AXIDMAC_Descriptor_SetRetrigger | ( | cy_stc_axidmac_descriptor_t * | descriptor,
|  | cy_en_axidmac_retrigger_t | retrigger
| ) |  |

Sets the retrigger value which specifies whether the controller should wait for the input trigger to be deactivated.

Parameters

  descriptor | The descriptor structure instance.
  retrigger | The cy_en_axidmac_retrigger_t parameter specifies whether the controller should wait for the input trigger to be deactivated.

Function Usage
  /* Scenario: Set or modify individual descriptor parameters dynamically. This snippet shows them all. */
  #define DATACNT (8UL)
  cy_stc_axidmac_descriptor_t firstDescriptor_local = {0};
  cy_stc_axidmac_descriptor_t nextDescriptor_local = {0};
  uint32_t src_data[DATACNT];
  uint32_t dst_data[DATACNT];
  if (&firstDescriptor_local != Cy_AXIDMAC_Channel_GetCurrentDescriptor(SAXI_DMAC, 0UL)) /* Make sure it is not in use */
  {
  Cy_AXIDMAC_Descriptor_SetRetrigger(&firstDescriptor_local, CY_AXIDMAC_RETRIG_IM);
  Cy_AXIDMAC_Descriptor_SetInterruptType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetTriggerOutType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetChannelState(&firstDescriptor_local, CY_AXIDMAC_CHANNEL_ENABLED);
  Cy_AXIDMAC_Descriptor_SetTriggerInType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetDescriptorType(&firstDescriptor_local, CY_AXIDMAC_2D_MEMORY_COPY);
  Cy_AXIDMAC_Descriptor_SetSrcAddress(&firstDescriptor_local, &src_data);
  Cy_AXIDMAC_Descriptor_SetDstAddress(&firstDescriptor_local, &dst_data);
  Cy_AXIDMAC_Descriptor_SetMloopDataCount(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopSrcIncrement(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopDstIncrement(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopDataCount(&firstDescriptor_local, DATACNT);
  Cy_AXIDMAC_Descriptor_SetYloopSrcIncrement(&firstDescriptor_local, 0UL);
  Cy_AXIDMAC_Descriptor_SetYloopDstIncrement(&firstDescriptor_local, 0UL);
  Cy_AXIDMAC_Descriptor_SetYloopDataCount(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetNextDescriptor(&firstDescriptor_local, &nextDescriptor_local);
  }

## ◆ Cy_AXIDMAC_Descriptor_SetChannelState()

__STATIC_INLINE void Cy_AXIDMAC_Descriptor_SetChannelState | ( | cy_stc_axidmac_descriptor_t * | descriptor,
|  | cy_en_axidmac_channel_state_t | channelState
| ) |  |

Sets the channel state on completion of the specified descriptor.

Parameters

  descriptor | The descriptor structure instance.
  channelState | The channel state cy_en_axidmac_channel_state_t.

Function Usage
  /* Scenario: Set or modify individual descriptor parameters dynamically. This snippet shows them all. */
  #define DATACNT (8UL)
  cy_stc_axidmac_descriptor_t firstDescriptor_local = {0};
  cy_stc_axidmac_descriptor_t nextDescriptor_local = {0};
  uint32_t src_data[DATACNT];
  uint32_t dst_data[DATACNT];
  if (&firstDescriptor_local != Cy_AXIDMAC_Channel_GetCurrentDescriptor(SAXI_DMAC, 0UL)) /* Make sure it is not in use */
  {
  Cy_AXIDMAC_Descriptor_SetRetrigger(&firstDescriptor_local, CY_AXIDMAC_RETRIG_IM);
  Cy_AXIDMAC_Descriptor_SetInterruptType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetTriggerOutType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetChannelState(&firstDescriptor_local, CY_AXIDMAC_CHANNEL_ENABLED);
  Cy_AXIDMAC_Descriptor_SetTriggerInType(&firstDescriptor_local, CY_AXIDMAC_DESCR);
  Cy_AXIDMAC_Descriptor_SetDescriptorType(&firstDescriptor_local, CY_AXIDMAC_2D_MEMORY_COPY);
  Cy_AXIDMAC_Descriptor_SetSrcAddress(&firstDescriptor_local, &src_data);
  Cy_AXIDMAC_Descriptor_SetDstAddress(&firstDescriptor_local, &dst_data);
  Cy_AXIDMAC_Descriptor_SetMloopDataCount(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopSrcIncrement(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopDstIncrement(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetXloopDataCount(&firstDescriptor_local, DATACNT);
  Cy_AXIDMAC_Descriptor_SetYloopSrcIncrement(&firstDescriptor_local, 0UL);
  Cy_AXIDMAC_Descriptor_SetYloopDstIncrement(&firstDescriptor_local, 0UL);
  Cy_AXIDMAC_Descriptor_SetYloopDataCount(&firstDescriptor_local, 1UL);
  Cy_AXIDMAC_Descriptor_SetNextDescriptor(&firstDescriptor_local, &nextDescriptor_local);
  }

## ◆ Cy_AXIDMAC_Descriptor_GetNextDescriptor()

cy_stc_axidmac_descriptor_t * Cy_AXIDMAC_Descriptor_GetNextDescriptor | ( | cy_stc_axidmac_descriptor_t const * | descriptor | ) |

Returns a next descriptor address of the specified descriptor.

Based on the descriptor type, the offset of the address for the next descriptor register may vary: For the 1D memory copy descriptor type, this register is at offset 0x10. For the 2D memory copy descriptor type, this register is at offset 0x18. For the 3D memory copy descriptor type, this register is at offset 0x20.

Parameters

  descriptor | The descriptor structure instance.

Returns
  The pointer to the next descriptor.

Function Usage
  /* Scenario: Get the value of individual descriptor parameters dynamically. The snippet shows them all. */
  /* This function assumes the 'descriptor' is initialized, see \ref Cy_AXIDMAC_Enable description */
  cy_en_axidmac_retrigger_t retrigger = Cy_AXIDMAC_Descriptor_GetRetrigger(&descriptor);
  cy_en_axidmac_trigger_type_t interruptType = Cy_AXIDMAC_Descriptor_GetInterruptType(&descriptor);
  cy_en_axidmac_trigger_type_t triggerOutType = Cy_AXIDMAC_Descriptor_GetTriggerOutType(&descriptor);
  cy_en_axidmac_channel_state_t channelState = Cy_AXIDMAC_Descriptor_GetChannelState(&descriptor);
  cy_en_axidmac_trigger_type_t triggerInType = Cy_AXIDMAC_Descriptor_GetTriggerInType(&descriptor);
  cy_en_axidmac_descriptor_type_t descriptorType = Cy_AXIDMAC_Descriptor_GetDescriptorType(&descriptor);
  void* srcAddress = Cy_AXIDMAC_Descriptor_GetSrcAddress(&descriptor);
  void* dstAddress = Cy_AXIDMAC_Descriptor_GetDstAddress(&descriptor);
  uint32_t mCount = Cy_AXIDMAC_Descriptor_GetMloopDataCount(&descriptor);
  int32_t srcXincrement = Cy_AXIDMAC_Descriptor_GetXloopSrcIncrement(&descriptor);
  int32_t dstXincrement = Cy_AXIDMAC_Descriptor_GetXloopDstIncrement(&descriptor);
  uint32_t xCount = Cy_AXIDMAC_Descriptor_GetXloopDataCount(&descriptor);
  int32_t srcYincrement = Cy_AXIDMAC_Descriptor_GetYloopSrcIncrement(&descriptor);
  int32_t dstYincrement = Cy_AXIDMAC_Descriptor_GetYloopDstIncrement(&descriptor);
  uint32_t yCount = Cy_AXIDMAC_Descriptor_GetYloopDataCount(&descriptor);
  cy_stc_axidmac_descriptor_t* nextDescriptor_local = Cy_AXIDMAC_Descriptor_GetNextDescriptor(&descriptor);
  Cy_AXIDMAC_Descriptor_GetYloopDstIncrement
  __STATIC_INLINE int16_t Cy_AXIDMAC_Descriptor_GetYloopDstIncrement(cy_stc_axidmac_descriptor_t const *descriptor)
  Returns the destination increment parameter for the Y loop of the specified descriptor (for 3D descri...
  Definition: cy_axidmac.h:1465
  Cy_AXIDMAC_Descriptor_GetMloopDataCount
  __STATIC_INLINE uint32_t Cy_AXIDMAC_Descriptor_GetMloopDataCount(cy_stc_axidmac_descriptor_t const *descriptor)
  Returns the number of M loops to execute in the specified descriptor.
  Definition: cy_axidmac.h:1209
  Cy_AXIDMAC_Descriptor_GetTriggerInType
  __STATIC_INLINE cy_en_axidmac_trigger_type_t Cy_AXIDMAC_Descriptor_GetTriggerInType(cy_stc_axidmac_descriptor_t const *descriptor)
  Returns the Trigger In Type of the specified descriptor.
  Definition: cy_axidmac.h:994
  Cy_AXIDMAC_Descriptor_GetXloopDataCount
  uint32_t Cy_AXIDMAC_Descriptor_GetXloopDataCount(cy_stc_axidmac_descriptor_t const *descriptor)
  Returns the number of data elements for the X loop of the specified descriptor (for 2D and 3D memory ...
  Definition: cy_axidmac.c:179
  Cy_AXIDMAC_Descriptor_GetYloopSrcIncrement
  __STATIC_INLINE int16_t Cy_AXIDMAC_Descriptor_GetYloopSrcIncrement(cy_stc_axidmac_descriptor_t const *descriptor)
  Returns the source increment parameter for the Y loop of the specified descriptor (for 2D descriptors...
  Definition: cy_axidmac.h:1413
  Cy_AXIDMAC_Descriptor_GetRetrigger
  __STATIC_INLINE cy_en_axidmac_retrigger_t Cy_AXIDMAC_Descriptor_GetRetrigger(cy_stc_axidmac_descriptor_t const *descriptor)
  Returns a value which specifies whether the controller should wait for the input trigger to be deacti...
  Definition: cy_axidmac.h:1091
  Cy_AXIDMAC_Descriptor_GetInterruptType
  __STATIC_INLINE cy_en_axidmac_trigger_type_t Cy_AXIDMAC_Descriptor_GetInterruptType(cy_stc_axidmac_descriptor_t const *descriptor)
  Returns the Interrupt-Type of the specified descriptor.
  Definition: cy_axidmac.h:947
  Cy_AXIDMAC_Descriptor_GetSrcAddress
  __STATIC_INLINE void * Cy_AXIDMAC_Descriptor_GetSrcAddress(cy_stc_axidmac_descriptor_t const *descriptor)
  Returns the source address of the specified descriptor.
  Definition: cy_axidmac.h:857
  Cy_AXIDMAC_Descriptor_GetTriggerOutType
  __STATIC_INLINE cy_en_axidmac_trigger_type_t Cy_AXIDMAC_Descriptor_GetTriggerOutType(cy_stc_axidmac_descriptor_t const *descriptor)
  Returns the Trigger Out Type of the specified descriptor.
  Definition: cy_axidmac.h:1041
  Cy_AXIDMAC_Descriptor_GetXloopSrcIncrement
  __STATIC_INLINE int16_t Cy_AXIDMAC_Descriptor_GetXloopSrcIncrement(cy_stc_axidmac_descriptor_t const *descriptor)
  Returns the source increment parameter for the X loop of the specified descriptor (for 2D or 3D descr...
  Definition: cy_axidmac.h:1259
  Cy_AXIDMAC_Descriptor_GetXloopDstIncrement
  __STATIC_INLINE int16_t Cy_AXIDMAC_Descriptor_GetXloopDstIncrement(cy_stc_axidmac_descriptor_t const *descriptor)
  Returns the destination increment parameter for the X loop of the specified descriptor (for 2D or 3D ...
  Definition: cy_axidmac.h:1311
  Cy_AXIDMAC_Descriptor_GetChannelState
  __STATIC_INLINE cy_en_axidmac_channel_state_t Cy_AXIDMAC_Descriptor_GetChannelState(cy_stc_axidmac_descriptor_t const *descriptor)
  Returns the channel state on completion of the specified descriptor.
  Definition: cy_axidmac.h:1161
  Cy_AXIDMAC_Descriptor_GetDescriptorType
  __STATIC_INLINE cy_en_axidmac_descriptor_type_t Cy_AXIDMAC_Descriptor_GetDescriptorType(cy_stc_axidmac_descriptor_t const *descriptor)
  Returns the descriptor's type of the specified descriptor.
  Definition: cy_axidmac.h:1114
  Cy_AXIDMAC_Descriptor_GetDstAddress
  __STATIC_INLINE void * Cy_AXIDMAC_Descriptor_GetDstAddress(cy_stc_axidmac_descriptor_t const *descriptor)
  Returns the destination address of the specified descriptor.
  Definition: cy_axidmac.h:901
  Cy_AXIDMAC_Descriptor_GetNextDescriptor
  cy_stc_axidmac_descriptor_t * Cy_AXIDMAC_Descriptor_GetNextDescriptor(cy_stc_axidmac_descriptor_t const *descriptor)
  Returns a next descriptor address of the specified descriptor.
  Definition: cy_axidmac.c:267
  Cy_AXIDMAC_Descriptor_GetYloopDataCount
  __STATIC_INLINE uint32_t Cy_AXIDMAC_Descriptor_GetYloopDataCount(cy_stc_axidmac_descriptor_t const *descriptor)
  Returns the number of X loops to execute in the Y loop of the specified descriptor (for 3D descriptor...
  Definition: cy_axidmac.h:1362
  cy_en_axidmac_trigger_type_t
  cy_en_axidmac_trigger_type_t
  Contains the options for the interrupt, trig-in and trig-out type parameters of the descriptor.
  Definition: cy_axidmac.h:203
  cy_en_axidmac_retrigger_t
  cy_en_axidmac_retrigger_t
  Contains the options for descriptor retriggering.
  Definition: cy_axidmac.h:212
  cy_en_axidmac_channel_state_t
  cy_en_axidmac_channel_state_t
  Contains the options for the state of the channel when the descriptor is completed
  Definition: cy_axidmac.h:222
  cy_en_axidmac_descriptor_type_t
  cy_en_axidmac_descriptor_type_t
  Contains the options for the descriptor type.
  Definition: cy_axidmac.h:195

Based on the descriptor type, the offset of the address for the next descriptor register may vary: For the 1D memory copy descriptor type, this register is at offset 0x10. For the 2D memory copy descriptor type, this register is at offset 0x18. For the 3D memory copy descriptor type, this register is at offset 0x20.

## ◆ Cy_AXIDMAC_Descriptor_GetDescriptorType()

__STATIC_INLINE cy_en_axidmac_descriptor_type_t Cy_AXIDMAC_Descriptor_GetDescriptorType | ( | cy_stc_axidmac_descriptor_t const * | descriptor | ) |

Returns the descriptor's type of the specified descriptor.

Parameters

  descriptor | The descriptor structure instance.

Returns
  The descriptor type cy_en_axidmac_descriptor_type_t

Function Usage
  /* Scenario: Get the value of individual descriptor parameters dynamically. The snippet shows them all. */
  /* This function assumes the 'descriptor' is initialized, see \ref Cy_AXIDMAC_Enable description */
  cy_en_axidmac_retrigger_t retrigger = Cy_AXIDMAC_Descriptor_GetRetrigger(&descriptor);
  cy_en_axidmac_trigger_type_t interruptType = Cy_AXIDMAC_Descriptor_GetInterruptType(&descriptor);
  cy_en_axidmac_trigger_type_t triggerOutType = Cy_AXIDMAC_Descriptor_GetTriggerOutType(&descriptor);
  cy_en_axidmac_channel_state_t channelState = Cy_AXIDMAC_Descriptor_GetChannelState(&descriptor);
  cy_en_axidmac_trigger_type_t triggerInType = Cy_AXIDMAC_Descriptor_GetTriggerInType(&descriptor);
  cy_en_axidmac_descriptor_type_t descriptorType = Cy_AXIDMAC_Descriptor_GetDescriptorType(&descriptor);
  void* srcAddress = Cy_AXIDMAC_Descriptor_GetSrcAddress(&descriptor);
  void* dstAddress = Cy_AXIDMAC_Descriptor_GetDstAddress(&descriptor);
  uint32_t mCount = Cy_AXIDMAC_Descriptor_GetMloopDataCount(&descriptor);
  int32_t srcXincrement = Cy_AXIDMAC_Descriptor_GetXloopSrcIncrement(&descriptor);
  int32_t dstXincrement = Cy_AXIDMAC_Descriptor_GetXloopDstIncrement(&descriptor);
  uint32_t xCount = Cy_AXIDMAC_Descriptor_GetXloopDataCount(&descriptor);
  int32_t srcYincrement = Cy_AXIDMAC_Descriptor_GetYloopSrcIncrement(&descriptor);
  int32_t dstYincrement = Cy_AXIDMAC_Descriptor_GetYloopDstIncrement(&descriptor);
  uint32_t yCount = Cy_AXIDMAC_Descriptor_GetYloopDataCount(&descriptor);
  cy_stc_axidmac_descriptor_t* nextDescriptor_local = Cy_AXIDMAC_Descriptor_GetNextDescriptor(&descriptor);

## ◆ Cy_AXIDMAC_Descriptor_GetSrcAddress()

__STATIC_INLINE void * Cy_AXIDMAC_Descriptor_GetSrcAddress | ( | cy_stc_axidmac_descriptor_t const * | descriptor | ) |

Returns the source address of the specified descriptor.

Parameters

  descriptor | The descriptor structure instance.

Returns
  The source address value of the descriptor.

Function Usage
  /* Scenario: Get the value of individual descriptor parameters dynamically. The snippet shows them all. */
  /* This function assumes the 'descriptor' is initialized, see \ref Cy_AXIDMAC_Enable description */
  cy_en_axidmac_retrigger_t retrigger = Cy_AXIDMAC_Descriptor_GetRetrigger(&descriptor);
  cy_en_axidmac_trigger_type_t interruptType = Cy_AXIDMAC_Descriptor_GetInterruptType(&descriptor);
  cy_en_axidmac_trigger_type_t triggerOutType = Cy_AXIDMAC_Descriptor_GetTriggerOutType(&descriptor);
  cy_en_axidmac_channel_state_t channelState = Cy_AXIDMAC_Descriptor_GetChannelState(&descriptor);
  cy_en_axidmac_trigger_type_t triggerInType = Cy_AXIDMAC_Descriptor_GetTriggerInType(&descriptor);
  cy_en_axidmac_descriptor_type_t descriptorType = Cy_AXIDMAC_Descriptor_GetDescriptorType(&descriptor);
  void* srcAddress = Cy_AXIDMAC_Descriptor_GetSrcAddress(&descriptor);
  void* dstAddress = Cy_AXIDMAC_Descriptor_GetDstAddress(&descriptor);
  uint32_t mCount = Cy_AXIDMAC_Descriptor_GetMloopDataCount(&descriptor);
  int32_t srcXincrement = Cy_AXIDMAC_Descriptor_GetXloopSrcIncrement(&descriptor);
  int32_t dstXincrement = Cy_AXIDMAC_Descriptor_GetXloopDstIncrement(&descriptor);
  uint32_t xCount = Cy_AXIDMAC_Descriptor_GetXloopDataCount(&descriptor);
  int32_t srcYincrement = Cy_AXIDMAC_Descriptor_GetYloopSrcIncrement(&descriptor);
  int32_t dstYincrement = Cy_AXIDMAC_Descriptor_GetYloopDstIncrement(&descriptor);
  uint32_t yCount = Cy_AXIDMAC_Descriptor_GetYloopDataCount(&descriptor);
  cy_stc_axidmac_descriptor_t* nextDescriptor_local = Cy_AXIDMAC_Descriptor_GetNextDescriptor(&descriptor);

## ◆ Cy_AXIDMAC_Descriptor_GetDstAddress()

__STATIC_INLINE void * Cy_AXIDMAC_Descriptor_GetDstAddress | ( | cy_stc_axidmac_descriptor_t const * | descriptor | ) |

Returns the destination address of the specified descriptor.

Parameters

  descriptor | The descriptor structure instance.

Returns
  The destination address value of the descriptor.

Function Usage
  /* Scenario: Get the value of individual descriptor parameters dynamically. The snippet shows them all. */
  /* This function assumes the 'descriptor' is initialized, see \ref Cy_AXIDMAC_Enable description */
  cy_en_axidmac_retrigger_t retrigger = Cy_AXIDMAC_Descriptor_GetRetrigger(&descriptor);
  cy_en_axidmac_trigger_type_t interruptType = Cy_AXIDMAC_Descriptor_GetInterruptType(&descriptor);
  cy_en_axidmac_trigger_type_t triggerOutType = Cy_AXIDMAC_Descriptor_GetTriggerOutType(&descriptor);
  cy_en_axidmac_channel_state_t channelState = Cy_AXIDMAC_Descriptor_GetChannelState(&descriptor);
  cy_en_axidmac_trigger_type_t triggerInType = Cy_AXIDMAC_Descriptor_GetTriggerInType(&descriptor);
  cy_en_axidmac_descriptor_type_t descriptorType = Cy_AXIDMAC_Descriptor_GetDescriptorType(&descriptor);
  void* srcAddress = Cy_AXIDMAC_Descriptor_GetSrcAddress(&descriptor);
  void* dstAddress = Cy_AXIDMAC_Descriptor_GetDstAddress(&descriptor);
  uint32_t mCount = Cy_AXIDMAC_Descriptor_GetMloopDataCount(&descriptor);
  int32_t srcXincrement = Cy_AXIDMAC_Descriptor_GetXloopSrcIncrement(&descriptor);
  int32_t dstXincrement = Cy_AXIDMAC_Descriptor_GetXloopDstIncrement(&descriptor);
  uint32_t xCount = Cy_AXIDMAC_Descriptor_GetXloopDataCount(&descriptor);
  int32_t srcYincrement = Cy_AXIDMAC_Descriptor_GetYloopSrcIncrement(&descriptor);
  int32_t dstYincrement = Cy_AXIDMAC_Descriptor_GetYloopDstIncrement(&descriptor);
  uint32_t yCount = Cy_AXIDMAC_Descriptor_GetYloopDataCount(&descriptor);
  cy_stc_axidmac_descriptor_t* nextDescriptor_local = Cy_AXIDMAC_Descriptor_GetNextDescriptor(&descriptor);

## ◆ Cy_AXIDMAC_Descriptor_GetMloopDataCount()

__STATIC_INLINE uint32_t Cy_AXIDMAC_Descriptor_GetMloopDataCount | ( | cy_stc_axidmac_descriptor_t const * | descriptor | ) |

Returns the number of M loops to execute in the specified descriptor.

Parameters

  descriptor | The descriptor structure instance.

Returns
  The number of M loops to execute The range is 1 ... 65536.

Function Usage
  /* Scenario: Get the value of individual descriptor parameters dynamically. The snippet shows them all. */
  /* This function assumes the 'descriptor' is initialized, see \ref Cy_AXIDMAC_Enable description */
  cy_en_axidmac_retrigger_t retrigger = Cy_AXIDMAC_Descriptor_GetRetrigger(&descriptor);
  cy_en_axidmac_trigger_type_t interruptType = Cy_AXIDMAC_Descriptor_GetInterruptType(&descriptor);
  cy_en_axidmac_trigger_type_t triggerOutType = Cy_AXIDMAC_Descriptor_GetTriggerOutType(&descriptor);
  cy_en_axidmac_channel_state_t channelState = Cy_AXIDMAC_Descriptor_GetChannelState(&descriptor);
  cy_en_axidmac_trigger_type_t triggerInType = Cy_AXIDMAC_Descriptor_GetTriggerInType(&descriptor);
  cy_en_axidmac_descriptor_type_t descriptorType = Cy_AXIDMAC_Descriptor_GetDescriptorType(&descriptor);
  void* srcAddress = Cy_AXIDMAC_Descriptor_GetSrcAddress(&descriptor);
  void* dstAddress = Cy_AXIDMAC_Descriptor_GetDstAddress(&descriptor);
  uint32_t mCount = Cy_AXIDMAC_Descriptor_GetMloopDataCount(&descriptor);
  int32_t srcXincrement = Cy_AXIDMAC_Descriptor_GetXloopSrcIncrement(&descriptor);
  int32_t dstXincrement = Cy_AXIDMAC_Descriptor_GetXloopDstIncrement(&descriptor);
  uint32_t xCount = Cy_AXIDMAC_Descriptor_GetXloopDataCount(&descriptor);
  int32_t srcYincrement = Cy_AXIDMAC_Descriptor_GetYloopSrcIncrement(&descriptor);
  int32_t dstYincrement = Cy_AXIDMAC_Descriptor_GetYloopDstIncrement(&descriptor);
  uint32_t yCount = Cy_AXIDMAC_Descriptor_GetYloopDataCount(&descriptor);
  cy_stc_axidmac_descriptor_t* nextDescriptor_local = Cy_AXIDMAC_Descriptor_GetNextDescriptor(&descriptor);

## ◆ Cy_AXIDMAC_Descriptor_GetXloopDataCount()

uint32_t Cy_AXIDMAC_Descriptor_GetXloopDataCount | ( | cy_stc_axidmac_descriptor_t const * | descriptor | ) |

Returns the number of data elements for the X loop of the specified descriptor (for 2D and 3D memory copy descriptors).

Parameters

  descriptor | The descriptor structure instance.

Returns
  The number of data elements to transfer in the X loop.

Function Usage
  /* Scenario: Get the value of individual descriptor parameters dynamically. The snippet shows them all. */
  /* This function assumes the 'descriptor' is initialized, see \ref Cy_AXIDMAC_Enable description */
  cy_en_axidmac_retrigger_t retrigger = Cy_AXIDMAC_Descriptor_GetRetrigger(&descriptor);
  cy_en_axidmac_trigger_type_t interruptType = Cy_AXIDMAC_Descriptor_GetInterruptType(&descriptor);
  cy_en_axidmac_trigger_type_t triggerOutType = Cy_AXIDMAC_Descriptor_GetTriggerOutType(&descriptor);
  cy_en_axidmac_channel_state_t channelState = Cy_AXIDMAC_Descriptor_GetChannelState(&descriptor);
  cy_en_axidmac_trigger_type_t triggerInType = Cy_AXIDMAC_Descriptor_GetTriggerInType(&descriptor);
  cy_en_axidmac_descriptor_type_t descriptorType = Cy_AXIDMAC_Descriptor_GetDescriptorType(&descriptor);
  void* srcAddress = Cy_AXIDMAC_Descriptor_GetSrcAddress(&descriptor);
  void* dstAddress = Cy_AXIDMAC_Descriptor_GetDstAddress(&descriptor);
  uint32_t mCount = Cy_AXIDMAC_Descriptor_GetMloopDataCount(&descriptor);
  int32_t srcXincrement = Cy_AXIDMAC_Descriptor_GetXloopSrcIncrement(&descriptor);
  int32_t dstXincrement = Cy_AXIDMAC_Descriptor_GetXloopDstIncrement(&descriptor);
  uint32_t xCount = Cy_AXIDMAC_Descriptor_GetXloopDataCount(&descriptor);
  int32_t srcYincrement = Cy_AXIDMAC_Descriptor_GetYloopSrcIncrement(&descriptor);
  int32_t dstYincrement = Cy_AXIDMAC_Descriptor_GetYloopDstIncrement(&descriptor);
  uint32_t yCount = Cy_AXIDMAC_Descriptor_GetYloopDataCount(&descriptor);
  cy_stc_axidmac_descriptor_t* nextDescriptor_local = Cy_AXIDMAC_Descriptor_GetNextDescriptor(&descriptor);

## ◆ Cy_AXIDMAC_Descriptor_GetYloopDataCount()

__STATIC_INLINE uint32_t Cy_AXIDMAC_Descriptor_GetYloopDataCount | ( | cy_stc_axidmac_descriptor_t const * | descriptor | ) |

Returns the number of X loops to execute in the Y loop of the specified descriptor (for 3D descriptors only).

Parameters

  descriptor | The descriptor structure instance.

Returns
  The number of X loops to execute in the Y loop. The range is 1 ... 65536.

Function Usage
  /* Scenario: Get the value of individual descriptor parameters dynamically. The snippet shows them all. */
  /* This function assumes the 'descriptor' is initialized, see \ref Cy_AXIDMAC_Enable description */
  cy_en_axidmac_retrigger_t retrigger = Cy_AXIDMAC_Descriptor_GetRetrigger(&descriptor);
  cy_en_axidmac_trigger_type_t interruptType = Cy_AXIDMAC_Descriptor_GetInterruptType(&descriptor);
  cy_en_axidmac_trigger_type_t triggerOutType = Cy_AXIDMAC_Descriptor_GetTriggerOutType(&descriptor);
  cy_en_axidmac_channel_state_t channelState = Cy_AXIDMAC_Descriptor_GetChannelState(&descriptor);
  cy_en_axidmac_trigger_type_t triggerInType = Cy_AXIDMAC_Descriptor_GetTriggerInType(&descriptor);
  cy_en_axidmac_descriptor_type_t descriptorType = Cy_AXIDMAC_Descriptor_GetDescriptorType(&descriptor);
  void* srcAddress = Cy_AXIDMAC_Descriptor_GetSrcAddress(&descriptor);
  void* dstAddress = Cy_AXIDMAC_Descriptor_GetDstAddress(&descriptor);
  uint32_t mCount = Cy_AXIDMAC_Descriptor_GetMloopDataCount(&descriptor);
  int32_t srcXincrement = Cy_AXIDMAC_Descriptor_GetXloopSrcIncrement(&descriptor);
  int32_t dstXincrement = Cy_AXIDMAC_Descriptor_GetXloopDstIncrement(&descriptor);
  uint32_t xCount = Cy_AXIDMAC_Descriptor_GetXloopDataCount(&descriptor);
  int32_t srcYincrement = Cy_AXIDMAC_Descriptor_GetYloopSrcIncrement(&descriptor);
  int32_t dstYincrement = Cy_AXIDMAC_Descriptor_GetYloopDstIncrement(&descriptor);
  uint32_t yCount = Cy_AXIDMAC_Descriptor_GetYloopDataCount(&descriptor);
  cy_stc_axidmac_descriptor_t* nextDescriptor_local = Cy_AXIDMAC_Descriptor_GetNextDescriptor(&descriptor);

## ◆ Cy_AXIDMAC_Descriptor_GetXloopSrcIncrement()

__STATIC_INLINE int16_t Cy_AXIDMAC_Descriptor_GetXloopSrcIncrement | ( | cy_stc_axidmac_descriptor_t const * | descriptor | ) |

Returns the source increment parameter for the X loop of the specified descriptor (for 2D or 3D descriptors only).

Parameters

  descriptor | The descriptor structure instance.

Returns
  The value of the source increment. The range is -32768 ... 32767.

Function Usage
  /* Scenario: Get the value of individual descriptor parameters dynamically. The snippet shows them all. */
  /* This function assumes the 'descriptor' is initialized, see \ref Cy_AXIDMAC_Enable description */
  cy_en_axidmac_retrigger_t retrigger = Cy_AXIDMAC_Descriptor_GetRetrigger(&descriptor);
  cy_en_axidmac_trigger_type_t interruptType = Cy_AXIDMAC_Descriptor_GetInterruptType(&descriptor);
  cy_en_axidmac_trigger_type_t triggerOutType = Cy_AXIDMAC_Descriptor_GetTriggerOutType(&descriptor);
  cy_en_axidmac_channel_state_t channelState = Cy_AXIDMAC_Descriptor_GetChannelState(&descriptor);
  cy_en_axidmac_trigger_type_t triggerInType = Cy_AXIDMAC_Descriptor_GetTriggerInType(&descriptor);
  cy_en_axidmac_descriptor_type_t descriptorType = Cy_AXIDMAC_Descriptor_GetDescriptorType(&descriptor);
  void* srcAddress = Cy_AXIDMAC_Descriptor_GetSrcAddress(&descriptor);
  void* dstAddress = Cy_AXIDMAC_Descriptor_GetDstAddress(&descriptor);
  uint32_t mCount = Cy_AXIDMAC_Descriptor_GetMloopDataCount(&descriptor);
  int32_t srcXincrement = Cy_AXIDMAC_Descriptor_GetXloopSrcIncrement(&descriptor);
  int32_t dstXincrement = Cy_AXIDMAC_Descriptor_GetXloopDstIncrement(&descriptor);
  uint32_t xCount = Cy_AXIDMAC_Descriptor_GetXloopDataCount(&descriptor);
  int32_t srcYincrement = Cy_AXIDMAC_Descriptor_GetYloopSrcIncrement(&descriptor);
  int32_t dstYincrement = Cy_AXIDMAC_Descriptor_GetYloopDstIncrement(&descriptor);
  uint32_t yCount = Cy_AXIDMAC_Descriptor_GetYloopDataCount(&descriptor);
  cy_stc_axidmac_descriptor_t* nextDescriptor_local = Cy_AXIDMAC_Descriptor_GetNextDescriptor(&descriptor);

## ◆ Cy_AXIDMAC_Descriptor_GetXloopDstIncrement()

__STATIC_INLINE int16_t Cy_AXIDMAC_Descriptor_GetXloopDstIncrement | ( | cy_stc_axidmac_descriptor_t const * | descriptor | ) |

Returns the destination increment parameter for the X loop of the specified descriptor (for 2D or 3D descriptors only).

Parameters

  descriptor | The descriptor structure instance.

Returns
  The value of the destination increment. The range is -32768 ... 32767. Top most bit is a sign bit i.e., 0x8000 indicates -32768.

Function Usage
  /* Scenario: Get the value of individual descriptor parameters dynamically. The snippet shows them all. */
  /* This function assumes the 'descriptor' is initialized, see \ref Cy_AXIDMAC_Enable description */
  cy_en_axidmac_retrigger_t retrigger = Cy_AXIDMAC_Descriptor_GetRetrigger(&descriptor);
  cy_en_axidmac_trigger_type_t interruptType = Cy_AXIDMAC_Descriptor_GetInterruptType(&descriptor);
  cy_en_axidmac_trigger_type_t triggerOutType = Cy_AXIDMAC_Descriptor_GetTriggerOutType(&descriptor);
  cy_en_axidmac_channel_state_t channelState = Cy_AXIDMAC_Descriptor_GetChannelState(&descriptor);
  cy_en_axidmac_trigger_type_t triggerInType = Cy_AXIDMAC_Descriptor_GetTriggerInType(&descriptor);
  cy_en_axidmac_descriptor_type_t descriptorType = Cy_AXIDMAC_Descriptor_GetDescriptorType(&descriptor);
  void* srcAddress = Cy_AXIDMAC_Descriptor_GetSrcAddress(&descriptor);
  void* dstAddress = Cy_AXIDMAC_Descriptor_GetDstAddress(&descriptor);
  uint32_t mCount = Cy_AXIDMAC_Descriptor_GetMloopDataCount(&descriptor);
  int32_t srcXincrement = Cy_AXIDMAC_Descriptor_GetXloopSrcIncrement(&descriptor);
  int32_t dstXincrement = Cy_AXIDMAC_Descriptor_GetXloopDstIncrement(&descriptor);
  uint32_t xCount = Cy_AXIDMAC_Descriptor_GetXloopDataCount(&descriptor);
  int32_t srcYincrement = Cy_AXIDMAC_Descriptor_GetYloopSrcIncrement(&descriptor);
  int32_t dstYincrement = Cy_AXIDMAC_Descriptor_GetYloopDstIncrement(&descriptor);
  uint32_t yCount = Cy_AXIDMAC_Descriptor_GetYloopDataCount(&descriptor);
  cy_stc_axidmac_descriptor_t* nextDescriptor_local = Cy_AXIDMAC_Descriptor_GetNextDescriptor(&descriptor);

## ◆ Cy_AXIDMAC_Descriptor_GetYloopSrcIncrement()

__STATIC_INLINE int16_t Cy_AXIDMAC_Descriptor_GetYloopSrcIncrement | ( | cy_stc_axidmac_descriptor_t const * | descriptor | ) |

Returns the source increment parameter for the Y loop of the specified descriptor (for 2D descriptors only).

Parameters

  descriptor | The descriptor structure instance.

Returns
  The value of source increment. The range is -32768 ... 32767.

Function Usage
  /* Scenario: Get the value of individual descriptor parameters dynamically. The snippet shows them all. */
  /* This function assumes the 'descriptor' is initialized, see \ref Cy_AXIDMAC_Enable description */
  cy_en_axidmac_retrigger_t retrigger = Cy_AXIDMAC_Descriptor_GetRetrigger(&descriptor);
  cy_en_axidmac_trigger_type_t interruptType = Cy_AXIDMAC_Descriptor_GetInterruptType(&descriptor);
  cy_en_axidmac_trigger_type_t triggerOutType = Cy_AXIDMAC_Descriptor_GetTriggerOutType(&descriptor);
  cy_en_axidmac_channel_state_t channelState = Cy_AXIDMAC_Descriptor_GetChannelState(&descriptor);
  cy_en_axidmac_trigger_type_t triggerInType = Cy_AXIDMAC_Descriptor_GetTriggerInType(&descriptor);
  cy_en_axidmac_descriptor_type_t descriptorType = Cy_AXIDMAC_Descriptor_GetDescriptorType(&descriptor);
  void* srcAddress = Cy_AXIDMAC_Descriptor_GetSrcAddress(&descriptor);
  void* dstAddress = Cy_AXIDMAC_Descriptor_GetDstAddress(&descriptor);
  uint32_t mCount = Cy_AXIDMAC_Descriptor_GetMloopDataCount(&descriptor);
  int32_t srcXincrement = Cy_AXIDMAC_Descriptor_GetXloopSrcIncrement(&descriptor);
  int32_t dstXincrement = Cy_AXIDMAC_Descriptor_GetXloopDstIncrement(&descriptor);
  uint32_t xCount = Cy_AXIDMAC_Descriptor_GetXloopDataCount(&descriptor);
  int32_t srcYincrement = Cy_AXIDMAC_Descriptor_GetYloopSrcIncrement(&descriptor);
  int32_t dstYincrement = Cy_AXIDMAC_Descriptor_GetYloopDstIncrement(&descriptor);
  uint32_t yCount = Cy_AXIDMAC_Descriptor_GetYloopDataCount(&descriptor);
  cy_stc_axidmac_descriptor_t* nextDescriptor_local = Cy_AXIDMAC_Descriptor_GetNextDescriptor(&descriptor);

## ◆ Cy_AXIDMAC_Descriptor_GetYloopDstIncrement()

__STATIC_INLINE int16_t Cy_AXIDMAC_Descriptor_GetYloopDstIncrement | ( | cy_stc_axidmac_descriptor_t const * | descriptor | ) |

Returns the destination increment parameter for the Y loop of the specified descriptor (for 3D descriptors only).

Parameters

  descriptor | The descriptor structure instance.

Returns
  The value of the destination increment. The range is -32768 ... 32767. Top most bit is a sign bit i.e., 0x8000 indicates -32768.

Function Usage
  /* Scenario: Get the value of individual descriptor parameters dynamically. The snippet shows them all. */
  /* This function assumes the 'descriptor' is initialized, see \ref Cy_AXIDMAC_Enable description */
  cy_en_axidmac_retrigger_t retrigger = Cy_AXIDMAC_Descriptor_GetRetrigger(&descriptor);
  cy_en_axidmac_trigger_type_t interruptType = Cy_AXIDMAC_Descriptor_GetInterruptType(&descriptor);
  cy_en_axidmac_trigger_type_t triggerOutType = Cy_AXIDMAC_Descriptor_GetTriggerOutType(&descriptor);
  cy_en_axidmac_channel_state_t channelState = Cy_AXIDMAC_Descriptor_GetChannelState(&descriptor);
  cy_en_axidmac_trigger_type_t triggerInType = Cy_AXIDMAC_Descriptor_GetTriggerInType(&descriptor);
  cy_en_axidmac_descriptor_type_t descriptorType = Cy_AXIDMAC_Descriptor_GetDescriptorType(&descriptor);
  void* srcAddress = Cy_AXIDMAC_Descriptor_GetSrcAddress(&descriptor);
  void* dstAddress = Cy_AXIDMAC_Descriptor_GetDstAddress(&descriptor);
  uint32_t mCount = Cy_AXIDMAC_Descriptor_GetMloopDataCount(&descriptor);
  int32_t srcXincrement = Cy_AXIDMAC_Descriptor_GetXloopSrcIncrement(&descriptor);
  int32_t dstXincrement = Cy_AXIDMAC_Descriptor_GetXloopDstIncrement(&descriptor);
  uint32_t xCount = Cy_AXIDMAC_Descriptor_GetXloopDataCount(&descriptor);
  int32_t srcYincrement = Cy_AXIDMAC_Descriptor_GetYloopSrcIncrement(&descriptor);
  int32_t dstYincrement = Cy_AXIDMAC_Descriptor_GetYloopDstIncrement(&descriptor);
  uint32_t yCount = Cy_AXIDMAC_Descriptor_GetYloopDataCount(&descriptor);
  cy_stc_axidmac_descriptor_t* nextDescriptor_local = Cy_AXIDMAC_Descriptor_GetNextDescriptor(&descriptor);

## ◆ Cy_AXIDMAC_Descriptor_GetInterruptType()

__STATIC_INLINE cy_en_axidmac_trigger_type_t Cy_AXIDMAC_Descriptor_GetInterruptType | ( | cy_stc_axidmac_descriptor_t const * | descriptor | ) |

Returns the Interrupt-Type of the specified descriptor.

Parameters

  descriptor | The descriptor structure instance.

Returns
  The Interrupt-Type cy_en_axidmac_trigger_type_t.

Function Usage
  /* Scenario: Get the value of individual descriptor parameters dynamically. The snippet shows them all. */
  /* This function assumes the 'descriptor' is initialized, see \ref Cy_AXIDMAC_Enable description */
  cy_en_axidmac_retrigger_t retrigger = Cy_AXIDMAC_Descriptor_GetRetrigger(&descriptor);
  cy_en_axidmac_trigger_type_t interruptType = Cy_AXIDMAC_Descriptor_GetInterruptType(&descriptor);
  cy_en_axidmac_trigger_type_t triggerOutType = Cy_AXIDMAC_Descriptor_GetTriggerOutType(&descriptor);
  cy_en_axidmac_channel_state_t channelState = Cy_AXIDMAC_Descriptor_GetChannelState(&descriptor);
  cy_en_axidmac_trigger_type_t triggerInType = Cy_AXIDMAC_Descriptor_GetTriggerInType(&descriptor);
  cy_en_axidmac_descriptor_type_t descriptorType = Cy_AXIDMAC_Descriptor_GetDescriptorType(&descriptor);
  void* srcAddress = Cy_AXIDMAC_Descriptor_GetSrcAddress(&descriptor);
  void* dstAddress = Cy_AXIDMAC_Descriptor_GetDstAddress(&descriptor);
  uint32_t mCount = Cy_AXIDMAC_Descriptor_GetMloopDataCount(&descriptor);
  int32_t srcXincrement = Cy_AXIDMAC_Descriptor_GetXloopSrcIncrement(&descriptor);
  int32_t dstXincrement = Cy_AXIDMAC_Descriptor_GetXloopDstIncrement(&descriptor);
  uint32_t xCount = Cy_AXIDMAC_Descriptor_GetXloopDataCount(&descriptor);
  int32_t srcYincrement = Cy_AXIDMAC_Descriptor_GetYloopSrcIncrement(&descriptor);
  int32_t dstYincrement = Cy_AXIDMAC_Descriptor_GetYloopDstIncrement(&descriptor);
  uint32_t yCount = Cy_AXIDMAC_Descriptor_GetYloopDataCount(&descriptor);
  cy_stc_axidmac_descriptor_t* nextDescriptor_local = Cy_AXIDMAC_Descriptor_GetNextDescriptor(&descriptor);

## ◆ Cy_AXIDMAC_Descriptor_GetTriggerInType()

__STATIC_INLINE cy_en_axidmac_trigger_type_t Cy_AXIDMAC_Descriptor_GetTriggerInType | ( | cy_stc_axidmac_descriptor_t const * | descriptor | ) |

Returns the Trigger In Type of the specified descriptor.

Parameters

  descriptor | The descriptor structure instance.

Returns
  The Trigger In Type cy_en_axidmac_trigger_type_t

Function Usage
  /* Scenario: Get the value of individual descriptor parameters dynamically. The snippet shows them all. */
  /* This function assumes the 'descriptor' is initialized, see \ref Cy_AXIDMAC_Enable description */
  cy_en_axidmac_retrigger_t retrigger = Cy_AXIDMAC_Descriptor_GetRetrigger(&descriptor);
  cy_en_axidmac_trigger_type_t interruptType = Cy_AXIDMAC_Descriptor_GetInterruptType(&descriptor);
  cy_en_axidmac_trigger_type_t triggerOutType = Cy_AXIDMAC_Descriptor_GetTriggerOutType(&descriptor);
  cy_en_axidmac_channel_state_t channelState = Cy_AXIDMAC_Descriptor_GetChannelState(&descriptor);
  cy_en_axidmac_trigger_type_t triggerInType = Cy_AXIDMAC_Descriptor_GetTriggerInType(&descriptor);
  cy_en_axidmac_descriptor_type_t descriptorType = Cy_AXIDMAC_Descriptor_GetDescriptorType(&descriptor);
  void* srcAddress = Cy_AXIDMAC_Descriptor_GetSrcAddress(&descriptor);
  void* dstAddress = Cy_AXIDMAC_Descriptor_GetDstAddress(&descriptor);
  uint32_t mCount = Cy_AXIDMAC_Descriptor_GetMloopDataCount(&descriptor);
  int32_t srcXincrement = Cy_AXIDMAC_Descriptor_GetXloopSrcIncrement(&descriptor);
  int32_t dstXincrement = Cy_AXIDMAC_Descriptor_GetXloopDstIncrement(&descriptor);
  uint32_t xCount = Cy_AXIDMAC_Descriptor_GetXloopDataCount(&descriptor);
  int32_t srcYincrement = Cy_AXIDMAC_Descriptor_GetYloopSrcIncrement(&descriptor);
  int32_t dstYincrement = Cy_AXIDMAC_Descriptor_GetYloopDstIncrement(&descriptor);
  uint32_t yCount = Cy_AXIDMAC_Descriptor_GetYloopDataCount(&descriptor);
  cy_stc_axidmac_descriptor_t* nextDescriptor_local = Cy_AXIDMAC_Descriptor_GetNextDescriptor(&descriptor);

## ◆ Cy_AXIDMAC_Descriptor_GetTriggerOutType()

__STATIC_INLINE cy_en_axidmac_trigger_type_t Cy_AXIDMAC_Descriptor_GetTriggerOutType | ( | cy_stc_axidmac_descriptor_t const * | descriptor | ) |

Returns the Trigger Out Type of the specified descriptor.

Parameters

  descriptor | The descriptor structure instance.

Returns
  The Trigger Out Type parameter cy_en_axidmac_trigger_type_t.

Function Usage
  /* Scenario: Get the value of individual descriptor parameters dynamically. The snippet shows them all. */
  /* This function assumes the 'descriptor' is initialized, see \ref Cy_AXIDMAC_Enable description */
  cy_en_axidmac_retrigger_t retrigger = Cy_AXIDMAC_Descriptor_GetRetrigger(&descriptor);
  cy_en_axidmac_trigger_type_t interruptType = Cy_AXIDMAC_Descriptor_GetInterruptType(&descriptor);
  cy_en_axidmac_trigger_type_t triggerOutType = Cy_AXIDMAC_Descriptor_GetTriggerOutType(&descriptor);
  cy_en_axidmac_channel_state_t channelState = Cy_AXIDMAC_Descriptor_GetChannelState(&descriptor);
  cy_en_axidmac_trigger_type_t triggerInType = Cy_AXIDMAC_Descriptor_GetTriggerInType(&descriptor);
  cy_en_axidmac_descriptor_type_t descriptorType = Cy_AXIDMAC_Descriptor_GetDescriptorType(&descriptor);
  void* srcAddress = Cy_AXIDMAC_Descriptor_GetSrcAddress(&descriptor);
  void* dstAddress = Cy_AXIDMAC_Descriptor_GetDstAddress(&descriptor);
  uint32_t mCount = Cy_AXIDMAC_Descriptor_GetMloopDataCount(&descriptor);
  int32_t srcXincrement = Cy_AXIDMAC_Descriptor_GetXloopSrcIncrement(&descriptor);
  int32_t dstXincrement = Cy_AXIDMAC_Descriptor_GetXloopDstIncrement(&descriptor);
  uint32_t xCount = Cy_AXIDMAC_Descriptor_GetXloopDataCount(&descriptor);
  int32_t srcYincrement = Cy_AXIDMAC_Descriptor_GetYloopSrcIncrement(&descriptor);
  int32_t dstYincrement = Cy_AXIDMAC_Descriptor_GetYloopDstIncrement(&descriptor);
  uint32_t yCount = Cy_AXIDMAC_Descriptor_GetYloopDataCount(&descriptor);
  cy_stc_axidmac_descriptor_t* nextDescriptor_local = Cy_AXIDMAC_Descriptor_GetNextDescriptor(&descriptor);

## ◆ Cy_AXIDMAC_Descriptor_GetRetrigger()

__STATIC_INLINE cy_en_axidmac_retrigger_t Cy_AXIDMAC_Descriptor_GetRetrigger | ( | cy_stc_axidmac_descriptor_t const * | descriptor | ) |

Returns a value which specifies whether the controller should wait for the input trigger to be deactivated.

Parameters

  descriptor | The descriptor structure instance.

Returns
  The Retrigger setting cy_en_axidmac_retrigger_t.

Function Usage
  /* Scenario: Get the value of individual descriptor parameters dynamically. The snippet shows them all. */
  /* This function assumes the 'descriptor' is initialized, see \ref Cy_AXIDMAC_Enable description */
  cy_en_axidmac_retrigger_t retrigger = Cy_AXIDMAC_Descriptor_GetRetrigger(&descriptor);
  cy_en_axidmac_trigger_type_t interruptType = Cy_AXIDMAC_Descriptor_GetInterruptType(&descriptor);
  cy_en_axidmac_trigger_type_t triggerOutType = Cy_AXIDMAC_Descriptor_GetTriggerOutType(&descriptor);
  cy_en_axidmac_channel_state_t channelState = Cy_AXIDMAC_Descriptor_GetChannelState(&descriptor);
  cy_en_axidmac_trigger_type_t triggerInType = Cy_AXIDMAC_Descriptor_GetTriggerInType(&descriptor);
  cy_en_axidmac_descriptor_type_t descriptorType = Cy_AXIDMAC_Descriptor_GetDescriptorType(&descriptor);
  void* srcAddress = Cy_AXIDMAC_Descriptor_GetSrcAddress(&descriptor);
  void* dstAddress = Cy_AXIDMAC_Descriptor_GetDstAddress(&descriptor);
  uint32_t mCount = Cy_AXIDMAC_Descriptor_GetMloopDataCount(&descriptor);
  int32_t srcXincrement = Cy_AXIDMAC_Descriptor_GetXloopSrcIncrement(&descriptor);
  int32_t dstXincrement = Cy_AXIDMAC_Descriptor_GetXloopDstIncrement(&descriptor);
  uint32_t xCount = Cy_AXIDMAC_Descriptor_GetXloopDataCount(&descriptor);
  int32_t srcYincrement = Cy_AXIDMAC_Descriptor_GetYloopSrcIncrement(&descriptor);
  int32_t dstYincrement = Cy_AXIDMAC_Descriptor_GetYloopDstIncrement(&descriptor);
  uint32_t yCount = Cy_AXIDMAC_Descriptor_GetYloopDataCount(&descriptor);
  cy_stc_axidmac_descriptor_t* nextDescriptor_local = Cy_AXIDMAC_Descriptor_GetNextDescriptor(&descriptor);

## ◆ Cy_AXIDMAC_Descriptor_GetChannelState()

__STATIC_INLINE cy_en_axidmac_channel_state_t Cy_AXIDMAC_Descriptor_GetChannelState | ( | cy_stc_axidmac_descriptor_t const * | descriptor | ) |

Returns the channel state on completion of the specified descriptor.

Parameters

  descriptor | The descriptor structure instance.

Returns
  The Channel State setting cy_en_axidmac_channel_state_t

Function Usage
  /* Scenario: Get the value of individual descriptor parameters dynamically. The snippet shows them all. */
  /* This function assumes the 'descriptor' is initialized, see \ref Cy_AXIDMAC_Enable description */
  cy_en_axidmac_retrigger_t retrigger = Cy_AXIDMAC_Descriptor_GetRetrigger(&descriptor);
  cy_en_axidmac_trigger_type_t interruptType = Cy_AXIDMAC_Descriptor_GetInterruptType(&descriptor);
  cy_en_axidmac_trigger_type_t triggerOutType = Cy_AXIDMAC_Descriptor_GetTriggerOutType(&descriptor);
  cy_en_axidmac_channel_state_t channelState = Cy_AXIDMAC_Descriptor_GetChannelState(&descriptor);
  cy_en_axidmac_trigger_type_t triggerInType = Cy_AXIDMAC_Descriptor_GetTriggerInType(&descriptor);
  cy_en_axidmac_descriptor_type_t descriptorType = Cy_AXIDMAC_Descriptor_GetDescriptorType(&descriptor);
  void* srcAddress = Cy_AXIDMAC_Descriptor_GetSrcAddress(&descriptor);
  void* dstAddress = Cy_AXIDMAC_Descriptor_GetDstAddress(&descriptor);
  uint32_t mCount = Cy_AXIDMAC_Descriptor_GetMloopDataCount(&descriptor);
  int32_t srcXincrement = Cy_AXIDMAC_Descriptor_GetXloopSrcIncrement(&descriptor);
  int32_t dstXincrement = Cy_AXIDMAC_Descriptor_GetXloopDstIncrement(&descriptor);
  uint32_t xCount = Cy_AXIDMAC_Descriptor_GetXloopDataCount(&descriptor);
  int32_t srcYincrement = Cy_AXIDMAC_Descriptor_GetYloopSrcIncrement(&descriptor);
  int32_t dstYincrement = Cy_AXIDMAC_Descriptor_GetYloopDstIncrement(&descriptor);
  uint32_t yCount = Cy_AXIDMAC_Descriptor_GetYloopDataCount(&descriptor);
  cy_stc_axidmac_descriptor_t* nextDescriptor_local = Cy_AXIDMAC_Descriptor_GetNextDescriptor(&descriptor);