MX Foundation 4

Functions

uint32 mxfTxPeriodicScheduleNew (HMXF_CHANNEL channel, HMXF_SCHED *sched)
 
uint32 mxfTxPeriodicScheduleGet (HMXF_CHANNEL channel, HMXF_SCHED *sched)
 
uint32 mxfTxPeriodicScheduleFree (HMXF_SCHED sched)
 
uint32 mxfTxPeriodicScheduleMsgAdd (HMXF_SCHED sched, uint64 period, uint64 phase, HMXF_SCHED_MSG *msg)
 
uint32 mxfTxPeriodicScheduleMsgCountGet (HMXF_SCHED sched, uint64 *count)
 
uint32 mxfTxPeriodicScheduleMsgListGet (HMXF_SCHED sched, uint64 maxCount, uint64 *count, HMXF_SCHED_MSG *msg)
 
uint32 mxfTxPeriodicScheduleMsgResume (HMXF_SCHED_MSG msg)
 
uint32 mxfTxPeriodicScheduleMsgSuspend (HMXF_SCHED_MSG msg)
 
uint32 mxfTxPeriodicScheduleMsgStatus (HMXF_SCHED_MSG msg, uint64 *status)
 
uint32 mxfTxPeriodicScheduleBufferListAdd (HMXF_SCHED_MSG msg, uint64 count, uint64 delay, HMXF_BUFFER *buffer)
 
uint32 mxfTxPeriodicScheduleSingleMsgAdd (HMXF_SCHED sched, uint64 period, uint64 phase, HMXF_BUFFER buffer, HMXF_SCHED_MSG *msg)
 
uint32 mxfTxPeriodicScheduleResume (HMXF_SCHED sched)
 
uint32 mxfTxPeriodicScheduleRun (HMXF_SCHED sched)
 
uint32 mxfTxPeriodicScheduleRunMulti (uint64 count, HMXF_SCHED *sched)
 
uint32 mxfTxPeriodicScheduleSuspend (HMXF_SCHED sched)
 
uint32 mxfTxPeriodicScheduleStatus (HMXF_SCHED sched, uint64 *status)
 

Detailed Description

Function Documentation

uint32 mxfTxPeriodicScheduleNew ( HMXF_CHANNEL  channel,
HMXF_SCHED *  sched 
)
C#
public static extern UInt32 mxfTxPeriodicScheduleNew(UInt64 channel, out UInt64 sched);

Creates a scheduler instance for the specified channel.

A scheduler may contain many messages and each message is built with a list of buffers. Each message has a specific period and phase.

The scheduler service supports a maximum of:

  • 1 scheduler per channel
  • 512 messages per scheduler
  • 256 buffer lists per message
  • 256 buffers per buffer list
Parameters
[in]channelchannel handle. Only ARINC 429, ARINC 708 and CSDB channel classes are supported.
[out]schedscheduler 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
mxfTxPeriodicScheduleMsgAdd()
mxfTxPeriodicScheduleBufferListAdd()
mxfTxPeriodicScheduleRun()
mxfTxPeriodicScheduleFree()
Examples:
ar429_buffer_threshold.c, ar429_buffer_threshold.cs, ar429_embedded_comm_queues.c, ar429_embedded_recorder.c, ar429_embedded_recorder.cs, ar429_periodic.c, ar429_periodic.cs, ar429_rx_acquisition_trigger.c, ar429_rx_acquisition_trigger.cs, ar429_rx_event_handler.c, ar429_rx_event_handler.cs, ar429_rx_sampling.c, ar429_rx_sampling.cs, ar708_buffer_threshold.c, ar708_buffer_threshold.cs, ar708_periodic.c, ar708_periodic.cs, ar708_sampling.c, ar708_sampling.cs, ar708_tx_error_injection.c, ar708_tx_error_injection.cs, canbus_periodic.c, canbus_sampling.c, csdb_buffer_threshold.c, csdb_buffer_threshold.cs, 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, multi.cs, usb.c, and usb.cs.
uint32 mxfTxPeriodicScheduleGet ( HMXF_CHANNEL  channel,
HMXF_SCHED *  sched 
)
C#
public static extern UInt32 mxfTxPeriodicScheduleGet(UInt64 channel, out UInt64 sched);

