theCore C++ embedded framework
stm32f4xx_dma_wrap.hpp File Reference

STM32F4XX DMA wrappers implementation. More...

#include <stm32f4xx_dma.h>
#include <stm32f4xx_rcc.h>
#include <functional>
#include <type_traits>
#include "stm32_dma_wrap_interface.hpp"
Include dependency graph for stm32f4xx_dma_wrap.hpp:
This graph shows which files directly or indirectly include this file:

Data Structures

struct  ecl::dma_wrap< Stream, Channel >
 DMA wrapper for STM32F4XX. More...
 

Namespaces

 ecl
 

Enumerations

enum  ecl::dma_stream {
  ecl::dma_stream::dma1_0 = 0x100, ecl::dma_stream::dma1_1 = 0x101, ecl::dma_stream::dma1_2 = 0x102, ecl::dma_stream::dma1_3 = 0x103,
  ecl::dma_stream::dma1_4 = 0x104, ecl::dma_stream::dma1_5 = 0x105, ecl::dma_stream::dma1_6 = 0x106, ecl::dma_stream::dma1_7 = 0x107,
  ecl::dma_stream::dma2_0 = 0x200, ecl::dma_stream::dma2_1 = 0x201, ecl::dma_stream::dma2_2 = 0x202, ecl::dma_stream::dma2_3 = 0x203,
  ecl::dma_stream::dma2_4 = 0x204, ecl::dma_stream::dma2_5 = 0x205, ecl::dma_stream::dma2_6 = 0x206, ecl::dma_stream::dma2_7 = 0x207
}
 DMA streams present, according to the RM. More...
 
enum  ecl::dma_channel {
  ecl::dma_channel::ch0 = DMA_Channel_0, ecl::dma_channel::ch1 = DMA_Channel_1, ecl::dma_channel::ch2 = DMA_Channel_2, ecl::dma_channel::ch3 = DMA_Channel_3,
  ecl::dma_channel::ch4 = DMA_Channel_4, ecl::dma_channel::ch5 = DMA_Channel_5, ecl::dma_channel::ch6 = DMA_Channel_6, ecl::dma_channel::ch7 = DMA_Channel_7,
  ecl::dma_channel::dma1_1 = 0x101, ecl::dma_channel::dma1_2 = 0x102, ecl::dma_channel::dma1_3 = 0x103, ecl::dma_channel::dma1_4 = 0x104,
  ecl::dma_channel::dma1_5 = 0x105, ecl::dma_channel::dma1_6 = 0x106, ecl::dma_channel::dma1_7 = 0x107, ecl::dma_channel::dma2_1 = 0x201,
  ecl::dma_channel::dma2_2 = 0x202, ecl::dma_channel::dma2_3 = 0x203, ecl::dma_channel::dma2_4 = 0x204, ecl::dma_channel::dma2_5 = 0x205
}
 

Detailed Description

STM32F4XX DMA wrappers implementation.

Todo:
Document how to properly use DMA