1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
35
36
37
44
45
46
53
54
55
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
88
89
90
97
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
128
129
130
/* ... */
#ifndef STM32F4DMA_HPP
#define STM32F4DMA_HPP
#include <touchgfx/hal/DMA.hpp>
#ifndef NO_USING_NAMESPACE_TOUCHGFX
using namespace touchgfx;
#endif
/* ... */
class STM32F4DMA : public touchgfx::DMA_Interface
{
/* ... */
typedef touchgfx::DMA_Interface Base;
public:
/* ... */
STM32F4DMA();
/* ... */
virtual ~STM32F4DMA();
/* ... */
virtual touchgfx::BlitOperations getBlitCaps();
/* ... */
virtual void initialize();
/* ... */
virtual void signalDMAInterrupt()
{
executeCompleted();
}{ ... }
public:protected:
/* ... */
virtual void setupDataCopy(const touchgfx::BlitOp& blitOp);
/* ... */
virtual void setupDataFill(const touchgfx::BlitOp& blitOp);
protected:
private:
touchgfx::LockFreeDMA_Queue dma_queue;
touchgfx::BlitOp queue_storage[96];private:
...};
/* ... */
#endif