PSOC E8XXGP Device Support Library

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_tCy_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
descriptorThe descriptor structure instance.
configThis 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 =
{
.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 */
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);
}
__STATIC_INLINE void Cy_AXIDMAC_Enable(AXI_DMAC_Type *base)
Enables the AXIDMAC block.
Definition: cy_axidmac.h:690
__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:1572
__STATIC_INLINE void Cy_AXIDMAC_Channel_Enable(AXI_DMAC_Type *base, uint32_t channel)
Enables a AXIDMAC channel.
Definition: cy_axidmac.h:1521
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
__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:1497
cy_en_axidmac_retrigger_t retrigger
Specifies whether the AXIDMA controller should wait for the input trigger to be deactivated.
Definition: cy_axidmac.h:335
cy_stc_axidmac_descriptor_t * descriptor
The AXIDMAC descriptor associated with the channel being initialized.
Definition: cy_axidmac.h:362
bool bufferable
This parameter specifies whether a write transaction can complete.
Definition: cy_axidmac.h:365
bool enable
This parameter specifies if the channel is enabled after initializing.
Definition: cy_axidmac.h:364
This structure holds the initialization values for the AXIDMAC channel.
Definition: cy_axidmac.h:361
This structure is a configuration structure pre-initialized by user and passed as a parameter to the ...
Definition: cy_axidmac.h:334
AXIDMAC descriptor structure type.
Definition: cy_axidmac.h:286
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
One descriptor transfer.
Definition: cy_axidmac.h:203
@ CY_AXIDMAC_SUCCESS
Success.
Definition: cy_axidmac.h:227
@ CY_AXIDMAC_RETRIG_IM
Retrigger immediately.
Definition: cy_axidmac.h:210
@ CY_AXIDMAC_CHANNEL_ENABLED
Channel stays enabled.
Definition: cy_axidmac.h:220
@ CY_AXIDMAC_2D_MEMORY_COPY
2D Memory copy
Definition: cy_axidmac.h:194

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
descriptorThe 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 */
{
}
__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:1812
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
descriptorThe descriptor structure instance.
nextDescriptorThe 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_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);
}
__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:1282
__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:1014
__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:1181
__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:1385
__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:832
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
__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:876
__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:1134
__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:1436
__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:1231
__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:1333
__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:967
__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:1063
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
__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:920
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
descriptorThe descriptor structure instance.
descriptorTypeThe 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_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
descriptorThe descriptor structure instance.
srcAddressThe 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_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
descriptorThe descriptor structure instance.
dstAddressThe 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_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
descriptorThe descriptor structure instance.
mCountThe 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_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
descriptorThe descriptor structure instance.
xCountThe 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_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
descriptorThe descriptor structure instance.
yCountThe 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_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
descriptorThe descriptor structure instance.
srcXincrementThe 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_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
descriptorThe descriptor structure instance.
dstXincrementThe 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_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
descriptorThe descriptor structure instance.
srcYincrementThe 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_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
descriptorThe descriptor structure instance.
dstYincrementThe 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_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
descriptorThe descriptor structure instance.
interruptTypeThe 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_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
descriptorThe descriptor structure instance.
triggerInTypeThe 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_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
descriptorThe descriptor structure instance.
triggerOutTypeThe 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_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
descriptorThe descriptor structure instance.
retriggerThe 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_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
descriptorThe descriptor structure instance.
channelStateThe 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_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
descriptorThe 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 */
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);
__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:1462
__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:1206
__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:991
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
__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:1410
__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:1088
__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:944
__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:854
__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:1038
__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:1256
__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:1308
__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:1158
__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:1111
__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:898
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
__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:1359
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:200
cy_en_axidmac_retrigger_t
Contains the options for descriptor retriggering.
Definition: cy_axidmac.h:209
cy_en_axidmac_channel_state_t
Contains the options for the state of the channel when the descriptor is completed
Definition: cy_axidmac.h:219
cy_en_axidmac_descriptor_type_t
Contains the options for the descriptor type.
Definition: cy_axidmac.h:192

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
descriptorThe 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 */
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_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
descriptorThe 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 */
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_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
descriptorThe 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 */
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_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
descriptorThe 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 */
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_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
descriptorThe 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 */
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_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
descriptorThe 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 */
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_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
descriptorThe 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 */
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_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
descriptorThe 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 */
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_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
descriptorThe 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 */
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_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
descriptorThe 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 */
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_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
descriptorThe 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 */
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_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
descriptorThe 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 */
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_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
descriptorThe 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 */
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_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
descriptorThe 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 */
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_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
descriptorThe 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 */
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);