118 lines
4.0 KiB
C#
118 lines
4.0 KiB
C#
namespace Sick.SafetyScanners.DataStructures;
|
|
|
|
/// <summary>
|
|
/// Contains application outputs from a UDP data packet
|
|
/// </summary>
|
|
public sealed class ApplicationOutputs
|
|
{
|
|
/// <summary>
|
|
/// Gets or sets the state of the non-safe cut-off paths (eval out)
|
|
/// </summary>
|
|
public IReadOnlyList<bool> EvalOut { get; init; } = Array.Empty<bool>();
|
|
|
|
/// <summary>
|
|
/// Gets or sets whether a cut-off path from the output paths is safe
|
|
/// </summary>
|
|
public IReadOnlyList<bool> EvalOutIsSafe { get; init; } = Array.Empty<bool>();
|
|
|
|
/// <summary>
|
|
/// Gets or sets whether the output path is valid
|
|
/// </summary>
|
|
public IReadOnlyList<bool> EvalOutIsValid { get; init; } = Array.Empty<bool>();
|
|
|
|
/// <summary>
|
|
/// Gets or sets the currently active monitoring case numbers
|
|
/// </summary>
|
|
public IReadOnlyList<ushort> MonitoringCases { get; init; } = Array.Empty<ushort>();
|
|
|
|
/// <summary>
|
|
/// Gets or sets whether the corresponding monitoring case number is valid
|
|
/// </summary>
|
|
public IReadOnlyList<bool> MonitoringCaseFlags { get; init; } = Array.Empty<bool>();
|
|
|
|
/// <summary>
|
|
/// Gets or sets the state of the sleep mode output
|
|
/// </summary>
|
|
public sbyte SleepModeOutput { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets whether a contamination warning is present
|
|
/// </summary>
|
|
public bool HostErrorFlagContaminationWarning { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets whether a contamination error is present
|
|
/// </summary>
|
|
public bool HostErrorFlagContaminationError { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets whether a manipulation error is present
|
|
/// </summary>
|
|
public bool HostErrorFlagManipulationError { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets whether glare is present
|
|
/// </summary>
|
|
public bool HostErrorFlagGlare { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets whether a reference contour is intruded
|
|
/// </summary>
|
|
public bool HostErrorFlagReferenceContourIntruded { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets whether a critical error is present
|
|
/// </summary>
|
|
public bool HostErrorFlagCriticalError { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the first linear velocity output
|
|
/// </summary>
|
|
public short Velocity0 { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the second linear velocity output
|
|
/// </summary>
|
|
public short Velocity1 { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets whether the first linear velocity output is valid
|
|
/// </summary>
|
|
public bool IsVelocity0Valid { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets whether the second linear velocity output is valid
|
|
/// </summary>
|
|
public bool IsVelocity1Valid { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets whether the first linear velocity output is transmitted safely
|
|
/// </summary>
|
|
public bool IsVelocity0TransmittedSafely { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets whether the second linear velocity output is transmitted safely
|
|
/// </summary>
|
|
public bool IsVelocity1TransmittedSafely { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the resulting velocity for each monitoring case table
|
|
/// </summary>
|
|
public IReadOnlyList<short> ResultingVelocity { get; init; } = Array.Empty<short>();
|
|
|
|
/// <summary>
|
|
/// Gets or sets whether the resulting velocities are valid
|
|
/// </summary>
|
|
public IReadOnlyList<bool> ResultingVelocityIsValid { get; init; } = Array.Empty<bool>();
|
|
|
|
/// <summary>
|
|
/// Gets or sets whether the sleep mode is valid
|
|
/// </summary>
|
|
public bool FlagsSleepModeOutputIsValid { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets whether the error flags are valid
|
|
/// </summary>
|
|
public bool FlagsHostErrorFlagsAreValid { get; init; }
|
|
}
|