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