예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }