diff --git a/Builds/Linux/build/libokFrontPanel.so b/Builds/Linux/build/libokFrontPanel.so index f8c6386c193b5822adc9a585a0445c1e5efa2c95..6eb1a88a56608f52474e05e824176e04535e4a9e 100755 Binary files a/Builds/Linux/build/libokFrontPanel.so and b/Builds/Linux/build/libokFrontPanel.so differ diff --git a/Source/Processors/DataThreads/DataBuffer.cpp b/Source/Processors/DataThreads/DataBuffer.cpp index 3eabce007cf11ac85efbb28f7a985b2d39ea49a4..2f4be726ae68e989038bd75ba065928265353698 100755 --- a/Source/Processors/DataThreads/DataBuffer.cpp +++ b/Source/Processors/DataThreads/DataBuffer.cpp @@ -27,7 +27,7 @@ DataBuffer::DataBuffer(int chans, int size) : abstractFifo(size), buffer(chans, size), numChans(chans) { timestampBuffer = new int64[size]; - eventCodeBuffer = new int16[size]; + eventCodeBuffer = new uint64[size]; } @@ -44,12 +44,12 @@ void DataBuffer::resize(int chans, int size) { buffer.setSize(chans, size); timestampBuffer = new int64[size]; - eventCodeBuffer = new int16[size]; + eventCodeBuffer = new uint64[size]; numChans = chans; } -void DataBuffer::addToBuffer(float* data, int64* timestamps, int16* eventCodes, int numItems) +void DataBuffer::addToBuffer(float* data, int64* timestamps, uint64* eventCodes, int numItems) { // writes one sample for all channels int startIndex1, blockSize1, startIndex2, blockSize2; @@ -76,7 +76,7 @@ int DataBuffer::getNumSamples() } -int DataBuffer::readAllFromBuffer(AudioSampleBuffer& data, uint64* timestamp, int16* eventCodes, int maxSize) +int DataBuffer::readAllFromBuffer(AudioSampleBuffer& data, uint64* timestamp, uint64* eventCodes, int maxSize) { // check to see if the maximum size is smaller than the total number of available ints @@ -105,7 +105,7 @@ int DataBuffer::readAllFromBuffer(AudioSampleBuffer& data, uint64* timestamp, in } memcpy(timestamp, timestampBuffer+startIndex1, 8); - memcpy(eventCodes, eventCodeBuffer+startIndex1, blockSize1*2); + memcpy(eventCodes, eventCodeBuffer+startIndex1, blockSize1*8); } else { @@ -124,7 +124,7 @@ int DataBuffer::readAllFromBuffer(AudioSampleBuffer& data, uint64* timestamp, in startIndex2, // sourceStartSample blockSize2); // numSamples } - memcpy(eventCodes + blockSize1, eventCodeBuffer+startIndex2, blockSize2*2); + memcpy(eventCodes + blockSize1, eventCodeBuffer+startIndex2, blockSize2*8); } abstractFifo.finishedRead(numItems); diff --git a/Source/Processors/DataThreads/DataBuffer.h b/Source/Processors/DataThreads/DataBuffer.h index 7bcb29a0bdb8ac1d4add69af745ab7d8af767f13..2e238a605e1d90d3441cf65303f99ed34eef222c 100755 --- a/Source/Processors/DataThreads/DataBuffer.h +++ b/Source/Processors/DataThreads/DataBuffer.h @@ -45,13 +45,13 @@ public: void clear(); /** Add an array of floats to the buffer.*/ - void addToBuffer(float* data, int64* ts, int16* eventCodes, int numItems); + void addToBuffer(float* data, int64* ts, uint64* eventCodes, int numItems); /** Returns the number of samples currently available in the buffer.*/ int getNumSamples(); /** Copies as many samples as possible from the DataBuffer to an AudioSampleBuffer.*/ - int readAllFromBuffer(AudioSampleBuffer& data, uint64* ts, int16* eventCodes, int maxSize); + int readAllFromBuffer(AudioSampleBuffer& data, uint64* ts, uint64* eventCodes, int maxSize); /** Resizes the data buffer */ void resize(int chans, int size); @@ -61,7 +61,7 @@ private: AudioSampleBuffer buffer; int64* timestampBuffer; - int16* eventCodeBuffer; + uint64* eventCodeBuffer; int numChans; diff --git a/Source/Processors/DataThreads/DataThread.h b/Source/Processors/DataThreads/DataThread.h index db3d1bf7925b297f863d0f78c7e3402710ac55af..e22a48622d39b6aaa204958af3a1aa570710297d 100755 --- a/Source/Processors/DataThreads/DataThread.h +++ b/Source/Processors/DataThreads/DataThread.h @@ -123,7 +123,7 @@ public: SourceNode* sn; - int16 eventCode; + uint64 eventCode; int64 timestamp; Time timer; diff --git a/Source/Processors/DataThreads/RHD2000Thread.cpp b/Source/Processors/DataThreads/RHD2000Thread.cpp index 746c5eb8b0828e4ca74f107893edfaf8cab63b04..b0ed0e59c58a802c1a6da0797d53792c2f4c3134 100644 --- a/Source/Processors/DataThreads/RHD2000Thread.cpp +++ b/Source/Processors/DataThreads/RHD2000Thread.cpp @@ -1513,7 +1513,7 @@ bool RHD2000Thread::updateBuffer() // ADC waveform units = volts thisSample[channel] = //0.000050354 * float(dataBlock->boardAdcData[adcChan][samp]); - 0.00015258789 * float(dataBlock->boardAdcData[adcChan][samp]) - 5 - 0.42; // account for +/-5V input range and 0.42 V offset + 0.00015258789 * float(dataBlock->boardAdcData[adcChan][samp]) - 5; // account for +/-5V input range } } // std::cout << channel << std::endl; diff --git a/Source/Processors/SourceNode/SourceNode.cpp b/Source/Processors/SourceNode/SourceNode.cpp index f0785f5059a9761cb8f562236b38c95260acc228..c6039f53f0a723f345f42f623595f917d04befdd 100755 --- a/Source/Processors/SourceNode/SourceNode.cpp +++ b/Source/Processors/SourceNode/SourceNode.cpp @@ -92,7 +92,7 @@ SourceNode::SourceNode(const String& name_) startTimer(sourceCheckInterval); timestamp = 0; - eventCodeBuffer = new int16[10000]; //10000 samples per buffer max? + eventCodeBuffer = new uint64[10000]; //10000 samples per buffer max? } diff --git a/Source/Processors/SourceNode/SourceNode.h b/Source/Processors/SourceNode/SourceNode.h index 535eed558f7d40716598e023592407510aff7ebb..494481fb282cd88320020662319fbd722e00b612 100755 --- a/Source/Processors/SourceNode/SourceNode.h +++ b/Source/Processors/SourceNode/SourceNode.h @@ -110,7 +110,7 @@ private: DataBuffer* inputBuffer; uint64 timestamp; - int16* eventCodeBuffer; + uint64* eventCodeBuffer; int* eventChannelState;