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
 - Future
Channels  - Struct generating individual handles to each DMA channel for 
asyncoperation - Priority
Level Mask  - Mask representing which priority levels should be enabled/disabled
 - Round
Robin Mask  - Mask representing which priority levels should be configured as round-robin
 
Enums§
- Burst
Length  - 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
 - Fifo
Threshold  - FIFO Threshold
 - Priority
Level  - Channel Priority Level
 - Trigger
Action  - Trigger Action
 - Trigger
Source  - Trigger Source
 
Traits§
- ChId
 - Trait representing a DMA channel ID