MX Foundation 4

Functions

uint32 mxfAsyncEventHandlerInit (HMXF_SERVER server, MXF_ASYNCEVENT_HANDLER handler, void *param, HMXF_ASYNCEVENT *asyncEvent)
 
uint32 mxfAsyncEventHandlerTerminate (HMXF_ASYNCEVENT asyncEvent)
 
uint32 mxfAsyncEventConditionsGet (HMXF_ASYNCEVENT asyncEvent, uint64 maxCount, uint64 *count, MXF_ASYNCEVENT_CONDITION *conditions)
 
uint32 mxfAsyncEventConditionsSet (HMXF_ASYNCEVENT asyncEvent, uint64 enable, uint64 count, MXF_ASYNCEVENT_CONDITION *conditions)
 
uint32 mxfAsyncEventPendingCountGet (HMXF_ASYNCEVENT asyncEvent, uint64 *count)
 
uint32 mxfAsyncEventPendingGet (HMXF_ASYNCEVENT asyncEvent, uint64 maxCount, uint64 *count, MXF_ASYNCEVENT_PENDING_INFO *pendingInfo)
 
uint32 mxfAsyncEventPendingClear (HMXF_ASYNCEVENT asyncEvent)
 
uint32 mxfAsyncEventRxMsgSelectSet (HMXF_ASYNCEVENT asyncEvent, HMXF_CHANNEL channel, uint64 select, uint64 count, void *msg)
 
uint32 mxfAsyncEventRxMsgSelectGet (HMXF_ASYNCEVENT asyncEvent, HMXF_CHANNEL channel, uint64 maxCount, uint64 *count, void *msg)
 
uint32 mxfAsyncEventTxPeriodicUpdateMsgSelectSet (HMXF_ASYNCEVENT asyncEvent, HMXF_CHANNEL channel, uint64 select, uint64 count, HMXF_BUFFER *bufferArray)
 
uint32 mxfAsyncEventTxPeriodicUpdateMsgSelectGet (HMXF_ASYNCEVENT asyncEvent, HMXF_CHANNEL channel, uint64 maxCount, uint64 *count, HMXF_BUFFER *bufferArray)
 

Detailed Description

Function Documentation

uint32 mxfAsyncEventHandlerInit ( HMXF_SERVER  server,
MXF_ASYNCEVENT_HANDLER  handler,
void *  param,
HMXF_ASYNCEVENT *  asyncEvent 
)
C#
public static extern UInt32 mxfAsyncEventHandlerInit(UInt64 server, MXF_ASYNCEVENT_HANDLER handler, IntPtr context, out UInt64 asyncEvent);

Attaches the specified asynchronous event handler to all devices detected on your system.

Important: Only one asynchronous event handler can be attached by an application (process).

Note
mxfAsyncEventPendingGet() or mxfAsyncEventPendingClear() must be called to empty the interrupts pending.
Parameters
[in]serverserver handle.
[in]handleraddress of an handler function defined as follow;
1 typedef uint32 (*MXF_ASYNCEVENT_HANDLER)(HMXF_ASYNCEVENT asyncEvent, void* param)
[in] asyncEvent: async event handle.
[in] param: pointer to a value that has been passed for the async event handler.
[return] Not used. Reserved for future use. The specified async event handler will be called whenever an asynchronous event is pending.
[in]parampointer to a value that will be passed to the async event handler.
[out]asyncEventasync event handle returned

mxfAsyncEventHandlerInit() registers a generic handler that can handle many conditions. This function must be used in conjunction with mxfAsyncEventConditionsSet() in order to register each specific conditions that should be handled. The handler is called from another thread than the main thread.

The code below shows how a minimal handler can be defined:

