Datatypes

Computer

class chapter10.computer.ComputerF0(*args, **kwargs)

User-defined

class chapter10.computer.ComputerF1(*args, **kwargs)

Setup record (TMATS)

Using dictionary lookup syntax returns an OrderedDict of values that start with the given string:

>> tmats_packet['G']
OrderedDict({'G\COM': 'Comment'})
version

Irig106 release:

  • 7 = 2007

  • 8 = 2009

  • 9 = 2010

  • 10 = 2013

  • 11 = 2015

  • 12 = 2017

configuration_change

When streaming, indicates if the TMATS configuration has changed from the previous one.

format

Indicates ASCII (0) or XML (1)

class chapter10.computer.ComputerF2(*args, **kwargs)

Recording Event

count
ipdh
class Message(data=b'', parent=None, **kwargs)
ipts
ipdh

If present (see CSDW), contains the absolute time of the event.

number

Event type number

count

Number of events of this type as of the packet being written.

occurrence

1 if event occurred during .RECORD mode.

class chapter10.computer.ComputerF3(*args, **kwargs)

Index Packet

count
ipdh
file_size_present
index_type
  • 0 - Root Index

  • 1 - Node Index

class Message(data=b'', parent=None, **kwargs)
ipts
ipdh
offset

Offset to packet from beginning of file.

Node Index Only

channel_id
data_type

PCM

class chapter10.pcm.PCMF1(*args, **kwargs)

IRIG 106 Chapter 4/8 PCM data.

sync_offset

Offset into the major frame for the first data word in the packet. Not applicable for packed or throughput modes.

alignment

Indicates 32 bit alignment if 1 or 16 bit by default.

throughput

Indicates throughput mode (which would make most state flags unapplicable)

packed

Indicates presence of packed data.

unpacked

Indicates presense of unpacked data.

major_frame_status

Combination major frame check flag and major frame lock

minor_frame_status

Combination minor frame check flag and minor frame lock

minor_frame_indicator

Indicates if the first data word in the packjet is the beginning of a minor frame.

major_frame_indicator

Indicates if the first data word in the packet is the beginning of a major frame.

iph

Indicates presence of Intra-Packet Header (IPTS and IPDH)

class Message(data=b'', parent=None, **kwargs)
ipts

Provided if IPH is true (see above).

lock_status

Time

class chapter10.time.TimeF1(*args, **kwargs)

Time Packets

Note: Low level fields such as HSn, TSn, etc. are not documented here nor are they intended to be used directly. Use the .time attribute instead.

time_source
  • 0 - Internal (recorder clock)

  • 1 - External

  • 2 - Internal from RMM

  • 15 - None

time_format

Indicates time data packet format

  • 0 - IRIG-B

  • 1 - IRIG-A

  • 2 - IRIG-G

  • 3 - Real-Time clock

  • 4 - UTC time from GPS

  • 5 - Native GPS time

  • 15 - None (payload invalid)

leap

Indicates if this is a leap year.

date_format

0 for IRIG day format, 1 for month and year format.

irig_source

IRIG time source

  • 0 - TCG freewheeling (no/lost time source)

  • 1 - TCG freewheeling from .TIME command

  • 2 - TCG freewheeling from RMM time

  • 3 - TCG locked to external IRIG time signal

  • 4 - TCG locked to external GPS

  • 5 - TCG locked to external Network Time Protocol (NTP)

  • 6 - TCG locked to external Precision Time Protocol (PTP)

  • 7 - TCG locked to external embedded time from input track/channelsuch as PCM or 1553

time

Python datetime object representing the packet payload.

Mil-Std-1553

class chapter10.ms1553.MS1553F1(file=None, parent=None, **kwargs)

MIL-STD-1553B bus data

count

Count of 1553 messages in the packet body.

time_tag_bits

Indicates which bit of the message is time tagged:

  • 0 - Last bit of the last word of the message

  • 1 - First bit of the first word of the message

  • 2 - Last bit of the first (command) word of the message

class Message(data=b'', parent=None, **kwargs)
ipts
le

Length error

se

Sync type error

we

Invalid word error

bus

Bus ID (A/B)

me

Message error

rt2rt

Boolean: indicates RT to RT message

fe

Format error

timeout
gap_time

GAP1 indicates time (in tenths of us) between the command or data word and the first (and only) status word. GAP2 measures time between the last data word and the second status word.

length

Message length (bytes)

