100 lines
2.9 KiB
C#
100 lines
2.9 KiB
C#
namespace Sick.SafetyScanners.DataStructures;
|
|
|
|
/// <summary>
|
|
/// Contains field data for warning and protective fields from a COLA2 variable command response
|
|
/// </summary>
|
|
public sealed class FieldData
|
|
{
|
|
/// <summary>
|
|
/// Gets or sets whether the field data is valid
|
|
/// </summary>
|
|
public bool IsValid { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the version indicator (e.g., "V" for version)
|
|
/// </summary>
|
|
public string VersionCVersion { get; init; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// Gets or sets the major version number
|
|
/// </summary>
|
|
public byte VersionMajorVersionNumber { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the minor version number
|
|
/// </summary>
|
|
public byte VersionMinorVersionNumber { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the version release number
|
|
/// </summary>
|
|
public byte VersionReleaseNumber { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets whether the field data is defined
|
|
/// </summary>
|
|
public bool IsDefined { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the evaluation method
|
|
/// </summary>
|
|
public byte EvalMethod { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the multiple sampling value
|
|
/// </summary>
|
|
public ushort MultiSampling { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the object resolution
|
|
/// </summary>
|
|
public ushort ObjectResolution { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the index of the field set this field belongs to
|
|
/// </summary>
|
|
public ushort FieldSetIndex { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the length of the field name
|
|
/// </summary>
|
|
public uint NameLength { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the field name string
|
|
/// </summary>
|
|
public string FieldName { get; init; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// Gets or sets whether this is a warning field
|
|
/// </summary>
|
|
public bool IsWarningField { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets whether this is a protective field
|
|
/// </summary>
|
|
public bool IsProtectiveField { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the beam distances vector (in mm)
|
|
/// One distance value per beam
|
|
/// </summary>
|
|
public IReadOnlyList<ushort> BeamDistances { get; init; } = Array.Empty<ushort>();
|
|
|
|
/// <summary>
|
|
/// Gets or sets the start angle in radians
|
|
/// </summary>
|
|
public double StartAngle { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the end angle in radians
|
|
/// </summary>
|
|
public double EndAngle { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the angular beam resolution in radians
|
|
/// </summary>
|
|
public double AngularBeamResolution { get; init; }
|
|
}
|
|
|