1 uint32 asyncEventGenericHandler(HMXF_ASYNCEVENT asyncEvent, void* param)
2 {
3 MXF_ASYNCEVENT_PENDING_INFO pendingList[64];
4 uint64 maxCount=64, pendingCount;
5 uint32 rc=MAXT_SUCCESS;
6 uint64 i;
7 
8  // Get the list of pending events to process
9  rc = mxfAsyncEventPendingGet(asyncEvent, maxCount, &pendingCount, pendingList);
10  if(rc)
11  return rc;
12 
13  for (i=0; i<pendingCount; i++)
14  {
15  switch ( pendingList[i].condID )
16  {
17  // The pending structure MXF_ASYNCEVENT_PENDING_INFO give details on each specific conditions reported.
18  case MXF_ASYNCEVENT_COND_RX_MSG:
19  case MXF_ASYNCEVENT_COND_RX_ERROR:
20  case MXF_ASYNCEVENT_COND_TX_ERROR:
21  case MXF_ASYNCEVENT_COND_TXAPERIODIC_BUFFER_THRESHOLD:
22  case MXF_ASYNCEVENT_COND_RXACQ_BUFFER_THRESHOLD:
23  case MXF_ASYNCEVENT_COND_TXPERIODIC_UPDATEMSG_BUFFER_THRESHOLD:
24  case MXF_ASYNCEVENT_COND_EMBEDDED_RX_BUFFER_THRESHOLD:
25  case MXF_ASYNCEVENT_COND_EMBEDDED_TX_BUFFER_THRESHOLD:
26  case MXF_ASYNCEVENT_COND_IRIGB_EVENTS:
27  case MXF_ASYNCEVENT_COND_COMM_RX_BUFFER_THRESHOLD:
28  case MXF_ASYNCEVENT_COND_COMM_TX_BUFFER_THRESHOLD:
29  printf("Asynchronous event for condition #d received", pendingList[i].condID);
30  break;
31 
32  default:
33  break;
34  }
35  }
36 
37  return rc;
38 }
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
)
Availability:
Available in MX Foundation 4.0 and later.
See also
mxfAsyncEventConditionsSet()
mxfAsyncEventHandlerTerminate()
Examples:
adc_buffer_threshold.c, ar429_buffer_threshold.c, ar429_buffer_threshold.cs, ar429_embedded_comm_queues.c, ar429_rx_event_handler.c, ar429_rx_event_handler.cs, ar664_error_injection_detection.c, ar664_error_injection_detection.cs, ar664_error_injection_detection_ede.c, ar664_error_injection_detection_ede.cs, ar708_buffer_threshold.c, ar708_buffer_threshold.cs, ar708_event_handler.c, ar708_event_handler.cs, ar717_buffer_threshold.c, ar717_buffer_threshold.cs, csdb_buffer_threshold.c, csdb_buffer_threshold.cs, csdb_rx_event_handler.c, csdb_rx_event_handler.cs, dac_buffer_threshold.c, discrete_event_handler.c, discrete_event_handler.cs, discrete_fifo.c, discrete_fifo.cs, flexadc_buffer_threshold.c, flexdac_buffer_threshold.c, flexdio_event_handler.c, flexdio_fifo.c, hdlc_buffer_threshold.c, hdlc_buffer_threshold.cs, hfce_buffer_threshold.c, mil1553_aperiodic_event.c, mil1553_aperiodic_event.cs, mil1553_bc_rt_data_assignment.c, mil1553_bc_rt_data_assignment.cs, mil1553_embedded_async_to_1553.c, mil1553_embedded_update_embedded.c, multi.c, and multi.cs.
uint32 mxfAsyncEventHandlerTerminate ( HMXF_ASYNCEVENT  asyncEvent)
C#
public static extern UInt32 mxfAsyncEventHandlerTerminate(UInt64 asyncEvent);

Unregisters an asynchronous event handler.

