sidestep
[mTask.git] / int / com / pj / cube-hal-dma.awk
1 /hdma.*Instance/ {
2 b=$3;
3 a=$1;
4 sub("hdma_","",a);
5 sub(".Instance","",a);
6 a=toupper(a);
7 sub("UART","USART",a);
8 sub(";","",b);
9 sub(" ","",b);
10 printf("#define DMA_IRQ_%s %s_IRQHandler\n",a,b);
11 split(b,c,"_");
12 d1 = substr(c[1], 1, length(c[1])-1);
13 n1 = substr(c[1], length(c[1]), 1);
14 d2 = substr(c[2], 1, length(c[2])-1);
15 n2 = substr(c[2], length(c[2]), 1);
16 if (d2 = "Stream") {
17 printf("#ifdef DMAv2\n");
18 if (n2 <= 3) {
19 printf("#define TCIF_%s ((DMA%s->LISR & DMA_LISR_TCIF%d)!=0)\n",a,n1,n2);
20 printf("#define CTCIF_%s (DMA%s->LIFCR |= DMA_LIFCR_CTCIF%d)\n",a,n1,n2);
21 } else {
22 printf("#define TCIF_%s ((DMA%s->HISR & DMA_HISR_TCIF%d)!=0)\n",a,n1,n2);
23 printf("#define CTCIF_%s (DMA%s->HIFCR |= DMA_HIFCR_CTCIF%d)\n",a,n1,n2);
24 }
25 printf("#endif\n");
26 printf("#ifdef DMAv1\n");
27 printf("#define TCIF_%s ((DMA%s->ISR & DMA_ISR_TCIF%d)!=0)\n",a,n1,n2);
28 printf("#define CTCIF_%s (DMA%s->IFCR |= DMA_IFCR_CTCIF%d)\n",a,n1,n2);
29 printf("#endif\n");
30
31 };
32 printf("\n");
33 }