MX Foundation 4
|
CSDB Transmit - Receive (Acquisition) Record. More...
#include <mxf_class_csdb.h>
Data Fields | |
uint64 | timeTag |
uint32 | control |
uint32 | repeatCount |
uint8 | data [12] |
uint32 | reserved |
This record structure is used to send (transmission) and receive (acquisition) CSDB messages.
uint64 MXF_CSDB_DATAREC::timeTag |
Acquisition mode
In receive acquisition mode, the time when the first data record has been received by the device is specified. It is an absolute time expressed on the timebase set for the device. The timetag may also be disabled by the KMXF_CSDB_RX_TIMETAG_ENABLE attribute.
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 timetag can be optional.
uint32 MXF_CSDB_DATAREC::control |
Acquisition mode:
For receive operation, the control field defines the condition under which the related record data was received. A control of zero indicates that no errors were found while receiving data.
The control bits are defined as follow;
Bit Constant | Meaning |
---|---|
MXF_CSDB_RX_REC_CTRL_PARITY_ERROR | A parity error was detected in the incoming message. |
MXF_CSDB_RX_REC_CTRL_STOPBIT_ERROR | A stop bit error was detected in the incoming message. |
Transmission Mode:
For transmission, the control field allows the user to inject error(s) or to generate a discrete pulse on transmit.
A control of zero instructs the transmit process to send the data using the current transmitter settings.
The control bits are defined as follow:
Bit Constant | Description |
---|---|
MXF_CSDB_TX_REC_CTRL_PARITY_ERROR | Transmit with a parity error. Ignored if the channel parity attribute is set to VMXF_CSDB_PARITY_NONE. |
MXF_CSDB_TX_REC_CTRL_DISCRETE_OUTPUT_TRIG | Generate a discrete trigger pulse for the duration of the CSDB transmit output. On IO-MULTI-EH and IO-ASYNC_EH, the pulse will occur on the channel associated discrete line with mxfChannelDiscreteOutputTriggerEnableSet(). On IPM-MULTI and IPM-ASYNC, the pulse will occur on the corresponding discrete channel. |
MXF_CSDB_TX_REC_CTRL_SHORT_WORD_SIZE | Transmit one bit less. Not available on IPM-MULTI. |
MXF_CSDB_TX_REC_CTRL_LONG_WORD_SIZE | Transmit one bit more. The inserted bit has a value of 0 and is transmitted after the last bit, before the parity bit (if used). If parity is used, the parity bit value is not changed. Not available on IPM-MULTI. |
MXF_CSDB_TX_REC_CTRL_WORD_ERROR | Generate error on a specific word only. The MXF_CSDB_TX_REC_CTRL_WORD_ERR_INDEX is only used when MXF_CSDB_TX_REC_CTRL_WORD_ERROR bit is set. |
MXF_CSDB_TX_REC_CTRL_WORD_ERR_INDEX | Specific word index for error generation. The MXF_CSDB_TX_REC_CTRL_WORD_ERR_INDEX is only used when MXF_CSDB_TX_REC_CTRL_WORD_ERROR bit is set. |
uint32 MXF_CSDB_DATAREC::repeatCount |
In transmission indicates the number of time the transmission of data must take place. The value must be greater or equal to one for periodic transmit update message service, and one for all other transmit services.
Not used in reception.
uint8 MXF_CSDB_DATAREC::data[12] |
The bytes of the CSDB message . They can be indexed using the constants below;
Bit Constant | Value |
---|---|
MXF_CSDBBLOCK_LABEL_INDEX | 0 |
MXF_CSDBBLOCK_STATUS_INDEX | 1 |
MXF_CSDBBLOCK_DATA_INDEX | 2 |
uint32 MXF_CSDB_DATAREC::reserved |
Reserved for future use. Must be set to zero in transmission.