Skip to content

Commit 5907dee

Browse files
authored
Merge pull request #74 from open-ephys-plugins/issue-55
Add Neuropixels 1.0e Headstage
2 parents dc64aae + e87da00 commit 5907dee

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+2246
-1431
lines changed

Source/Devices/AnalogIO.cpp

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,9 @@ OnixDeviceType AnalogIO::getDeviceType()
6060

6161
int AnalogIO::configureDevice()
6262
{
63-
if (deviceContext == nullptr || !deviceContext->isInitialized())
63+
if (deviceContext == nullptr || !deviceContext->isInitialized())
6464
throw error_str("Device context is not initialized properly for " + getName());
65-
65+
6666
return deviceContext->writeRegister(deviceIdx, (uint32_t)AnalogIORegisters::ENABLE, (oni_reg_val_t)(isEnabled() ? 1 : 0));
6767
}
6868

@@ -135,13 +135,8 @@ void AnalogIO::addFrame(oni_frame_t* frame)
135135

136136
void AnalogIO::addSourceBuffers(OwnedArray<DataBuffer>& sourceBuffers)
137137
{
138-
for (StreamInfo streamInfo : streamInfos)
139-
{
140-
sourceBuffers.add(new DataBuffer(streamInfo.getNumChannels(), (int)streamInfo.getSampleRate() * bufferSizeInSeconds));
141-
142-
if (streamInfo.getChannelPrefix().equalsIgnoreCase("AnalogInput"))
143-
analogInputBuffer = sourceBuffers.getLast();
144-
}
138+
sourceBuffers.add(new DataBuffer(streamInfos.getFirst().getNumChannels(), (int)streamInfos.getFirst().getSampleRate() * bufferSizeInSeconds));
139+
analogInputBuffer = sourceBuffers.getLast();
145140
}
146141

147142
void AnalogIO::processFrames()
@@ -155,7 +150,7 @@ void AnalogIO::processFrames()
155150

156151
int dataOffset = 4;
157152

