4#include DEF2STR(LIBXR_CH32_CONFIG_FILE)
6typedef void (*ch32_dma_callback_t)(
void*);
13#if defined(DMA1_Channel1)
16#if defined(DMA1_Channel2)
19#if defined(DMA1_Channel3)
22#if defined(DMA1_Channel4)
25#if defined(DMA1_Channel5)
28#if defined(DMA1_Channel6)
31#if defined(DMA1_Channel7)
34#if defined(DMA1_Channel8)
37#if defined(DMA2_Channel1)
40#if defined(DMA2_Channel2)
43#if defined(DMA2_Channel3)
46#if defined(DMA2_Channel4)
49#if defined(DMA2_Channel5)
52#if defined(DMA2_Channel6)
55#if defined(DMA2_Channel7)
58#if defined(DMA2_Channel8)
61#if defined(DMA2_Channel9)
64#if defined(DMA2_Channel10)
67#if defined(DMA2_Channel11)
71 CH32_DMA_CHANNEL_NUMBER,
75static constexpr IRQn_Type CH32_DMA_IRQ_MAP[] = {
76#if defined(DMA1_Channel1)
79#if defined(DMA1_Channel2)
82#if defined(DMA1_Channel3)
85#if defined(DMA1_Channel4)
88#if defined(DMA1_Channel5)
91#if defined(DMA1_Channel6)
94#if defined(DMA1_Channel7)
97#if defined(DMA1_Channel8)
100#if defined(DMA2_Channel1)
103#if defined(DMA2_Channel2)
106#if defined(DMA2_Channel3)
109#if defined(DMA2_Channel4)
112#if defined(DMA2_Channel5)
115#if defined(DMA2_Channel6)
118#if defined(DMA2_Channel7)
121#if defined(DMA2_Channel8)
124#if defined(DMA2_Channel9)
127#if defined(DMA2_Channel10)
130#if defined(DMA2_Channel11)
135ch32_dma_channel_t ch32_dma_get_id(DMA_Channel_TypeDef* channel);
137DMA_Channel_TypeDef* ch32_dma_get_channel(ch32_dma_channel_t
id);
142void ch32_dma_register_callback(ch32_dma_channel_t
id, ch32_dma_callback_t callback,