mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-01-29 14:52:12 +01:00
PiOS overo driver wasn't setting it's id and also clearing the DMA IRQ flags
This commit is contained in:
parent
6b3e5573a0
commit
fb215fd095
@ -146,6 +146,8 @@ void PIOS_OVERO_DMA_irq_handler(uint32_t overo_id)
|
|||||||
struct pios_overo_dev * overo_dev = (struct pios_overo_dev *) overo_id;
|
struct pios_overo_dev * overo_dev = (struct pios_overo_dev *) overo_id;
|
||||||
PIOS_Assert(PIOS_OVERO_validate(overo_dev));
|
PIOS_Assert(PIOS_OVERO_validate(overo_dev));
|
||||||
|
|
||||||
|
DMA_ClearFlag(overo_dev->cfg->dma.tx.channel, overo_dev->cfg->dma.irq.flags);
|
||||||
|
|
||||||
overo_dev->writing_buffer = 1 - DMA_GetCurrentMemoryTarget(overo_dev->cfg->dma.tx.channel);
|
overo_dev->writing_buffer = 1 - DMA_GetCurrentMemoryTarget(overo_dev->cfg->dma.tx.channel);
|
||||||
|
|
||||||
bool rx_need_yield;
|
bool rx_need_yield;
|
||||||
@ -281,6 +283,8 @@ int32_t PIOS_OVERO_Init(uint32_t * overo_id, const struct pios_overo_cfg * cfg)
|
|||||||
DMA_Cmd(overo_dev->cfg->dma.tx.channel, ENABLE);
|
DMA_Cmd(overo_dev->cfg->dma.tx.channel, ENABLE);
|
||||||
DMA_Cmd(overo_dev->cfg->dma.rx.channel, ENABLE);
|
DMA_Cmd(overo_dev->cfg->dma.rx.channel, ENABLE);
|
||||||
|
|
||||||
|
*overo_id = (uint32_t) overo_dev;
|
||||||
|
|
||||||
return(0);
|
return(0);
|
||||||
|
|
||||||
out_fail:
|
out_fail:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user