OSDP.Net 5.2.1
A .NET library for implementing the Open Supervised Device Protocol (OSDP)
Loading...
Searching...
No Matches
BaudRateChangeAck.cs
1using System;
5
7{
13 {
15 public const int PayloadLength = 6;
16
22 public BaudRateChangeAck(byte sequenceNumber, BaudRateChangeStatus status)
23 {
24 SequenceNumber = sequenceNumber;
25 Status = status;
26 }
27
29 public byte SequenceNumber { get; }
30
33
35 public override byte Code => (byte)ReplyType.ManufactureSpecific;
36
38 public override ReadOnlySpan<byte> SecurityControlBlock() => SecurityBlock.ReplyMessageWithDataSecurity;
39
41 public override byte[] BuildData()
42 {
43 var data = new byte[PayloadLength];
44 LineQualityProtocol.VendorCodeBytes.CopyTo(data, 0);
46 data[4] = SequenceNumber;
47 data[5] = (byte)Status;
48 return data;
49 }
50
57 public static bool TryParse(ReadOnlySpan<byte> payload, out BaudRateChangeAck ack)
58 {
59 ack = null;
60
61 if (payload.Length < PayloadLength) return false;
62 if (!LineQualityProtocol.IsLineQualityVendorCode(payload)) return false;
63 if (payload[3] != LineQualityProtocol.BaudRateChangeCommandId) return false;
64
65 ack = new BaudRateChangeAck(payload[4], (BaudRateChangeStatus)payload[5]);
66 return true;
67 }
68 }
69}
BaudRateChangeAck(byte sequenceNumber, BaudRateChangeStatus status)
Initializes a Baud Rate Change Acknowledgment.
const int PayloadLength
Number of payload bytes in a baud rate change acknowledgment.
BaudRateChangeStatus Status
Gets the result status.
static bool TryParse(ReadOnlySpan< byte > payload, out BaudRateChangeAck ack)
Attempts to parse a Baud Rate Change Acknowledgment from an osdp_MFGREP payload.
override ReadOnlySpan< byte > SecurityControlBlock()
byte SequenceNumber
Gets the echoed test sequence number.
Constants and helpers for the OSDP Line Quality Test Procedure.
const byte BaudRateChangeCommandId
Command and reply identifier for the baud rate change exchange.
static bool IsLineQualityVendorCode(ReadOnlySpan< byte > candidate)
Determines whether the supplied bytes are the reserved line quality vendor code.
Contains standard Security Control Block data that can be used when building messages.
Base class representing a payload an OSDP message.
Definition PayloadData.cs:9
BaudRateChangeStatus
Status codes returned in a Baud Rate Change Acknowledgment, per section 3.7 of the Line Quality Test ...
ReplyType
Identifies the type of OSDP protocol reply (PD -> ACU) message.
Definition ReplyType.cs:7