| 
| enum   | Channel {  
  Channel1 = 0, 
Channel2, 
Channel3, 
Channel4, 
 
  Channel5
 
 } | 
|   | 
| enum   | CircularMode : uint32_t { Disabled = 0, 
CircularMode::Enabled = DMA_CCR_CIRC
 } | 
|   | 
| enum   | DataTransferDirection : uint32_t { DataTransferDirection::PeripheralToMemory = 0, 
DataTransferDirection::MemoryToPeripheral = DMA_CCR_DIR, 
DataTransferDirection::MemoryToMemory = DMA_CCR_MEM2MEM
 } | 
|   | 
| enum   | InterruptEnable : uint32_t { TransferComplete = DMA_CCR_TCIE, 
HalfTransfer = DMA_CCR_HTIE, 
TransferError = DMA_CCR_TEIE
 } | 
|   | 
| enum   | InterruptFlags : uint8_t {  
  Global = 0b0001, 
TransferComplete = 0b0010, 
HalfTransferComplete = 0b0100, 
Error = 0b1000, 
 
  All = 0b1111
 
 } | 
|   | 
| enum   | MemoryDataSize : uint32_t {  
  Byte = 0, 
Bit8 = Byte, 
HalfWord = DMA_CCR_MSIZE_0, 
Bit16 = HalfWord, 
 
  Word = DMA_CCR_MSIZE_1, 
Bit32 = Word
 
 } | 
|   | 
| enum   | MemoryIncrementMode : uint32_t { Fixed = 0, 
MemoryIncrementMode::Increment = DMA_CCR_MINC
 } | 
|   | 
| enum   | PeripheralDataSize : uint32_t {  
  Byte = 0, 
Bit8 = Byte, 
HalfWord = DMA_CCR_PSIZE_0, 
Bit16 = HalfWord, 
 
  Word = DMA_CCR_PSIZE_1, 
Bit32 = Word
 
 } | 
|   | 
| enum   | PeripheralIncrementMode : uint32_t { Fixed = 0, 
PeripheralIncrementMode::Increment = DMA_CCR_PINC
 } | 
|   | 
| enum   | Priority : uint32_t { Low = 0, 
Medium = DMA_CCR_PL_0, 
High = DMA_CCR_PL_1, 
VeryHigh = DMA_CCR_PL_1 | DMA_CCR_PL_0
 } | 
|   | 
| enum   | Request { Any
 } | 
|   | 
| enum   | Signal : uint8_t {  
  NoSignal, 
Ch1, 
Ch2, 
Ch3, 
 
  Ch4, 
Com, 
Rx, 
Trig, 
 
  Tx, 
Up
 
 } | 
|   | 
template<DmaBase::Channel ChannelID, uint32_t CHANNEL_BASE>
class modm::platform::DmaChannelHal< ChannelID, CHANNEL_BASE >
Hardware abstraction layer of a DMA channel
- Template Parameters
 - 
  
    | ChannelID | the ID of the channel  | 
    | CHANNEL_BASE | base address of the channel registers | 
  
   
- Author
 - Mike Wolfram 
 
 
template<DmaBase::Channel ChannelID, uint32_t CHANNEL_BASE> 
  
  
      
        
          | static void modm::platform::DmaChannelHal< ChannelID, CHANNEL_BASE >::setMemoryIncrementMode  | 
          ( | 
          bool  | 
          increment | ) | 
           | 
         
       
   | 
  
inlinestatic   | 
  
 
Enable/disable memory increment
When enabled, the memory address is incremented by the size of the data (e.g. 1 for byte transfers, 4 for word transfers) after the transfer completed.
- Parameters
 - 
  
    | [in] | increment | Enable/disable  | 
  
   
 
 
template<DmaBase::Channel ChannelID, uint32_t CHANNEL_BASE> 
  
  
      
        
          | static void modm::platform::DmaChannelHal< ChannelID, CHANNEL_BASE >::setPeripheralIncrementMode  | 
          ( | 
          bool  | 
          increment | ) | 
           | 
         
       
   | 
  
inlinestatic   | 
  
 
Enable/disable peripheral increment
When enabled, the peripheral address is incremented by the size of the data (e.g. 1 for byte transfers, 4 for word transfers) after the transfer completed.
- Parameters
 - 
  
    | [in] | increment | Enable/disable  |