A simple library to access the DMA functionality.

Fork of SimpleDMA by Erik -

SimpleDMA_common.cpp

Committer:
BaderP
Date:
2014-03-18
Revision:
6:e9ab0bb912c8
Parent:
5:d9f46ef80e20

File content as of revision 6:e9ab0bb912c8:

#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;
    }  
}