diff --git a/Source/Processors/DataThreads/DataThread.h b/Source/Processors/DataThreads/DataThread.h index 03a18aa30679b23f4b10f207d65d0926439a6f0e..72c4aa45cd463291169279c96526c0ca5b90a484 100755 --- a/Source/Processors/DataThreads/DataThread.h +++ b/Source/Processors/DataThreads/DataThread.h @@ -93,6 +93,9 @@ public: return 0; } + /** Changes the names of channels, if the thread needs custom names. */ + virtual void updateChannelNames() { } + SourceNode* sn; int16 eventCode; diff --git a/Source/Processors/DataThreads/RHD2000Thread.cpp b/Source/Processors/DataThreads/RHD2000Thread.cpp index 3d4a19019b8ad23ecae26192fc72c53bea7465db..60231bd0b6796759c5fdeb5cd468c4830a20ec30 100644 --- a/Source/Processors/DataThreads/RHD2000Thread.cpp +++ b/Source/Processors/DataThreads/RHD2000Thread.cpp @@ -28,7 +28,7 @@ RHD2000Thread::RHD2000Thread(SourceNode* sn) : DataThread(sn), isTransmitting(fa fastSettleEnabled(false), chipRegisters(30000.0f), dspEnabled(true), boardSampleRate(30000.0f), desiredDspCutoffFreq(0.5f), desiredUpperBandwidth(7500.0f), desiredLowerBandwidth(1.0f), savedSampleRateIndex(16), audioOutputL(-1), audioOutputR(-1), dacOutputShouldChange(false), - acquireAdcChannels(false), + acquireAdcChannels(false), acquireAuxChannels(true), cableLengthPortA(0.914f), cableLengthPortB(0.914f), cableLengthPortC(0.914f), cableLengthPortD(0.914f) // default is 3 feet (0.914 m) { evalBoard = new Rhd2000EvalBoard; @@ -407,6 +407,57 @@ int RHD2000Thread::getNumChannels() return 1; // to prevent crashing with 0 channels } +void RHD2000Thread::updateChannelNames() +{ + + int chNum = -1; + + for (int i = 0; i < MAX_NUM_DATA_STREAMS; i++) + { + + for (int j = 0; j < numChannelsPerDataStream[i]; j++) + { + chNum++; + + sn->channels[chNum]->setName(String(chNum)); + } + } + + if (acquireAuxChannels) + { + for (int i = 0; i < MAX_NUM_DATA_STREAMS; i++) + { + + for (int j = 0; j < 3; j++) + { + + chNum++; + + String chName = "AUX"; + // chName += (j+1); + + // sn->channels[chNum]->setName(chName); + } + } + } + + + if (acquireAdcChannels) + { + for (int j = 0; j < 8; j++) + { + chNum++; + + String chName = "ADC"; + // chName += (j+1); + + // sn->channels[chNum]->setName(chName); + } + } + +} + + int RHD2000Thread::getNumEventChannels() { return 16; // 8 inputs, 8 outputs diff --git a/Source/Processors/DataThreads/RHD2000Thread.h b/Source/Processors/DataThreads/RHD2000Thread.h index 71f77d7ceb3c249904a43f8fcdec17f2e4d07cf8..47faa406f3c77257451d7080818bf473bade459b 100644 --- a/Source/Processors/DataThreads/RHD2000Thread.h +++ b/Source/Processors/DataThreads/RHD2000Thread.h @@ -82,6 +82,8 @@ public: bool isAcquisitionActive(); + void updateChannelNames(); + private: ScopedPointer<Rhd2000EvalBoard> evalBoard; @@ -104,6 +106,7 @@ private: bool dacOutputShouldChange; bool acquireAdcChannels; + bool acquireAuxChannels; bool fastSettleEnabled; diff --git a/Source/Processors/SourceNode.cpp b/Source/Processors/SourceNode.cpp index 67fa66afcf3f4cb1adb8115d1525d3a0d7cb5e73..5a8b53ccc8cd2f88e386c5b6ec1b6465b62bbc46 100755 --- a/Source/Processors/SourceNode.cpp +++ b/Source/Processors/SourceNode.cpp @@ -114,6 +114,7 @@ void SourceNode::updateSettings() { inputBuffer = dataThread->getBufferAddress(); + dataThread->updateChannelNames(); std::cout << "Input buffer address is " << inputBuffer << std::endl; } @@ -125,6 +126,7 @@ void SourceNode::updateSettings() eventChannels.add(ch); } + } void SourceNode::actionListenerCallback(const String& msg)