diff --git a/Source/Processors/DataThreads/RHD2000Thread.cpp b/Source/Processors/DataThreads/RHD2000Thread.cpp index 2d733a5247bcfdf59c7ecc78d52957773cab252e..eeee37843ce6769756423771a364e8d65d1dd346 100644 --- a/Source/Processors/DataThreads/RHD2000Thread.cpp +++ b/Source/Processors/DataThreads/RHD2000Thread.cpp @@ -109,7 +109,10 @@ RHD2000Thread::~RHD2000Thread() } if (deviceFound) + { evalBoard->resetFpga(); + } + deleteAndZero(dataBlock); @@ -276,7 +279,7 @@ void RHD2000Thread::initializeBoard() Rhd2000DataBlock* dataBlock = new Rhd2000DataBlock(evalBoard->getNumEnabledDataStreams()); - evalBoard->readDataBlock(dataBlock); + // evalBoard->readDataBlock(dataBlock); // Now that ADC calibration has been performed, we switch to the command sequence // that does not execute ADC calibration. diff --git a/Source/Processors/SpikeDetector.cpp b/Source/Processors/SpikeDetector.cpp index 4b4908bea981a31257ae60ea6f8789208a3acc2f..663979f59de6745f205942dfc6cc7473660aab4c 100755 --- a/Source/Processors/SpikeDetector.cpp +++ b/Source/Processors/SpikeDetector.cpp @@ -213,7 +213,11 @@ void SpikeDetector::setChannel(int electrodeIndex, int channelNum, int newChanne int SpikeDetector::getNumChannels(int index) { - return electrodes[index]->numChannels; + + if (index < electrodes.size()) + return electrodes[index]->numChannels; + else + return 0; } int SpikeDetector::getChannel(int index, int i)