MX Foundation 4
MXF_FLEXANALOG_DATAREC Struct Reference

Flex Analog Transmit / Receive (Acquisition) Record. More...

#include <mxf_class_flexanalog.h>

Data Fields

uint64 timeTag
 
uint32 control
 
uint32 dataSize
 
uint32 repeatCount
 
uint32 reserved
 
uint64 dataMask
 
uint16 data [64]
 

Detailed Description

This record structure is used to send (transmission) and receive (acquisition) Flex Analog data.

Examples:
flexadc.c, flexadc_buffer_threshold.c, flexdac.c, flexdac_buffer_threshold.c, and flexdac_relative_timing.c.

Field Documentation

MXF_FLEXANALOG_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 timebase set for the device.

Transmission Mode: For transmit operation, the time tag allows the application to specify the time when the state is to be set. Depending on the usage the time tag can be optional.

Examples:
flexadc.c, flexadc_buffer_threshold.c, flexdac.c, flexdac_buffer_threshold.c, and flexdac_relative_timing.c.
MXF_FLEXANALOG_DATAREC::control

Not used in reception.

Future use in transmission. Must be set to 0.

Examples:
flexdac.c, flexdac_buffer_threshold.c, and flexdac_relative_timing.c.
MXF_FLEXANALOG_DATAREC::dataSize

Acquisition mode: Number of bytes received in data array.

Transmission Mode: Number of bytes to update from data array.

Examples:
flexdac.c, flexdac_buffer_threshold.c, and flexdac_relative_timing.c.
MXF_FLEXANALOG_DATAREC::repeatCount

Future use in transmission. Must be set to 1.

Not used in reception.

Examples:
flexdac.c, flexdac_buffer_threshold.c, and flexdac_relative_timing.c.
MXF_FLEXANALOG_DATAREC::reserved

Reserved for future use. Must be set to 0 for transmit operation.

Examples:
flexdac.c, flexdac_buffer_threshold.c, and flexdac_relative_timing.c.
MXF_FLEXANALOG_DATAREC::dataMask

Acquisition mode: Mask of received channel in data array. Correspond to KMXF_FLEXADC_MODULE_CHN_SELECTION.

Transmission Mode: Mask of channel to update from data array. Bit set to one in this field means that the corresponding channel will have its value updated.

Examples:
flexadc.c, flexadc_buffer_threshold.c, flexdac.c, flexdac_buffer_threshold.c, and flexdac_relative_timing.c.
MXF_FLEXANALOG_DATAREC::data

Acquisition mode: Array of ADC code read. This array is packed and goes with the dataMask. The first index goes with the first bit set to one in the dataMask, the second index with the second bit set to one in dataMask, and so on.
The ADC code can be converted to a voltage value with mxfFlexAdcDataConvert().
In single-ended mode, the value corresponds to the differential between the input pin and sense pin.
In differential mode, the value corresponds to the differential between the positive pin and negative pin of the differential pair.



Transmission Mode: Array of DAC code to transmit. This array is packed and goes with the dataMask. The first index goes with the first bit set to one in the dataMask, the second index with the second bit set to one in dataMask, and so on.
The voltage value can be converted to a DAC code with mxfFlexDacDataConvert().
In single-ended mode, the value corresponds to the differential between the input pin and ground pin.
In differential mode, the value corresponds to the differential between the positive pin and negative pin of the differential pair.

Examples:
flexadc.c, flexadc_buffer_threshold.c, flexdac.c, flexdac_buffer_threshold.c, and flexdac_relative_timing.c.
Updated 10/23/2023