Note
It is important to disable all asynchronous event conditions and that the asynchronous event handler has finished before calling this function. Do not call this function from within the asynchronous event handler.
Parameters
[in]asyncEventasynchronous event handle
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
)
Availability:
Available in MX Foundation 4.0 and later.
See also
mxfAsyncEventHandlerInit()
mxfAsyncEventConditionsSet()
Examples:
adc_buffer_threshold.c, ar429_buffer_threshold.c, ar429_buffer_threshold.cs, ar429_embedded_comm_queues.c, ar429_rx_event_handler.c, ar429_rx_event_handler.cs, ar664_error_injection_detection.c, ar664_error_injection_detection.cs, ar664_error_injection_detection_ede.c, ar664_error_injection_detection_ede.cs, ar708_buffer_threshold.c, ar708_buffer_threshold.cs, ar708_event_handler.c, ar708_event_handler.cs, ar717_buffer_threshold.c, ar717_buffer_threshold.cs, csdb_buffer_threshold.c, csdb_buffer_threshold.cs, csdb_rx_event_handler.c, csdb_rx_event_handler.cs, dac_buffer_threshold.c, discrete_event_handler.c, discrete_event_handler.cs, discrete_fifo.c, discrete_fifo.cs, flexadc_buffer_threshold.c, flexdac_buffer_threshold.c, flexdio_event_handler.c, flexdio_fifo.c, hdlc_buffer_threshold.c, hdlc_buffer_threshold.cs, hfce_buffer_threshold.c, mil1553_aperiodic_event.c, mil1553_aperiodic_event.cs, mil1553_bc_rt_data_assignment.c, mil1553_bc_rt_data_assignment.cs, mil1553_embedded_async_to_1553.c, mil1553_embedded_update_embedded.c, multi.c, and multi.cs.
uint32 mxfAsyncEventConditionsGet ( HMXF_ASYNCEVENT  asyncEvent,
uint64  maxCount,
uint64 *  count,
MXF_ASYNCEVENT_CONDITION conditions 
)
C#
public static extern UInt32 mxfAsyncEventConditionsGet(UInt64 asyncEvent, UInt64 maxCount, out UInt64 count, [Out] MXF_ASYNCEVENT_CONDITION[] conditions);

Returns the list of conditions registered for an asynchronous handler.

Parameters
[in]asyncEventasyncEvent handle
[in]maxCountmaximum number of conditions to read
[out]countnumber of conditions returned
[out]conditionspointer to condition array structure
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.0 and later.
See also
mxfAsyncEventHandlerInit()
mxfAsyncEventConditionsSet()
uint32 mxfAsyncEventConditionsSet ( HMXF_ASYNCEVENT  asyncEvent,
uint64  enable,
uint64  count,
MXF_ASYNCEVENT_CONDITION conditions 
)
C#
public static extern UInt32 mxfAsyncEventConditionsSet(UInt64 asyncEvent, UInt64 enable, UInt64 count, MXF_ASYNCEVENT_CONDITION[] conditions);

Enables or disables asynchronous event conditions to be serviced by the specified asynchronous event handler.

An asynchronous event handler initially defined by mxfAsyncEventHandlerInit() can service several asynchronous event conditions defined by mxfAsyncEventConditionsSet(). These conditions can be modified dynamically while the program is running.

Parameters
[in]asyncEventchannel handle
[in]enableenable or disable the conditions
Constant Description
VMXF_ENABLE Enables the conditions
VMXF_DISABLE Disables the conditions
[in]countnumber of conditions
[in]conditionspointer to an array of conditions

Array of asynchronous Conditions.

Condition ID:

The list of the conditions ID is defined below. For each condition, variables must be set for defining the triggers of the conditions. Refer to the structures MXF_ASYNCEVENT_CONDITION for more details.

