using System.Linq; namespace InABox.DigitalMatter { public class DMGenericBluetoothTag : DMBluetoothTag { public byte[] Data { get; set; } public ushort TagType { get; private set; } public byte[] MacAddress { get; private set; } public byte PayloadLength { get; private set; } public byte[] Payload { get; set; } protected override void DoDecode() { TagType = TakeUInt16(); MacAddress = TakeBytes(6); PayloadLength = TakeByte(); Payload = TakeBytes(DataLength); } protected override void DoEncode() { AddUInt16(TagType); AddBytes(MacAddress); AddByte(PayloadLength); AddBytes(Payload); } public override string ID() { return string.Join(":", MacAddress.Reverse().Select(x => x.ToString("X2"))); //BitConverter.ToString(MacAddress); } public override string Type() { return string.Format("Type {0}", TagType); } } }