MX Foundation 4
MXF_CSDB_DATAREC Struct Reference

CSDB Transmit - Receive (Acquisition) Record. More...

#include <mxf_class_csdb.h>

Data Fields

uint64 timeTag
 
uint32 control
 
uint32 repeatCount
 
uint8 data [12]
 
uint32 reserved
 

Detailed Description

Field Documentation

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.

Examples:
csdb_aperiodic.c, csdb_aperiodic.cs, csdb_buffer_threshold.c, csdb_buffer_threshold.cs, csdb_flexsmp.c, csdb_periodic.c, csdb_periodic.cs, csdb_rx_acquisition_trigger.c, csdb_rx_acquisition_trigger.cs, csdb_rx_event_handler.c, csdb_rx_event_handler.cs, csdb_rx_sampling.c, csdb_rx_sampling.cs, and multi.c.
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.
Examples:
csdb_aperiodic.c, csdb_aperiodic.cs, csdb_buffer_threshold.c, csdb_buffer_threshold.cs, csdb_flexsmp.c, csdb_periodic.c, csdb_periodic.cs, csdb_rx_acquisition_trigger.c, csdb_rx_acquisition_trigger.cs, csdb_rx_event_handler.c, csdb_rx_event_handler.cs, csdb_rx_sampling.c, csdb_rx_sampling.cs, and multi.c.
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.

Examples:
csdb_aperiodic.c, csdb_aperiodic.cs, csdb_buffer_threshold.c, csdb_buffer_threshold.cs, csdb_flexsmp.c, csdb_periodic.c, csdb_periodic.cs, csdb_rx_acquisition_trigger.c, csdb_rx_acquisition_trigger.cs, csdb_rx_event_handler.c, csdb_rx_event_handler.cs, csdb_rx_sampling.c, csdb_rx_sampling.cs, multi.c, and multi.cs.
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
Examples:
csdb_aperiodic.c, csdb_aperiodic.cs, csdb_buffer_threshold.c, csdb_buffer_threshold.cs, csdb_flexsmp.c, csdb_periodic.c, csdb_periodic.cs, csdb_rx_acquisition_trigger.c, csdb_rx_acquisition_trigger.cs, csdb_rx_event_handler.c, csdb_rx_event_handler.cs, csdb_rx_sampling.c, csdb_rx_sampling.cs, multi.c, and multi.cs.
Updated 10/23/2023