diff options
Diffstat (limited to 'src/stm/ao_dma_stm.c')
-rw-r--r-- | src/stm/ao_dma_stm.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/stm/ao_dma_stm.c b/src/stm/ao_dma_stm.c index 0c86b49a..a24c6d3a 100644 --- a/src/stm/ao_dma_stm.c +++ b/src/stm/ao_dma_stm.c @@ -48,7 +48,11 @@ ao_dma_isr(uint8_t index) { void stm_dma1_channel1_isr(void) { ao_dma_isr(STM_DMA_INDEX(1)); } void stm_dma1_channel2_isr(void) { ao_dma_isr(STM_DMA_INDEX(2)); } +#ifdef STM_DMA1_3_STOLEN +#define LEAVE_DMA_ON +#else void stm_dma1_channel3_isr(void) { ao_dma_isr(STM_DMA_INDEX(3)); } +#endif void stm_dma1_channel4_isr(void) { ao_dma_isr(STM_DMA_INDEX(4)); } #ifdef STM_DMA1_5_STOLEN #define LEAVE_DMA_ON @@ -179,6 +183,13 @@ ao_dma_init(void) continue; } #endif +#if STM_DMA1_3_STOLEN + if (index == STM_DMA_INDEX(3)) { + ao_dma_allocated[index] = 1; + ao_dma_mutex[index] = 0xff; + continue; + } +#endif stm_nvic_set_enable(STM_ISR_DMA1_CHANNEL1_POS + index); stm_nvic_set_priority(STM_ISR_DMA1_CHANNEL1_POS + index, 4); ao_dma_allocated[index] = 0; |