Gets an already created scheduler instance for the specified channel.

A scheduler may contain many messages and each message is built with a list of buffers. Each message has a specific period and phase.

The scheduler service supports a maximum of:

  • 1 scheduler per channel
  • 512 messages per scheduler
  • 256 buffer lists per message
  • 256 buffers per buffer list
Parameters
[in]channelchannel handle. Only ARINC 429, ARINC 708 and CSDB channel classes are supported.
[out]schedscheduler 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.3.0 and later.
See also
mxfTxPeriodicScheduleNew()
uint32 mxfTxPeriodicScheduleMsgAdd ( HMXF_SCHED  sched,
uint64  period,
uint64  phase,
HMXF_SCHED_MSG *  msg 
)
C#
public static extern UInt32 mxfTxPeriodicScheduleMsgAdd(UInt64 sched, UInt64 period, UInt64 phase, out UInt64 msg);

Adds a message into the specified scheduler. Each message may contain many buffer lists that must be added using the mxfTxPeriodicScheduleBufferListAdd().

Note
A maximum of 512 messages can be added to one scheduler.
Parameters
[in]schedscheduler handle.
[in]periodmessage period formatted accordingly to the process time base resolution (maximum of 15 seconds). Effective period is rounded down to microsecond resolution.
[in]phasemessage phase based on the beginning time of the schedule, formatted accordingly to the process time base resolution (maximum of 15 seconds). Effective phase is rounded down to microsecond resolution.
[out]msgpointer to an HMXF_SCHED_MSG 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
mxfTxPeriodicScheduleNew()
mxfTxPeriodicScheduleSingleMsgAdd()
mxfTxPeriodicScheduleBufferListAdd()
mxfTxPeriodicScheduleRun()
Examples:
ar429_embedded_comm_queues.c, ar429_embedded_recorder.c, ar429_embedded_recorder.cs, ar429_periodic.c, ar429_periodic.cs, ar429_rx_acquisition_trigger.c, ar429_rx_acquisition_trigger.cs, ar429_rx_event_handler.c, ar429_rx_event_handler.cs, ar429_rx_sampling.c, ar429_rx_sampling.cs, ar708_periodic.c, ar708_periodic.cs, ar708_sampling.c, ar708_sampling.cs, ar708_tx_error_injection.c, ar708_tx_error_injection.cs, canbus_periodic.c, canbus_sampling.c, csdb_buffer_threshold.c, csdb_buffer_threshold.cs, 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, multi.cs, usb.c, and usb.cs.
uint32 mxfTxPeriodicScheduleMsgCountGet ( HMXF_SCHED  sched,
uint64 *  count 
)
C#
public static extern UInt32 mxfTxPeriodicScheduleMsgCountGet(UInt64 sched, out UInt64 count);

Returns the count of messages added to the scheduler.

Note
A maximum of 512 messages can be added to one scheduler.
Parameters
[in]schedscheduler handle.
[out]countnumber of messages.
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.3.0 and later.
See also
mxfTxPeriodicScheduleMsgAdd()
mxfTxPeriodicScheduleSingleMsgAdd()
uint32 mxfTxPeriodicScheduleMsgListGet ( HMXF_SCHED  sched,
uint64  maxCount,
uint64 *  count,
HMXF_SCHED_MSG *  msg 
)
C#
public static extern UInt32 mxfTxPeriodicScheduleMsgListGet(UInt64 sched, UInt64 maxCount, out UInt64 count, UInt64[] msg);

Returns the list of messages for the specified scheduler.

Note
A maximum of 512 messages can be added to one scheduler.
Parameters
[in]schedscheduler handle.
[in]maxCountmaximum number of messages to return in msg
[out]countactual number of messages returned in msg
[out]msgpointer to an array of maxCount HMXF_SCHED_MSG.
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.3.0 and later.
See also
mxfTxPeriodicScheduleMsgCountGet()
mxfTxPeriodicScheduleSingleMsgAdd()
mxfTxPeriodicScheduleMsgAdd()
uint32 mxfTxPeriodicScheduleMsgResume ( HMXF_SCHED_MSG  msg)
C#
public static extern UInt32 mxfTxPeriodicScheduleMsgResume(UInt64 msg);

