rework #4

Merged
Steins7 merged 88 commits from rework into dev 2024-04-20 18:20:23 +00:00
2 changed files with 34 additions and 0 deletions
Showing only changes of commit 6269cf969a - Show all commits

View File

@ -91,6 +91,21 @@ void dma_reset(enum DmaPeriph dma, enum DmaChannel channel)
regs->CPAR = 0; regs->CPAR = 0;
} }
void dma_exit_critical(enum DmaPeriph dma, enum DmaChannel channel)
{
switch (dma) {
case DMA_PERIPH_1:
nvic_enable(NVIC_IRQ_DMA1_CHANNEL1 + channel);
break;
case DMA_PERIPH_2:
nvic_enable(NVIC_IRQ_DMA2_CHANNEL1 + channel);
break;
default:
return;
break;
}
}
void dma_enable(enum DmaPeriph dma, enum DmaChannel channel) void dma_enable(enum DmaPeriph dma, enum DmaChannel channel)
{ {
switch (dma) { switch (dma) {
@ -112,6 +127,21 @@ void dma_enable(enum DmaPeriph dma, enum DmaChannel channel)
} }
} }
void dma_enter_critical(enum DmaPeriph dma, enum DmaChannel channel)
{
switch (dma) {
case DMA_PERIPH_1:
nvic_disable(NVIC_IRQ_DMA1_CHANNEL1 + channel);
break;
case DMA_PERIPH_2:
nvic_disable(NVIC_IRQ_DMA2_CHANNEL1 + channel);
break;
default:
return;
break;
}
}
void dma_disable(enum DmaPeriph dma, enum DmaChannel channel) void dma_disable(enum DmaPeriph dma, enum DmaChannel channel)
{ {
switch (dma) { switch (dma) {

View File

@ -90,8 +90,12 @@ void dma_configure_mem2mem(enum DmaPeriph dma, enum DmaChannel channel,
void dma_reset(enum DmaPeriph dma, enum DmaChannel channel); void dma_reset(enum DmaPeriph dma, enum DmaChannel channel);
void dma_exit_critical(enum DmaPeriph dma, enum DmaChannel channel);
void dma_enable(enum DmaPeriph dma, enum DmaChannel channel); void dma_enable(enum DmaPeriph dma, enum DmaChannel channel);
void dma_enter_critical(enum DmaPeriph dma, enum DmaChannel channel);
void dma_disable(enum DmaPeriph dma, enum DmaChannel channel); void dma_disable(enum DmaPeriph dma, enum DmaChannel channel);
uint16_t dma_get_remaining(enum DmaPeriph dma, enum DmaChannel channe); uint16_t dma_get_remaining(enum DmaPeriph dma, enum DmaChannel channe);