iNET Documentation¶
iNET is a FTI packet format that is decribed in IRIG106 standard, http://www.irig106.org/docs/106-17/Chapter24.pdf
It is typically encapsulated in a UDP payload. This module supports the creating and analysis of iNET packets
In typical use, a UDP payload is captured from the network or read from a PCAP file. This is then passed to the
iNET.unpack() method which converts it into an iNET object
The payload of the iNET packet, is a list of iNETPackage objects
Examples and details are available below
iNET Objects¶
- class AcraNetwork.iNET.iNET¶
Class to pack and unpack iNET payloads. iNET is standard packet format for use in FTI networks. It is usually transmitted in a UDP packet containing parameter data acquired from sensors and buses
The packet structure is defined in IRIG106 Chapter24 http://www.irig106.org/docs/106-17/Chapter24.pdf
Capture a UDP packet and unpack the _payload as an iNET packet
>>> from base64 import b64decode >>> data = b64decode('EAAAAAAAAAYAAAAAAAAAGAAAAAAAAAAA') >>> i = iNET() >>> i.unpack(data) True >>> print(i.definition_ID) 6
- unpack(buf: bytes) bool¶
Unpack a raw byte stream to an iNET object Accepts a buffer to unpack as the required argument
- app_fields¶
Optional Application Defined fields.
- definition_ID¶
Message Definition ID
- flags¶
Message Flags. Bits 15:8 Reserved.
- packages: List[iNETPackage]¶
The payload is made up of packages. The packagaes are stored in this attribute list[
iNETPackage]
- ptptimenanoseconds¶
PTP timestamps in nanoseconds
- ptptimeseconds¶
PTP timestamps in seconds
- sequence¶
Message Sequence Number
- type¶
Message type
- version¶
Message version
iNETPackage Objects¶
- class AcraNetwork.iNET.iNETPackage¶
The _payload of an iNET packet is multiple Package Headers. This class handles such objects
- pack() bytes¶
Pack the packet into a binary format and return as a string
- unpack(buf: bytes) bytes¶
Unpack a raw byte stream to an iNET package. Accepts a buffer to unpack as the required argument. Returns the unused buffer so that the unpack method can be called repeatedly
- payload: bytes¶
The package payload