modm API documentation
modm::platform::BdmaBase Class Reference

#include <modm/platform/dma/bdma_base.hpp>

Inheritance diagram for modm::platform::BdmaBase:
modm::platform::Bdma modm::platform::Bdma::Channel< Id > modm::platform::BdmaChannelHal< base_addr >

Public Typedefs

using IrqHandler = void (*)(void)
 

Public Types

enum  Channel {
  Channel0 = 0, Channel1, Channel2, Channel3,
  Channel4, Channel5, Channel6, Channel7
}
 
enum  Request {
  None = 0, Request1, Request2, Request3,
  Request4, Request5, Request6, Request7,
  Request8, Request9, Request10, Request11,
  Request12, Request13, Request14, Request15,
  Request16, Request17
}
 
enum  Priority : uint32_t { Low = 0, Medium = BDMA_CCR_PL_0, High = BDMA_CCR_PL_1, VeryHigh = BDMA_CCR_PL_1 | BDMA_CCR_PL_0 }
 
enum  MemoryDataSize : uint32_t {
  Byte = 0, Bit8 = Byte, HalfWord = BDMA_CCR_MSIZE_0, Bit16 = HalfWord,
  Word = BDMA_CCR_MSIZE_1, Bit32 = Word
}
 
enum  PeripheralDataSize : uint32_t {
  Byte = 0, Bit8 = Byte, HalfWord = BDMA_CCR_PSIZE_0, Bit16 = HalfWord,
  Word = BDMA_CCR_PSIZE_1, Bit32 = Word
}
 
enum  MemoryIncrementMode : uint32_t { Fixed = 0, MemoryIncrementMode::Increment = BDMA_CCR_MINC }
 
enum  PeripheralIncrementMode : uint32_t { Fixed = 0, PeripheralIncrementMode::Increment = BDMA_CCR_PINC }
 
enum  CircularMode : uint32_t { Disabled = 0, CircularMode::Enabled = BDMA_CCR_CIRC }
 
enum  DataTransferDirection : uint32_t { DataTransferDirection::PeripheralToMemory = 0, DataTransferDirection::MemoryToPeripheral = BDMA_CCR_DIR, DataTransferDirection::MemoryToMemory = BDMA_CCR_MEM2MEM }
 
enum  Signal : uint8_t {
  NoSignal, A, B, Generator0,
  Generator1, Generator2, Generator3, Generator4,
  Generator5, Generator6, Generator7, Rx,
  Tx
}
 
enum  InterruptEnable : uint32_t { TransferComplete = BDMA_CCR_TCIE, HalfTransfer = BDMA_CCR_HTIE, TransferError = BDMA_CCR_TEIE }
 
enum  InterruptFlags : uint8_t {
  Global = 0b0001, TransferComplete = 0b0010, HalfTransferComplete = 0b0100, Error = 0b1000,
  All = 0b1111
}
 

Public Member Functions

 MODM_FLAGS32 (InterruptEnable)
 
 MODM_FLAGS32 (InterruptFlags)
 

Detailed Description

Common BDMA definitions

Member Enumeration Documentation

Enum ValuesDocumentation
Enabled 

circular mode

Enum ValuesDocumentation
PeripheralToMemory 

Source: DMA_CPARx; Sink: DMA_CMARx.

MemoryToPeripheral 

Source: DMA_CMARx; Sink: DMA_CPARx.

MemoryToMemory 

Source: DMA_CPARx; Sink: DMA_CMARx.

Enum ValuesDocumentation
Increment 

incremented according to MemoryDataSize

Enum ValuesDocumentation
Increment 

incremented according to PeripheralDataSize

enum modm::platform::BdmaBase::Signal : uint8_t
strong

Peripheral signals that can be used in DMA channels


The documentation for this class was generated from the following file: