namespace Sick.SafetyScanners.DataStructures; /// /// Device state enumeration for SICK Safety Scanner /// public enum DeviceState : byte { /// /// Normal state /// Normal = 0, /// /// Error state /// Error = 1, /// /// Initialization state /// Initialization = 2, /// /// Shutdown state /// Shutdown = 3, /// /// Optics cover calibration state /// OpticsCoverCalibration = 4 } /// /// Config state enumeration for SICK Safety Scanner /// public enum ConfigState : byte { /// /// Unknown config state /// Unknown = 0, /// /// Config required /// ConfigRequired = 1, /// /// Config in progress /// ConfigInProgress = 2, /// /// Not verified /// NotVerified = 3, /// /// Rejected /// Rejected = 4, /// /// Verified /// Verified = 5, /// /// Internal error /// InternalError = 6, /// /// Verification in progress /// VerificationInProgress = 7 } /// /// Application state enumeration for SICK Safety Scanner /// public enum ApplicationState : byte { /// /// Application stopped /// Stopped = 0, /// /// Application starting /// Starting = 1, /// /// Waiting for partners /// WaitingForPartners = 2, /// /// Waiting for inputs /// WaitingForInputs = 3, /// /// Application started /// Started = 4, /// /// Sleep mode /// SleepMode = 5 } /// /// Contains the status overview from a COLA2 variable command response /// public sealed class StatusOverview { /// /// Gets or sets the version indicator (e.g., "V" for version) /// public string VersionCVersion { get; init; } = string.Empty; /// /// Gets or sets the major version number /// public byte VersionMajorVersionNumber { get; init; } /// /// Gets or sets the minor version number /// public byte VersionMinorVersionNumber { get; init; } /// /// Gets or sets the version release number /// public byte VersionReleaseNumber { get; init; } /// /// Gets or sets the device state /// public DeviceState DeviceState { get; init; } /// /// Gets or sets the config state /// public ConfigState ConfigState { get; init; } /// /// Gets or sets the application state /// public ApplicationState ApplicationState { get; init; } /// /// Gets or sets the current time power on count /// public uint CurrentTimePowerOnCount { get; init; } /// /// Gets or sets the current time (milliseconds since midnight) /// public uint CurrentTimeTime { get; init; } /// /// Gets or sets the current date (days since 1980-01-01) /// public ushort CurrentTimeDate { get; init; } /// /// Gets or sets the error info code /// public uint ErrorInfoCode { get; init; } /// /// Gets or sets the error info time (milliseconds since midnight) /// public uint ErrorInfoTime { get; init; } /// /// Gets or sets the error info date (days since 1980-01-01) /// public ushort ErrorInfoDate { get; init; } }