diff --git a/.gitmodules b/.gitmodules
index eed9e0f..e69de29 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +0,0 @@
-[submodule "OpenEphys.ProbeInterface"]
- path = OpenEphys.ProbeInterface
- url = https://github.com/open-ephys/OpenEphys.ProbeInterface
diff --git a/OpenEphys.Onix1.Design/ChannelConfigurationDialog.cs b/OpenEphys.Onix1.Design/ChannelConfigurationDialog.cs
index 89fb002..412cd26 100644
--- a/OpenEphys.Onix1.Design/ChannelConfigurationDialog.cs
+++ b/OpenEphys.Onix1.Design/ChannelConfigurationDialog.cs
@@ -4,7 +4,7 @@
using System.Windows.Forms;
using ZedGraph;
using System;
-using OpenEphys.ProbeInterface;
+using OpenEphys.ProbeInterface.NET;
using System.Collections.Generic;
namespace OpenEphys.Onix1.Design
@@ -19,7 +19,7 @@ public abstract partial class ChannelConfigurationDialog : Form
///
/// Local variable that holds the channel configuration in memory until the user presses Okay
///
- ProbeGroup ChannelConfiguration;
+ internal ProbeGroup ChannelConfiguration;
internal readonly List ReferenceContacts = new();
diff --git a/OpenEphys.Onix1.Design/NeuropixelsV2eChannelConfigurationDialog.cs b/OpenEphys.Onix1.Design/NeuropixelsV2eChannelConfigurationDialog.cs
index 4f84501..f69189c 100644
--- a/OpenEphys.Onix1.Design/NeuropixelsV2eChannelConfigurationDialog.cs
+++ b/OpenEphys.Onix1.Design/NeuropixelsV2eChannelConfigurationDialog.cs
@@ -3,7 +3,7 @@
using System.Drawing;
using System.Linq;
using System.Windows.Forms;
-using OpenEphys.ProbeInterface;
+using OpenEphys.ProbeInterface.NET;
using ZedGraph;
namespace OpenEphys.Onix1.Design
@@ -57,6 +57,10 @@ internal override ProbeGroup DefaultChannelLayout()
internal override void LoadDefaultChannelLayout()
{
ProbeConfiguration = new(ProbeConfiguration.Probe, ProbeConfiguration.Reference);
+ ChannelConfiguration = ProbeConfiguration.ChannelConfiguration;
+
+ DrawProbeGroup();
+ RefreshZedGraph();
OnFileOpenHandler();
}
diff --git a/OpenEphys.Onix1.Design/OpenEphys.Onix1.Design.csproj b/OpenEphys.Onix1.Design/OpenEphys.Onix1.Design.csproj
index 82c3b81..ae3173e 100644
--- a/OpenEphys.Onix1.Design/OpenEphys.Onix1.Design.csproj
+++ b/OpenEphys.Onix1.Design/OpenEphys.Onix1.Design.csproj
@@ -11,14 +11,14 @@
-
+
+
-
diff --git a/OpenEphys.Onix1.sln b/OpenEphys.Onix1.sln
index e82153c..7798333 100644
--- a/OpenEphys.Onix1.sln
+++ b/OpenEphys.Onix1.sln
@@ -12,40 +12,20 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
Directory.Build.props = Directory.Build.props
EndProjectSection
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenEphys.ProbeInterface", "OpenEphys.ProbeInterface\OpenEphys.ProbeInterface\OpenEphys.ProbeInterface.csproj", "{CDC8058A-48DD-49FE-BFC8-9F12F353D29D}"
-EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
- Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {353B1EBC-F8EB-4D99-8331-9FF15EC17F38}.Debug|Any CPU.ActiveCfg = Debug|x64
- {353B1EBC-F8EB-4D99-8331-9FF15EC17F38}.Debug|Any CPU.Build.0 = Debug|x64
{353B1EBC-F8EB-4D99-8331-9FF15EC17F38}.Debug|x64.ActiveCfg = Debug|x64
{353B1EBC-F8EB-4D99-8331-9FF15EC17F38}.Debug|x64.Build.0 = Debug|x64
- {353B1EBC-F8EB-4D99-8331-9FF15EC17F38}.Release|Any CPU.ActiveCfg = Release|x64
- {353B1EBC-F8EB-4D99-8331-9FF15EC17F38}.Release|Any CPU.Build.0 = Release|x64
{353B1EBC-F8EB-4D99-8331-9FF15EC17F38}.Release|x64.ActiveCfg = Release|x64
{353B1EBC-F8EB-4D99-8331-9FF15EC17F38}.Release|x64.Build.0 = Release|x64
- {149E86EC-B865-463D-81A8-8290CA7F8871}.Debug|Any CPU.ActiveCfg = Debug|x64
- {149E86EC-B865-463D-81A8-8290CA7F8871}.Debug|Any CPU.Build.0 = Debug|x64
{149E86EC-B865-463D-81A8-8290CA7F8871}.Debug|x64.ActiveCfg = Debug|x64
{149E86EC-B865-463D-81A8-8290CA7F8871}.Debug|x64.Build.0 = Debug|x64
- {149E86EC-B865-463D-81A8-8290CA7F8871}.Release|Any CPU.ActiveCfg = Release|x64
- {149E86EC-B865-463D-81A8-8290CA7F8871}.Release|Any CPU.Build.0 = Release|x64
{149E86EC-B865-463D-81A8-8290CA7F8871}.Release|x64.ActiveCfg = Release|x64
{149E86EC-B865-463D-81A8-8290CA7F8871}.Release|x64.Build.0 = Release|x64
- {CDC8058A-48DD-49FE-BFC8-9F12F353D29D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {CDC8058A-48DD-49FE-BFC8-9F12F353D29D}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {CDC8058A-48DD-49FE-BFC8-9F12F353D29D}.Debug|x64.ActiveCfg = Debug|Any CPU
- {CDC8058A-48DD-49FE-BFC8-9F12F353D29D}.Debug|x64.Build.0 = Debug|Any CPU
- {CDC8058A-48DD-49FE-BFC8-9F12F353D29D}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {CDC8058A-48DD-49FE-BFC8-9F12F353D29D}.Release|Any CPU.Build.0 = Release|Any CPU
- {CDC8058A-48DD-49FE-BFC8-9F12F353D29D}.Release|x64.ActiveCfg = Release|Any CPU
- {CDC8058A-48DD-49FE-BFC8-9F12F353D29D}.Release|x64.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/OpenEphys.Onix1/ConfigureNeuropixelsV2e.cs b/OpenEphys.Onix1/ConfigureNeuropixelsV2e.cs
index 1f5a336..6256527 100644
--- a/OpenEphys.Onix1/ConfigureNeuropixelsV2e.cs
+++ b/OpenEphys.Onix1/ConfigureNeuropixelsV2e.cs
@@ -51,6 +51,12 @@ public ConfigureNeuropixelsV2e(ConfigureNeuropixelsV2e configureNode)
///
/// Gets or sets the electrode configuration for Probe A.
///
+ ///
+ /// Configuration is accomplished using a GUI to aid in channel selection and relevant configuration properties.
+ /// To open a probe configuration GUI, select the ellipses next the variable
+ /// in the property pane, or double-click to configure both
+ /// probes and the simultaneously.
+ ///
[Category(ConfigurationCategory)]
[Description("Probe A electrode configuration.")]
[Editor("OpenEphys.Onix1.Design.NeuropixelsV2eProbeConfigurationEditor, OpenEphys.Onix1.Design", typeof(UITypeEditor))]
@@ -63,6 +69,7 @@ public ConfigureNeuropixelsV2e(ConfigureNeuropixelsV2e configureNode)
/// Each probe must be provided with a gain calibration file that contains calibration data
/// specific to each probe. This file is mandatory for accurate recordings.
///
+ [Category(ConfigurationCategory)]
[FileNameFilter("Gain calibration files (*_gainCalValues.csv)|*_gainCalValues.csv")]
[Description("Path to the gain calibration file for probe A.")]
[Editor("Bonsai.Design.OpenFileNameEditor, Bonsai.Design", DesignTypes.UITypeEditor)]
@@ -71,6 +78,12 @@ public ConfigureNeuropixelsV2e(ConfigureNeuropixelsV2e configureNode)
///
/// Gets or sets the electrode configuration for Probe B.
///
+ ///
+ /// Configuration is accomplished using a GUI to aid in channel selection and relevant configuration properties.
+ /// To open a probe configuration GUI, select the ellipses next the variable
+ /// in the property pane, or double-click to configure both
+ /// probes and the simultaneously.
+ ///
[Category(ConfigurationCategory)]
[Description("Probe B electrode configuration.")]
[Editor("OpenEphys.Onix1.Design.NeuropixelsV2eProbeConfigurationEditor, OpenEphys.Onix1.Design", typeof(UITypeEditor))]
@@ -83,6 +96,7 @@ public ConfigureNeuropixelsV2e(ConfigureNeuropixelsV2e configureNode)
/// Each probe must be provided with a gain calibration file that contains calibration data
/// specific to each probe. This file is mandatory for accurate recordings.
///
+ [Category(ConfigurationCategory)]
[FileNameFilter("Gain calibration files (*_gainCalValues.csv)|*_gainCalValues.csv")]
[Description("Path to the gain calibration file for probe B.")]
[Editor("Bonsai.Design.OpenFileNameEditor, Bonsai.Design", DesignTypes.UITypeEditor)]
diff --git a/OpenEphys.Onix1/ConfigureNeuropixelsV2eBeta.cs b/OpenEphys.Onix1/ConfigureNeuropixelsV2eBeta.cs
index abac067..c16e9fe 100644
--- a/OpenEphys.Onix1/ConfigureNeuropixelsV2eBeta.cs
+++ b/OpenEphys.Onix1/ConfigureNeuropixelsV2eBeta.cs
@@ -54,6 +54,7 @@ public ConfigureNeuropixelsV2eBeta()
/// Each probe must be provided with a gain calibration file that contains calibration data
/// specific to each probe. This file is mandatory for accurate recordings.
///
+ [Category(ConfigurationCategory)]
[FileNameFilter("Gain calibration files (*_gainCalValues.csv)|*_gainCalValues.csv")]
[Description("Path to the gain calibration file for probe A.")]
[Editor("Bonsai.Design.OpenFileNameEditor, Bonsai.Design", DesignTypes.UITypeEditor)]
@@ -73,6 +74,7 @@ public ConfigureNeuropixelsV2eBeta()
/// Each probe must be provided with a gain calibration file that contains calibration data
/// specific to each probe. This file is mandatory for accurate recordings.
///
+ [Category(ConfigurationCategory)]
[FileNameFilter("Gain calibration files (*_gainCalValues.csv)|*_gainCalValues.csv")]
[Description("Path to the gain calibration file for probe B.")]
[Editor("Bonsai.Design.OpenFileNameEditor, Bonsai.Design", DesignTypes.UITypeEditor)]
diff --git a/OpenEphys.Onix1/NeuropixelsV2.cs b/OpenEphys.Onix1/NeuropixelsV2.cs
index ef17562..ccf7aec 100644
--- a/OpenEphys.Onix1/NeuropixelsV2.cs
+++ b/OpenEphys.Onix1/NeuropixelsV2.cs
@@ -39,10 +39,10 @@ internal static BitArray[] GenerateShankBits(NeuropixelsV2QuadShankProbeConfigur
{
BitArray[] shankBits =
{
- new(NeuropixelsV2.RegistersPerShank, false),
- new(NeuropixelsV2.RegistersPerShank, false),
- new(NeuropixelsV2.RegistersPerShank, false),
- new(NeuropixelsV2.RegistersPerShank, false)
+ new(RegistersPerShank, false),
+ new(RegistersPerShank, false),
+ new(RegistersPerShank, false),
+ new(RegistersPerShank, false)
};
@@ -69,7 +69,7 @@ internal static BitArray[] GenerateShankBits(NeuropixelsV2QuadShankProbeConfigur
shankBits[3][1285] = true;
}
- const int PixelOffset = (NeuropixelsV2.ElectrodePerShank - 1) / 2;
+ const int PixelOffset = (ElectrodePerShank - 1) / 2;
const int ReferencePixelOffset = 3;
foreach (var c in probe.ChannelMap)
{
@@ -89,8 +89,8 @@ internal static BitArray[] GenerateBaseBits(NeuropixelsV2QuadShankProbeConfigura
{
BitArray[] baseBits =
{
- new(NeuropixelsV2.ChannelCount * NeuropixelsV2.BaseBitsPerChannel / 2, false),
- new(NeuropixelsV2.ChannelCount * NeuropixelsV2.BaseBitsPerChannel / 2, false)
+ new(ChannelCount * BaseBitsPerChannel / 2, false),
+ new(ChannelCount * BaseBitsPerChannel / 2, false)
};
var referenceBit = probe.Reference switch
@@ -103,10 +103,10 @@ internal static BitArray[] GenerateBaseBits(NeuropixelsV2QuadShankProbeConfigura
_ => throw new InvalidOperationException("Invalid reference selection."),
};
- for (int i = 0; i < NeuropixelsV2.ChannelCount; i++)
+ for (int i = 0; i < ChannelCount; i++)
{
var configIndex = i % 2;
- var bitOffset = (382 - i + configIndex) / 2 * NeuropixelsV2.BaseBitsPerChannel;
+ var bitOffset = (382 - i + configIndex) / 2 * BaseBitsPerChannel;
baseBits[configIndex][bitOffset + 0] = false; // standby bit
baseBits[configIndex][bitOffset + referenceBit] = true;
}
diff --git a/OpenEphys.Onix1/NeuropixelsV2eProbeGroup.cs b/OpenEphys.Onix1/NeuropixelsV2eProbeGroup.cs
index 026a666..150cc4b 100644
--- a/OpenEphys.Onix1/NeuropixelsV2eProbeGroup.cs
+++ b/OpenEphys.Onix1/NeuropixelsV2eProbeGroup.cs
@@ -2,7 +2,7 @@
using System.Collections.Generic;
using System.Linq;
using Newtonsoft.Json;
-using OpenEphys.ProbeInterface;
+using OpenEphys.ProbeInterface.NET;
namespace OpenEphys.Onix1
{
diff --git a/OpenEphys.Onix1/OpenEphys.Onix1.csproj b/OpenEphys.Onix1/OpenEphys.Onix1.csproj
index 6a5a0e9..0674335 100644
--- a/OpenEphys.Onix1/OpenEphys.Onix1.csproj
+++ b/OpenEphys.Onix1/OpenEphys.Onix1.csproj
@@ -13,10 +13,7 @@
-
-
-
-
+
diff --git a/OpenEphys.ProbeInterface b/OpenEphys.ProbeInterface
deleted file mode 160000
index 524b4c1..0000000
--- a/OpenEphys.ProbeInterface
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 524b4c1e03aa3acbeaecb3964810c9c3a84dfc50