diff --git a/.bonsai/Bonsai.config b/.bonsai/Bonsai.config index ab4ecd0..7e2921c 100644 --- a/.bonsai/Bonsai.config +++ b/.bonsai/Bonsai.config @@ -2,45 +2,90 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -48,9 +93,12 @@ + + + @@ -60,6 +108,7 @@ + @@ -70,6 +119,8 @@ + + diff --git a/OpenEphys.Commutator/AutoCommutator.bonsai b/OpenEphys.Commutator/AutoCommutator.bonsai index c8d21f5..ffe3127 100644 --- a/OpenEphys.Commutator/AutoCommutator.bonsai +++ b/OpenEphys.Commutator/AutoCommutator.bonsai @@ -20,7 +20,7 @@ - + 0 0 @@ -32,6 +32,55 @@ {{turn : {0}}} it + + + + + + false + + + + + + + Source1 + + + + + + + + + + + {led: true} + + + + + + + Source1 + + + + + + + + + + + + + {led: false} + + + + + @@ -48,9 +97,17 @@ - - + + + + + + + + + + \ No newline at end of file diff --git a/OpenEphys.Commutator/QuaternionTwistController.cs b/OpenEphys.Commutator/QuaternionToTwist.cs similarity index 71% rename from OpenEphys.Commutator/QuaternionTwistController.cs rename to OpenEphys.Commutator/QuaternionToTwist.cs index b0cada4..f16d504 100644 --- a/OpenEphys.Commutator/QuaternionTwistController.cs +++ b/OpenEphys.Commutator/QuaternionToTwist.cs @@ -8,25 +8,30 @@ namespace OpenEphys.Commutator { /// - /// Calculates a feedback control signal to compensate for twisting about the specified axis, - /// in units of turns. + /// Calculates a the rotation about a specified axis (the "twist") that has occurred between successive 3D + /// rotation measurements. /// [Description("Calculates a feedback control signal to compensate for twisting about the specified axis, in units of turns.")] - public class QuaternionTwistController : Combinator + public class QuaternionToTwist : Combinator { /// - /// Gets or sets the direction vector specifying the axis around which to calculate the twist feedback. + /// Gets or sets the direction vector specifying the axis around which to calculate the twist. /// + /// + /// This vector should point, using the reference frame of the device producing rotation measurements, + /// in the direction that the tether exits the headstage. Note that negating this vector will result in + /// negating the direction of twisting. + /// [TypeConverter(typeof(NumericRecordConverter))] - [Description("The direction vector specifying the axis around which to calculate the twist feedback.")] + [Description("The direction vector specifying the axis around which to calculate the twist.")] public Vector3 RotationAxis { get; set; } = Vector3.UnitZ; /// - /// Calculates a feedback control signal from an observable sequence of rotation measurements - /// to compensate for twisting about the specified axis. + /// Calculates a twist about that has occurred between successive rotation + /// measurements provided by the input sequence. /// /// The sequence of rotation measurements. - /// The sequence of controller feedback values, in units of turns. + /// The sequence of twist values, in units of turns. public override IObservable Process(IObservable source) { return Observable.Defer(() =>