digi.xbee.packets.digimesh module

class digi.xbee.packets.digimesh.RouteInformationPacket(src_event, timestamp, ack_timeout_count, tx_block_count, dst_addr, src_addr, responder_addr, successor_addr, additional_data=None, op_mode=OperatingMode.API_MODE)[source]

Bases: XBeeAPIPacket

This class represents a DigiMesh Route Information packet. Packet is built using the parameters of the constructor or providing a valid API payload.

A Route Information Packet can be output for DigiMesh unicast transmissions on which the NACK enable or the Trace Route enable TX option is enabled.

See also

Class constructor. Instantiates a new RouteInformationPacket object with the provided parameters.

Parameters:
  • src_event (Integer) – Source event identifier. 0x11=NACK, 0x12=Trace route

  • timestamp (Integer) – System timer value on the node generating the this packet. The timestamp is in microseconds.

  • ack_timeout_count (Integer) – The number of MAC ACK timeouts.

  • tx_block_count (Integer) – The number of times the transmission was blocked due to reception in progress.

  • dst_addr (XBee64BitAddress) – The 64-bit address of the final destination node of this network-level transmission.

  • src_addr (XBee64BitAddress) – The 64-bit address of the source node of this network-level transmission.

  • responder_addr (XBee64BitAddress) – The 64-bit address of the node that generates this packet after it sends (or attempts to send) the packet to the next hop (successor node).

  • successor_addr (XBee64BitAddress) – The 64-bit address of the next node after the responder in the route towards the destination, whether or not the packet arrived successfully at the successor node.

  • additional_data (Bytearray, optional, default=`None`) – Additional data of the packet.

  • op_mode (OperatingMode, optional, default=`OperatingMode.API_MODE`) – The mode in which the frame was captured.

Raises:
  • ValueError – if src_event is not 0x11 or 0x12.

  • ValueError – if timestamp is not between 0 and 0xFFFFFFFF.

  • ValueError – if ack_timeout_count or tx_block_count are not between 0 and 255.

static create_packet(raw, operating_mode)[source]

Override method.

Returns:

RouteInformationPacket.

Raises:
  • InvalidPacketException – If the bytearray length is less than 46. (start delim. + length (2 bytes) + frame type + src_event + length + timestamp (4 bytes) + ack timeout count + tx blocked count + reserved + dest addr (8 bytes) + src addr (8 bytes) + responder addr (8 bytes) + successor addr (8 bytes) + checksum = 46 bytes).

  • InvalidPacketException – If the length field of raw is different from its real length. (length field: bytes 1 and 3)

  • InvalidPacketException – If the first byte of ‘raw’ is not the header byte. See SpecialByte.

  • InvalidPacketException – If the calculated checksum is different from the checksum field value (last byte).

  • InvalidPacketException – If the frame type is not ApiFrameType.DIGIMESH_ROUTE_INFORMATION.

  • InvalidPacketException – If the internal length byte of the rest of the frame (without the checksum) is different from its real length.

  • InvalidOperatingModeException – If operating_mode is not supported.

See also

XBeeAPIPacket._check_api_packet()
needs_id()[source]

Override method.

property src_event

Returns the source event.

Returns:

The source event.

Return type:

Integer

property length

Returns the number of bytes that follow, excluding the checksum.

Returns:

Data length.

Return type:

Integer

property timestamp

Returns the system timer value on the node generating this package. The timestamp is in microseconds.

Returns:

The system timer value in microseconds.

Return type:

Integer

property ack_timeout_count

Returns the number of MAC ACK timeouts that occur.

Returns:

The number of MAC ACK timeouts that occur.

Return type:

Integer

property tx_block_count

Returns the number of times the transmission was blocked due to reception in progress.

Returns:

The number of times the transmission was blocked due to

reception in progress.

Return type:

Integer

property effective_len

Returns the effective length of the packet.

Returns:

Effective length of the packet.

Return type:

Integer

property frame_id

Returns the frame ID of the packet.

Returns:

the frame ID of the packet.

Return type:

Integer

get_checksum()

Returns the checksum value of this XBeePacket. The checksum is the last 8 bits of the sum of the bytes between the length field and the checksum field.

Returns:

checksum value of this XBeePacket.

Return type:

Integer

See also

get_frame_spec_data()

Override method.

get_frame_type()

Returns the frame type of this packet.

Returns:

the frame type of this packet.

Return type:

ApiFrameType

See also

get_frame_type_value()

Returns the frame type integer value of this packet.

Returns:

the frame type integer value of this packet.

Return type:

Integer

See also

is_broadcast()

Returns whether this packet is broadcast or not.

Returns:

True if this packet is broadcast, False otherwise.

Return type:

Boolean

property op_mode

Retrieves the operating mode in which this packet was read.

Returns:

The operating mode.

Return type:

OperatingMode

output(escaped=False)

Returns the raw bytearray of this XBeePacket, ready to be send by the serial port.

Parameters:

escaped (Boolean) – indicates if the raw bytearray must be escaped.

Returns:

raw bytearray of the XBeePacket.

Return type:

Bytearray

to_dict()

Returns a dictionary with all information of the XBeePacket fields.

Returns:

dictionary with all info of the XBeePacket fields.

Return type:

Dictionary

static unescape_data(data)

Un-escapes the provided bytearray data.

Parameters:

data (Bytearray) – the bytearray to unescape.

Returns:

data unescaped.

Return type:

Bytearray

property dst_addr

Returns the 64-bit source address.

Returns:

The 64-bit address of the final

destination node.

Return type:

XBee64BitAddress

See also

property src_addr

Returns the 64-bit address of the source node of this network-level transmission.

Returns:

The 64-bit address of the source node.

Return type:

XBee64BitAddress

See also

property responder_addr

Returns the 64-bit address of the node that generates this packet after it sends (or attempts to send) the packet to the next hop (successor node).

Returns:

The 64-bit address of the responder node.

Return type:

XBee64BitAddress

See also

property successor_addr

Returns the 64-bit address of the next node after the responder in the route towards the destination, whether or not the packet arrived successfully at the successor node.

Returns:

The 64-bit address of the successor node.

Return type:

XBee64BitAddress

See also