A simple library to access the DMA functionality.
Fork of SimpleDMA by
Diff: SimpleDMA_common.cpp
- Revision:
- 5:d9f46ef80e20
diff -r c3a84c6c432c -r d9f46ef80e20 SimpleDMA_common.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SimpleDMA_common.cpp Sat Jan 04 14:42:33 2014 +0000 @@ -0,0 +1,25 @@ +#include "SimpleDMA.h" + +void SimpleDMA::channel(int chan) { + if (chan == -1) { + auto_channel = true; + _channel = 0; + } else { + auto_channel = false; + if (chan >= 0 && chan < DMA_CHANNELS) + _channel = chan; + else + _channel = DMA_CHANNELS-1; + } +} + +int SimpleDMA::getFreeChannel(void) { + int retval = 0; + while(1) { + if (!isBusy(retval)) + return retval; + retval++; + if (retval >= DMA_CHANNELS) + retval = 0; + } +} \ No newline at end of file