Condition ID name Action
MXF_ASYNCEVENT_COND_RX_MSG: Causes an asynchronous event to occur when a specific message is received.
Structure member to use: rxMsg.
The message IDs must be selected with mxfAsyncEventRxMsgSelectSet().
This condition is only available in MIL-STD-1553, CSDB, ARINC 429, ARINC 629 and ARINC 708.
MXF_ASYNCEVENT_COND_RX_ERROR: Causes an asynchronous event to occur when a receive RX error is detected.
Structure member to use: rxErr.
MXF_ASYNCEVENT_COND_TX_ERROR: Causes an asynchronous event to occur when a TX error is detected.
Structure member to use: txErr.
MXF_ASYNCEVENT_COND_TXAPERIODIC_BUFFER_THRESHOLD: Causes an asynchronous event to occur when the specified TX FIFO aperiodic buffer threshold is reached.
Structure member to use: txAperiodicBufferThreshold.
MXF_ASYNCEVENT_COND_RXACQ_BUFFER_THRESHOLD: Causes an asynchronous event to occur when the specified acquisition buffer threshold is reached.
Structure member to use: rxAcqBufferThreshold.
MXF_ASYNCEVENT_COND_TXPERIODIC_UPDATEMSG_BUFFER_THRESHOLD: Causes an asynchronous event to occur when the specified TX periodic update message buffer threshold is reached.
Structure member to use: txPeriodicUpdateMsgBufferThreshold.
The messages must be selected using mxfAsyncEventTxMsgSelectSet().
This condition is only available with channels supporting the TX Periodic Update Message Service (MXF_SCLASS_TXPERIODIC_UPDATEMSG_BUFFER_SRV).
MXF_ASYNCEVENT_COND_EMBEDDED_RX_BUFFER_THRESHOLD: Causes an asynchronous event to occur when the specified embedded RX buffer threshold is reached.
Structure member to use: embeddedRxBufferThreshold.
MXF_ASYNCEVENT_COND_EMBEDDED_TX_BUFFER_THRESHOLD: Causes an asynchronous event to occur when the specified embedded TX buffer threshold is reached.
Structure member to use: embeddedTxBufferThreshold.
MXF_ASYNCEVENT_COND_IRIGB_EVENTS: Causes an asynchronous event to occur for the IRIG-B event.
The IRIG-B event is defined in MXF_ASYNCEVENT_CONDITION.irigbEvents.status field.
Refer to the section IRIG Asynchronous Event for a complete discussion about the IRIG-B events.
Structure member to use: irigbEvents.
MXF_ASYNCEVENT_COND_COMM_RX_BUFFER_THRESHOLD: Causes an asynchronous event to occur when the specified comm RX buffer threshold is reached.
Structure member to use: commBufferThreshold.
MXF_ASYNCEVENT_COND_COMM_TX_BUFFER_THRESHOLD: Cause an asynchronous event to occur when the specified comm TX buffer threshold is reached.
Structure member to use: commBufferThreshold.
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.0 and later.
See also
mxfAsyncEventHandlerInit()
mxfAsyncEventConditionsGet()
Examples:
adc_buffer_threshold.c, ar429_buffer_threshold.c, ar429_buffer_threshold.cs, ar429_embedded_comm_queues.c, ar429_rx_event_handler.c, ar429_rx_event_handler.cs, ar664_error_injection_detection.c, ar664_error_injection_detection.cs, ar664_error_injection_detection_ede.c, ar664_error_injection_detection_ede.cs, ar708_buffer_threshold.c, ar708_buffer_threshold.cs, ar708_event_handler.c, ar708_event_handler.cs, ar717_buffer_threshold.c, ar717_buffer_threshold.cs, csdb_buffer_threshold.c, csdb_buffer_threshold.cs, csdb_rx_event_handler.c, csdb_rx_event_handler.cs, dac_buffer_threshold.c, discrete_event_handler.c, discrete_event_handler.cs, discrete_fifo.c, discrete_fifo.cs, flexadc_buffer_threshold.c, flexdac_buffer_threshold.c, flexdio_event_handler.c, flexdio_fifo.c, hdlc_buffer_threshold.c, hdlc_buffer_threshold.cs, hfce_buffer_threshold.c, mil1553_aperiodic_event.c, mil1553_aperiodic_event.cs, mil1553_bc_rt_data_assignment.c, mil1553_bc_rt_data_assignment.cs, mil1553_embedded_async_to_1553.c, mil1553_embedded_update_embedded.c, multi.c, and multi.cs.
uint32 mxfAsyncEventPendingCountGet ( HMXF_ASYNCEVENT  asyncEvent,
uint64 *  count 
)
C#
public static extern UInt32 mxfAsyncEventPendingCountGet(UInt64 asyncEvent, out UInt64 count);

Returns the number of conditions pending for an asynchronous handler.

Parameters
[in]asyncEventasyncEvent handle
[out]countnumber of conditions pending
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.0 and later.
See also
mxfAsyncEventPendingGet()
uint32 mxfAsyncEventPendingGet ( HMXF_ASYNCEVENT  asyncEvent,
uint64  maxCount,
uint64 *  count,
MXF_ASYNCEVENT_PENDING_INFO pendingInfo 
)
C#
public static extern UInt32 mxfAsyncEventPendingGet(UInt64 asyncEvent, UInt64 maxCount, out UInt64 count, [Out] MXF_ASYNCEVENT_PENDING_INFO[] pendingInfo);