class chapter10.ms1553.MS1553F2(file=None, parent=None, **kwargs)

16PP194 Weapons Bus Data

Note: the specifics of the data word format (bus ID, etc.) are not implemented here (yet).

count
class Message(data=b'', parent=None, **kwargs)
ipts
length

IPDH length. Fixed at 24 bytes.

se

Status error

ee

Echo error

te

Transaction error

re

Master reset

tm

Timeout

Analog

class chapter10.analog.AnalogF1(*args, **kwargs)
mode

Indicates packing and aligmnent mode.

  • 0 - Packed

  • 1 - Unpacked, lsb padded

  • 3 - Unpacked, msb padded

length

Bit length of samples.

subchannel

Subchannel ID

subchannel_count

Number of subchannels (and CSDWs) in the packet.

factor

Exponent of power of 2 sampling rate factor denominator.

same

Indicates whether this CSDW applies to all subchannels.

class Message(data=b'', parent=None, **kwargs)
classmethod from_packet(packet)

Helper method to read a message from packet.

Discrete

class chapter10.discrete.DiscreteF1(file=None, parent=None, **kwargs)

Discrete Format 1

mode
  • 0 - data is recorded when the state changes

  • 1 - data is recorded at a timed interval

length

Bit length of data or 0 (32 bits)

class Message(data=b'', parent=None, **kwargs)
ipts

Message

class chapter10.message.MessageF0(file=None, parent=None, **kwargs)
count

Segment number of packet (for non-zero packet_type) or a count of messages contained in the packet.

packet_type
  • 0 - One or more complete messages

  • 1 - Beginning of a long message

  • 2 - Last part of a long message

  • 3 - Middle part of a long message

class Message(data=b'', parent=None, **kwargs)
ipts
length

Message length (bytes)

subchannel
format_error
data_error

Arinc 429

class chapter10.arinc429.ARINC429F0(file=None, parent=None, **kwargs)
count

Number of ARINC 429 words in packet body.

class Message(*args, **kwargs)
gap_time

Gap time from the beginning of the preceding bus word (regardless of bus) to the beginning of the current bus word in 0.1-us increments.

bus_speed
  • 0 - low-speed bus (12.5kHz)

  • 1 - high-speed bus (100kHz)

parity_error
format_error
bus

ARINC bus number (0-255)

Video

class chapter10.video.VideoF0(*args, **kwargs)

MPEG2/H.264

byte_alignment
  • 0 - Little endian

  • 1 - Big endian

payload
  • 0 - MPEG-2 MP @ ML

  • 1 - H.264 MP @ L2.1

  • 2 - H.264 MP @ L2.2

  • 3 - H.264 MP @ L3

key_length

Indicates if key-length-value metadata is present

scr_rtc_sync

Indicates if MPEG-2 SCR is RTC

iph
embedded_time

Indicates time embedded in MPEG-2 stream.

class Message(data=b'', parent=None, **kwargs)
ipts

If indicated by iph flag in CSDW (see above)

class chapter10.video.VideoF1(*args, **kwargs)

ISO 13818-1 MPEG-2 bit stream

count
type
  • 0 - Transport data bit stream

  • 1 - Program data bit stream

mode
  • 0 - CBR stream

  • 1 - Variable bit rate stream

embedded_time

Indicates time embedded in MPEG-2 stream.

encoding_profile
  • 0 - Simple profile @ main level

  • 1 - Main profile @ low level

  • 2 - Main profile @ main level

  • 3 - Main profile @ high-1440 level

  • 4 - Main profile @ high level

  • 5 - SNR profile @ low level

  • 6 - SNR profile @ main level

  • 7 - Spatial profile @ high-1440 level

  • 8 - High profile @ main level

  • 9 - High profile @ high-1440 level

  • 10 - High profile @ high level

  • 11 - 4:2:2 profile @ main level

iph
scr_rtc_sync

Indicates if MPEG-2 SCR is RTC

key_length

Indicates if key length value metadata is present.

class Message(data=b'', parent=None, **kwargs)
ipts

If indicated by iph flag in CSDW (see above)

class chapter10.video.VideoF2(*args, **kwargs)
class Message(data=b'', parent=None, **kwargs)
ipts

If indicated by iph flag in CSDW (see above)

Image

class chapter10.image.ImageF0(*args, **kwargs)

Image data

