2using System.Collections.Generic;
19 byte firmwareMajor,
byte firmwareMinor,
byte firmwareBuild)
71 var dataArray = data.ToArray();
72 if (dataArray.Length != 12)
74 throw new Exception(
"Invalid size for the data");
77 var deviceIdentification =
new DeviceIdentification(dataArray.Take(3).ToArray(), dataArray[3], dataArray[4],
78 Message.ConvertBytesToInt(dataArray.Skip(5).Take(4).ToArray()), dataArray[9], dataArray[10],
81 return deviceIdentification;
87 var buffer =
new byte[12];
89 VendorCode.Take(3).ToArray().CopyTo(buffer, 0);
103 var build =
new StringBuilder();
104 build.AppendLine($
" Vendor Code: {BitConverter.ToString(VendorCode.ToArray())}");
105 build.AppendLine($
" Model Number: {ModelNumber}");
106 build.AppendLine($
" Version: {Version}");
107 build.AppendLine($
" Serial Number: {BitConverter.ToString(Message.ConvertIntToBytes(SerialNumber).ToArray())}");
108 build.AppendLine($
"Firmware Version: {FirmwareMajor}.{FirmwareMinor}.{FirmwareBuild}");
110 return build.ToString();
A base message class for sending or replying.
Contains standard Security Control Block data that can be used when building messages.
Base class representing a payload an OSDP message.
byte FirmwareMinor
Gets the firmware minor version.
override byte[] BuildData()
byte ModelNumber
Gets the model number.
static DeviceIdentification ParseData(ReadOnlySpan< byte > data)
Parses the message payload bytes.
IEnumerable< byte > VendorCode
Gets the vendor code.
byte FirmwareBuild
Gets the firmware build.
byte FirmwareMajor
Gets the firmware major version.
override ReadOnlySpan< byte > SecurityControlBlock()
override string ToString()
byte Version
Gets the hardware version.
DeviceIdentification(byte[] vendorCode, byte modelNumber, byte version, int serialNumber, byte firmwareMajor, byte firmwareMinor, byte firmwareBuild)
Creates a new instance of DeviceIdentification.
int SerialNumber
Gets the serial number.
ReplyType
Identifies the type of OSDP protocol reply (PD -> ACU) message.