/* * dma_helper.h * * Created on: Sep 18, 2019 * Author: abody */ #ifndef DMA_HELPER_H_ #define DMA_HELPER_H_ #include #include #ifndef DECLARE_MOCKPTR #define DECLARE_MOCKPTR(...) #endif #ifndef MOCKABLE #define MOCKABLE(x) x #endif #ifdef __cplusplus extern "C" { #endif struct dmainfo_t { DMA_TypeDef *dma; uint32_t stream; volatile uint32_t *isReg; volatile uint32_t *ifcReg; uint32_t feMask; uint32_t dmeMask; uint32_t teMask; uint32_t htMask; uint32_t tcMask; }; #ifdef UNITTEST DECLARE_MOCKPTR(volatile uint32_t*, Dma_GetIsReg, DMA_TypeDef*, uint32_t) DECLARE_MOCKPTR(volatile uint32_t*, Dma_GetIfcReg, DMA_TypeDef*, uint32_t) DECLARE_MOCKPTR(uint32_t, Dma_GetDmeMask, uint32_t) DECLARE_MOCKPTR(uint32_t, Dma_GetTeMask, uint32_t) DECLARE_MOCKPTR(uint32_t, Dma_GetHtMask, uint32_t) DECLARE_MOCKPTR(uint32_t, Dma_GetTcMask, uint32_t) DECLARE_MOCKPTR(uint32_t, Dma_GetFeMask, uint32_t) DECLARE_MOCKPTR(void, Dma_Init, struct dmainfo_t*, DMA_TypeDef*, uint32_t) #endif // UNITTEST volatile uint32_t* MOCKABLE(Dma_GetIsReg)(DMA_TypeDef *dma, uint32_t stream); volatile uint32_t* MOCKABLE(Dma_GetIfcReg)(DMA_TypeDef *dma, uint32_t stream); uint32_t MOCKABLE(Dma_GetDmeMask)(uint32_t stream); uint32_t MOCKABLE(Dma_GetTeMask)(uint32_t stream); uint32_t MOCKABLE(Dma_GetHtMask)(uint32_t stream); uint32_t MOCKABLE(Dma_GetTcMask)(uint32_t stream); uint32_t MOCKABLE(Dma_GetFeMask)(uint32_t stream); void MOCKABLE(Dma_Init)(struct dmainfo_t *info, DMA_TypeDef *dma, uint32_t stream); #ifdef __cplusplus } #endif #endif /* DMA_HELPER_H_ */