158-
for (int i = 0; i < numChannels; i++)
153+
for (size_t i = 0; i < numChannels; i++)
159154
{
160155
if (dataType == AnalogIODataType::S16)
161156
analogInputSamples[currentFrame + i * numFrames] += *(dataPtr + dataOffset + i);
@@ -167,7 +162,7 @@ void AnalogIO::processFrames()
167162

168163
if (currentAverageFrame >= framesToAverage)
169164
{
170-
for (int i = 0; i < numChannels; i++)
165+
for (size_t i = 0; i < numChannels; i++)
171166
{
172167
analogInputSamples[currentFrame + i * numFrames] /= framesToAverage;
173168
}

Source/Devices/AnalogIO.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -94,14 +94,14 @@ namespace OnixSourcePlugin
9494
{
9595
if (channelNumber > numChannels || channelNumber < 0)
9696
{
97-
LOGE("Channel number must be between 0 and " + String(channelNumber));
97+
LOGE("Channel number must be between 0 and " + std::to_string(channelNumber));
9898
return AnalogIODirection::Input;
9999
}
100100

101101
return channelDirection[channelNumber];
102102
}
103103

104-
static String getChannelDirection(AnalogIODirection direction)
104+
static std::string getChannelDirection(AnalogIODirection direction)
105105
{
106106
switch (direction)
107107
{
@@ -118,7 +118,7 @@ namespace OnixSourcePlugin
118118
{
119119
if (channelNumber > numChannels || channelNumber < 0)
120120
{
121-
LOGE("Channel number must be between 0 and " + String(channelNumber));
121+
LOGE("Channel number must be between 0 and " + std::to_string(channelNumber));
122122
return;
123123
}
124124

@@ -129,7 +129,7 @@ namespace OnixSourcePlugin
129129
{
130130
if (channelNumber > numChannels || channelNumber < 0)
131131
{
132-
LOGE("Channel number must be between 0 and " + String(channelNumber));
132+
LOGE("Channel number must be between 0 and " + std::to_string(channelNumber));
133133
return AnalogIOVoltageRange::FiveVolts;
134134
}
135135

@@ -140,7 +140,7 @@ namespace OnixSourcePlugin
140140
{
141141
if (channelNumber > numChannels || channelNumber < 0)
142142
{
143-
LOGE("Channel number must be between 0 and " + String(channelNumber));
143+
LOGE("Channel number must be between 0 and " + std::to_string(channelNumber));
144144
return;
145145
}
146146

Source/Devices/Bno055.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,6 @@ void Bno055::addFrame(oni_frame_t* frame)
174174
void Bno055::addSourceBuffers(OwnedArray<DataBuffer>& sourceBuffers)
175175
{
176176
sourceBuffers.add(new DataBuffer(numberOfChannels, (int)sampleRate * bufferSizeInSeconds));
177-
178177
bnoBuffer = sourceBuffers.getLast();
179178
}
180179

Source/Devices/DS90UB9x.h

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,22 @@ namespace OnixSourcePlugin
121121
SCLLOW = 0x0B
122122
};
123123

124+
enum class DS90UB933SerializerI2CRegister : uint32_t
125+
{
126+
Gpio10 = 0x0D,
127+
Gpio32 = 0x0E,
128+
SclHigh = 0x11,
129+
SclLow = 0x12
130+
};
131+
132+
enum class DS90UB953SerializerI2CRegister : uint32_t
133+
{
134+
GpioData = 0x0D,
135+
GpioIOControl = 0x0E,
136+
SclHigh = 0x0B,
137+
SclLow = 0x0C
138+
};
139+
124140
enum class DS90UB9xMode : uint32_t
125141
{
126142
Raw12BitLowFrequency = 1,

Source/Devices/HarpSyncInput.cpp

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -89,13 +89,8 @@ void HarpSyncInput::addFrame(oni_frame_t* frame)
8989

9090
void HarpSyncInput::addSourceBuffers(OwnedArray<DataBuffer>& sourceBuffers)
9191
{
92-
for (StreamInfo streamInfo : streamInfos)
93-
{
94-
sourceBuffers.add(new DataBuffer(streamInfo.getNumChannels(), (int)streamInfo.getSampleRate() * bufferSizeInSeconds));
95-
96-
if (streamInfo.getChannelPrefix().equalsIgnoreCase("HarpTime"))
97-
harpTimeBuffer = sourceBuffers.getLast();
98-
}
92+
sourceBuffers.add(new DataBuffer(streamInfos.getFirst().getNumChannels(), (int)streamInfos.getFirst().getSampleRate() * bufferSizeInSeconds));
93+
harpTimeBuffer = sourceBuffers.getLast();
9994
}
10095

10196
void HarpSyncInput::processFrames()

Source/Devices/MemoryMonitor.cpp

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ int MemoryMonitor::configureDevice()
9292
setEnabled(true);
9393

9494
int rc = deviceContext->writeRegister(deviceIdx, (uint32_t)MemoryMonitorRegisters::ENABLE, 1);
95-
if (rc != ONI_ESUCCESS)
95+
if (rc != ONI_ESUCCESS)
9696
throw error_str("Unable to enable " + getName());
9797

9898
rc = deviceContext->readRegister(deviceIdx, (oni_reg_addr_t)MemoryMonitorRegisters::TOTAL_MEM, &totalMemory);
@@ -139,13 +139,8 @@ void MemoryMonitor::addFrame(oni_frame_t* frame)
139139

140140
void MemoryMonitor::addSourceBuffers(OwnedArray<DataBuffer>& sourceBuffers)
141141
{
142-
for (StreamInfo streamInfo : streamInfos)
143-
{
144-
sourceBuffers.add(new DataBuffer(streamInfo.getNumChannels(), (int)streamInfo.getSampleRate() * bufferSizeInSeconds));
145-
146-
if (streamInfo.getChannelPrefix().equalsIgnoreCase("Percent"))
147-
percentUsedBuffer = sourceBuffers.getLast();
148-
}
142+
sourceBuffers.add(new DataBuffer(streamInfos.getFirst().getNumChannels(), (int)streamInfos.getFirst().getSampleRate() * bufferSizeInSeconds));
143+
percentUsedBuffer = sourceBuffers.getLast();
149144
}
150145

151146
float MemoryMonitor::getLastPercentUsedValue()

0 commit comments

Comments
 (0)