12345678910111213141516171819202122232425262728293031323334353637383940 |
- 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(IDMReadBuffer buffer)
- {
- TagType = buffer.TakeUInt16();
- MacAddress = buffer.TakeBytes(6);
- PayloadLength = buffer.TakeByte();
- Payload = buffer.TakeBytes(DataLength);
- }
- protected override void DoEncode(IDMWriteBuffer buffer)
- {
- buffer.AddUInt16(TagType);
- buffer.AddBytes(MacAddress);
- buffer.AddByte(PayloadLength);
- buffer.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);
- }
- }
- }
|