Gets pending asynchronous event information. The function should be called in an asynchronous event handler to determine why the asynchronous event occurred.

Note
Refer to mxfAsyncEventHandlerInit() for an example on how this function is integrated in an asynchronous event handler.
Parameters
[in]asyncEventasynchronous event handle
[in]maxCountmaximum number of interrupts to return (1-1000)
[out]countreturned count of pending asynchronous events
[out]pendingInforeturned array of pending asynchronous event info

The asynchronous event types are:

  • MXF_ASYNCEVENT_COND_RX_MSG:
  • MXF_ASYNCEVENT_COND_RX_ERROR:
  • MXF_ASYNCEVENT_COND_TX_ERROR:
  • MXF_ASYNCEVENT_COND_TXAPERIODIC_BUFFER_THRESHOLD:
  • MXF_ASYNCEVENT_COND_RXACQ_BUFFER_THRESHOLD:
  • MXF_ASYNCEVENT_COND_TXPERIODIC_UPDATEMSG_BUFFER_THRESHOLD:
  • MXF_ASYNCEVENT_COND_EMBEDDED_RX_BUFFER_THRESHOLD:
  • MXF_ASYNCEVENT_COND_EMBEDDED_TX_BUFFER_THRESHOLD:
  • MXF_ASYNCEVENT_COND_COMM_RX_BUFFER_THRESHOLD:
  • MXF_ASYNCEVENT_COND_COMM_TX_BUFFER_THRESHOLD:
  • MXF_ASYNCEVENT_COND_IRIGB_EVENTS:

and the structure MXF_ASYNCEVENT_PENDING_INFO defines sub-structures for each type of asynchronous events.

Array of Interrupt Conditions.

Condition ID:

The list of the conditions ID is defined below. For each condition, variables has been set to define the trigger of the conditions. Refer to the structures MXF_ASYNCEVENT_PENDING_INFO for more details.

Condition ID name Effect
MXF_ASYNCEVENT_COND_RX_MSG: A specific message has been received.
Structure member to use: rxMsg.
MXF_ASYNCEVENT_COND_RX_ERROR: A receive RX error has been detected.
Structure member to use: rxErr.
MXF_ASYNCEVENT_COND_TX_ERROR: A TX error has been detected.
Structure member to use: txErr.
MXF_ASYNCEVENT_COND_TXAPERIODIC_BUFFER_THRESHOLD: TX FIFO aperiodic buffer almost empty threshold has been reached.
Structure member to use: txAperiodicBufferThreshold.
MXF_ASYNCEVENT_COND_RXACQ_BUFFER_THRESHOLD: Acquisition buffer almost full threshold has been reached.
Structure member to use: rxAcqBufferThreshold.
MXF_ASYNCEVENT_COND_TXPERIODIC_UPDATEMSG_BUFFER_THRESHOLD: TX periodic update message buffer almost empty threshold has been reached.
Structure member to use: txPeriodicUpdateMsgBufferThreshold.
MXF_ASYNCEVENT_COND_EMBEDDED_RX_BUFFER_THRESHOLD: Embedded RX buffer almost full threshold has been reached.
Structure member to use: embeddedRxBufferThreshold.
MXF_ASYNCEVENT_COND_EMBEDDED_TX_BUFFER_THRESHOLD: Embedded TX buffer almost empty threshold has been reached.
Structure member to use: embeddedTxBufferThreshold.
MXF_ASYNCEVENT_COND_IRIGB_EVENTS: An IRIG-B event has been detected.
Structure member to use: irigbEvents.
MXF_ASYNCEVENT_COND_RX_COMM_BUFFER_THRESHOLD: Comm RX buffer almost full threshold has been reached.
Structure member to use: commBufferThreshold.
MXF_ASYNCEVENT_COND_TX_COMM_BUFFER_THRESHOLD: Comm TX buffer almost empty threshold has been reached.
Structure member to use: commBufferThreshold.
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.0 and later.
See also
mxfAsyncEventHandlerInit()
mxfAsyncEventPendingCountGet()
mxfAsyncEventPendingClear()
Examples:
adc_buffer_threshold.c, ar429_buffer_threshold.c, ar429_buffer_threshold.cs, ar429_embedded_comm_queues.c, ar429_rx_event_handler.c, ar429_rx_event_handler.cs, ar664_error_injection_detection.c, ar664_error_injection_detection.cs, ar664_error_injection_detection_ede.c, ar664_error_injection_detection_ede.cs, ar708_buffer_threshold.c, ar708_buffer_threshold.cs, ar708_event_handler.c, ar708_event_handler.cs, ar717_buffer_threshold.c, ar717_buffer_threshold.cs, csdb_buffer_threshold.c, csdb_buffer_threshold.cs, csdb_rx_event_handler.c, csdb_rx_event_handler.cs, dac_buffer_threshold.c, discrete_event_handler.c, discrete_event_handler.cs, discrete_fifo.c, discrete_fifo.cs, flexadc_buffer_threshold.c, flexdac_buffer_threshold.c, flexdio_event_handler.c, flexdio_fifo.c, hdlc_buffer_threshold.c, hdlc_buffer_threshold.cs, hfce_buffer_threshold.c, mil1553_aperiodic_event.c, mil1553_aperiodic_event.cs, mil1553_bc_rt_data_assignment.c, mil1553_bc_rt_data_assignment.cs, mil1553_embedded_async_to_1553.c, mil1553_embedded_update_embedded.c, multi.c, and multi.cs.
uint32 mxfAsyncEventPendingClear ( HMXF_ASYNCEVENT  asyncEvent)
C#
public static extern UInt32 mxfAsyncEventPendingClear(UInt64 asyncEvent);

