From 907a5f3021dee381c8bd70b8c50e436f61d3e3b8 Mon Sep 17 00:00:00 2001 From: glopesdev Date: Thu, 19 Feb 2026 17:48:22 +0000 Subject: [PATCH 1/3] Update interface with DeviceDataWriter The new standard interface generators include a DeviceDataWriter which makes it easier to log all device data using a single operator. --- Generators/Generators.csproj | 2 +- .../AsyncDevice.Generated.cs | 7 +- .../Harp.StepperDriver/Device.Generated.cs | 152 +++++++++++++++++- 3 files changed, 157 insertions(+), 4 deletions(-) diff --git a/Generators/Generators.csproj b/Generators/Generators.csproj index 3265b06..2bdfed1 100644 --- a/Generators/Generators.csproj +++ b/Generators/Generators.csproj @@ -15,7 +15,7 @@ ..\Firmware\Harp.StepperDriver - + diff --git a/Interface/Harp.StepperDriver/AsyncDevice.Generated.cs b/Interface/Harp.StepperDriver/AsyncDevice.Generated.cs index d0a0536..e1b6608 100644 --- a/Interface/Harp.StepperDriver/AsyncDevice.Generated.cs +++ b/Interface/Harp.StepperDriver/AsyncDevice.Generated.cs @@ -14,15 +14,18 @@ public partial class Device /// /// The name of the serial port used to communicate with the Harp device. /// + /// + /// A which can be used to cancel the operation. + /// /// /// A task that represents the asynchronous initialization operation. The value of /// the parameter contains a new instance of /// the class. /// - public static async Task CreateAsync(string portName) + public static async Task CreateAsync(string portName, CancellationToken cancellationToken = default) { var device = new AsyncDevice(portName); - var whoAmI = await device.ReadWhoAmIAsync(); + var whoAmI = await device.ReadWhoAmIAsync(cancellationToken); if (whoAmI != Device.WhoAmI) { var errorMessage = string.Format( diff --git a/Interface/Harp.StepperDriver/Device.Generated.cs b/Interface/Harp.StepperDriver/Device.Generated.cs index 9c005e6..c989e8d 100644 --- a/Interface/Harp.StepperDriver/Device.Generated.cs +++ b/Interface/Harp.StepperDriver/Device.Generated.cs @@ -168,7 +168,7 @@ static string GetDeviceMetadata() /// describing the device registers. /// [Description("Returns the contents of the metadata file describing the StepperDriver device registers.")] - public partial class GetMetadata : Source + public partial class GetDeviceMetadata : Source { /// /// Returns an observable sequence with the contents of the metadata file @@ -205,6 +205,156 @@ public override IObservable> Process(IObse } } + /// + /// Represents an operator that writes the sequence of " messages + /// to the standard Harp storage format. + /// + [Description("Writes the sequence of StepperDriver messages to the standard Harp storage format.")] + public partial class DeviceDataWriter : Sink, INamedElement + { + const string BinaryExtension = ".bin"; + const string MetadataFileName = "device.yml"; + readonly Bonsai.Harp.MessageWriter writer = new(); + + string INamedElement.Name => nameof(StepperDriver) + "DataWriter"; + + /// + /// Gets or sets the relative or absolute path on which to save the message data. + /// + [Description("The relative or absolute path of the directory on which to save the message data.")] + [Editor("Bonsai.Design.SaveFileNameEditor, Bonsai.Design", DesignTypes.UITypeEditor)] + public string Path + { + get => System.IO.Path.GetDirectoryName(writer.FileName); + set => writer.FileName = System.IO.Path.Combine(value, nameof(StepperDriver) + BinaryExtension); + } + + /// + /// Gets or sets a value indicating whether element writing should be buffered. If , + /// the write commands will be queued in memory as fast as possible and will be processed + /// by the writer in a different thread. Otherwise, writing will be done in the same + /// thread in which notifications arrive. + /// + [Description("Indicates whether writing should be buffered.")] + public bool Buffered + { + get => writer.Buffered; + set => writer.Buffered = value; + } + + /// + /// Gets or sets a value indicating whether to overwrite the output file if it already exists. + /// + [Description("Indicates whether to overwrite the output file if it already exists.")] + public bool Overwrite + { + get => writer.Overwrite; + set => writer.Overwrite = value; + } + + /// + /// Gets or sets a value specifying how the message filter will use the matching criteria. + /// + [Description("Specifies how the message filter will use the matching criteria.")] + public FilterType FilterType + { + get => writer.FilterType; + set => writer.FilterType = value; + } + + /// + /// Gets or sets a value specifying the expected message type. If no value is + /// specified, all messages will be accepted. + /// + [Description("Specifies the expected message type. If no value is specified, all messages will be accepted.")] + public MessageType? MessageType + { + get => writer.MessageType; + set => writer.MessageType = value; + } + + private IObservable WriteDeviceMetadata(IObservable source) + { + var basePath = Path; + if (string.IsNullOrEmpty(basePath)) + return source; + + var metadataPath = System.IO.Path.Combine(basePath, MetadataFileName); + return Observable.Create(observer => + { + Bonsai.IO.PathHelper.EnsureDirectory(metadataPath); + if (System.IO.File.Exists(metadataPath) && !Overwrite) + { + throw new System.IO.IOException(string.Format("The file '{0}' already exists.", metadataPath)); + } + + System.IO.File.WriteAllText(metadataPath, Device.Metadata); + return source.SubscribeSafe(observer); + }); + } + + /// + /// Writes each Harp message in the sequence to the specified binary file, and the + /// contents of the device metadata file to a separate text file. + /// + /// The sequence of messages to write to the file. + /// + /// An observable sequence that is identical to the + /// sequence but where there is an additional side effect of writing the + /// messages to a raw binary file, and the contents of the device metadata file + /// to a separate text file. + /// + public override IObservable Process(IObservable source) + { + return source.Publish(ps => ps.Merge( + WriteDeviceMetadata(writer.Process(ps.GroupBy(message => message.Address))) + .IgnoreElements() + .Cast())); + } + + /// + /// Writes each Harp message in the sequence of observable groups to the + /// corresponding binary file, where the name of each file is generated from + /// the common group register address. The contents of the device metadata file are + /// written to a separate text file. + /// + /// + /// A sequence of observable groups, each of which corresponds to a unique register + /// address. + /// + /// + /// An observable sequence that is identical to the + /// sequence but where there is an additional side effect of writing the Harp + /// messages in each group to the corresponding file, and the contents of the device + /// metadata file to a separate text file. + /// + public IObservable> Process(IObservable> source) + { + return WriteDeviceMetadata(writer.Process(source)); + } + + /// + /// Writes each Harp message in the sequence of observable groups to the + /// corresponding binary file, where the name of each file is generated from + /// the common group register name. The contents of the device metadata file are + /// written to a separate text file. + /// + /// + /// A sequence of observable groups, each of which corresponds to a unique register + /// type. + /// + /// + /// An observable sequence that is identical to the + /// sequence but where there is an additional side effect of writing the Harp + /// messages in each group to the corresponding file, and the contents of the device + /// metadata file to a separate text file. + /// + public IObservable> Process(IObservable> source) + { + return WriteDeviceMetadata(writer.Process(source)); + } + } + /// /// Represents an operator that filters register-specific messages /// reported by the device. From 70e5735c28b90fb2c13ed6a801c2c93bc9e46561 Mon Sep 17 00:00:00 2001 From: glopesdev Date: Thu, 19 Feb 2026 17:50:28 +0000 Subject: [PATCH 2/3] Fix register naming typo These registers are rarely used but better to correct this typo in preparation for unified releases. --- .../AsyncDevice.Generated.cs | 88 ++--- .../Harp.StepperDriver/Device.Generated.cs | 320 +++++++++--------- device.yml | 8 +- 3 files changed, 208 insertions(+), 208 deletions(-) diff --git a/Interface/Harp.StepperDriver/AsyncDevice.Generated.cs b/Interface/Harp.StepperDriver/AsyncDevice.Generated.cs index e1b6608..7372473 100644 --- a/Interface/Harp.StepperDriver/AsyncDevice.Generated.cs +++ b/Interface/Harp.StepperDriver/AsyncDevice.Generated.cs @@ -2693,7 +2693,7 @@ public async Task WriteAccumulatedStepsAsync(AccumulatedStepsPayload value, Canc } /// - /// Asynchronously reads the contents of the Mortor0AccumulatedSteps register. + /// Asynchronously reads the contents of the Motor0AccumulatedSteps register. /// /// /// A which can be used to cancel the operation. @@ -2702,14 +2702,14 @@ public async Task WriteAccumulatedStepsAsync(AccumulatedStepsPayload value, Canc /// A task that represents the asynchronous read operation. The /// property contains the register payload. /// - public async Task ReadMortor0AccumulatedStepsAsync(CancellationToken cancellationToken = default) + public async Task ReadMotor0AccumulatedStepsAsync(CancellationToken cancellationToken = default) { - var reply = await CommandAsync(HarpCommand.ReadInt32(Mortor0AccumulatedSteps.Address), cancellationToken); - return Mortor0AccumulatedSteps.GetPayload(reply); + var reply = await CommandAsync(HarpCommand.ReadInt32(Motor0AccumulatedSteps.Address), cancellationToken); + return Motor0AccumulatedSteps.GetPayload(reply); } /// - /// Asynchronously reads the timestamped contents of the Mortor0AccumulatedSteps register. + /// Asynchronously reads the timestamped contents of the Motor0AccumulatedSteps register. /// /// /// A which can be used to cancel the operation. @@ -2718,28 +2718,28 @@ public async Task ReadMortor0AccumulatedStepsAsync(CancellationToken cancel /// A task that represents the asynchronous read operation. The /// property contains the timestamped register payload. /// - public async Task> ReadTimestampedMortor0AccumulatedStepsAsync(CancellationToken cancellationToken = default) + public async Task> ReadTimestampedMotor0AccumulatedStepsAsync(CancellationToken cancellationToken = default) { - var reply = await CommandAsync(HarpCommand.ReadInt32(Mortor0AccumulatedSteps.Address), cancellationToken); - return Mortor0AccumulatedSteps.GetTimestampedPayload(reply); + var reply = await CommandAsync(HarpCommand.ReadInt32(Motor0AccumulatedSteps.Address), cancellationToken); + return Motor0AccumulatedSteps.GetTimestampedPayload(reply); } /// - /// Asynchronously writes a value to the Mortor0AccumulatedSteps register. + /// Asynchronously writes a value to the Motor0AccumulatedSteps register. /// /// The value to be stored in the register. /// /// A which can be used to cancel the operation. /// /// The task object representing the asynchronous write operation. - public async Task WriteMortor0AccumulatedStepsAsync(int value, CancellationToken cancellationToken = default) + public async Task WriteMotor0AccumulatedStepsAsync(int value, CancellationToken cancellationToken = default) { - var request = Mortor0AccumulatedSteps.FromPayload(MessageType.Write, value); + var request = Motor0AccumulatedSteps.FromPayload(MessageType.Write, value); await CommandAsync(request, cancellationToken); } /// - /// Asynchronously reads the contents of the Mortor1AccumulatedSteps register. + /// Asynchronously reads the contents of the Motor1AccumulatedSteps register. /// /// /// A which can be used to cancel the operation. @@ -2748,14 +2748,14 @@ public async Task WriteMortor0AccumulatedStepsAsync(int value, CancellationToken /// A task that represents the asynchronous read operation. The /// property contains the register payload. /// - public async Task ReadMortor1AccumulatedStepsAsync(CancellationToken cancellationToken = default) + public async Task ReadMotor1AccumulatedStepsAsync(CancellationToken cancellationToken = default) { - var reply = await CommandAsync(HarpCommand.ReadInt32(Mortor1AccumulatedSteps.Address), cancellationToken); - return Mortor1AccumulatedSteps.GetPayload(reply); + var reply = await CommandAsync(HarpCommand.ReadInt32(Motor1AccumulatedSteps.Address), cancellationToken); + return Motor1AccumulatedSteps.GetPayload(reply); } /// - /// Asynchronously reads the timestamped contents of the Mortor1AccumulatedSteps register. + /// Asynchronously reads the timestamped contents of the Motor1AccumulatedSteps register. /// /// /// A which can be used to cancel the operation. @@ -2764,28 +2764,28 @@ public async Task ReadMortor1AccumulatedStepsAsync(CancellationToken cancel /// A task that represents the asynchronous read operation. The /// property contains the timestamped register payload. /// - public async Task> ReadTimestampedMortor1AccumulatedStepsAsync(CancellationToken cancellationToken = default) + public async Task> ReadTimestampedMotor1AccumulatedStepsAsync(CancellationToken cancellationToken = default) { - var reply = await CommandAsync(HarpCommand.ReadInt32(Mortor1AccumulatedSteps.Address), cancellationToken); - return Mortor1AccumulatedSteps.GetTimestampedPayload(reply); + var reply = await CommandAsync(HarpCommand.ReadInt32(Motor1AccumulatedSteps.Address), cancellationToken); + return Motor1AccumulatedSteps.GetTimestampedPayload(reply); } /// - /// Asynchronously writes a value to the Mortor1AccumulatedSteps register. + /// Asynchronously writes a value to the Motor1AccumulatedSteps register. /// /// The value to be stored in the register. /// /// A which can be used to cancel the operation. /// /// The task object representing the asynchronous write operation. - public async Task WriteMortor1AccumulatedStepsAsync(int value, CancellationToken cancellationToken = default) + public async Task WriteMotor1AccumulatedStepsAsync(int value, CancellationToken cancellationToken = default) { - var request = Mortor1AccumulatedSteps.FromPayload(MessageType.Write, value); + var request = Motor1AccumulatedSteps.FromPayload(MessageType.Write, value); await CommandAsync(request, cancellationToken); } /// - /// Asynchronously reads the contents of the Mortor2AccumulatedSteps register. + /// Asynchronously reads the contents of the Motor2AccumulatedSteps register. /// /// /// A which can be used to cancel the operation. @@ -2794,14 +2794,14 @@ public async Task WriteMortor1AccumulatedStepsAsync(int value, CancellationToken /// A task that represents the asynchronous read operation. The /// property contains the register payload. /// - public async Task ReadMortor2AccumulatedStepsAsync(CancellationToken cancellationToken = default) + public async Task ReadMotor2AccumulatedStepsAsync(CancellationToken cancellationToken = default) { - var reply = await CommandAsync(HarpCommand.ReadInt32(Mortor2AccumulatedSteps.Address), cancellationToken); - return Mortor2AccumulatedSteps.GetPayload(reply); + var reply = await CommandAsync(HarpCommand.ReadInt32(Motor2AccumulatedSteps.Address), cancellationToken); + return Motor2AccumulatedSteps.GetPayload(reply); } /// - /// Asynchronously reads the timestamped contents of the Mortor2AccumulatedSteps register. + /// Asynchronously reads the timestamped contents of the Motor2AccumulatedSteps register. /// /// /// A which can be used to cancel the operation. @@ -2810,28 +2810,28 @@ public async Task ReadMortor2AccumulatedStepsAsync(CancellationToken cancel /// A task that represents the asynchronous read operation. The /// property contains the timestamped register payload. /// - public async Task> ReadTimestampedMortor2AccumulatedStepsAsync(CancellationToken cancellationToken = default) + public async Task> ReadTimestampedMotor2AccumulatedStepsAsync(CancellationToken cancellationToken = default) { - var reply = await CommandAsync(HarpCommand.ReadInt32(Mortor2AccumulatedSteps.Address), cancellationToken); - return Mortor2AccumulatedSteps.GetTimestampedPayload(reply); + var reply = await CommandAsync(HarpCommand.ReadInt32(Motor2AccumulatedSteps.Address), cancellationToken); + return Motor2AccumulatedSteps.GetTimestampedPayload(reply); } /// - /// Asynchronously writes a value to the Mortor2AccumulatedSteps register. + /// Asynchronously writes a value to the Motor2AccumulatedSteps register. /// /// The value to be stored in the register. /// /// A which can be used to cancel the operation. /// /// The task object representing the asynchronous write operation. - public async Task WriteMortor2AccumulatedStepsAsync(int value, CancellationToken cancellationToken = default) + public async Task WriteMotor2AccumulatedStepsAsync(int value, CancellationToken cancellationToken = default) { - var request = Mortor2AccumulatedSteps.FromPayload(MessageType.Write, value); + var request = Motor2AccumulatedSteps.FromPayload(MessageType.Write, value); await CommandAsync(request, cancellationToken); } /// - /// Asynchronously reads the contents of the Mortor3AccumulatedSteps register. + /// Asynchronously reads the contents of the Motor3AccumulatedSteps register. /// /// /// A which can be used to cancel the operation. @@ -2840,14 +2840,14 @@ public async Task WriteMortor2AccumulatedStepsAsync(int value, CancellationToken /// A task that represents the asynchronous read operation. The /// property contains the register payload. /// - public async Task ReadMortor3AccumulatedStepsAsync(CancellationToken cancellationToken = default) + public async Task ReadMotor3AccumulatedStepsAsync(CancellationToken cancellationToken = default) { - var reply = await CommandAsync(HarpCommand.ReadInt32(Mortor3AccumulatedSteps.Address), cancellationToken); - return Mortor3AccumulatedSteps.GetPayload(reply); + var reply = await CommandAsync(HarpCommand.ReadInt32(Motor3AccumulatedSteps.Address), cancellationToken); + return Motor3AccumulatedSteps.GetPayload(reply); } /// - /// Asynchronously reads the timestamped contents of the Mortor3AccumulatedSteps register. + /// Asynchronously reads the timestamped contents of the Motor3AccumulatedSteps register. /// /// /// A which can be used to cancel the operation. @@ -2856,23 +2856,23 @@ public async Task ReadMortor3AccumulatedStepsAsync(CancellationToken cancel /// A task that represents the asynchronous read operation. The /// property contains the timestamped register payload. /// - public async Task> ReadTimestampedMortor3AccumulatedStepsAsync(CancellationToken cancellationToken = default) + public async Task> ReadTimestampedMotor3AccumulatedStepsAsync(CancellationToken cancellationToken = default) { - var reply = await CommandAsync(HarpCommand.ReadInt32(Mortor3AccumulatedSteps.Address), cancellationToken); - return Mortor3AccumulatedSteps.GetTimestampedPayload(reply); + var reply = await CommandAsync(HarpCommand.ReadInt32(Motor3AccumulatedSteps.Address), cancellationToken); + return Motor3AccumulatedSteps.GetTimestampedPayload(reply); } /// - /// Asynchronously writes a value to the Mortor3AccumulatedSteps register. + /// Asynchronously writes a value to the Motor3AccumulatedSteps register. /// /// The value to be stored in the register. /// /// A which can be used to cancel the operation. /// /// The task object representing the asynchronous write operation. - public async Task WriteMortor3AccumulatedStepsAsync(int value, CancellationToken cancellationToken = default) + public async Task WriteMotor3AccumulatedStepsAsync(int value, CancellationToken cancellationToken = default) { - var request = Mortor3AccumulatedSteps.FromPayload(MessageType.Write, value); + var request = Motor3AccumulatedSteps.FromPayload(MessageType.Write, value); await CommandAsync(request, cancellationToken); } diff --git a/Interface/Harp.StepperDriver/Device.Generated.cs b/Interface/Harp.StepperDriver/Device.Generated.cs index c989e8d..11856d6 100644 --- a/Interface/Harp.StepperDriver/Device.Generated.cs +++ b/Interface/Harp.StepperDriver/Device.Generated.cs @@ -96,10 +96,10 @@ public Device() : base(WhoAmI) { } { 88, typeof(Motor2MoveAbsolute) }, { 89, typeof(Motor3MoveAbsolute) }, { 90, typeof(AccumulatedSteps) }, - { 91, typeof(Mortor0AccumulatedSteps) }, - { 92, typeof(Mortor1AccumulatedSteps) }, - { 93, typeof(Mortor2AccumulatedSteps) }, - { 94, typeof(Mortor3AccumulatedSteps) }, + { 91, typeof(Motor0AccumulatedSteps) }, + { 92, typeof(Motor1AccumulatedSteps) }, + { 93, typeof(Motor2AccumulatedSteps) }, + { 94, typeof(Motor3AccumulatedSteps) }, { 95, typeof(MaxPosition) }, { 96, typeof(Motor0MaxPosition) }, { 97, typeof(Motor1MaxPosition) }, @@ -418,10 +418,10 @@ public IObservable> Process(IObservable /// /// - /// - /// - /// - /// + /// + /// + /// + /// /// /// /// @@ -509,10 +509,10 @@ public IObservable> Process(IObservable /// /// - /// - /// - /// - /// + /// + /// + /// + /// /// /// /// @@ -712,10 +712,10 @@ string INamedElement.Name [XmlInclude(typeof(Motor2MoveAbsolute))] [XmlInclude(typeof(Motor3MoveAbsolute))] [XmlInclude(typeof(AccumulatedSteps))] - [XmlInclude(typeof(Mortor0AccumulatedSteps))] - [XmlInclude(typeof(Mortor1AccumulatedSteps))] - [XmlInclude(typeof(Mortor2AccumulatedSteps))] - [XmlInclude(typeof(Mortor3AccumulatedSteps))] + [XmlInclude(typeof(Motor0AccumulatedSteps))] + [XmlInclude(typeof(Motor1AccumulatedSteps))] + [XmlInclude(typeof(Motor2AccumulatedSteps))] + [XmlInclude(typeof(Motor3AccumulatedSteps))] [XmlInclude(typeof(MaxPosition))] [XmlInclude(typeof(Motor0MaxPosition))] [XmlInclude(typeof(Motor1MaxPosition))] @@ -803,10 +803,10 @@ string INamedElement.Name [XmlInclude(typeof(TimestampedMotor2MoveAbsolute))] [XmlInclude(typeof(TimestampedMotor3MoveAbsolute))] [XmlInclude(typeof(TimestampedAccumulatedSteps))] - [XmlInclude(typeof(TimestampedMortor0AccumulatedSteps))] - [XmlInclude(typeof(TimestampedMortor1AccumulatedSteps))] - [XmlInclude(typeof(TimestampedMortor2AccumulatedSteps))] - [XmlInclude(typeof(TimestampedMortor3AccumulatedSteps))] + [XmlInclude(typeof(TimestampedMotor0AccumulatedSteps))] + [XmlInclude(typeof(TimestampedMotor1AccumulatedSteps))] + [XmlInclude(typeof(TimestampedMotor2AccumulatedSteps))] + [XmlInclude(typeof(TimestampedMotor3AccumulatedSteps))] [XmlInclude(typeof(TimestampedMaxPosition))] [XmlInclude(typeof(TimestampedMotor0MaxPosition))] [XmlInclude(typeof(TimestampedMotor1MaxPosition))] @@ -912,10 +912,10 @@ public Parse() /// /// /// - /// - /// - /// - /// + /// + /// + /// + /// /// /// /// @@ -1003,10 +1003,10 @@ public Parse() [XmlInclude(typeof(Motor2MoveAbsolute))] [XmlInclude(typeof(Motor3MoveAbsolute))] [XmlInclude(typeof(AccumulatedSteps))] - [XmlInclude(typeof(Mortor0AccumulatedSteps))] - [XmlInclude(typeof(Mortor1AccumulatedSteps))] - [XmlInclude(typeof(Mortor2AccumulatedSteps))] - [XmlInclude(typeof(Mortor3AccumulatedSteps))] + [XmlInclude(typeof(Motor0AccumulatedSteps))] + [XmlInclude(typeof(Motor1AccumulatedSteps))] + [XmlInclude(typeof(Motor2AccumulatedSteps))] + [XmlInclude(typeof(Motor3AccumulatedSteps))] [XmlInclude(typeof(MaxPosition))] [XmlInclude(typeof(Motor0MaxPosition))] [XmlInclude(typeof(Motor1MaxPosition))] @@ -6850,25 +6850,25 @@ public static Timestamped GetPayload(HarpMessage messag /// Represents a register that contains the accumulated number of steps of motor 0. Write a value to set the current number of accumulated steps. /// [Description("Contains the accumulated number of steps of motor 0. Write a value to set the current number of accumulated steps.")] - public partial class Mortor0AccumulatedSteps + public partial class Motor0AccumulatedSteps { /// - /// Represents the address of the register. This field is constant. + /// Represents the address of the register. This field is constant. /// public const int Address = 91; /// - /// Represents the payload type of the register. This field is constant. + /// Represents the payload type of the register. This field is constant. /// public const PayloadType RegisterType = PayloadType.S32; /// - /// Represents the length of the register. This field is constant. + /// Represents the length of the register. This field is constant. /// public const int RegisterLength = 1; /// - /// Returns the payload data for register messages. + /// Returns the payload data for register messages. /// /// A object representing the register message. /// A value representing the message payload. @@ -6878,7 +6878,7 @@ public static int GetPayload(HarpMessage message) } /// - /// Returns the timestamped payload data for register messages. + /// Returns the timestamped payload data for register messages. /// /// A object representing the register message. /// A value representing the timestamped message payload. @@ -6888,12 +6888,12 @@ public static Timestamped GetTimestampedPayload(HarpMessage message) } /// - /// Returns a Harp message for the register. + /// Returns a Harp message for the register. /// /// The type of the Harp message. /// The value to be stored in the message payload. /// - /// A object for the register + /// A object for the register /// with the specified message type and payload. /// public static HarpMessage FromPayload(MessageType messageType, int value) @@ -6902,14 +6902,14 @@ public static HarpMessage FromPayload(MessageType messageType, int value) } /// - /// Returns a timestamped Harp message for the + /// Returns a timestamped Harp message for the /// register. /// /// The timestamp of the message payload, in seconds. /// The type of the Harp message. /// The value to be stored in the message payload. /// - /// A object for the register + /// A object for the register /// with the specified message type, timestamp, and payload. /// public static HarpMessage FromPayload(double timestamp, MessageType messageType, int value) @@ -6920,25 +6920,25 @@ public static HarpMessage FromPayload(double timestamp, MessageType messageType, /// /// Provides methods for manipulating timestamped messages from the - /// Mortor0AccumulatedSteps register. + /// Motor0AccumulatedSteps register. /// - /// - [Description("Filters and selects timestamped messages from the Mortor0AccumulatedSteps register.")] - public partial class TimestampedMortor0AccumulatedSteps + /// + [Description("Filters and selects timestamped messages from the Motor0AccumulatedSteps register.")] + public partial class TimestampedMotor0AccumulatedSteps { /// - /// Represents the address of the register. This field is constant. + /// Represents the address of the register. This field is constant. /// - public const int Address = Mortor0AccumulatedSteps.Address; + public const int Address = Motor0AccumulatedSteps.Address; /// - /// Returns timestamped payload data for register messages. + /// Returns timestamped payload data for register messages. /// /// A object representing the register message. /// A value representing the timestamped message payload. public static Timestamped GetPayload(HarpMessage message) { - return Mortor0AccumulatedSteps.GetTimestampedPayload(message); + return Motor0AccumulatedSteps.GetTimestampedPayload(message); } } @@ -6946,25 +6946,25 @@ public static Timestamped GetPayload(HarpMessage message) /// Represents a register that contains the accumulated number of steps of motor 1. Write a value to set the current number of accumulated steps. /// [Description("Contains the accumulated number of steps of motor 1. Write a value to set the current number of accumulated steps.")] - public partial class Mortor1AccumulatedSteps + public partial class Motor1AccumulatedSteps { /// - /// Represents the address of the register. This field is constant. + /// Represents the address of the register. This field is constant. /// public const int Address = 92; /// - /// Represents the payload type of the register. This field is constant. + /// Represents the payload type of the register. This field is constant. /// public const PayloadType RegisterType = PayloadType.S32; /// - /// Represents the length of the register. This field is constant. + /// Represents the length of the register. This field is constant. /// public const int RegisterLength = 1; /// - /// Returns the payload data for register messages. + /// Returns the payload data for register messages. /// /// A object representing the register message. /// A value representing the message payload. @@ -6974,7 +6974,7 @@ public static int GetPayload(HarpMessage message) } /// - /// Returns the timestamped payload data for register messages. + /// Returns the timestamped payload data for register messages. /// /// A object representing the register message. /// A value representing the timestamped message payload. @@ -6984,12 +6984,12 @@ public static Timestamped GetTimestampedPayload(HarpMessage message) } /// - /// Returns a Harp message for the register. + /// Returns a Harp message for the register. /// /// The type of the Harp message. /// The value to be stored in the message payload. /// - /// A object for the register + /// A object for the register /// with the specified message type and payload. /// public static HarpMessage FromPayload(MessageType messageType, int value) @@ -6998,14 +6998,14 @@ public static HarpMessage FromPayload(MessageType messageType, int value) } /// - /// Returns a timestamped Harp message for the + /// Returns a timestamped Harp message for the /// register. /// /// The timestamp of the message payload, in seconds. /// The type of the Harp message. /// The value to be stored in the message payload. /// - /// A object for the register + /// A object for the register /// with the specified message type, timestamp, and payload. /// public static HarpMessage FromPayload(double timestamp, MessageType messageType, int value) @@ -7016,25 +7016,25 @@ public static HarpMessage FromPayload(double timestamp, MessageType messageType, /// /// Provides methods for manipulating timestamped messages from the - /// Mortor1AccumulatedSteps register. + /// Motor1AccumulatedSteps register. /// - /// - [Description("Filters and selects timestamped messages from the Mortor1AccumulatedSteps register.")] - public partial class TimestampedMortor1AccumulatedSteps + /// + [Description("Filters and selects timestamped messages from the Motor1AccumulatedSteps register.")] + public partial class TimestampedMotor1AccumulatedSteps { /// - /// Represents the address of the register. This field is constant. + /// Represents the address of the register. This field is constant. /// - public const int Address = Mortor1AccumulatedSteps.Address; + public const int Address = Motor1AccumulatedSteps.Address; /// - /// Returns timestamped payload data for register messages. + /// Returns timestamped payload data for register messages. /// /// A object representing the register message. /// A value representing the timestamped message payload. public static Timestamped GetPayload(HarpMessage message) { - return Mortor1AccumulatedSteps.GetTimestampedPayload(message); + return Motor1AccumulatedSteps.GetTimestampedPayload(message); } } @@ -7042,25 +7042,25 @@ public static Timestamped GetPayload(HarpMessage message) /// Represents a register that contains the accumulated number of steps of motor 2. Write a value to set the current number of accumulated steps. /// [Description("Contains the accumulated number of steps of motor 2. Write a value to set the current number of accumulated steps.")] - public partial class Mortor2AccumulatedSteps + public partial class Motor2AccumulatedSteps { /// - /// Represents the address of the register. This field is constant. + /// Represents the address of the register. This field is constant. /// public const int Address = 93; /// - /// Represents the payload type of the register. This field is constant. + /// Represents the payload type of the register. This field is constant. /// public const PayloadType RegisterType = PayloadType.S32; /// - /// Represents the length of the register. This field is constant. + /// Represents the length of the register. This field is constant. /// public const int RegisterLength = 1; /// - /// Returns the payload data for register messages. + /// Returns the payload data for register messages. /// /// A object representing the register message. /// A value representing the message payload. @@ -7070,7 +7070,7 @@ public static int GetPayload(HarpMessage message) } /// - /// Returns the timestamped payload data for register messages. + /// Returns the timestamped payload data for register messages. /// /// A object representing the register message. /// A value representing the timestamped message payload. @@ -7080,12 +7080,12 @@ public static Timestamped GetTimestampedPayload(HarpMessage message) } /// - /// Returns a Harp message for the register. + /// Returns a Harp message for the register. /// /// The type of the Harp message. /// The value to be stored in the message payload. /// - /// A object for the register + /// A object for the register /// with the specified message type and payload. /// public static HarpMessage FromPayload(MessageType messageType, int value) @@ -7094,14 +7094,14 @@ public static HarpMessage FromPayload(MessageType messageType, int value) } /// - /// Returns a timestamped Harp message for the + /// Returns a timestamped Harp message for the /// register. /// /// The timestamp of the message payload, in seconds. /// The type of the Harp message. /// The value to be stored in the message payload. /// - /// A object for the register + /// A object for the register /// with the specified message type, timestamp, and payload. /// public static HarpMessage FromPayload(double timestamp, MessageType messageType, int value) @@ -7112,25 +7112,25 @@ public static HarpMessage FromPayload(double timestamp, MessageType messageType, /// /// Provides methods for manipulating timestamped messages from the - /// Mortor2AccumulatedSteps register. + /// Motor2AccumulatedSteps register. /// - /// - [Description("Filters and selects timestamped messages from the Mortor2AccumulatedSteps register.")] - public partial class TimestampedMortor2AccumulatedSteps + /// + [Description("Filters and selects timestamped messages from the Motor2AccumulatedSteps register.")] + public partial class TimestampedMotor2AccumulatedSteps { /// - /// Represents the address of the register. This field is constant. + /// Represents the address of the register. This field is constant. /// - public const int Address = Mortor2AccumulatedSteps.Address; + public const int Address = Motor2AccumulatedSteps.Address; /// - /// Returns timestamped payload data for register messages. + /// Returns timestamped payload data for register messages. /// /// A object representing the register message. /// A value representing the timestamped message payload. public static Timestamped GetPayload(HarpMessage message) { - return Mortor2AccumulatedSteps.GetTimestampedPayload(message); + return Motor2AccumulatedSteps.GetTimestampedPayload(message); } } @@ -7138,25 +7138,25 @@ public static Timestamped GetPayload(HarpMessage message) /// Represents a register that contains the accumulated number of steps of motor 3. Write a value to set the current number of accumulated steps. /// [Description("Contains the accumulated number of steps of motor 3. Write a value to set the current number of accumulated steps.")] - public partial class Mortor3AccumulatedSteps + public partial class Motor3AccumulatedSteps { /// - /// Represents the address of the register. This field is constant. + /// Represents the address of the register. This field is constant. /// public const int Address = 94; /// - /// Represents the payload type of the register. This field is constant. + /// Represents the payload type of the register. This field is constant. /// public const PayloadType RegisterType = PayloadType.S32; /// - /// Represents the length of the register. This field is constant. + /// Represents the length of the register. This field is constant. /// public const int RegisterLength = 1; /// - /// Returns the payload data for register messages. + /// Returns the payload data for register messages. /// /// A object representing the register message. /// A value representing the message payload. @@ -7166,7 +7166,7 @@ public static int GetPayload(HarpMessage message) } /// - /// Returns the timestamped payload data for register messages. + /// Returns the timestamped payload data for register messages. /// /// A object representing the register message. /// A value representing the timestamped message payload. @@ -7176,12 +7176,12 @@ public static Timestamped GetTimestampedPayload(HarpMessage message) } /// - /// Returns a Harp message for the register. + /// Returns a Harp message for the register. /// /// The type of the Harp message. /// The value to be stored in the message payload. /// - /// A object for the register + /// A object for the register /// with the specified message type and payload. /// public static HarpMessage FromPayload(MessageType messageType, int value) @@ -7190,14 +7190,14 @@ public static HarpMessage FromPayload(MessageType messageType, int value) } /// - /// Returns a timestamped Harp message for the + /// Returns a timestamped Harp message for the /// register. /// /// The timestamp of the message payload, in seconds. /// The type of the Harp message. /// The value to be stored in the message payload. /// - /// A object for the register + /// A object for the register /// with the specified message type, timestamp, and payload. /// public static HarpMessage FromPayload(double timestamp, MessageType messageType, int value) @@ -7208,25 +7208,25 @@ public static HarpMessage FromPayload(double timestamp, MessageType messageType, /// /// Provides methods for manipulating timestamped messages from the - /// Mortor3AccumulatedSteps register. + /// Motor3AccumulatedSteps register. /// - /// - [Description("Filters and selects timestamped messages from the Mortor3AccumulatedSteps register.")] - public partial class TimestampedMortor3AccumulatedSteps + /// + [Description("Filters and selects timestamped messages from the Motor3AccumulatedSteps register.")] + public partial class TimestampedMotor3AccumulatedSteps { /// - /// Represents the address of the register. This field is constant. + /// Represents the address of the register. This field is constant. /// - public const int Address = Mortor3AccumulatedSteps.Address; + public const int Address = Motor3AccumulatedSteps.Address; /// - /// Returns timestamped payload data for register messages. + /// Returns timestamped payload data for register messages. /// /// A object representing the register message. /// A value representing the timestamped message payload. public static Timestamped GetPayload(HarpMessage message) { - return Mortor3AccumulatedSteps.GetTimestampedPayload(message); + return Motor3AccumulatedSteps.GetTimestampedPayload(message); } } @@ -10446,10 +10446,10 @@ public static Timestamped GetPayload(HarpMessage message) /// /// /// - /// - /// - /// - /// + /// + /// + /// + /// /// /// /// @@ -10537,10 +10537,10 @@ public static Timestamped GetPayload(HarpMessage message) [XmlInclude(typeof(CreateMotor2MoveAbsolutePayload))] [XmlInclude(typeof(CreateMotor3MoveAbsolutePayload))] [XmlInclude(typeof(CreateAccumulatedStepsPayload))] - [XmlInclude(typeof(CreateMortor0AccumulatedStepsPayload))] - [XmlInclude(typeof(CreateMortor1AccumulatedStepsPayload))] - [XmlInclude(typeof(CreateMortor2AccumulatedStepsPayload))] - [XmlInclude(typeof(CreateMortor3AccumulatedStepsPayload))] + [XmlInclude(typeof(CreateMotor0AccumulatedStepsPayload))] + [XmlInclude(typeof(CreateMotor1AccumulatedStepsPayload))] + [XmlInclude(typeof(CreateMotor2AccumulatedStepsPayload))] + [XmlInclude(typeof(CreateMotor3AccumulatedStepsPayload))] [XmlInclude(typeof(CreateMaxPositionPayload))] [XmlInclude(typeof(CreateMotor0MaxPositionPayload))] [XmlInclude(typeof(CreateMotor1MaxPositionPayload))] @@ -10628,10 +10628,10 @@ public static Timestamped GetPayload(HarpMessage message) [XmlInclude(typeof(CreateTimestampedMotor2MoveAbsolutePayload))] [XmlInclude(typeof(CreateTimestampedMotor3MoveAbsolutePayload))] [XmlInclude(typeof(CreateTimestampedAccumulatedStepsPayload))] - [XmlInclude(typeof(CreateTimestampedMortor0AccumulatedStepsPayload))] - [XmlInclude(typeof(CreateTimestampedMortor1AccumulatedStepsPayload))] - [XmlInclude(typeof(CreateTimestampedMortor2AccumulatedStepsPayload))] - [XmlInclude(typeof(CreateTimestampedMortor3AccumulatedStepsPayload))] + [XmlInclude(typeof(CreateTimestampedMotor0AccumulatedStepsPayload))] + [XmlInclude(typeof(CreateTimestampedMotor1AccumulatedStepsPayload))] + [XmlInclude(typeof(CreateTimestampedMotor2AccumulatedStepsPayload))] + [XmlInclude(typeof(CreateTimestampedMotor3AccumulatedStepsPayload))] [XmlInclude(typeof(CreateTimestampedMaxPositionPayload))] [XmlInclude(typeof(CreateTimestampedMotor0MaxPositionPayload))] [XmlInclude(typeof(CreateTimestampedMotor1MaxPositionPayload))] @@ -13990,33 +13990,33 @@ public HarpMessage GetMessage(double timestamp, MessageType messageType) /// Represents an operator that creates a message payload /// that contains the accumulated number of steps of motor 0. Write a value to set the current number of accumulated steps. /// - [DisplayName("Mortor0AccumulatedStepsPayload")] + [DisplayName("Motor0AccumulatedStepsPayload")] [Description("Creates a message payload that contains the accumulated number of steps of motor 0. Write a value to set the current number of accumulated steps.")] - public partial class CreateMortor0AccumulatedStepsPayload + public partial class CreateMotor0AccumulatedStepsPayload { /// /// Gets or sets the value that contains the accumulated number of steps of motor 0. Write a value to set the current number of accumulated steps. /// [Description("The value that contains the accumulated number of steps of motor 0. Write a value to set the current number of accumulated steps.")] - public int Mortor0AccumulatedSteps { get; set; } + public int Motor0AccumulatedSteps { get; set; } /// - /// Creates a message payload for the Mortor0AccumulatedSteps register. + /// Creates a message payload for the Motor0AccumulatedSteps register. /// /// The created message payload value. public int GetPayload() { - return Mortor0AccumulatedSteps; + return Motor0AccumulatedSteps; } /// /// Creates a message that contains the accumulated number of steps of motor 0. Write a value to set the current number of accumulated steps. /// /// Specifies the type of the created message. - /// A new message for the Mortor0AccumulatedSteps register. + /// A new message for the Motor0AccumulatedSteps register. public HarpMessage GetMessage(MessageType messageType) { - return Harp.StepperDriver.Mortor0AccumulatedSteps.FromPayload(messageType, GetPayload()); + return Harp.StepperDriver.Motor0AccumulatedSteps.FromPayload(messageType, GetPayload()); } } @@ -14024,19 +14024,19 @@ public HarpMessage GetMessage(MessageType messageType) /// Represents an operator that creates a timestamped message payload /// that contains the accumulated number of steps of motor 0. Write a value to set the current number of accumulated steps. /// - [DisplayName("TimestampedMortor0AccumulatedStepsPayload")] + [DisplayName("TimestampedMotor0AccumulatedStepsPayload")] [Description("Creates a timestamped message payload that contains the accumulated number of steps of motor 0. Write a value to set the current number of accumulated steps.")] - public partial class CreateTimestampedMortor0AccumulatedStepsPayload : CreateMortor0AccumulatedStepsPayload + public partial class CreateTimestampedMotor0AccumulatedStepsPayload : CreateMotor0AccumulatedStepsPayload { /// /// Creates a timestamped message that contains the accumulated number of steps of motor 0. Write a value to set the current number of accumulated steps. /// /// The timestamp of the message payload, in seconds. /// Specifies the type of the created message. - /// A new timestamped message for the Mortor0AccumulatedSteps register. + /// A new timestamped message for the Motor0AccumulatedSteps register. public HarpMessage GetMessage(double timestamp, MessageType messageType) { - return Harp.StepperDriver.Mortor0AccumulatedSteps.FromPayload(timestamp, messageType, GetPayload()); + return Harp.StepperDriver.Motor0AccumulatedSteps.FromPayload(timestamp, messageType, GetPayload()); } } @@ -14044,33 +14044,33 @@ public HarpMessage GetMessage(double timestamp, MessageType messageType) /// Represents an operator that creates a message payload /// that contains the accumulated number of steps of motor 1. Write a value to set the current number of accumulated steps. /// - [DisplayName("Mortor1AccumulatedStepsPayload")] + [DisplayName("Motor1AccumulatedStepsPayload")] [Description("Creates a message payload that contains the accumulated number of steps of motor 1. Write a value to set the current number of accumulated steps.")] - public partial class CreateMortor1AccumulatedStepsPayload + public partial class CreateMotor1AccumulatedStepsPayload { /// /// Gets or sets the value that contains the accumulated number of steps of motor 1. Write a value to set the current number of accumulated steps. /// [Description("The value that contains the accumulated number of steps of motor 1. Write a value to set the current number of accumulated steps.")] - public int Mortor1AccumulatedSteps { get; set; } + public int Motor1AccumulatedSteps { get; set; } /// - /// Creates a message payload for the Mortor1AccumulatedSteps register. + /// Creates a message payload for the Motor1AccumulatedSteps register. /// /// The created message payload value. public int GetPayload() { - return Mortor1AccumulatedSteps; + return Motor1AccumulatedSteps; } /// /// Creates a message that contains the accumulated number of steps of motor 1. Write a value to set the current number of accumulated steps. /// /// Specifies the type of the created message. - /// A new message for the Mortor1AccumulatedSteps register. + /// A new message for the Motor1AccumulatedSteps register. public HarpMessage GetMessage(MessageType messageType) { - return Harp.StepperDriver.Mortor1AccumulatedSteps.FromPayload(messageType, GetPayload()); + return Harp.StepperDriver.Motor1AccumulatedSteps.FromPayload(messageType, GetPayload()); } } @@ -14078,19 +14078,19 @@ public HarpMessage GetMessage(MessageType messageType) /// Represents an operator that creates a timestamped message payload /// that contains the accumulated number of steps of motor 1. Write a value to set the current number of accumulated steps. /// - [DisplayName("TimestampedMortor1AccumulatedStepsPayload")] + [DisplayName("TimestampedMotor1AccumulatedStepsPayload")] [Description("Creates a timestamped message payload that contains the accumulated number of steps of motor 1. Write a value to set the current number of accumulated steps.")] - public partial class CreateTimestampedMortor1AccumulatedStepsPayload : CreateMortor1AccumulatedStepsPayload + public partial class CreateTimestampedMotor1AccumulatedStepsPayload : CreateMotor1AccumulatedStepsPayload { /// /// Creates a timestamped message that contains the accumulated number of steps of motor 1. Write a value to set the current number of accumulated steps. /// /// The timestamp of the message payload, in seconds. /// Specifies the type of the created message. - /// A new timestamped message for the Mortor1AccumulatedSteps register. + /// A new timestamped message for the Motor1AccumulatedSteps register. public HarpMessage GetMessage(double timestamp, MessageType messageType) { - return Harp.StepperDriver.Mortor1AccumulatedSteps.FromPayload(timestamp, messageType, GetPayload()); + return Harp.StepperDriver.Motor1AccumulatedSteps.FromPayload(timestamp, messageType, GetPayload()); } } @@ -14098,33 +14098,33 @@ public HarpMessage GetMessage(double timestamp, MessageType messageType) /// Represents an operator that creates a message payload /// that contains the accumulated number of steps of motor 2. Write a value to set the current number of accumulated steps. /// - [DisplayName("Mortor2AccumulatedStepsPayload")] + [DisplayName("Motor2AccumulatedStepsPayload")] [Description("Creates a message payload that contains the accumulated number of steps of motor 2. Write a value to set the current number of accumulated steps.")] - public partial class CreateMortor2AccumulatedStepsPayload + public partial class CreateMotor2AccumulatedStepsPayload { /// /// Gets or sets the value that contains the accumulated number of steps of motor 2. Write a value to set the current number of accumulated steps. /// [Description("The value that contains the accumulated number of steps of motor 2. Write a value to set the current number of accumulated steps.")] - public int Mortor2AccumulatedSteps { get; set; } + public int Motor2AccumulatedSteps { get; set; } /// - /// Creates a message payload for the Mortor2AccumulatedSteps register. + /// Creates a message payload for the Motor2AccumulatedSteps register. /// /// The created message payload value. public int GetPayload() { - return Mortor2AccumulatedSteps; + return Motor2AccumulatedSteps; } /// /// Creates a message that contains the accumulated number of steps of motor 2. Write a value to set the current number of accumulated steps. /// /// Specifies the type of the created message. - /// A new message for the Mortor2AccumulatedSteps register. + /// A new message for the Motor2AccumulatedSteps register. public HarpMessage GetMessage(MessageType messageType) { - return Harp.StepperDriver.Mortor2AccumulatedSteps.FromPayload(messageType, GetPayload()); + return Harp.StepperDriver.Motor2AccumulatedSteps.FromPayload(messageType, GetPayload()); } } @@ -14132,19 +14132,19 @@ public HarpMessage GetMessage(MessageType messageType) /// Represents an operator that creates a timestamped message payload /// that contains the accumulated number of steps of motor 2. Write a value to set the current number of accumulated steps. /// - [DisplayName("TimestampedMortor2AccumulatedStepsPayload")] + [DisplayName("TimestampedMotor2AccumulatedStepsPayload")] [Description("Creates a timestamped message payload that contains the accumulated number of steps of motor 2. Write a value to set the current number of accumulated steps.")] - public partial class CreateTimestampedMortor2AccumulatedStepsPayload : CreateMortor2AccumulatedStepsPayload + public partial class CreateTimestampedMotor2AccumulatedStepsPayload : CreateMotor2AccumulatedStepsPayload { /// /// Creates a timestamped message that contains the accumulated number of steps of motor 2. Write a value to set the current number of accumulated steps. /// /// The timestamp of the message payload, in seconds. /// Specifies the type of the created message. - /// A new timestamped message for the Mortor2AccumulatedSteps register. + /// A new timestamped message for the Motor2AccumulatedSteps register. public HarpMessage GetMessage(double timestamp, MessageType messageType) { - return Harp.StepperDriver.Mortor2AccumulatedSteps.FromPayload(timestamp, messageType, GetPayload()); + return Harp.StepperDriver.Motor2AccumulatedSteps.FromPayload(timestamp, messageType, GetPayload()); } } @@ -14152,33 +14152,33 @@ public HarpMessage GetMessage(double timestamp, MessageType messageType) /// Represents an operator that creates a message payload /// that contains the accumulated number of steps of motor 3. Write a value to set the current number of accumulated steps. /// - [DisplayName("Mortor3AccumulatedStepsPayload")] + [DisplayName("Motor3AccumulatedStepsPayload")] [Description("Creates a message payload that contains the accumulated number of steps of motor 3. Write a value to set the current number of accumulated steps.")] - public partial class CreateMortor3AccumulatedStepsPayload + public partial class CreateMotor3AccumulatedStepsPayload { /// /// Gets or sets the value that contains the accumulated number of steps of motor 3. Write a value to set the current number of accumulated steps. /// [Description("The value that contains the accumulated number of steps of motor 3. Write a value to set the current number of accumulated steps.")] - public int Mortor3AccumulatedSteps { get; set; } + public int Motor3AccumulatedSteps { get; set; } /// - /// Creates a message payload for the Mortor3AccumulatedSteps register. + /// Creates a message payload for the Motor3AccumulatedSteps register. /// /// The created message payload value. public int GetPayload() { - return Mortor3AccumulatedSteps; + return Motor3AccumulatedSteps; } /// /// Creates a message that contains the accumulated number of steps of motor 3. Write a value to set the current number of accumulated steps. /// /// Specifies the type of the created message. - /// A new message for the Mortor3AccumulatedSteps register. + /// A new message for the Motor3AccumulatedSteps register. public HarpMessage GetMessage(MessageType messageType) { - return Harp.StepperDriver.Mortor3AccumulatedSteps.FromPayload(messageType, GetPayload()); + return Harp.StepperDriver.Motor3AccumulatedSteps.FromPayload(messageType, GetPayload()); } } @@ -14186,19 +14186,19 @@ public HarpMessage GetMessage(MessageType messageType) /// Represents an operator that creates a timestamped message payload /// that contains the accumulated number of steps of motor 3. Write a value to set the current number of accumulated steps. /// - [DisplayName("TimestampedMortor3AccumulatedStepsPayload")] + [DisplayName("TimestampedMotor3AccumulatedStepsPayload")] [Description("Creates a timestamped message payload that contains the accumulated number of steps of motor 3. Write a value to set the current number of accumulated steps.")] - public partial class CreateTimestampedMortor3AccumulatedStepsPayload : CreateMortor3AccumulatedStepsPayload + public partial class CreateTimestampedMotor3AccumulatedStepsPayload : CreateMotor3AccumulatedStepsPayload { /// /// Creates a timestamped message that contains the accumulated number of steps of motor 3. Write a value to set the current number of accumulated steps. /// /// The timestamp of the message payload, in seconds. /// Specifies the type of the created message. - /// A new timestamped message for the Mortor3AccumulatedSteps register. + /// A new timestamped message for the Motor3AccumulatedSteps register. public HarpMessage GetMessage(double timestamp, MessageType messageType) { - return Harp.StepperDriver.Mortor3AccumulatedSteps.FromPayload(timestamp, messageType, GetPayload()); + return Harp.StepperDriver.Motor3AccumulatedSteps.FromPayload(timestamp, messageType, GetPayload()); } } diff --git a/device.yml b/device.yml index a282400..9f2e119 100644 --- a/device.yml +++ b/device.yml @@ -396,20 +396,20 @@ registers: offset: 3 description: Contains the accumulated steps of motor 3. - Mortor0AccumulatedSteps: &motorsaccumulatedsteps + Motor0AccumulatedSteps: &motorsaccumulatedsteps address: 91 type: S32 access: Write description: Contains the accumulated number of steps of motor 0. Write a value to set the current number of accumulated steps. - Mortor1AccumulatedSteps: + Motor1AccumulatedSteps: <<: *motorsaccumulatedsteps address: 92 description: Contains the accumulated number of steps of motor 1. Write a value to set the current number of accumulated steps. - Mortor2AccumulatedSteps: + Motor2AccumulatedSteps: <<: *motorsaccumulatedsteps address: 93 description: Contains the accumulated number of steps of motor 2. Write a value to set the current number of accumulated steps. - Mortor3AccumulatedSteps: + Motor3AccumulatedSteps: <<: *motorsaccumulatedsteps address: 94 description: Contains the accumulated number of steps of motor 3. Write a value to set the current number of accumulated steps. From c3f01e918948bc699980c35d205ca10ec5cfb791 Mon Sep 17 00:00:00 2001 From: Shawn Tan Date: Thu, 26 Feb 2026 13:36:41 -0800 Subject: [PATCH 3/3] Fix units for QuickMovement registers --- .../Harp.StepperDriver/Device.Generated.cs | 80 +++++++++---------- device.yml | 8 +- 2 files changed, 44 insertions(+), 44 deletions(-) diff --git a/Interface/Harp.StepperDriver/Device.Generated.cs b/Interface/Harp.StepperDriver/Device.Generated.cs index 11856d6..42e7727 100644 --- a/Interface/Harp.StepperDriver/Device.Generated.cs +++ b/Interface/Harp.StepperDriver/Device.Generated.cs @@ -9424,9 +9424,9 @@ public static Timestamped GetPayload(HarpMessage message) } /// - /// Represents a register that sets the single pulse distance for a quick movement, in millimeters, for the Motor 1. + /// Represents a register that sets the single step pulse distance for a quick movement, in micrometers, for the Motor 1. /// - [Description("Sets the single pulse distance for a quick movement, in millimeters, for the Motor 1.")] + [Description("Sets the single step pulse distance for a quick movement, in micrometers, for the Motor 1.")] public partial class Motor1QuickMovementPulseDistance { /// @@ -9520,9 +9520,9 @@ public static Timestamped GetPayload(HarpMessage message) } /// - /// Represents a register that sets the single pulse distance for a quick movement, in millimeters, for the Motor 2. + /// Represents a register that sets the single step pulse distance for a quick movement, in micrometers, for the Motor 2. /// - [Description("Sets the single pulse distance for a quick movement, in millimeters, for the Motor 2.")] + [Description("Sets the single step pulse distance for a quick movement, in micrometers, for the Motor 2.")] public partial class Motor2QuickMovementPulseDistance { /// @@ -10000,9 +10000,9 @@ public static Timestamped GetPayload(HarpMessage message) } /// - /// Represents a register that sets the acceleration for a quick movement, in millimeters per second^2, for the Motor 1. + /// Represents a register that sets the acceleration for a quick movement, in meters per second^2, for the Motor 1. /// - [Description("Sets the acceleration for a quick movement, in millimeters per second^2, for the Motor 1.")] + [Description("Sets the acceleration for a quick movement, in meters per second^2, for the Motor 1.")] public partial class Motor1QuickMovementAcceleration { /// @@ -10096,9 +10096,9 @@ public static Timestamped GetPayload(HarpMessage message) } /// - /// Represents a register that sets the acceleration for a quick movement, in millimeters per second^2, for the Motor 2. + /// Represents a register that sets the acceleration for a quick movement, in meters per second^2, for the Motor 2. /// - [Description("Sets the acceleration for a quick movement, in millimeters per second^2, for the Motor 2.")] + [Description("Sets the acceleration for a quick movement, in meters per second^2, for the Motor 2.")] public partial class Motor2QuickMovementAcceleration { /// @@ -15245,16 +15245,16 @@ public HarpMessage GetMessage(double timestamp, MessageType messageType) /// /// Represents an operator that creates a message payload - /// that sets the single pulse distance for a quick movement, in millimeters, for the Motor 1. + /// that sets the single step pulse distance for a quick movement, in micrometers, for the Motor 1. /// [DisplayName("Motor1QuickMovementPulseDistancePayload")] - [Description("Creates a message payload that sets the single pulse distance for a quick movement, in millimeters, for the Motor 1.")] + [Description("Creates a message payload that sets the single step pulse distance for a quick movement, in micrometers, for the Motor 1.")] public partial class CreateMotor1QuickMovementPulseDistancePayload { /// - /// Gets or sets the value that sets the single pulse distance for a quick movement, in millimeters, for the Motor 1. + /// Gets or sets the value that sets the single step pulse distance for a quick movement, in micrometers, for the Motor 1. /// - [Description("The value that sets the single pulse distance for a quick movement, in millimeters, for the Motor 1.")] + [Description("The value that sets the single step pulse distance for a quick movement, in micrometers, for the Motor 1.")] public float Motor1QuickMovementPulseDistance { get; set; } /// @@ -15267,7 +15267,7 @@ public float GetPayload() } /// - /// Creates a message that sets the single pulse distance for a quick movement, in millimeters, for the Motor 1. + /// Creates a message that sets the single step pulse distance for a quick movement, in micrometers, for the Motor 1. /// /// Specifies the type of the created message. /// A new message for the Motor1QuickMovementPulseDistance register. @@ -15279,14 +15279,14 @@ public HarpMessage GetMessage(MessageType messageType) /// /// Represents an operator that creates a timestamped message payload - /// that sets the single pulse distance for a quick movement, in millimeters, for the Motor 1. + /// that sets the single step pulse distance for a quick movement, in micrometers, for the Motor 1. /// [DisplayName("TimestampedMotor1QuickMovementPulseDistancePayload")] - [Description("Creates a timestamped message payload that sets the single pulse distance for a quick movement, in millimeters, for the Motor 1.")] + [Description("Creates a timestamped message payload that sets the single step pulse distance for a quick movement, in micrometers, for the Motor 1.")] public partial class CreateTimestampedMotor1QuickMovementPulseDistancePayload : CreateMotor1QuickMovementPulseDistancePayload { /// - /// Creates a timestamped message that sets the single pulse distance for a quick movement, in millimeters, for the Motor 1. + /// Creates a timestamped message that sets the single step pulse distance for a quick movement, in micrometers, for the Motor 1. /// /// The timestamp of the message payload, in seconds. /// Specifies the type of the created message. @@ -15299,16 +15299,16 @@ public HarpMessage GetMessage(double timestamp, MessageType messageType) /// /// Represents an operator that creates a message payload - /// that sets the single pulse distance for a quick movement, in millimeters, for the Motor 2. + /// that sets the single step pulse distance for a quick movement, in micrometers, for the Motor 2. /// [DisplayName("Motor2QuickMovementPulseDistancePayload")] - [Description("Creates a message payload that sets the single pulse distance for a quick movement, in millimeters, for the Motor 2.")] + [Description("Creates a message payload that sets the single step pulse distance for a quick movement, in micrometers, for the Motor 2.")] public partial class CreateMotor2QuickMovementPulseDistancePayload { /// - /// Gets or sets the value that sets the single pulse distance for a quick movement, in millimeters, for the Motor 2. + /// Gets or sets the value that sets the single step pulse distance for a quick movement, in micrometers, for the Motor 2. /// - [Description("The value that sets the single pulse distance for a quick movement, in millimeters, for the Motor 2.")] + [Description("The value that sets the single step pulse distance for a quick movement, in micrometers, for the Motor 2.")] public float Motor2QuickMovementPulseDistance { get; set; } /// @@ -15321,7 +15321,7 @@ public float GetPayload() } /// - /// Creates a message that sets the single pulse distance for a quick movement, in millimeters, for the Motor 2. + /// Creates a message that sets the single step pulse distance for a quick movement, in micrometers, for the Motor 2. /// /// Specifies the type of the created message. /// A new message for the Motor2QuickMovementPulseDistance register. @@ -15333,14 +15333,14 @@ public HarpMessage GetMessage(MessageType messageType) /// /// Represents an operator that creates a timestamped message payload - /// that sets the single pulse distance for a quick movement, in millimeters, for the Motor 2. + /// that sets the single step pulse distance for a quick movement, in micrometers, for the Motor 2. /// [DisplayName("TimestampedMotor2QuickMovementPulseDistancePayload")] - [Description("Creates a timestamped message payload that sets the single pulse distance for a quick movement, in millimeters, for the Motor 2.")] + [Description("Creates a timestamped message payload that sets the single step pulse distance for a quick movement, in micrometers, for the Motor 2.")] public partial class CreateTimestampedMotor2QuickMovementPulseDistancePayload : CreateMotor2QuickMovementPulseDistancePayload { /// - /// Creates a timestamped message that sets the single pulse distance for a quick movement, in millimeters, for the Motor 2. + /// Creates a timestamped message that sets the single step pulse distance for a quick movement, in micrometers, for the Motor 2. /// /// The timestamp of the message payload, in seconds. /// Specifies the type of the created message. @@ -15569,16 +15569,16 @@ public HarpMessage GetMessage(double timestamp, MessageType messageType) /// /// Represents an operator that creates a message payload - /// that sets the acceleration for a quick movement, in millimeters per second^2, for the Motor 1. + /// that sets the acceleration for a quick movement, in meters per second^2, for the Motor 1. /// [DisplayName("Motor1QuickMovementAccelerationPayload")] - [Description("Creates a message payload that sets the acceleration for a quick movement, in millimeters per second^2, for the Motor 1.")] + [Description("Creates a message payload that sets the acceleration for a quick movement, in meters per second^2, for the Motor 1.")] public partial class CreateMotor1QuickMovementAccelerationPayload { /// - /// Gets or sets the value that sets the acceleration for a quick movement, in millimeters per second^2, for the Motor 1. + /// Gets or sets the value that sets the acceleration for a quick movement, in meters per second^2, for the Motor 1. /// - [Description("The value that sets the acceleration for a quick movement, in millimeters per second^2, for the Motor 1.")] + [Description("The value that sets the acceleration for a quick movement, in meters per second^2, for the Motor 1.")] public float Motor1QuickMovementAcceleration { get; set; } /// @@ -15591,7 +15591,7 @@ public float GetPayload() } /// - /// Creates a message that sets the acceleration for a quick movement, in millimeters per second^2, for the Motor 1. + /// Creates a message that sets the acceleration for a quick movement, in meters per second^2, for the Motor 1. /// /// Specifies the type of the created message. /// A new message for the Motor1QuickMovementAcceleration register. @@ -15603,14 +15603,14 @@ public HarpMessage GetMessage(MessageType messageType) /// /// Represents an operator that creates a timestamped message payload - /// that sets the acceleration for a quick movement, in millimeters per second^2, for the Motor 1. + /// that sets the acceleration for a quick movement, in meters per second^2, for the Motor 1. /// [DisplayName("TimestampedMotor1QuickMovementAccelerationPayload")] - [Description("Creates a timestamped message payload that sets the acceleration for a quick movement, in millimeters per second^2, for the Motor 1.")] + [Description("Creates a timestamped message payload that sets the acceleration for a quick movement, in meters per second^2, for the Motor 1.")] public partial class CreateTimestampedMotor1QuickMovementAccelerationPayload : CreateMotor1QuickMovementAccelerationPayload { /// - /// Creates a timestamped message that sets the acceleration for a quick movement, in millimeters per second^2, for the Motor 1. + /// Creates a timestamped message that sets the acceleration for a quick movement, in meters per second^2, for the Motor 1. /// /// The timestamp of the message payload, in seconds. /// Specifies the type of the created message. @@ -15623,16 +15623,16 @@ public HarpMessage GetMessage(double timestamp, MessageType messageType) /// /// Represents an operator that creates a message payload - /// that sets the acceleration for a quick movement, in millimeters per second^2, for the Motor 2. + /// that sets the acceleration for a quick movement, in meters per second^2, for the Motor 2. /// [DisplayName("Motor2QuickMovementAccelerationPayload")] - [Description("Creates a message payload that sets the acceleration for a quick movement, in millimeters per second^2, for the Motor 2.")] + [Description("Creates a message payload that sets the acceleration for a quick movement, in meters per second^2, for the Motor 2.")] public partial class CreateMotor2QuickMovementAccelerationPayload { /// - /// Gets or sets the value that sets the acceleration for a quick movement, in millimeters per second^2, for the Motor 2. + /// Gets or sets the value that sets the acceleration for a quick movement, in meters per second^2, for the Motor 2. /// - [Description("The value that sets the acceleration for a quick movement, in millimeters per second^2, for the Motor 2.")] + [Description("The value that sets the acceleration for a quick movement, in meters per second^2, for the Motor 2.")] public float Motor2QuickMovementAcceleration { get; set; } /// @@ -15645,7 +15645,7 @@ public float GetPayload() } /// - /// Creates a message that sets the acceleration for a quick movement, in millimeters per second^2, for the Motor 2. + /// Creates a message that sets the acceleration for a quick movement, in meters per second^2, for the Motor 2. /// /// Specifies the type of the created message. /// A new message for the Motor2QuickMovementAcceleration register. @@ -15657,14 +15657,14 @@ public HarpMessage GetMessage(MessageType messageType) /// /// Represents an operator that creates a timestamped message payload - /// that sets the acceleration for a quick movement, in millimeters per second^2, for the Motor 2. + /// that sets the acceleration for a quick movement, in meters per second^2, for the Motor 2. /// [DisplayName("TimestampedMotor2QuickMovementAccelerationPayload")] - [Description("Creates a timestamped message payload that sets the acceleration for a quick movement, in millimeters per second^2, for the Motor 2.")] + [Description("Creates a timestamped message payload that sets the acceleration for a quick movement, in meters per second^2, for the Motor 2.")] public partial class CreateTimestampedMotor2QuickMovementAccelerationPayload : CreateMotor2QuickMovementAccelerationPayload { /// - /// Creates a timestamped message that sets the acceleration for a quick movement, in millimeters per second^2, for the Motor 2. + /// Creates a timestamped message that sets the acceleration for a quick movement, in meters per second^2, for the Motor 2. /// /// The timestamp of the message payload, in seconds. /// Specifies the type of the created message. diff --git a/device.yml b/device.yml index 9f2e119..80a413b 100644 --- a/device.yml +++ b/device.yml @@ -640,11 +640,11 @@ registers: address: 131 type: Float access: Write - description: Sets the single pulse distance for a quick movement, in millimeters, for the Motor 1. + description: Sets the single step pulse distance for a quick movement, in micrometers, for the Motor 1. Motor2QuickMovementPulseDistance: <<: *quickmovement_pulsedistance address: 132 - description: Sets the single pulse distance for a quick movement, in millimeters, for the Motor 2. + description: Sets the single step pulse distance for a quick movement, in micrometers, for the Motor 2. Motor1QuickMovementNominalSpeed: &quickmovement_nominalspeed address: 133 type: Float @@ -667,11 +667,11 @@ registers: address: 137 type: Float access: Write - description: Sets the acceleration for a quick movement, in millimeters per second^2, for the Motor 1. + description: Sets the acceleration for a quick movement, in meters per second^2, for the Motor 1. Motor2QuickMovementAcceleration: <<: *quickmovement_acceleration address: 138 - description: Sets the acceleration for a quick movement, in millimeters per second^2, for the Motor 2. + description: Sets the acceleration for a quick movement, in meters per second^2, for the Motor 2. Motor1QuickMovementDistance: &quickmovement_distance address: 139 type: Float