Mercurial > hg > beaglert
diff core/RTAudio.cpp @ 288:771a0920c626 prerelease
merge
author | Giulio Moro <giuliomoro@yahoo.it> |
---|---|
date | Wed, 18 May 2016 01:50:01 +0100 |
parents | c55c6f6c233c |
children | e4392164b458 |
line wrap: on
line diff
--- a/core/RTAudio.cpp Wed May 18 01:46:32 2016 +0100 +++ b/core/RTAudio.cpp Wed May 18 01:50:01 2016 +0100 @@ -98,6 +98,16 @@ int BeagleRT_initAudio(BeagleRTInitSettings *settings, void *userData) { + // Sanity checks + if(settings->pruNumber < 0 || settings->pruNumber > 1) { + cout << "Invalid PRU number " << settings->pruNumber << endl; + return -1; + } + if(settings->pruNumber != 1 && settings->numMuxChannels != 0) { + cout << "Incompatible settings: multiplexer can only be run using PRU 1\n"; + return -1; + } + rt_print_auto_init(1); BeagleRT_setVerboseLevel(settings->verbose); @@ -202,9 +212,10 @@ cout << "Error: unable to prepare GPIO for PRU audio\n"; return 1; } - + // Get the PRU memory buffers ready to go - if(gPRU->initialise(0, gContext.analogFrames, gContext.analogChannels, true)) { + if(gPRU->initialise(settings->pruNumber, gContext.analogFrames, gContext.analogChannels, + settings->numMuxChannels, true)) { cout << "Error: unable to initialise PRU\n"; return 1; }