public static ZigBeeApsFrame Create(ZToolPacket packet) { ZigBeeApsFrame apsFrame = new ZigBeeApsFrame(); apsFrame.Cluster = ZdoCommandType.GetValueByType(ZdoCommandType.CommandType.IEEE_ADDRESS_RESPONSE).ClusterId; apsFrame.DestinationEndpoint = 0; apsFrame.SourceAddress = BitConverter.ToUInt16(packet.Packet, 13); apsFrame.SourceEndpoint = 0; apsFrame.Profile = 0; apsFrame.Payload = packet.Packet.Skip(3).Take(packet.Packet[1]).ToArray(); return(apsFrame); }
public static ZigBeeApsFrame Create(ZToolPacket packet) { ZigBeeApsFrame apsFrame = new ZigBeeApsFrame(); apsFrame.Cluster = ZdoCommandType.GetValueByType(ZdoCommandType.CommandType.MANAGEMENT_LEAVE_RESPONSE).ClusterId; apsFrame.DestinationEndpoint = 0; apsFrame.SourceAddress = (ushort)(packet.Packet[4] | (packet.Packet[5] << 8)); apsFrame.SourceEndpoint = 0; apsFrame.Profile = 0; apsFrame.Payload = packet.Packet.Skip(5).Take(packet.Packet[1] - 1).ToArray(); return(apsFrame); }
public static ZigBeeApsFrame Create(ZToolPacket packet) { ZigBeeApsFrame apsFrame = new ZigBeeApsFrame(); apsFrame.Cluster = ZdoCommandType.GetValueByType(ZdoCommandType.CommandType.SIMPLE_DESCRIPTOR_RESPONSE).ClusterId; apsFrame.DestinationEndpoint = 0; apsFrame.SourceAddress = (ushort)(packet.Packet[4] | (packet.Packet[5] << 8)); apsFrame.SourceEndpoint = 0; apsFrame.Profile = 0; Array.Copy(packet.Packet, 6, apsFrame.Payload, 0, packet.Packet.Length - 7); return(apsFrame); }