Module dma_controller

Source
Expand description

§Abstractions to setup and use the DMA controller

§Initializing

The DMAC should be initialized using the DmaController::init method. It will consume the DMAC object generated by the PAC. By default, all four priority levels will be enabled, but can be selectively enabled/disabled through the DmaController::enable_levels ansd DmaController::disable_levels methods.

§Splitting Channels

Using the DmaController::split method will return a struct containing handles to individual channels.

§Releasing the DMAC

Using the free method will deinitialize the DMAC and return the underlying PAC object.

Structs§

Channels
Struct generating individual handles to each DMA channel
DmaController
Initialized DMA Controller
FutureChannels
Struct generating individual handles to each DMA channel for async operation
PriorityLevelMask
Mask representing which priority levels should be enabled/disabled
RoundRobinMask
Mask representing which priority levels should be configured as round-robin

Enums§

BurstLength
Burst Length
Ch0
Type alias for a channel number
Ch1
Type alias for a channel number
Ch2
Type alias for a channel number
Ch3
Type alias for a channel number
Ch4
Type alias for a channel number
Ch5
Type alias for a channel number
Ch6
Type alias for a channel number
Ch7
Type alias for a channel number
Ch8
Type alias for a channel number
Ch9
Type alias for a channel number
Ch10
Type alias for a channel number
Ch11
Type alias for a channel number
Ch12
Type alias for a channel number
Ch13
Type alias for a channel number
Ch14
Type alias for a channel number
Ch15
Type alias for a channel number
FifoThreshold
FIFO Threshold
PriorityLevel
Channel Priority Level
TriggerAction
Trigger Action
TriggerSource
Trigger Source

Traits§

ChId
Trait representing a DMA channel ID