PSoC 6 Peripheral Driver Library
cy_stc_dmac_descriptor_config_t Struct Reference

Description

This structure is a configuration structure pre-initialized by user and passed as a parameter to the Cy_DMAC_Descriptor_Init().

It can be allocated in RAM/flash (on user's choice). In case of flash allocation there is a possibility to reinitialize the descriptor in runtime. This structure has all the parameters of the descriptor as separate parameters. Most of these parameters are represented in the cy_stc_dmac_descriptor_t structure as bit fields.

Data Fields

cy_en_dmac_retrigger_t retrigger
 Specifies whether the DMA controller should wait for the input trigger to be deactivated. More...
 
cy_en_dmac_trigger_type_t interruptType
 Sets the event that triggers an interrupt. More...
 
cy_en_dmac_trigger_type_t triggerOutType
 Sets the event that triggers an output. More...
 
cy_en_dmac_channel_state_t channelState
 Specifies whether the channel is enabled or disabled on completion of descriptor see cy_en_dmac_channel_state_t. More...
 
cy_en_dmac_trigger_type_t triggerInType
 Sets what type of transfer is triggered. More...
 
bool dataPrefetch
 Source data transfers are initiated as soon as the channel is enabled, the current descriptor pointer is NOT "0" and there is space available in the channel's data FIFO.
 
cy_en_dmac_data_size_t dataSize
 The size of the data bus for transfer. More...
 
cy_en_dmac_transfer_size_t srcTransferSize
 The source transfer size. More...
 
cy_en_dmac_transfer_size_t dstTransferSize
 The destination transfer size. More...
 
cy_en_dmac_descriptor_type_t descriptorType
 The type of the descriptor. More...
 
void * srcAddress
 The source address of the transfer. More...
 
void * dstAddress
 The destination address of the transfer. More...
 
int32_t srcXincrement
 The address increment of the source after each X-loop transfer. More...
 
int32_t dstXincrement
 The address increment of the destination after each X-loop transfer. More...
 
uint32_t xCount
 The number of transfers in an X-loop. More...
 
int32_t srcYincrement
 The address increment of the source after each Y-loop transfer. More...
 
int32_t dstYincrement
 The address increment of the destination after each Y-loop transfer. More...
 
uint32_t yCount
 The number of X-loops in the Y-loop. More...
 
cy_stc_dmac_descriptor_tnextDescriptor
 The next descriptor to chain after completion. More...
 

Field Documentation

◆ retrigger

cy_en_dmac_retrigger_t cy_stc_dmac_descriptor_config_t::retrigger

Specifies whether the DMA controller should wait for the input trigger to be deactivated.

◆ interruptType

cy_en_dmac_trigger_type_t cy_stc_dmac_descriptor_config_t::interruptType

Sets the event that triggers an interrupt.

See cy_en_dmac_trigger_type_t.

◆ triggerOutType

cy_en_dmac_trigger_type_t cy_stc_dmac_descriptor_config_t::triggerOutType

Sets the event that triggers an output.

See cy_en_dmac_trigger_type_t.

◆ channelState

cy_en_dmac_channel_state_t cy_stc_dmac_descriptor_config_t::channelState

Specifies whether the channel is enabled or disabled on completion of descriptor see cy_en_dmac_channel_state_t.

◆ triggerInType

cy_en_dmac_trigger_type_t cy_stc_dmac_descriptor_config_t::triggerInType

Sets what type of transfer is triggered.

See cy_en_dmac_trigger_type_t.

◆ dataSize

cy_en_dmac_data_size_t cy_stc_dmac_descriptor_config_t::dataSize

The size of the data bus for transfer.

See cy_en_dmac_data_size_t. For memory copy and scatter descriptors this setting will be ignored.

◆ srcTransferSize

cy_en_dmac_transfer_size_t cy_stc_dmac_descriptor_config_t::srcTransferSize

The source transfer size.

For memory copy and scatter descriptors this setting will be ignored.

◆ dstTransferSize

cy_en_dmac_transfer_size_t cy_stc_dmac_descriptor_config_t::dstTransferSize

The destination transfer size.

For memory copy and scatter descriptors this setting will be ignored.

◆ descriptorType

cy_en_dmac_descriptor_type_t cy_stc_dmac_descriptor_config_t::descriptorType

The type of the descriptor.

See cy_en_dmac_descriptor_type_t.

◆ srcAddress

void* cy_stc_dmac_descriptor_config_t::srcAddress

The source address of the transfer.

◆ dstAddress

void* cy_stc_dmac_descriptor_config_t::dstAddress

The destination address of the transfer.

◆ srcXincrement

int32_t cy_stc_dmac_descriptor_config_t::srcXincrement

The address increment of the source after each X-loop transfer.

Valid range is -32768...32767.

◆ dstXincrement

int32_t cy_stc_dmac_descriptor_config_t::dstXincrement

The address increment of the destination after each X-loop transfer.

Valid range is -32768...32767.

◆ xCount

uint32_t cy_stc_dmac_descriptor_config_t::xCount

The number of transfers in an X-loop.

Valid range (for all descriptors except scatter transfer) is 1...65536. For memory copy descriptors, the X count is a nubmer of bytes (not a data transfer size). For scatter descriptors, the X count is a nubmer of [address, data] pairs (two words each). Valid range is 1...32768.

◆ srcYincrement

int32_t cy_stc_dmac_descriptor_config_t::srcYincrement

The address increment of the source after each Y-loop transfer.

Valid range is -32768...32767.

◆ dstYincrement

int32_t cy_stc_dmac_descriptor_config_t::dstYincrement

The address increment of the destination after each Y-loop transfer.

Valid range is -32768...32767.

◆ yCount

uint32_t cy_stc_dmac_descriptor_config_t::yCount

The number of X-loops in the Y-loop.

Valid range is 1...65536.

◆ nextDescriptor

cy_stc_dmac_descriptor_t* cy_stc_dmac_descriptor_config_t::nextDescriptor

The next descriptor to chain after completion.

A NULL value will signify no chaining.