Initial commit

This commit is contained in:
2026-07-13 09:25:40 +07:00
parent c08ff54676
commit bccfb156d7
1938 changed files with 641646 additions and 0 deletions

View File

@@ -0,0 +1,117 @@
namespace Sick.SafetyScanners.DataStructures;
/// <summary>
/// Contains the content of the data header of a UDP data packet
/// </summary>
public sealed class DataHeader
{
/// <summary>
/// Gets or sets the version indicator (capital letter 'V' or 'R' for releases)
/// </summary>
public byte VersionIndicator { get; init; }
/// <summary>
/// Gets or sets the major version number
/// </summary>
public byte VersionMajor { get; init; }
/// <summary>
/// Gets or sets the minor version number
/// </summary>
public byte VersionMinor { get; init; }
/// <summary>
/// Gets or sets the release of the version
/// </summary>
public byte VersionRelease { get; init; }
/// <summary>
/// Gets or sets the serial number of the device
/// </summary>
public uint SerialNumberOfDevice { get; init; }
/// <summary>
/// Gets or sets the serial number of the system plug
/// </summary>
public uint SerialNumberOfSystemPlug { get; init; }
/// <summary>
/// Gets or sets the channel number (0-3)
/// </summary>
public byte ChannelNumber { get; init; }
/// <summary>
/// Gets or sets the sequence number (increases with each measurement)
/// </summary>
public uint SequenceNumber { get; init; }
/// <summary>
/// Gets or sets the scan number
/// </summary>
public uint ScanNumber { get; init; }
/// <summary>
/// Gets or sets the timestamp date
/// </summary>
public ushort TimestampDate { get; init; }
/// <summary>
/// Gets or sets the timestamp time
/// </summary>
public uint TimestampTime { get; init; }
/// <summary>
/// Gets or sets the general system state block offset
/// </summary>
public ushort GeneralSystemStateBlockOffset { get; init; }
/// <summary>
/// Gets or sets the general system state block size
/// </summary>
public ushort GeneralSystemStateBlockSize { get; init; }
/// <summary>
/// Gets or sets the derived values block offset
/// </summary>
public ushort DerivedValuesBlockOffset { get; init; }
/// <summary>
/// Gets or sets the derived values block size
/// </summary>
public ushort DerivedValuesBlockSize { get; init; }
/// <summary>
/// Gets or sets the measurement data block offset
/// </summary>
public ushort MeasurementDataBlockOffset { get; init; }
/// <summary>
/// Gets or sets the measurement data block size
/// </summary>
public ushort MeasurementDataBlockSize { get; init; }
/// <summary>
/// Gets or sets the intrusion data block offset
/// </summary>
public ushort IntrusionDataBlockOffset { get; init; }
/// <summary>
/// Gets or sets the intrusion data block size
/// </summary>
public ushort IntrusionDataBlockSize { get; init; }
/// <summary>
/// Gets or sets the application data block offset
/// </summary>
public ushort ApplicationDataBlockOffset { get; init; }
/// <summary>
/// Gets or sets the application data block size
/// </summary>
public ushort ApplicationDataBlockSize { get; init; }
/// <summary>
/// Gets whether the data header is empty
/// </summary>
public bool IsEmpty { get; init; }
}