public void TestATCommandResponseParse() { var packet = new byte[] { 0x00, 0x20, 0x95, 0x00, 0x13, 0xA2, 0x00, 0x40, 0x52, 0x2B, 0xAA, 0x7D, 0x84, 0x02, 0x7D, 0x84, 0x00, 0x13, 0xA2, 0x00, 0x40, 0x52, 0x2B, 0xAA, 0x20, 0x00, 0xFF, 0xFE, 0x01, 0x01, 0xC1, 0x05, 0x10, 0x1E, 0x1B }; var frame = XBeePacketUnmarshaler.Unmarshal(packet); Assert.That(frame, Is.InstanceOf <NodeIdentification>()); var cmd = (NodeIdentification)frame; Assert.That(cmd.Source, Is.TypeOf <XBeeNode>()); Assert.That(cmd.Source.Address16, Is.EqualTo(new XBeeAddress16(0x7D84))); Assert.That(cmd.Source.Address64, Is.EqualTo(new XBeeAddress64(0x0013A20040522BAA))); Assert.That(cmd.ReceiveOptions, Is.EqualTo(ReceiveOptionsType.BroadcastPacket)); Assert.That(cmd.Source2, Is.TypeOf <XBeeNode>()); Assert.That(cmd.Source2.Address16, Is.EqualTo(new XBeeAddress16(0x7D84))); Assert.That(cmd.Source2.Address64, Is.EqualTo(new XBeeAddress64(0x0013A20040522BAA))); Assert.That(cmd.NodeIdentifier, Is.EqualTo(" ")); Assert.That(cmd.ParentAddress, Is.EqualTo(new XBeeAddress16(0xFFFE))); Assert.That(cmd.Type, Is.EqualTo(NodeIdentification.DeviceType.Router)); Assert.That(cmd.SourceEvent, Is.EqualTo(NodeIdentification.SourceEventType.PushButtonEvent)); Assert.That(cmd.ProfileId, Is.EqualTo(0xC105)); Assert.That(cmd.ManufacturerId, Is.EqualTo(0x101E)); }
public void TestModemStatusParse() { var packet = new byte[] { 0x00, 0x02, 0x8A, 0x06, 0x6F }; var frame = XBeePacketUnmarshaler.Unmarshal(packet); Assert.That(frame, Is.InstanceOf <ModemStatus>()); var cmd = (ModemStatus)frame; Assert.That(cmd.Status, Is.EqualTo(ModemStatus.StatusType.CoordinatorStarted)); }
public void TestXBeeUnmarshalerATCommand() { var packetData = new byte[] { 0x00, 0x08, 0x08, 0x01, (byte)'D', (byte)'H', 0x11, 0x22, 0x33, 0x00, 0x04 }; var frame = XBeePacketUnmarshaler.Unmarshal(packetData); Assert.That(frame, Is.InstanceOf <ATCommand>()); var cmd = (ATCommand)frame; Assert.That(cmd.FrameId, Is.EqualTo(0x01)); Assert.That(cmd.Command, Is.EqualTo(AT.DestinationHigh)); }
public void TestManyToOneRouteRequestParse() { var packet = new byte[] { 0x00, 0x0C, 0xA3, 0x00, 0x13, 0xA2, 0x00, 0x40, 0x40, 0x11, 0x22, 0x00, 0x00, 0x00, 0xF4 }; var frame = XBeePacketUnmarshaler.Unmarshal(packet); Assert.That(frame, Is.InstanceOf <ManyToOneRouteRequest>()); var cmd = (ManyToOneRouteRequest)frame; Assert.That(cmd.Source.Address16, Is.EqualTo(new XBeeAddress16(0x0000))); Assert.That(cmd.Source.Address64, Is.EqualTo(new XBeeAddress64(0x0013A20040401122))); }
public void TestNetworkDiscoveryParsing() { var packet = new byte[] { 0x00, 0x19, 0x88, 0x01, 0x4E, 0x44, 0x00, 0x00, 0x00, 0x00, 0x13, 0xA2, 0x00, 0x40, 0x47, 0x81, 0x4F, 0x20, 0x00, 0xFF, 0xFE, 0x00, 0x00, 0xC1, 0x05, 0x10, 0x1E, 0xC7 }; var frame = XBeePacketUnmarshaler.Unmarshal(packet); Assert.That(frame, Is.InstanceOf <ATCommandResponse>()); }
public void TestZigBeeReceivePacketParse() { var packet = new byte[] { 0x00, 0x12, 0x90, 0x00, 0x13, 0xA2, 0x00, 0x40, 0x52, 0x2B, 0xAA, 0x7D, 0x84, 0x01, 0x52, 0x78, 0x44, 0x61, 0x74, 0x61, 0x0D }; var frame = XBeePacketUnmarshaler.Unmarshal(packet); Assert.That(frame, Is.InstanceOf <ZigBeeReceivePacket>()); var cmd = (ZigBeeReceivePacket)frame; Assert.That(cmd.Source.Address16, Is.EqualTo(new XBeeAddress16(0x7D84))); Assert.That(cmd.Source.Address64, Is.EqualTo(new XBeeAddress64(0x0013A20040522BAA))); Assert.That(cmd.ReceiveOptions, Is.EqualTo(ReceiveOptionsType.Acknowledged)); Assert.That(new System.Text.UTF8Encoding().GetString(cmd.Data), Is.EqualTo("RxData")); }
public void TestTransmitStatusParse() { var packet = new byte[] { 0x00, 0x07, 0x8B, 0x01, 0x7D, 0x84, 0x00, 0x00, 0x01, 0x71 }; var frame = XBeePacketUnmarshaler.Unmarshal(packet); Assert.That(frame, Is.InstanceOf <ZigBeeTransmitStatus>()); var cmd = (ZigBeeTransmitStatus)frame; Assert.That(cmd.Address, Is.EqualTo(new XBeeAddress16(0x7d84))); Assert.That(cmd.TransmitRetryCount, Is.EqualTo(0)); Assert.That(cmd.DeliveryStatus, Is.EqualTo(ZigBeeTransmitStatus.DeliveryStatusType.Success)); Assert.That(cmd.DiscoveryStatus, Is.EqualTo(ZigBeeTransmitStatus.DiscoveryStatusType.AddressDiscovery)); }
public void TestATCommandResponseParse() { var packet = new byte[] { 0x00, 0x05, 0x88, 0x01, 0x42, 0x44, 0x00, 0xF0 }; var frame = XBeePacketUnmarshaler.Unmarshal(packet); Assert.That(frame, Is.InstanceOf <ATCommandResponse>()); var cmd = (ATCommandResponse)frame; Assert.That(cmd.FrameId, Is.EqualTo(0x01)); Assert.That(cmd.Command, Is.EqualTo(AT.BaudRate)); Assert.That(cmd.CommandStatus, Is.EqualTo(0)); }
public void TestATCommandResponseParse() { var packet = new byte[] { 0x00, 0x16, 0xA0, 0x00, 0x13, 0xA2, 0x00, 0x40, 0x3E, 0x07, 0x50, 0x00, 0x00, 0x01, 0x52, 0x00, 0x00, 0x13, 0xA2, 0x00, 0x40, 0x52, 0x2B, 0xAA, 0x66 }; var frame = XBeePacketUnmarshaler.Unmarshal(packet); Assert.That(frame, Is.InstanceOf <OverAirUpdateStatus>()); var cmd = (OverAirUpdateStatus)frame; Assert.That(cmd.Source, Is.TypeOf <XBeeNode>()); Assert.That(cmd.Source.Address16, Is.EqualTo(new XBeeAddress16(0x0000))); Assert.That(cmd.Source.Address64, Is.EqualTo(new XBeeAddress64(0x0013A200403E0750))); Assert.That(cmd.ReceiveOptions, Is.EqualTo(ReceiveOptionsType.Acknowledged)); Assert.That(cmd.BootloaderMessage, Is.EqualTo(OverAirUpdateStatus.BootloaderMessageType.QueryResponse)); Assert.That(cmd.BlockNumber, Is.EqualTo(0)); Assert.That(cmd.Target, Is.EqualTo(new XBeeAddress64(0x0013A20040522BAA))); }
public void TestATCommandResponseParse() { var packet = new byte[] { 0x00, 0x13, 0x97, 0x55, 0x00, 0x13, 0xA2, 0x00, 0x40, 0x52, 0x2B, 0xAA, 0x7D, 0x84, 0x53, 0x4C, 0x00, 0x40, 0x52, 0x2B, 0xAA, 0xF0 }; var frame = XBeePacketUnmarshaler.Unmarshal(packet); Assert.That(frame, Is.InstanceOf <RemoteCommandResponse>()); var cmd = (RemoteCommandResponse)frame; Assert.That(cmd.FrameId, Is.EqualTo(0x55)); Assert.That(cmd.Source, Is.TypeOf <XBeeNode>()); Assert.That(cmd.Source.Address16, Is.EqualTo(new XBeeAddress16(0x7D84))); Assert.That(cmd.Source.Address64, Is.EqualTo(new XBeeAddress64(0x0013A20040522BAA))); Assert.That(cmd.Command, Is.EqualTo(AT.SerialNumberLow)); Assert.That(cmd.CommandStatus, Is.EqualTo(RemoteCommandResponse.CommandStatusType.Ok)); Assert.That(((ATLongValue)cmd.Value).Value, Is.EqualTo(new ATLongValue(0x40522BAA).Value)); }
public void TestRouteRecordIndicatorParse() { var packet = new byte[] { 0x00, 0x13, 0xA1, 0x00, 0x13, 0xA2, 0x00, 0x40, 0x40, 0x11, 0x22, 0x33, 0x44, 0x01, 0x03, 0xEE, 0xFF, 0xCC, 0xDD, 0xAA, 0xBB, 0x80 }; var frame = XBeePacketUnmarshaler.Unmarshal(packet); Assert.That(frame, Is.InstanceOf <RouteRecordIndicator>()); var cmd = (RouteRecordIndicator)frame; Assert.That(cmd.Source.Address16, Is.EqualTo(new XBeeAddress16(0x3344))); Assert.That(cmd.Source.Address64, Is.EqualTo(new XBeeAddress64(0x0013A20040401122))); Assert.That(cmd.ReceiveOptions, Is.EqualTo(ReceiveOptionsType.Acknowledged)); Assert.That(cmd.NumberOfHops, Is.EqualTo(3)); Assert.That(cmd.Addresses, Is.TypeOf <List <XBeeAddress16> >()); var list = cmd.Addresses; Assert.That(list[0], Is.EqualTo(new XBeeAddress16(0xEEFF))); Assert.That(list[2], Is.EqualTo(new XBeeAddress16(0xAABB))); }
public void TestZigBeeExplicitRXIndicatorParse() { var packet = new byte[] { 0x00, 0x18, 0x91, 0x00, 0x13, 0xA2, 0x00, 0x40, 0x52, 0x2B, 0xAA, 0x7D, 0x84, 0xE0, 0xE0, 0x22, 0x11, 0xC1, 0x05, 0x02, 0x52, 0x78, 0x44, 0x61, 0x74, 0x61, 0x52 }; var frame = XBeePacketUnmarshaler.Unmarshal(packet); Assert.That(frame, Is.InstanceOf <ZigBeeExplicitRXIndicator>()); var cmd = (ZigBeeExplicitRXIndicator)frame; Assert.That(cmd.Source.Address16, Is.EqualTo(new XBeeAddress16(0x7D84))); Assert.That(cmd.Source.Address64, Is.EqualTo(new XBeeAddress64(0x0013A20040522BAA))); Assert.That(cmd.SourceEndpoint, Is.EqualTo(0xE0)); Assert.That(cmd.DestinationEndpoint, Is.EqualTo(0xE0)); Assert.That(cmd.ClusterId, Is.EqualTo(0x2211)); Assert.That(cmd.ProfileId, Is.EqualTo(0xC105)); Assert.That(cmd.ReceiveOptions, Is.EqualTo(ReceiveOptionsType.BroadcastPacket)); Assert.That(new UTF8Encoding().GetString(cmd.Data), Is.EqualTo("RxData")); }
public void TestRemoteATCommandParse() { var packet = new byte[] { 0x00, 0x10, 0x17, 0x01, 0x00, 0x13, 0xA2, 0x00, 0x40, 0x40, 0x11, 0x22, 0xFF, 0xFE, 0x02, 0x42, 0x48, 0x01, 0xF5 }; var frame = XBeePacketUnmarshaler.Unmarshal(packet); Assert.That(frame, Is.InstanceOf <RemoteATCommand>()); var cmd = (RemoteATCommand)frame; Assert.That(cmd.FrameId, Is.EqualTo(0x01)); Assert.That(cmd.Destination.Address16, Is.EqualTo(XBeeAddress16.ZNET_BROADCAST)); Assert.That(cmd.Destination.Address64, Is.EqualTo(new XBeeAddress64(0x0013A20040401122))); Assert.That(cmd.RemoteOptions, Is.EqualTo(0x02)); Assert.That(cmd.Command, Is.EqualTo(AT.BroadcastHops)); }
public void TestSensorReadIndicatorParse() { var packet = new byte[] { 0x00, 0x14, 0x92, 0x00, 0x13, 0xA2, 0x00, 0x40, 0x52, 0x2B, 0xAA, 0x7D, 0x84, 0x01, 0x01, 0x00, 0x1C, 0x02, 0x00, 0x14, 0x02, 0x25, 0xF5 }; var frame = XBeePacketUnmarshaler.Unmarshal(packet); Assert.That(frame, Is.InstanceOf <ZigBeeIODataSample>()); var cmd = (ZigBeeIODataSample)frame; Assert.That(cmd.Source, Is.TypeOf <XBeeNode>()); Assert.That(cmd.Source.Address16, Is.EqualTo(new XBeeAddress16(0x7D84))); Assert.That(cmd.Source.Address64, Is.EqualTo(new XBeeAddress64(0x0013A20040522BAA))); Assert.That(cmd.ReceiveOptions, Is.EqualTo(ReceiveOptionsType.Acknowledged)); Assert.That(cmd.NumberOfSamples, Is.EqualTo(1)); Assert.That(cmd.DigitalChannelMask, Is.EqualTo(0x001C)); Assert.That(cmd.AnalogChannelMask, Is.EqualTo(0x02)); Assert.That(cmd.DigitalSamples, Is.EqualTo(0x0014)); Assert.That(cmd.AnalogSamples[1], Is.EqualTo(0x0225)); }
public void TestSensorReadIndicatorParse() { var packet = new byte[] { 0x00, 0x17, 0x94, 0x00, 0x13, 0xA2, 0x00, 0x40, 0x52, 0x2B, 0xAA, 0xDD, 0x6C, 0x01, 0x03, 0x00, 0x02, 0x00, 0xCE, 0x00, 0xEA, 0x00, 0x52, 0x01, 0x6A, 0x8B }; var frame = XBeePacketUnmarshaler.Unmarshal(packet); Assert.That(frame, Is.InstanceOf <SensorReadIndicator>()); var cmd = (SensorReadIndicator)frame; Assert.That(cmd.Source, Is.TypeOf <XBeeNode>()); Assert.That(cmd.Source.Address16, Is.EqualTo(new XBeeAddress16(0xDD6C))); Assert.That(cmd.Source.Address64, Is.EqualTo(new XBeeAddress64(0x0013A20040522BAA))); Assert.That(cmd.ReceiveOptions, Is.EqualTo(ReceiveOptionsType.Acknowledged)); Assert.That(cmd.ADValues[0], Is.EqualTo(0x0002)); Assert.That(cmd.ADValues[1], Is.EqualTo(0x00CE)); Assert.That(cmd.ADValues[2], Is.EqualTo(0x00EA)); Assert.That(cmd.ADValues[3], Is.EqualTo(0x0052)); Assert.That(cmd.Temperature, Is.EqualTo(0x016A)); Assert.That(cmd.GetCelciusTemperature(), Is.EqualTo(22.625)); }
public void TestExplicitAddressingRequestBroadcastRadiusOptionsParse() { var packet = new byte[] { 0x00, 0x14, 0x11, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFE, 0xA0, 0xA1, 0x15, 0x54, 0xC1, 0x05, 0x02, 0x41, 0x3F }; var frame = XBeePacketUnmarshaler.Unmarshal(packet); Assert.That(frame, Is.InstanceOf <ExplicitAddressingTransmit>()); var cmd = (ExplicitAddressingTransmit)frame; Assert.That(cmd.FrameId, Is.EqualTo(0x01)); Assert.That(cmd.BroadcastRadius, Is.EqualTo(2)); Assert.That(cmd.Options, Is.EqualTo(ExplicitAddressingTransmit.OptionValues.DisableAck | ExplicitAddressingTransmit.OptionValues.ExtendedTimeout)); Assert.That(cmd.SourceEndpoint, Is.EqualTo(0xA0)); Assert.That(cmd.DestinationEndpoint, Is.EqualTo(0xA1)); Assert.That(cmd.ClusterId, Is.EqualTo(0x1554)); Assert.That(cmd.ProfileId, Is.EqualTo(0xC105)); }
public void TestXBeeUnmarshalerATCommandWrongLength() { var packetData = new byte[] { 0x00, 0x08, 0x08, 0x01, (byte)'D', (byte)'H' }; Assert.Throws <XBeeFrameException>(delegate { XBeeFrame frame = XBeePacketUnmarshaler.Unmarshal(packetData); }); }
public void TestXBeeUnmarshalerRegister() { XBeePacketUnmarshaler.RegisterFrameHandler(XBeeAPICommandId.UNKNOWN, typeof(XBeeUnknownFrame)); }
public void TestXBeeUnmarshalerRegisterWrong() { XBeePacketUnmarshaler.RegisterFrameHandler(XBeeAPICommandId.REMOTE_AT_COMMAND_REQUEST, typeof(NotXBeeFrame)); }