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; }
}