MX Foundation 4
|
ARINC 664 Transmit / Receive (Acquisition) Record. More...
#include <mxf_class_a664.h>
Data Structures | |
union | service |
union | type |
Define the extra parameters required by port others than COM/SAP ports. More... | |
Data Fields | |
uint64 | timeTag |
uint32 | control |
uint32 | dataSize |
uint32 | repeatCount |
uint32 | reserved |
uint8 | data [8192] |
The MXF_A664_DATAREC structure is used to transmit record and receive messages in acquisition mode.
uint64 MXF_A664_DATAREC::timeTag |
_Acquisition Mode_:
Specifies the time when the data record has been received by the device. It is an absolute time (μs or ns) based on the current time base defined for the device.
_Transmission Mode_:
For transmit operation, the timetag allows the application to specify the time when the data is to be transmitted.
Depending on the usage the time tag can be optional, in which case it must be set to 0. When the transmission is immediate the mxfA664TxAperiodicWrite() function specify a value 0 for the timetag. When the modes ABSOLUTE or RELATIVE are used a value must be specified for the transmit record.
uint32 MXF_A664_DATAREC::control |
_Acquisition mode_:
For receive operation, the control field report the state of the frame that was received on the physical port.
Even if an error was detected (like a CRC error) it is possible that the data of the frame be passed to the calling application if all other checking by the protocol stack succeeds.
The frame status control bits in reception are defined as follow;
Constant | Description |
---|---|
MXF_A664_CTRL_RX_PORT_B | The frame is coming from physical port B. If this bit is not set, the frame is coming from physical port A. |
MXF_A664_CTRL_RX_MAC_SKEWMAX_EXCEEDED | The frame has been received after MAC Skew Max elapsed |
MXF_A664_CTRL_RX_EDE_SKEWMAX_EXCEEDED | The frame has been received after EDE Skew Max elapsed |
_Transmission Mode_:
In transmission the control field is used to control or override default settings.
Raw mode Control Bits:
By default on raw port, MAC CRC32, MAC NetID and IP checksum are automatically managed.
In redundant mode, by default, transmission will occur on both ports.
Error injection can be used to alter the transmission (see mxfA664ErrorInjectionSet()).
Constant | Description |
---|---|
MXF_A664_CTRL_TX_RAW_PORT_A | Transmit on port-A only (redundant mode) |
MXF_A664_CTRL_TX_RAW_PORT_B | Transmit on port-B only (redundant mode) |
MXF_A664_CTRL_TX_RAW_INJECT_ERROR_ON_PORTA | Inject error specified by errorIndex on port A |
MXF_A664_CTRL_TX_RAW_INJECT_ERROR_ON_PORTB | Inject error specified by errorIndex on port B |
MXF_A664_CTRL_TX_RAW_MAC_NETID_INCLUDED | Do not automatically set NetID |
MXF_A664_CTRL_TX_RAW_MAC_CRC32_INCLUDED | Do not automatically set MAC CRC32 |
MXF_A664_CTRL_TX_RAW_IP_CHECKSUM_INCLUDED | Do not automatically set IP checksum |
VL mode Control Bits:
By default on VL port, everything is transmitted according to VL/Port settings.
Error injection can be used to alter the transmission (see mxfA664ErrorInjectionSet()).
Constant | Description |
---|---|
MXF_A664_TX_REC_CTRL_ERROR_INJ | Inject error specified by errorIndex |
MXF_A664_TX_REC_CTRL_EDE_HEADER_INCLUDED | The datarec data array includes EDE header. This is useful with MXF_A664_ERRORID_VL_EDE_TIMESTAMP_OVERRIDE error injection. The datarec datasize must be 12 bytes more than payload to make room for the EDE Sequence Number (2 bytes), EDE Timestamp (6 bytes), EDE CRCX (2 bytes) and EDE CRCY (2 bytes). Payload must be set at offset 8 bytes (after EDE Timestamp). EDE trailer (EDE CRCX and CRCY) are located after the payload. EDE Sequence Number, CRCX and CRCY values are always overriden. EDE Timestamp is overriden if MXF_A664_ERRORID_VL_EDE_TIMESTAMP_OVERRIDE error injection is not used. |
uint32 MXF_A664_DATAREC::dataSize |
Acquisition mode: Number of bytes received in data array;
Transmission Mode: Number of bytes to transmit from data array.
uint32 MXF_A664_DATAREC::repeatCount |
Acquisition mode: Not used.
Transmission Mode: Not used. Must be set to 1.
uint32 MXF_A664_DATAREC::reserved |
Reserved for future use. Must be set to zero in transmission.
uint8 MXF_A664_DATAREC::data[8192] |
ARINC 664 data array.
Acquisition mode: Data received. Depending on the type of port, the data can be the complete frame (raw port) or only udp payload.
Transmission Mode: Data to transmit. Depending on the type of port, the data must be the complete frame (raw port) or only udp payload.