~~ODT~~
===== UART DATA =====
==== Type 0x50, Universal Asynchronous Receiver and Transmitter (UART) Data, Format 0 (UART Data) ====
UART Data, Format 0 packets are used to record character data from an
asynchronous serial interface. Generally, the UART data packet will contain multiple buffers of
serial data. The Chapter 10 standard has no provisions for specifying how characters will be
grouped into blocks of data other than the 100 msec maximum data block time. It is common for
recorder vendors to provide a mechanism for determining serial message boundaries and
recording a complete serial message into a single UART data message based on detecting "dead
time" between messages.
The layout of the CSDW is shown in Figure 6-45. The bIntraPckHdr flag is used to
indicate if an optional intra-packet time stamp is included with each UART data message.
struct SuUartF0_ChanSpec
{
uint32_t uReserved : 31;
uint32_t bIntraPckHdr : 1
} SuUartF0_ChanSpec;
Type 0x50 UART Data Format 0 CSDW
The UART data message may have an optional intra-packet time stamp. If so, this time
field will be an 8 byte value. Time is represented in either 48-bit relative time format derived
from the RTC (format shown in Figure 6-5) , or as absolute time. If this time is absolute time, it
is in either Chapter 4 weighted 48-bit time (format shown in Figure 6-6) or IEEE 1588 time
format (format shown in Figure 6-7).
The layout of the UART Data message intra-packet data header is shown in Figure 6-46.
The uDataLength value indicates the number of data bytes in the message. The
uSubChannel value identifies the specific subchannel this data came from. The message data
immediately follows the intra-packet data header. Note that an even number of bytes is allocated
for UART data. If the data contains an odd number of bytes, then one unused filler byte is
inserted at the end of the data. The bParityError flag indicates that errors have occurred in
the reception of the data. The recorded data may, therefore, be invalid and unusable.
struct SuUartF0_DataHeader
{
uint16_t uDataLength : 16; // Num of bytes of UART data
uint16_t uSubChannel : 14; // Subchannel for following data
uint16_t uReserved : 1;
uint16_t bParityError : 1; //Parity Error
};
Type 0x50 UART Data Format 0 intra-packet data header
Chapter 10 of IRIG 106-07 (and prior editions of the standard) incorrectly state that Bit 7
of the Packet Flags (in the packet header) is used to determine if the intra-packet time is relative
time or absolute time. The correct bit to use is Bit 6. This handbook is based on (and correlates
to) the IRIG 106-07 edition; however the "bit 7" error will be corrected in future releases of this
handbook.
----
==== Type 0x51 - 0x57, UART Data, Format 1 - Format 7 ====
Reserved for future use.