81 lines
2.2 KiB
C
81 lines
2.2 KiB
C
/*
|
|
* dma_helper.h
|
|
*
|
|
* Created on: Sep 18, 2019
|
|
* Author: abody
|
|
*/
|
|
|
|
#ifndef DMA_HELPER_H_
|
|
#define DMA_HELPER_H_
|
|
#include <inttypes.h>
|
|
#include <platform/dma_ll.h>
|
|
|
|
#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;
|
|
};
|
|
|
|
//>>>>>>>>>> MOCK <<<<<<<<<<
|
|
#ifdef UNITTEST
|
|
MOCKME_PREP(volatile uint32_t*, Dma_GetIsReg, DMA_TypeDef*, uint32_t)
|
|
MOCKME_PREP(volatile uint32_t*, Dma_GetIfcReg, DMA_TypeDef*, uint32_t)
|
|
MOCKME_PREP(uint32_t, Dma_GetDmeMask, uint32_t)
|
|
MOCKME_PREP(uint32_t, Dma_GetTeMask, uint32_t)
|
|
MOCKME_PREP(uint32_t, Dma_GetHtMask, uint32_t)
|
|
MOCKME_PREP(uint32_t, Dma_GetTcMask, uint32_t)
|
|
MOCKME_PREP(uint32_t, Dma_GetFeMask, uint32_t)
|
|
MOCKME_PREP(void, Dma_Init, struct dmainfo_t*, DMA_TypeDef*, uint32_t)
|
|
|
|
#define Dma_GetIsReg(...) Dma_GetIsReg_(__VA_ARGS__)
|
|
#define Dma_GetIfcReg(...) Dma_GetIfcReg_(__VA_ARGS__)
|
|
#define Dma_GetDmeMask(...) Dma_GetDmeMask_(__VA_ARGS__)
|
|
#define Dma_GetTeMask(...) Dma_GetTeMask_(__VA_ARGS__)
|
|
#define Dma_GetHtMask(...) Dma_GetHtMask_(__VA_ARGS__)
|
|
#define Dma_GetTcMask(...) Dma_GetTcMask_(__VA_ARGS__)
|
|
#define Dma_GetFeMask(...) Dma_GetFeMask_(__VA_ARGS__)
|
|
#define Dma_Init(...) Dma_Init_(__VA_ARGS__)
|
|
//#define (...) _(__VA_ARGS__)
|
|
#endif // UNITTEST
|
|
//>>>>>>>>>> MOCK end <<<<<<<<<<
|
|
|
|
//>>>>>> Real Stuff (tm) <<<<<<<<
|
|
|
|
volatile uint32_t* Dma_GetIsReg(DMA_TypeDef *dma, uint32_t stream);
|
|
volatile uint32_t* Dma_GetIfcReg(DMA_TypeDef *dma, uint32_t stream);
|
|
uint32_t Dma_GetDmeMask(uint32_t stream);
|
|
uint32_t Dma_GetTeMask(uint32_t stream);
|
|
uint32_t Dma_GetHtMask(uint32_t stream);
|
|
uint32_t Dma_GetTcMask(uint32_t stream);
|
|
uint32_t Dma_GetFeMask(uint32_t stream);
|
|
void Dma_Init(struct dmainfo_t *info, DMA_TypeDef *dma, uint32_t stream);
|
|
|
|
//>>>>>> Real Stuff (tm) end <<<<<<<<
|
|
|
|
//>>>>>>>>>> MOCK <<<<<<<<<<
|
|
#ifdef UNITTEST
|
|
#undef Dma_GetIsReg
|
|
#undef Dma_GetIfcReg
|
|
#undef Dma_GetDmeMask
|
|
#undef Dma_GetHtMask
|
|
#undef Dma_GetTcMask
|
|
#undef Dma_GetFeMask
|
|
#undef Dma_Init
|
|
#endif // UNITTEST
|
|
//>>>>>>>>>> MOCK end <<<<<<<<<<
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* DMA_HELPER_H_ */
|