/* * dma_helper.h * * Created on: Sep 18, 2019 * Author: abody */ #ifndef DMA_HELPER_H_ #define DMA_HELPER_H_ #include #include #ifndef DECLARE_MOCK #define DECLARE_MOCK(x) #endif namespace f4ll_cpp { class DmaHelper { public: DmaHelper(DMA_TypeDef *dma, uint32_t stream); DMA_TypeDef* GetDma() { return m_dma; } uint32_t GetStream() { return m_stream; } volatile uint32_t* GetIsReg() { return m_isReg; } volatile uint32_t* GetIfcReg() { return m_ifcReg; } uint32_t GetDmeMask() { return m_dmeMask; } uint32_t GetTeMask() { return m_teMask; } uint32_t GetHtMask() { return m_htMask; } uint32_t GetTcMask() { return m_tcMask; } uint32_t GetFeMask() { return m_feMask; } private: static volatile uint32_t* _GetIsReg(DMA_TypeDef *dma, uint32_t stream); static volatile uint32_t* _GetIfcReg(DMA_TypeDef *dma, uint32_t stream); static uint32_t _GetDmeMask(uint32_t stream); static uint32_t _GetTeMask(uint32_t stream); static uint32_t _GetHtMask(uint32_t stream); static uint32_t _GetTcMask(uint32_t stream); static uint32_t _GetFeMask(uint32_t stream); private: DMA_TypeDef *m_dma; uint32_t m_stream; volatile uint32_t *m_isReg; volatile uint32_t *m_ifcReg; uint32_t m_feMask; uint32_t m_dmeMask; uint32_t m_teMask; uint32_t m_htMask; uint32_t m_tcMask; }; } // f4ll_cpp #endif /* DMA_HELPER_H_ */