digi.xbee.packets.network module¶
-
class
digi.xbee.packets.network.
RXIPv4Packet
(source_address, dest_port, source_port, ip_protocol, data=None)[source]¶ Bases:
digi.xbee.packets.base.XBeeAPIPacket
This class represents an RX (Receive) IPv4 packet. Packet is built using the parameters of the constructor or providing a valid byte array.
See also
Class constructor. Instantiates a new
RXIPv4Packet
object with the provided parameters.Parameters: - source_address (
IPv4Address
) – IPv4 address of the source device. - dest_port (Integer) – destination port number.
- source_port (Integer) – source port number.
- ip_protocol (
IPProtocol
) – IP protocol used for transmitted data. - data (Bytearray, optional) – data that is sent to the destination device. Optional.
Raises: - ValueError – if
dest_port
is less than 0 or greater than 65535 or - ValueError – if
source_port
is less than 0 or greater than 65535.
See also
-
static
create_packet
(raw, operating_mode)[source]¶ Override method.
Returns: RXIPv4Packet.
Raises: - InvalidPacketException – if the bytearray length is less than 15. (start delim + length (2 bytes) + frame type + source address (4 bytes) + dest port (2 bytes) + source port (2 bytes) + network protocol + status + checksum = 15 bytes)
- InvalidPacketException – if the length field of
raw
is different than its real length. (length field: bytes 2 and 3) - InvalidPacketException – if the first byte of
raw
is not the header byte. SeeSPECIAL_BYTE
. - InvalidPacketException – if the calculated checksum is different than the checksum field value (last byte).
- InvalidPacketException – if the frame type is not
ApiFrameType.RX_IPV4
. - InvalidOperatingModeException – if
operating_mode
is not supported.
See also
XBeeAPIPacket._check_api_packet()
-
source_address
¶ ipaddress.IPv4Address
. IPv4 address of the source device.
-
dest_port
¶ Integer. Destination port.
-
source_port
¶ Integer. Source port.
-
ip_protocol
¶ IPProtocol
. IP protocol used in the transmission.
-
data
¶ Bytearray. Data of the packet.
-
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.
See also
-
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
-
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 will be escaped or not. 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 information 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
- source_address (
-
class
digi.xbee.packets.network.
TXIPv4Packet
(frame_id, dest_address, dest_port, source_port, ip_protocol, transmit_options, data=None)[source]¶ Bases:
digi.xbee.packets.base.XBeeAPIPacket
This class represents an TX (Transmit) IPv4 packet. Packet is built using the parameters of the constructor or providing a valid byte array.
See also
Class constructor. Instantiates a new
TXIPv4Packet
object with the provided parameters.Parameters: - frame_id (Integer) – the frame ID. Must be between 0 and 255.
- dest_address (
IPv4Address
) – IPv4 address of the destination device. - dest_port (Integer) – destination port number.
- source_port (Integer) – source port number.
- ip_protocol (
IPProtocol
) – IP protocol used for transmitted data. - transmit_options (Integer) – the transmit options of the packet.
- data (Bytearray, optional) – data that is sent to the destination device. Optional.
Raises: - ValueError – if
frame_id
is less than 0 or greater than 255. - ValueError – if
dest_port
is less than 0 or greater than 65535. - ValueError – if
source_port
is less than 0 or greater than 65535.
See also
-
OPTIONS_CLOSE_SOCKET
= 2¶ This option will close the socket after the transmission.
-
OPTIONS_LEAVE_SOCKET_OPEN
= 0¶ This option will leave socket open after the transmission.
-
static
create_packet
(raw, operating_mode)[source]¶ Override method.
Returns: TXIPv4Packet.
Raises: - InvalidPacketException – if the bytearray length is less than 16. (start delim + length (2 bytes) + frame type + frame id + dest address (4 bytes) + dest port (2 bytes) + source port (2 bytes) + network protocol + transmit options + checksum = 16 bytes)
- InvalidPacketException – if the length field of
raw
is different than its real length. (length field: bytes 2 and 3) - InvalidPacketException – if the first byte of
raw
is not the header byte. SeeSPECIAL_BYTE
. - InvalidPacketException – if the calculated checksum is different than the checksum field value (last byte).
- InvalidPacketException – if the frame type is not
ApiFrameType.TX_IPV4
. - InvalidOperatingModeException – if
operating_mode
is not supported.
See also
XBeeAPIPacket._check_api_packet()
-
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.
See also
-
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
-
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 will be escaped or not. 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 information 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
-
dest_address
¶ ipaddress.IPv4Address
. IPv4 address of the destination device.
-
dest_port
¶ Integer. Destination port.
-
source_port
¶ Integer. Source port.
-
ip_protocol
¶ IPProtocol
. IP protocol.
-
transmit_options
¶ Integer. Transmit options.
-
data
¶ Bytearray. Data of the packet.