From de8af86467052e1f45f15bc100613e3e47898b16 Mon Sep 17 00:00:00 2001 From: jonnew Date: Sun, 4 Aug 2024 12:17:12 -0400 Subject: [PATCH 1/3] Resolve issues in discussion of #189 - There was lingering discussion after merge into main occured, this attempts to address that --- OpenEphys.Onix1/DeviceFactory.cs | 2 +- OpenEphys.Onix1/MultiDeviceFactory.cs | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/OpenEphys.Onix1/DeviceFactory.cs b/OpenEphys.Onix1/DeviceFactory.cs index 1181c1b8..9525ab07 100644 --- a/OpenEphys.Onix1/DeviceFactory.cs +++ b/OpenEphys.Onix1/DeviceFactory.cs @@ -24,7 +24,7 @@ public abstract class DeviceFactory : Sink /// /// Provides an abstract base class for configuration operators responsible for - /// registering a single device in the context device table. + /// registering a single device within an internal device manager. /// /// /// ONI devices usually require a specific sequence of configuration and parameterization diff --git a/OpenEphys.Onix1/MultiDeviceFactory.cs b/OpenEphys.Onix1/MultiDeviceFactory.cs index 5874abfe..0362ebfc 100644 --- a/OpenEphys.Onix1/MultiDeviceFactory.cs +++ b/OpenEphys.Onix1/MultiDeviceFactory.cs @@ -6,7 +6,7 @@ namespace OpenEphys.Onix1 { /// /// Provides an abstract base class for configuration operators responsible for - /// registering logical groups of s. + /// registering all devices within a logical group within an internal device manager. /// /// /// @@ -16,11 +16,12 @@ namespace OpenEphys.Onix1 /// and usually require a specific sequence of configuration steps prior to acquisition. /// /// - /// This class allows configuration of logical device groups of s across ONI-defined + /// This class allows configuration of logical groups of devices within or across ONI-defined /// hubs. For instance, the group of devices within a headstage (a single hub) can be combined with a device /// from another hub that is used to control its port voltage and communication status /// (e.g. ). Alternatively, diagnostic devices that are present within - /// an ONI hub can be omitted from a device group to aid its useability (e.g. ). + /// an ONI hub can be omitted from a device group to aid its usability (e.g. ). + /// Of course, all devices within to a single hub can also be grouped without modification. /// /// /// These device groups are the most common starting point for configuration @@ -43,7 +44,10 @@ internal MultiDeviceFactory() /// /// Gets or sets a unique device group name. /// - /// + /// + /// A human-readable identifier that is used as a prefix for + /// the of each device in the the group. + /// [Description("The unique device group name.")] public string Name { From e2b7f72887f3555a9d11a0e69a5ba2bb32b7731d Mon Sep 17 00:00:00 2001 From: jonnew Date: Tue, 6 Aug 2024 13:04:31 -0400 Subject: [PATCH 2/3] Address review in #194 - Emphasize Device Manager is singleton - Remove information on oni Hubs from MutliDeviceFactory since this has nothing to do with ONI even though it kinda feels like it does --- OpenEphys.Onix1/DeviceFactory.cs | 2 +- OpenEphys.Onix1/MultiDeviceFactory.cs | 23 +++++++++-------------- 2 files changed, 10 insertions(+), 15 deletions(-) diff --git a/OpenEphys.Onix1/DeviceFactory.cs b/OpenEphys.Onix1/DeviceFactory.cs index 9525ab07..f1bd6bba 100644 --- a/OpenEphys.Onix1/DeviceFactory.cs +++ b/OpenEphys.Onix1/DeviceFactory.cs @@ -24,7 +24,7 @@ public abstract class DeviceFactory : Sink /// /// Provides an abstract base class for configuration operators responsible for - /// registering a single device within an internal device manager. + /// registering a single device within the internal device manager. /// /// /// ONI devices usually require a specific sequence of configuration and parameterization diff --git a/OpenEphys.Onix1/MultiDeviceFactory.cs b/OpenEphys.Onix1/MultiDeviceFactory.cs index 0362ebfc..30f02fdb 100644 --- a/OpenEphys.Onix1/MultiDeviceFactory.cs +++ b/OpenEphys.Onix1/MultiDeviceFactory.cs @@ -6,26 +6,21 @@ namespace OpenEphys.Onix1 { /// /// Provides an abstract base class for configuration operators responsible for - /// registering all devices within a logical group within an internal device manager. + /// registering all devices within a logical group in the internal device manager. /// /// /// - /// The ONI standard states that devices are grouped into aggregates called hubs, each of which is - /// governed by a single, potentially asynchronous clock and share a common base address. The devices on - /// a headstage are an example of a hub. Devices within a hub are accessed through hub-specific addresses - /// and usually require a specific sequence of configuration steps prior to acquisition. - /// - /// - /// This class allows configuration of logical groups of devices within or across ONI-defined - /// hubs. For instance, the group of devices within a headstage (a single hub) can be combined with a device - /// from another hub that is used to control its port voltage and communication status - /// (e.g. ). Alternatively, diagnostic devices that are present within - /// an ONI hub can be omitted from a device group to aid its usability (e.g. ). - /// Of course, all devices within to a single hub can also be grouped without modification. + /// This class allows configuration of logical groups of devices that share some common functionality + /// and/or require a specific sequence of interdependent configuration steps prior to acquisition. For + /// instance, devices on a headstage can be combined with a device on the controller + /// that that is used to set the port voltage and monitor headstage communication status + /// (e.g. ). Alternatively, devices that share some common functionality + /// from the user's perspective, but share no actual interdependent configuration from the perspective of + /// the hardware, can be grouped for ease of use (e.g. ). /// /// /// These device groups are the most common starting point for configuration - /// of an ONI system, and the provides a modular abstraction for flexible + /// of an ONIX system, and the provides a modular abstraction for flexible /// assembly and sequencing of device groups. /// /// From ee8a77594f496106c27672bd4a62a8010bc5f866 Mon Sep 17 00:00:00 2001 From: glopesdev Date: Tue, 6 Aug 2024 22:31:24 +0100 Subject: [PATCH 3/3] Minor wording review --- OpenEphys.Onix1/MultiDeviceFactory.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenEphys.Onix1/MultiDeviceFactory.cs b/OpenEphys.Onix1/MultiDeviceFactory.cs index 30f02fdb..d7d3b3b8 100644 --- a/OpenEphys.Onix1/MultiDeviceFactory.cs +++ b/OpenEphys.Onix1/MultiDeviceFactory.cs @@ -13,7 +13,7 @@ namespace OpenEphys.Onix1 /// This class allows configuration of logical groups of devices that share some common functionality /// and/or require a specific sequence of interdependent configuration steps prior to acquisition. For /// instance, devices on a headstage can be combined with a device on the controller - /// that that is used to set the port voltage and monitor headstage communication status + /// that is used to set the port voltage and monitor headstage communication status /// (e.g. ). Alternatively, devices that share some common functionality /// from the user's perspective, but share no actual interdependent configuration from the perspective of /// the hardware, can be grouped for ease of use (e.g. ).