#define AO_DMA_DONE 1
#define AO_DMA_ABORTED 2
-#define AO_DMA_TIMEOUT 4
uint8_t
ao_dma_alloc(__xdata uint8_t * done);
/* Abort a running DMA transfer */
void
-ao_dma_abort(uint8_t id, uint8_t reason);
+ao_dma_abort(uint8_t id);
/* DMA interrupt routine */
void
ao_radio_rdf(int ms);
void
-ao_radio_abort(uint8_t reason);
+ao_radio_abort(void);
void
ao_radio_rdf_abort(void);
}
void
-ao_dma_abort(uint8_t id, uint8_t reason)
+ao_dma_abort(uint8_t id)
{
uint8_t mask = (1 << id);
DMAARM = 0x80 | mask;
DMAIRQ &= ~mask;
- *(ao_dma_done[id]) |= reason;
+ *(ao_dma_done[id]) |= AO_DMA_ABORTED;
ao_wakeup(ao_dma_done[id]);
}
{
ao_monitoring = monitoring;
ao_wakeup(&ao_monitoring);
- ao_radio_abort(AO_DMA_ABORTED);
+ ao_radio_abort();
}
static void
ao_packet_flush();
}
ao_packet_enable = 0;
- ao_radio_abort(AO_DMA_ABORTED);
+ ao_radio_abort();
while (ao_packet_echo_task.wchan || ao_packet_task.wchan) {
ao_wake_task(&ao_packet_echo_task);
ao_wake_task(&ao_packet_task);
}
void
-ao_radio_abort(uint8_t reason)
+ao_radio_abort(void)
{
- ao_dma_abort(ao_radio_dma, reason);
+ ao_dma_abort(ao_radio_dma);
ao_radio_idle();
}