MX Foundation 4
|
ARINC 629 Transmit / Receive (Acquisition) Record. More...
#include <mxf_class_a629.h>
Data Fields | |
uint64 | timeTag |
uint32 | control |
uint32 | dataSize |
uint32 | repeatCount |
uint32 | reserved |
uint16 | data [258] |
uint16 | reserved2 [2] |
This ARINC 629 record structure is needed when sending (data update) and receiving (acquisition).
uint64 MXF_A629_DATAREC::timeTag |
Acquisition mode: Specifies the time when the data record has been received by the device. It is an absolute time expressed on the time base set for the device.
Transmission Mode: For transmit operation, the time tag is not used and must be set to 0.
uint32 MXF_A629_DATAREC::control |
Acquisition mode: For receive operation, the control field defines the condition under which the related record data was received.
The control bits are defined as follow for string mode (see KMXF_A629_BM_MODE);
Bit Constant | Meaning |
---|---|
MXF_A629_RX_REC_CTRL_STRING_BUFFER_OVERFLOW | An overflow condition has been detected on the preceding wordstring. |
MXF_A629_RX_REC_CTRL_STRING_CRC_ERROR | A CRC error was detected in the incoming wordstring. |
MXF_A629_RX_REC_CTRL_STRING_SOF | This wordstring is the first of the message. |
MXF_A629_RX_REC_CTRL_STRING_INTERNAL_TRANSMIT | This wordstring has been transmitted by the module. |
MXF_A629_RX_REC_CTRL_STRING_DATA_SYNC_ERROR | An invalid data sync has beed detected in the incoming wordstring. |
MXF_A629_RX_REC_CTRL_STRING_CRC_ENABLED | CRC check is enabled on this wordstring. |
MXF_A629_RX_REC_CTRL_STRING_LABEL_MANCHESTER_ERROR | A manchester error was detected in the label of the incoming wordstring. |
MXF_A629_RX_REC_CTRL_STRING_LABEL_PARITY_ERROR | A parity error was detected in the label of the incoming wordstring. |
MXF_A629_RX_REC_CTRL_STRING_DATA_MANCHESTER_ERROR | A manchester error was detected in the data of the incoming wordstring. |
MXF_A629_RX_REC_CTRL_STRING_DATA_PARITY_ERROR | A parity error was detected in the data of the incoming wordstring. |
MXF_A629_RX_REC_CTRL_STRING_EOS_ERROR | The wordstring length is more than 258 words. |
The control bits are defined as follow for word mode (see KMXF_A629_BM_MODE);
Bit Constant | Meaning |
---|---|
MXF_A629_RX_REC_CTRL_WORD_LABEL | This word is a label word. |
MXF_A629_RX_REC_CTRL_WORD_MANCHESTER_ERROR | A manchester error was detected in the incoming word. |
MXF_A629_RX_REC_CTRL_WORD_PARITY_ERROR | A parity error was detected in the incoming word. |
MXF_A629_RX_REC_CTRL_WORD_BUFFER_OVERFLOW | An overflow condition has been detected on the preceding word. |
MXF_A629_RX_REC_CTRL_WORD_EOS | This word is the last of the wordstring. |
MXF_A629_RX_REC_CTRL_WORD_CRC_ERROR | A CRC error was detected in incoming word. |
MXF_A629_RX_REC_CTRL_WORD_SOF | This word is the first of the message. |
MXF_A629_RX_REC_CTRL_WORD_INTERNAL_TRANSMIT | This word has been transmitted by the module. |
MXF_A629_RX_REC_CTRL_WORD_DATA_SYNC_ERROR | This data word has an invalid data sync. |
Transmission Mode: For transmission, the control field allows the user to inject transmit error.
A control of zero instructs the transmit process to send the data using the current transmitter settings.
The control bits are defined as follows:
Bit Constant | Meaning |
---|---|
MXF_A629_TX_REC_CTRL_FC_NO_INC | The freshness counter will not be incremented (periodic mode only). |
MXF_A629_TX_REC_CTRL_FC_NO_SEND | The freshness counter will not be sent (data from MXF_DATAREC_A629.data at the freshness counter position will be sent instead) (periodic mode only). |
MXF_A629_TX_REC_CTRL_CRC_ERROR | Sends a user defined CRC value (data from MXF_DATAREC_A629.data at the CRC position will be sent) (periodic mode only). |
MXF_A629_TX_REC_CTRL_ERROR_INJ | When set, error injection set with mxfA629ErrorInjectionSet() will be used. Index to use (0-99) is set in bits 0-6. |
MXF_A629_TX_REC_CTRL_PPSYNC | Sends a PPSYNC before (aperiodic mode only). |
MXF_A629_TX_REC_CTRL_PSYNC | Sends a PSYNC before (aperiodic mode only). |
MXF_A629_TX_REC_CTRL_CRC | Computes and appends a CRC after the last word (aperiodic mode only). |
uint32 MXF_A629_DATAREC::dataSize |
Acquisition mode: Number of bytes received in data array.
Transmission Mode: Number of bytes to update from data array.
uint32 MXF_A629_DATAREC::repeatCount |
Acquisition mode: Not used.
Transmission Mode: Number of times to repeat the transmission of the record. repeatCount must be greater than 0.
uint32 MXF_A629_DATAREC::reserved |
Reserved for future use. Must be set to 0 for transmit operation.
uint16 MXF_A629_DATAREC::data[258] |
ARINC 629 data array.
Acquisition mode: Data received.
Transmission Mode: Data to update. The first datum (data[0]) is not used and must be set to 0 in periodic mode. In Aperiodic mode, it is used to set the label (0..11) and CID (12..15). LSB of data[1] is used to set the wordstring length for variable length wordstring.
uint16 MXF_A629_DATAREC::reserved2[2] |
Reserved for future use. Must be set to 0 for transmit operation.