namespace Sick.SafetyScanners.DataStructures; /// /// Contains application inputs from a UDP data packet /// public sealed class ApplicationInputs { /// /// Gets or sets the unsafe input sources (bits represent current state of static input sources) /// public IReadOnlyList UnsafeInputsInputSources { get; init; } = Array.Empty(); /// /// Gets or sets the flags for unsafe input sources (one flag per static input source) /// public IReadOnlyList UnsafeInputsFlags { get; init; } = Array.Empty(); /// /// Gets or sets the monitoring case numbers /// public IReadOnlyList MonitoringCases { get; init; } = Array.Empty(); /// /// Gets or sets the monitoring case flags /// public IReadOnlyList MonitoringCaseFlags { get; init; } = Array.Empty(); /// /// Gets or sets the first linear velocity input /// public short Velocity0 { get; init; } /// /// Gets or sets the second linear velocity input /// public short Velocity1 { get; init; } /// /// Gets or sets whether first linear velocity input is valid /// public bool IsVelocity0Valid { get; init; } /// /// Gets or sets whether second linear velocity input is valid /// public bool IsVelocity1Valid { get; init; } /// /// Gets or sets whether first linear velocity input is transmitted safely /// public bool IsVelocity0TransmittedSafely { get; init; } /// /// Gets or sets whether second linear velocity input is transmitted safely /// public bool IsVelocity1TransmittedSafely { get; init; } /// /// Gets or sets the state of the sleep mode input /// public sbyte SleepModeInput { get; init; } }