11using System ;
22using System . ComponentModel ;
3+ using System . Drawing . Design ;
34using System . Reactive . Disposables ;
45using Bonsai ;
56
@@ -9,7 +10,8 @@ namespace OpenEphys.Onix1
910 /// A class that configures a NeuropixelsV2eBeta device.
1011 /// </summary>
1112 [ Description ( "Configures a NeuropixelsV2eBeta device." ) ]
12- public class ConfigureNeuropixelsV2eBeta : SingleDeviceFactory
13+ [ Editor ( "OpenEphys.Onix1.Design.NeuropixelsV2eEditor, OpenEphys.Onix1.Design" , typeof ( ComponentEditor ) ) ]
14+ public class ConfigureNeuropixelsV2eBeta : SingleDeviceFactory , IConfigureNeuropixelsV2
1315 {
1416 /// <summary>
1517 /// Initialize a new instance of a <see cref="ConfigureNeuropixelsV2eBeta"/> class.
@@ -20,8 +22,23 @@ public ConfigureNeuropixelsV2eBeta()
2022 }
2123
2224 /// <summary>
23- /// Gets or sets the device enable state .
25+ /// Copy constructor for the <see cref="ConfigureNeuropixelsV2e"/> class .
2426 /// </summary>
27+ /// <param name="configureNode">A pre-existing <see cref="ConfigureNeuropixelsV2e"/> object.</param>
28+ public ConfigureNeuropixelsV2eBeta ( ConfigureNeuropixelsV2eBeta configureNode )
29+ : base ( typeof ( NeuropixelsV2eBeta ) )
30+ {
31+ Enable = configureNode . Enable ;
32+ EnableLed = configureNode . EnableLed ;
33+ ProbeConfigurationA = configureNode . ProbeConfigurationA ;
34+ ProbeConfigurationB = configureNode . ProbeConfigurationB ;
35+ GainCalibrationFileA = configureNode . GainCalibrationFileA ;
36+ GainCalibrationFileB = configureNode . GainCalibrationFileB ;
37+ DeviceName = configureNode . DeviceName ;
38+ DeviceAddress = configureNode . DeviceAddress ;
39+ }
40+
41+ /// <inheritdoc/>
2542 /// <remarks>
2643 /// If set to true, <see cref="NeuropixelsV2eBetaData"/> will produce data. If set to false,
2744 /// <see cref="NeuropixelsV2eBetaData"/> will not produce data.
@@ -40,16 +57,19 @@ public ConfigureNeuropixelsV2eBeta()
4057 [ Description ( "If true, the headstage LED will turn on during data acquisition. If false, the LED will not turn on." ) ]
4158 public bool EnableLed { get ; set ; } = true ;
4259
43- /// <summary>
44- /// Gets or sets the electrode configuration for Probe A.
45- /// </summary>
60+ /// <inheritdoc/>
61+ /// <remarks>
62+ /// Configuration is accomplished using a GUI to aid in channel selection and relevant configuration properties.
63+ /// To open a probe configuration GUI, select the ellipses next the <see cref="ProbeConfigurationA"/> variable
64+ /// in the property pane, or double-click <see cref="ConfigureNeuropixelsV2eBetaHeadstage"/> to configure both
65+ /// probes and the <see cref="ConfigureNeuropixelsV2eBno055"/> simultaneously.
66+ /// </remarks>
4667 [ Category ( ConfigurationCategory ) ]
4768 [ Description ( "Probe A electrode configuration." ) ]
69+ [ Editor ( "OpenEphys.Onix1.Design.NeuropixelsV2eProbeConfigurationEditor, OpenEphys.Onix1.Design" , typeof ( UITypeEditor ) ) ]
4870 public NeuropixelsV2QuadShankProbeConfiguration ProbeConfigurationA { get ; set ; } = new ( NeuropixelsV2Probe . ProbeA ) ;
4971
50- /// <summary>
51- /// Gets or sets the path to the gain calibration file for Probe A.
52- /// </summary>
72+ /// <inheritdoc/>
5373 /// <remarks>
5474 /// <para>
5575 /// Each probe is linked to a gain calibration file that contains gain adjustments determined by IMEC during
@@ -68,16 +88,19 @@ public ConfigureNeuropixelsV2eBeta()
6888 [ Editor ( "Bonsai.Design.OpenFileNameEditor, Bonsai.Design" , DesignTypes . UITypeEditor ) ]
6989 public string GainCalibrationFileA { get ; set ; }
7090
71- /// <summary>
72- /// Gets or sets the electrode configuration for Probe B.
73- /// </summary>
91+ /// <inheritdoc/>
92+ /// <remarks>
93+ /// Configuration is accomplished using a GUI to aid in channel selection and relevant configuration properties.
94+ /// To open a probe configuration GUI, select the ellipses next the <see cref="ProbeConfigurationB"/> variable
95+ /// in the property pane, or double-click <see cref="ConfigureNeuropixelsV2eBetaHeadstage"/> to configure both
96+ /// probes and the <see cref="ConfigureNeuropixelsV2eBno055"/> simultaneously.
97+ /// </remarks>
7498 [ Category ( ConfigurationCategory ) ]
7599 [ Description ( "Probe B electrode configuration." ) ]
100+ [ Editor ( "OpenEphys.Onix1.Design.NeuropixelsV2eProbeConfigurationEditor, OpenEphys.Onix1.Design" , typeof ( UITypeEditor ) ) ]
76101 public NeuropixelsV2QuadShankProbeConfiguration ProbeConfigurationB { get ; set ; } = new ( NeuropixelsV2Probe . ProbeB ) ;
77102
78- /// <summary>
79- /// Gets or sets the path to the gain calibration file for Probe B.
80- /// </summary>
103+ /// <inheritdoc/>
81104 /// <remarks>
82105 /// <para>
83106 /// Each probe is linked to a gain calibration file that contains gain adjustments determined by IMEC during
0 commit comments