Resumes the periodic transmission of a message attached to the scheduler.

Note
When a message is suspended, the transmission of message records will not be performed, but the scheduler keeps running to preserve messages timing (period, phase, delay). Resuming the message will re-enable record transmission.
Parameters
[in]msgscheduler message 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
mxfTxPeriodicScheduleNew()
mxfTxPeriodicScheduleRun()
mxfTxPeriodicScheduleMsgSuspend()
uint32 mxfTxPeriodicScheduleMsgSuspend ( HMXF_SCHED_MSG  msg)
C#
public static extern UInt32 mxfTxPeriodicScheduleMsgSuspend(UInt64 msg);

Suspends the specified scheduler message.

Note
When a message is suspended, the transmission of message records will not be performed, but the scheduler keeps running to preserve messages timing (period, phase, delay). Resuming the message will re-enable records transmission.
Parameters
[in]msgscheduler message 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
mxfTxPeriodicScheduleNew()
mxfTxPeriodicScheduleRun()
mxfTxPeriodicScheduleMsgResume()
uint32 mxfTxPeriodicScheduleMsgStatus ( HMXF_SCHED_MSG  msg,
uint64 *  status 
)
C#
public static extern UInt32 mxfTxPeriodicScheduleMsgStatus(UInt64 msg, out UInt64 status);

Gets the state of the specified scheduler message.

Parameters
[in]msgscheduler message handle.
[out]statusmessage state.
Status Message status
MXF_TXPERIODIC_SCHEDULE_STATUS_RUNNING The message is started.
MXF_TXPERIODIC_SCHEDULE_STATUS_STOPPED The message is stopped.
MXF_TXPERIODIC_SCHEDULE_STATUS_SUSPENDED The message is suspended.
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.2.2 and later.
See also
mxfTxPeriodicScheduleRun()
mxfTxPeriodicScheduleMsgSuspend()
mxfTxPeriodicScheduleMsgResume()
uint32 mxfTxPeriodicScheduleBufferListAdd ( HMXF_SCHED_MSG  msg,
uint64  count,
uint64  delay,
HMXF_BUFFER *  buffer 
)
C#
public static extern UInt32 mxfTxPeriodicScheduleBufferListAdd(UInt64 msg, UInt64 count, UInt64 delay, UInt64[] buffer);

Adds a buffer list into the specified scheduler message.

Each buffer of the list is sent back to back and the next buffer list is delayed by the delay value.

mxfTxPeriodicUpdateMsgWrite() must be used to set the data to be transmitted.

Note
A maximum of 256 buffer lists can be added to one message in A429 and CSDB.
A maximum of one buffer list can be added to one message in A708 and CAN.
The delay value of the last record list of the message is ignored
Parameters
[in]msgscheduler message handle.
[in]countbuffer(s) count (maximum 256).
[in]delaydelay between this buffer list and the next formatted accordingly to the process time base resolution (maximum of 15 seconds). Effective delay is rounded down to microsecond resolution.
[out]bufferpointer to a list of HMXF_BUFFER 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
mxfTxPeriodicScheduleNew()
mxfTxPeriodicScheduleMsgAdd()
mxfTxPeriodicScheduleRun()
mxfTxPeriodicUpdateMsgWrite()
Examples:
ar429_embedded_comm_queues.c, ar429_embedded_recorder.c, ar429_embedded_recorder.cs, ar429_periodic.c, ar429_periodic.cs, ar429_rx_acquisition_trigger.c, ar429_rx_acquisition_trigger.cs, ar429_rx_event_handler.c, ar429_rx_event_handler.cs, ar429_rx_sampling.c, ar429_rx_sampling.cs, ar708_periodic.c, ar708_periodic.cs, ar708_sampling.c, ar708_sampling.cs, ar708_tx_error_injection.c, ar708_tx_error_injection.cs, canbus_periodic.c, canbus_sampling.c, csdb_buffer_threshold.c, csdb_buffer_threshold.cs, 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, multi.cs, usb.c, and usb.cs.
uint32 mxfTxPeriodicScheduleSingleMsgAdd ( HMXF_SCHED  sched,
uint64  period,
uint64  phase,
HMXF_BUFFER  buffer,
HMXF_SCHED_MSG *  msg 
)
C#
public static extern UInt32 mxfTxPeriodicScheduleSingleMsgAdd(UInt64 sched, UInt64 period, UInt64 phase, UInt64 buffer, out UInt64 msg);