segment_length
iph
sum
  • 0 - Less than one complete image

  • 1 - One complete image

  • 2 - Multiple complete images

  • 3 - Multiple incomplete images

parts

Indicates which piece[s] are of the frame are contained in the packet:

class Message(data=b'', parent=None, **kwargs)
ipts

If IPH is true (see above), containts intra-packet timestamp

class chapter10.image.ImageF1(*args, **kwargs)

Still imagery

format
  • 0 - MIL-STD-2500 National Imagery Transmission Format

  • 1 - JPEG File Interchange Format

  • 2 - JPEG 2000 (ISO/IEC 154444-1)

  • 3 - Portable Network Graphics Format (PNG)

iph
sum
  • 0 - Contains less than one complete image

  • 1 - Contains one complete image

  • 2 - Contains multiple complete images

  • 3 - Contains multiple incomplete messages

parts
  • 0 - Doesn’t contain first or last segment of the image

  • 1 - Contains first segment of image

  • 2 - Contains multiple complete messages

  • 3 - Contains both first and last segment of image

class Message(data=b'', parent=None, **kwargs)
ipts

If IPH is true (see above), containts intra-packet timestamp

length

Length of image or segment (bytes)

class chapter10.image.ImageF2(*args, **kwargs)

Dynamic Imagery

format

Refer to chapter 10 standard

iph
sum
  • 0 - Contains less than one complete image (segment)

  • 1 - Contains one complete image

  • 2 - Contains multiple complete images

parts
  • 0 - Doesn’t contain first or last segment of the image

  • 1 - Contains first segment of image

  • 2 - Contains last segment of image

class Message(data=b'', parent=None, **kwargs)
ipts

If IPH is true (see above), containts intra-packet timestamp

length

Length of image or segment (bytes)

UART

class chapter10.uart.UARTF0(*args, **kwargs)
iph
class Message(data=b'', parent=None, **kwargs)
ipts

If enabled (see above), contains intra-packet timestamp

length

Message length (bytes)

subchannel
parity_error

I1394

class chapter10.i1394.I1394F0(*args, **kwargs)
count
sync

Synchronization code

packet_body_type
class Message(data=b'', parent=None, **kwargs)
reset

If packet type 0 (bus status) indicates if bus reset has occurred

ipts

Present for packet type = 2 (general purpose)

class chapter10.i1394.I1394F1(file=None, parent=None, **kwargs)

IEEE 1394 Physical Layer

count
class Message(data=b'', parent=None, **kwargs)
ipts
length

Transfer length (bytes)

buffer_overflow
overflow_error
  • 0 - no overflow

  • 1 - transfer started correctly, but is longer than standard transfer length

  • 2 - previous transfer was a type 1 overflow, this transfer ended correctly

  • 3 - previous transfer was a type 1 overflow and this transfer did not end correctly

speed

See chapter 10 standard

status

Parallel

class chapter10.parallel.ParallelF0(file=None, parent=None, **kwargs)
scan_number

If present contains the scan number of the first scan (for DCRsi data)

type

If between 0x10 and 0x80 contains the number of bits of recorded data

Ethernet

class chapter10.ethernet.EthernetF0(file=None, parent=None, **kwargs)

Ethernet data

count
ttb

Time tag bits:

  • 0 - First bit of the frame destination address

  • 1 - Last bit of the frame check sequence

  • 2 - First bit of the frame payload data

  • 3 - Last bit of the frame payload data

format

Should be 0 (IEEE 802.3 MAC frame)

class Message(*args, **kwargs)
ipts
length

Payload length (bytes)

data_length_error
data_crc_error
network_id
crc_error
frame_error
content
  • 0 - Full MAC frame

  • 1 - Payload only (14 bytes from the destination address)

ethernet_speed
  • 0 - Auto

  • 1 - 10 Mbps

  • 2 - 100 Mbps

  • 3 - 1 Gbps

  • 4 - 10 Gbps

class chapter10.ethernet.EthernetF1(file=None, parent=None, **kwargs)

ARINC-664

count
iph_length

Fixed at 28

class Message(data=b'', parent=None, **kwargs)
ipts
flags
  • 0 - Actual data

  • 1 - Simulated data

error
length

Message length (bytes)

Lower 16 bits of the destination MAC address

src_ip

Source IP address from ARINC IP header

dst_ip

Destination IP address from ARINC IP header

dst_port

Destination port from the ARINC UDP header

src_port

Source port from the ARINC UDP header