Files
laatzen/Common/SIRTBroadcaster.Client/Parameters/P12.cs
T
2023-08-22 14:58:05 +02:00

64 lines
2.1 KiB
C#

namespace SIRTBroadcaster.Abstraction.Parameters
{
using SIRTBroadcaster.Abstraction.Values;
/// <summary>
/// P12 is the parameter of "Acknowledge or Answer" message and is placed at third position, if telegram from SIRT-> PC
/// begins with {0xFF, 0x12}. This parameter gives more detailed information about the last command or request which
/// was send to SIRT.Parameter 12 is given at third position of acknowledge- or answer telegram from SIRT.
/// NOTE: The bits of Parameter 12 are decoded as following, where Bit 0 is the least significant bit
/// </summary>
public class P12 : Parameter
{
private P12(byte value) : base(value)
{
}
/// <summary>
/// Bit: 0 - ok || requested buffer is full or not available
/// </summary>
public Bit IsBufferFull => this.bits[0];
/// <summary>
/// Bit: 1 - ok || operating system is busy
/// </summary>
public Bit IsOSBusy => this.bits[1];
/// <summary>
/// Bit: 2 - ok || wrong CRC recognized
/// </summary>
public Bit IsWrongCRC => this.bits[2];
/// <summary>
/// Bit: 3 - ok || command cannot be executed
/// </summary>
public Bit IsCmdNotExecuted => this.bits[3];
/// <summary>
/// Bit: 4 - ok || telegram / command byte unknown
/// </summary>
public Bit IsCmdUnknown => this.bits[4];
/// <summary>
/// Bit: 5 - ok || no such entry found
/// </summary>
public Bit IsEntryNotFound => this.bits[5];
/// <summary>
/// Bit: 6 - ok || unknown fixed byte
/// </summary>
public Bit HasUnknownByte => this.bits[6];
/// <summary>
/// Bit: 7 - normal address || address was 0xFFFFFFFF
/// </summary>
public Bit IsWildcardAddress => this.bits[7];
public static implicit operator P12 (byte value)
=> new P12(value);
public static implicit operator byte (P12 parameter)
=> parameter.value;
}
}