Adds a single message to the specified scheduler.

Parameters
[in]schedscheduler handle.
[in]periodperiod formatted accordingly to the process time base resolution (maximum of 15 seconds). Effective period is rounded down to microsecond resolution.
[in]phasemessage phase based on the beginning time of the schedule, formatted accordingly to the process time base resolution (maximum of 15 seconds). Effective phase is rounded down to microsecond resolution.
[in]bufferhandle of buffer to schedule.
[out]msgpointer to an HMXF_SCHED_MSG 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
mxfTxPeriodicScheduleNew()
mxfTxPeriodicScheduleBufferListAdd()
mxfTxPeriodicScheduleRun()
Examples:
ar429_buffer_threshold.c, ar429_buffer_threshold.cs, ar708_buffer_threshold.c, and ar708_buffer_threshold.cs.
uint32 mxfTxPeriodicScheduleResume ( HMXF_SCHED  sched)
C#
public static extern UInt32 mxfTxPeriodicScheduleResume(UInt64 sched);

Resumes the periodic transmission of a scheduler that was suspended.

Note
When the scheduler is suspended, the transmission of message records will not be performed, but the scheduler continues to run to preserve messages timing (period, phase, delay). Resuming the scheduler will re-enable messages transmission.
Parameters
[in]schedscheduler 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
mxfTxPeriodicScheduleNew()
mxfTxPeriodicScheduleRun()
mxfTxPeriodicScheduleSuspend()
uint32 mxfTxPeriodicScheduleRunMulti ( uint64  count,
HMXF_SCHED *  sched 
)
C#
public static extern UInt32 mxfTxPeriodicScheduleRunMulti(UInt64 count, UInt64[] sched);

Starts synchronously the transmission(s) for a list of specified schedulers.

Parameters
[in]countnumber of scheduler to start in the scheduler array.
[in]schedarray of scheduler handles.
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
mxfTxPeriodicScheduleNew()
mxfTxPeriodicScheduleRun()
mxfTxPeriodicScheduleResume()
uint32 mxfTxPeriodicScheduleSuspend ( HMXF_SCHED  sched)
C#
public static extern UInt32 mxfTxPeriodicScheduleSuspend(UInt64 sched);

Suspends the periodic transmission of a scheduler.

Note
When the scheduler is suspended, the transmission of message records will not be performed, but the scheduler continues to run to preserve messages timing (period, phase, delay). Resuming the scheduler will re-enable messages transmission.
Parameters
[in]schedscheduler 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
mxfTxPeriodicScheduleNew()
mxfTxPeriodicScheduleRun()
mxfTxPeriodicScheduleResume()
uint32 mxfTxPeriodicScheduleStatus ( HMXF_SCHED  sched,
uint64 *  status 
)
C#
public static extern UInt32 mxfTxPeriodicScheduleStatus(UInt64 sched, out UInt64 status);

Gets the state of the specified scheduler.

Parameters
[in]schedscheduler handle.
[out]statusscheduler state.
Status Scheduler status
MXF_TXPERIODIC_SCHEDULE_STATUS_RUNNING The scheduler is started.
MXF_TXPERIODIC_SCHEDULE_STATUS_STOPPED The scheduler is stopped.
MXF_TXPERIODIC_SCHEDULE_STATUS_SUSPENDED The scheduler is suspended.
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.2.2 and later.
See also
mxfTxPeriodicScheduleRun()
mxfTxPeriodicScheduleSuspend()
mxfTxPeriodicScheduleResume()
Updated 10/23/2023