Skip to content

Commit b760f36

Browse files
authored
Merge pull request #491 from open-ephys/issue-294
Add Ground as reference option for Neuropixels 2.0 probes
2 parents 72617ac + 8fef247 commit b760f36

File tree

3 files changed

+19
-2
lines changed

3 files changed

+19
-2
lines changed

OpenEphys.Onix1/ConfigureNeuropixelsV2eBeta.cs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,12 @@ public override IObservable<ContextTask> Process(IObservable<ContextTask> source
200200
// configure probe A streaming
201201
if (probeAMetadata.ProbeSerialNumber != null)
202202
{
203+
if (ProbeConfigurationA.Reference == NeuropixelsV2QuadShankReference.Ground)
204+
{
205+
throw new InvalidOperationException($"Neuropixels 2.0-Beta probes do not provide a Ground reference selection. Please select a different reference" +
206+
$" for {NeuropixelsV2Probe.ProbeA}.");
207+
}
208+
203209
var gainCorrection = NeuropixelsV2Helper.TryParseGainCalibrationFile(GainCalibrationFileA);
204210

205211
if (!gainCorrection.HasValue)
@@ -221,8 +227,14 @@ public override IObservable<ContextTask> Process(IObservable<ContextTask> source
221227
}
222228

223229
// configure probe B streaming
224-
if (probeAMetadata.ProbeSerialNumber != null)
230+
if (probeBMetadata.ProbeSerialNumber != null)
225231
{
232+
if (ProbeConfigurationB.Reference == NeuropixelsV2QuadShankReference.Ground)
233+
{
234+
throw new InvalidOperationException($"Neuropixels 2.0-Beta probes do not provide a Ground reference selection. Please select a different reference" +
235+
$" for {NeuropixelsV2Probe.ProbeB}.");
236+
}
237+
226238
var gainCorrection = NeuropixelsV2Helper.TryParseGainCalibrationFile(GainCalibrationFileB);
227239

228240
if (!gainCorrection.HasValue)

OpenEphys.Onix1/NeuropixelsV2.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ internal static BitArray[] GenerateBaseBits(NeuropixelsV2QuadShankProbeConfigura
9999
NeuropixelsV2QuadShankReference.Tip2 => 2,
100100
NeuropixelsV2QuadShankReference.Tip3 => 2,
101101
NeuropixelsV2QuadShankReference.Tip4 => 2,
102+
NeuropixelsV2QuadShankReference.Ground => 3,
102103
_ => throw new InvalidOperationException("Invalid reference selection."),
103104
};
104105

OpenEphys.Onix1/NeuropixelsV2QuadShankProbeConfiguration.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,11 @@ public enum NeuropixelsV2QuadShankReference : uint
3434
/// <summary>
3535
/// Specifies that the tip reference of shank 4 will be used.
3636
/// </summary>
37-
Tip4
37+
Tip4,
38+
/// <summary>
39+
/// Specifies that the ground reference will be used.
40+
/// </summary>
41+
Ground
3842
}
3943

4044
/// <summary>

0 commit comments

Comments
 (0)