Clears the pending asynchronous events for the asynchronous event handler.

Note
Typically this function should be called in an asynchronous event handler if mxfAsyncEventPendingGet() is not called.
Parameters
[in]asyncEventasynchronous event handle
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.0 and later.
See also
mxfAsyncEventHandlerInit()
mxfAsyncEventPendingGet()
mxfAsyncEventPendingCountGet()
Examples:
discrete_event_handler.c, discrete_event_handler.cs, and flexdio_event_handler.c.
uint32 mxfAsyncEventRxMsgSelectSet ( HMXF_ASYNCEVENT  asyncEvent,
HMXF_CHANNEL  channel,
uint64  select,
uint64  count,
void *  msg 
)

Selects or deselects the message IDs for MXF_ASYNCEVENT_COND_RX_MSG condition on a specified RX channel.

This function must be called in addition to mxfAsyncEventConditionsSet() with MXF_ASYNCEVENT_COND_RX_MSG condition to cause an asynchronous event to occur when a specific message ID is received.

The message selection must be made by only one asynchronous event routine for a specific channel. Otherwise, an error code will be returned while conditions of other asynchronous event routines are present.

In this case, you must disable the MXF_ASYNCEVENT_COND_RX_MSG condition using mxfAsyncEventConditionsSet() with another asynchronous event handle.

Note
count set to 0 with a msg set to NULL means ALL message IDs.
Parameters
[in]asyncEventasynchronous event handle
[in]channelchannel handle
[in]selectaction to perform for the message IDs
Action Description
MXF_MSG_DESELECT Deselects the message IDs (not available for CAN channel)
MXF_MSG_SELECT_ADD Adds the specified message IDs (not available for CAN channel)
MXF_MSG_SELECT_ONLY Replaces the current selection with the provided list
[in]countcount of messages IDs
[in]msgarray of message IDs.
Channel class Message identifier structure
ARINC 429 MXF_MSGID_A429
MIL-STD-1553 MXF_MSGID_MIL1553
CSDB MXF_MSGID_CSDB
ARINC 629 MXF_MSGID_A629
ARINC 708 MXF_MSGID_A708
CAN MXF_MSGID_CANBUS
ASCB MXF_MSGID_ASCB
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.0 and later.
See also
mxfAsyncEventHandlerInit()
mxfAsyncEventRxMsgSelectGet()
mxfAsyncEventConditionsSet()
uint32 mxfAsyncEventRxMsgSelectGet ( HMXF_ASYNCEVENT  asyncEvent,
HMXF_CHANNEL  channel,
uint64  maxCount,
uint64 *  count,
void *  msg 
)

Returns the list of message IDs registered for a specified RX channel for MXF_ASYNCEVENT_COND_RX_MSG asynchronous event condition ID.

