From 33abc099e20872642169bb287716ab889a8471c7 Mon Sep 17 00:00:00 2001 From: jsiegle <jsiegle@mit.edu> Date: Sun, 9 Jun 2013 19:43:53 -0400 Subject: [PATCH] In the process of making it possible to provide custom names for channels --- Source/Processors/DataThreads/DataThread.h | 3 ++ .../Processors/DataThreads/RHD2000Thread.cpp | 53 ++++++++++++++++++- Source/Processors/DataThreads/RHD2000Thread.h | 3 ++ Source/Processors/SourceNode.cpp | 2 + 4 files changed, 60 insertions(+), 1 deletion(-) diff --git a/Source/Processors/DataThreads/DataThread.h b/Source/Processors/DataThreads/DataThread.h index 03a18aa30..72c4aa45c 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 3d4a19019..60231bd0b 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 71f77d7ce..47faa406f 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 67fa66afc..5a8b53ccc 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) -- GitLab