Parameters
[in]asyncEventasynchronous event handle
[in]channelchannel handle
[in]maxCountmaximum message IDs expected
[out]countnumber of message IDs returned
[out]msgreturned message IDs array
Channel class Message identifier structure
ARINC 429 MXF_MSGID_A429
MIL-STD-1553 MXF_MSGID_MIL1553
CSDB MXF_MSGID_CSDB
ARINC 629 MXF_MSGID_A629
ARINC 708 MXF_MSGID_A708
CAN MXF_MSGID_CANBUS
ASCB MXF_MSGID_ASCB
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.0 and later.
See also
mxfAsyncEventHandlerInit()
mxfAsyncEventRxMsgSelectSet()
mxfAsyncEventConditionsSet()
uint32 mxfAsyncEventTxPeriodicUpdateMsgSelectSet ( HMXF_ASYNCEVENT  asyncEvent,
HMXF_CHANNEL  channel,
uint64  select,
uint64  count,
HMXF_BUFFER *  bufferArray 
)
C#
public static extern UInt32 mxfAsyncEventTxPeriodicUpdateMsgSelectSet(UInt64 asyncEvent, UInt64 channel, UInt64 select, UInt64 count, UInt64[] bufferArray);

Selects or deselects the TX periodic update message buffers for MXF_ASYNCEVENT_COND_TXPERIODIC_UPDATEMSG_BUFFER_THRESHOLD condition on a specified TX channel.

This function must be called in addition to mxfAsyncEventConditionsSet() with MXF_ASYNCEVENT_COND_TXPERIODIC_UPDATEMSG_BUFFER_THRESHOLD condition to cause an asynchronous event to occur when a specific TX periodic update message buffer threshold is reached.

The message selection must be made by only one asynchronous event routine for a specific channel. Otherwise, an error code will be returned while conditions of other asynchronous event routines are present.

In this case, you must disable MXF_ASYNCEVENT_COND_TXPERIODIC_UPDATEMSG_BUFFER_THRESHOLD condition using mxfAsyncEventConditionsSet() with another asynchronous event handle.

Parameters
[in]asyncEventasynchronous event handle
[in]channelchannel handle
[in]selectaction to perform for the buffer array
Action Description
MXF_MSG_DESELECT Deselects the buffers
MXF_MSG_SELECT_ADD Adds the specified buffers
MXF_MSG_SELECT_ONLY Replaces the current selection with the provided list
[in]countnumber of buffers
[in]bufferArrayhandle to buffer(s) arrays
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.0 and later.
See also
mxfAsyncEventHandlerInit()
mxfAsyncEventTxPeriodicUpdateMsgSelectGet()
mxfAsyncEventConditionsSet()
Examples:
ar429_buffer_threshold.c, ar429_buffer_threshold.cs, ar708_buffer_threshold.c, ar708_buffer_threshold.cs, csdb_buffer_threshold.c, csdb_buffer_threshold.cs, mil1553_bc_rt_data_assignment.c, mil1553_bc_rt_data_assignment.cs, multi.c, and multi.cs.
uint32 mxfAsyncEventTxPeriodicUpdateMsgSelectGet ( HMXF_ASYNCEVENT  asyncEvent,
HMXF_CHANNEL  channel,
uint64  maxCount,
uint64 *  count,
HMXF_BUFFER *  bufferArray 
)
C#
public static extern UInt32 mxfAsyncEventTxPeriodicUpdateMsgSelectGet(UInt64 asyncEvent, UInt64 channel, UInt64 maxCount, out UInt64 count, [Out] UInt64[] bufferArray);

Returns the list of buffers registered for a specified TX channel for MXF_ASYNCEVENT_COND_TXPERIODIC_UPDATEMSG_BUFFER_THRESHOLD asynchronous event condition ID.

Parameters
[in]asyncEventasynchronous event handle
[in]channelchannel handle
[in]maxCountmaximum of buffers expected
[out]countnumber of buffers returned
[out]bufferArrayhandle to buffer(s) arrays
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.0 and later.
See also
mxfAsyncEventHandlerInit()
mxfAsyncEventTxPeriodicUpdateMsgSelectSet()
mxfAsyncEventConditionsSet()
Updated 10/23/2023