MX Foundation 4

Functions

uint32 mxfSystemTimeBaseGet (HMXF_SERVER server, uint64 *timebase)
 
uint32 mxfSystemTimeBaseSet (HMXF_SERVER server, uint64 timebase)
 
uint32 mxfSleep (uint64 delay)
 
uint64 mxfPerfCounterGet (void)
 
uint64 mxfPerfCounterComputeUsec (uint64 time1, uint64 time2)
 
uint32 mxfDeviceIrigbStatusGet (HMXF_DEVICE device, uint64 *status)
 
uint32 mxfDeviceIrigbTimerGet (HMXF_DEVICE device, MXF_TIMER_IRIGB *timer)
 
uint32 mxfDeviceIrigbBcdCompose (uint64 years, uint64 days, uint64 hours, uint64 minutes, uint64 seconds, uint64 *bcd)
 
uint32 mxfDeviceIrigbBcdDecompose (uint64 bcd, uint64 *years, uint64 *days, uint64 *hours, uint64 *minutes, uint64 *seconds)
 
uint32 mxfDeviceIrigbBcdToBinary (uint64 bcd, uint64 *seconds)
 
uint32 mxfDeviceIrigbAsyncEventInit (HMXF_DEVICE device, void *context, MXF_ASYNCEVENT_IRIGB_HANDLER callback)
 
uint32 mxfDeviceIrigbAsyncEventTerminate (HMXF_DEVICE device)
 
uint32 mxfDeviceTimerGet (HMXF_DEVICE device, uint64 *timer)
 

Detailed Description

Function Documentation

uint32 mxfSystemTimeBaseGet ( HMXF_SERVER  server,
uint64 *  timebase 
)
C#
public static extern UInt32 mxfSystemTimeBaseGet(UInt64 server, out UInt64 timebase);

Returns the current timebase for the application. The timebase lets the user choose the time resolution (µs or ns) and time tag format (device, computer or IRIG-B) of various functions.

Parameters
[in]serverserver handle
[out]timebasetimebase returned
Timebase Description Unit
MXF_TIMEBASE_DEVICE_USEC Elapsed time since the device power up (FlexMAX) or power up/reset for all others µs
MXF_TIMEBASE_COMPUTER_USEC Elapsed time since January 1, 1970 based on the computer time µs
MXF_TIMEBASE_IRIGB_USEC Elapsed time since January 1, 1970 based on the IRIG-B input µs
MXF_TIMEBASE_DEVICE_NSEC Elapsed time since the device power up (FlexMAX) or power up/reset for all others ns
MXF_TIMEBASE_COMPUTER_NSEC Elapsed time since January 1, 1970 based on the computer time ns
MXF_TIMEBASE_IRIGB_NSEC Elapsed time since January 1, 1970 based on the IRIG-B input ns
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
mxfSystemTimeBaseSet()
uint32 mxfSystemTimeBaseSet ( HMXF_SERVER  server,
uint64  timebase 
)
C#
public static extern UInt32 mxfSystemTimeBaseSet(UInt64 server, UInt64 timebase);

Sets the timebase used by the application. The timebase lets the user choose the time resolution (µs or ns) and time tag format (device, computer or IRIG-B) of various functions. The default timebase is MXF_TIMEBASE_DEVICE_NSEC.

The timebase setting is per server for remote application and per process for local application. Changes made by this function are global to all channels in this server or process.

Automatic embedded non-volatile storage recording uses the time base of the last call to mxfSystemTimeBaseSet().

With MX-Embedded, the timebase setting is ignored. The time tag received or to be used with transmission is of type MXF_TIMEBASE_DEVICE_NSEC.

Parameters
[in]serverserver handle
[in]timebasetimebase values are defined below;
Timebase Description Unit
MXF_TIMEBASE_DEVICE_USEC Elapsed time since the device power up (FlexMAX) or power up/reset for all others µs
MXF_TIMEBASE_COMPUTER_USEC Elapsed time since January 1, 1970 based on the computer time µs
MXF_TIMEBASE_IRIGB_USEC Elapsed time since January 1, 1970 based on the IRIG-B input µs
MXF_TIMEBASE_DEVICE_NSEC Elapsed time since the device power up (FlexMAX) or power up/reset for all others ns
MXF_TIMEBASE_COMPUTER_NSEC Elapsed time since January 1, 1970 based on the computer time ns
MXF_TIMEBASE_IRIGB_NSEC Elapsed time since January 1, 1970 based on the IRIG-B input ns
Note
Refer to the section Time and Synchronization that explains all the aspects of setting timebase.
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
mxfServerConnect()
mxfSystemTimeBaseGet()
mxfDeviceTimerGet()
mxfDeviceIrigbBcdCompose()
Examples:
adc.c, adc_buffer_threshold.c, adc_sampling.c, ar429_aperiodic.c, ar429_aperiodic.cs, ar429_buffer_threshold.c, ar429_buffer_threshold.cs, ar429_comm_queues.c, ar429_comm_queues.cs, ar429_embedded_bridge.c, ar429_embedded_bridge.cs, ar429_embedded_discrete.c, ar429_embedded_discrete.cs, 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, ar429_UDPCommRxEmbedded.c, ar629_alternate.c, ar629_alternate.cs, ar629_aperiodic_frame.c, ar629_aperiodic_frame.cs, ar629_aperiodic_mode.c, ar629_aperiodic_mode.cs, ar629_block_mode.c, ar629_block_mode.cs, ar629_dual_xpp.c, ar629_dual_xpp.cs, ar629_error_injection_detection.c, ar629_error_injection_detection.cs, ar629_freshnessCounter_manyCID.c, ar629_freshnessCounter_manyCID.cs, ar629_independent_mode.c, ar629_independent_mode.cs, ar629_updating_data_sampling.c, ar629_updating_data_sampling.cs, ar664_aperiodicSap.c, ar664_aperiodicSap.cs, ar664_com_queuing_basic.c, ar664_com_queuing_basic.cs, ar664_end_system.c, ar664_end_system.cs, ar664_error_injection_detection.c, ar664_error_injection_detection.cs, ar664_error_injection_detection_ede.c, ar664_error_injection_detection_ede.cs, ar664_playback.c, ar664_playback.cs, ar664_raw_rx.c, ar664_raw_rx.cs, ar664_recorder.c, ar664_recorder.cs, ar664_sampling.c, ar664_sampling.cs, ar708.c, ar708.cs, ar708_aperiodic.c, ar708_aperiodic.cs, ar708_buffer_threshold.c, ar708_buffer_threshold.cs, ar708_event_handler.c, ar708_event_handler.cs, ar708_periodic.c, ar708_periodic.cs, ar708_sampling.c, ar708_sampling.cs, ar708_trigger.c, ar708_trigger.cs, ar708_tx_error_injection.c, ar708_tx_error_injection.cs, ar717.c, ar717.cs, ar717_advance.c, ar717_advance.cs, ar717_bridge_from_ar429.c, ar717_bridge_from_ar429.cs, ar717_buffer_threshold.c, ar717_buffer_threshold.cs, ar717_embedded_recorder.c, ar717_embedded_recorder.cs, ar717_rx_acquisition_trigger.c, ar717_rx_acquisition_trigger.cs, ascb_bc.c, ascb_bm.c, ascb_user.c, async.c, async.cs, async_flow_control_hw.c, async_flow_control_hw.cs, async_flow_control_sw.c, async_flow_control_sw.cs, async_rx_acquisition_trigger.c, async_rx_acquisition_trigger.cs, async_tx_error_injection.c, async_tx_error_injection.cs, can_fd.c, canbus.c, canbus.cs, canbus_periodic.c, canbus_sampling.c, csdb_aperiodic.c, csdb_aperiodic.cs, 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, dac.c, dac_buffer_threshold.c, dac_relative_timing.c, discrete_event_handler.c, discrete_event_handler.cs, discrete_fifo.c, discrete_fifo.cs, discrete_pulse_clock.c, discrete_pulse_clock.cs, discrete_rx_acquisition_trigger.c, discrete_rx_acquisition_trigger.cs, flexadc.c, flexadc_buffer_threshold.c, flexadc_sampling.c, flexdac.c, flexdac_buffer_threshold.c, flexdac_relative_timing.c, flexdio_event_handler.c, flexdio_fifo.c, flexdio_fifo_sampling.c, flexdio_sampling_acq.c, flexdio_sync.c, hdlc.c, hdlc.cs, hdlc_aperiodic.c, hdlc_aperiodic.cs, hdlc_buffer_threshold.c, hdlc_buffer_threshold.cs, hdlc_trigger.c, hdlc_trigger.cs, hdlc_tx_error_injection.c, hdlc_tx_error_injection.cs, hfce.c, hfce_aperiodic.c, hfce_buffer_threshold.c, hfce_trigger.c, hfce_tx_error_injection.c, ipm_async_rs485_9bit.c, irigb_1pps.c, irigb_1pps.cs, mil1553_aperiodic.c, mil1553_aperiodic.cs, mil1553_aperiodic_event.c, mil1553_aperiodic_event.cs, mil1553_aperiodic_frame.c, mil1553_aperiodic_frame.cs, mil1553_bc.c, mil1553_bc.cs, mil1553_bc_buserror_trigger.c, mil1553_bc_buserror_trigger.cs, mil1553_bc_dual_major_frame.c, mil1553_bc_dual_major_frame.cs, mil1553_bc_extclock.c, mil1553_bc_extclock.cs, mil1553_bc_rt_data_assignment.c, mil1553_bc_rt_data_assignment.cs, mil1553_bm.c, mil1553_bm.cs, mil1553_bm_acquisition_trigger.c, mil1553_bm_acquisition_trigger.cs, mil1553_cond_branch_1.c, mil1553_cond_branch_1.cs, mil1553_cond_branch_2.c, mil1553_cond_branch_2.cs, mil1553_ebr.c, mil1553_ebr.cs, mil1553_embedded_async_to_1553.c, mil1553_embedded_update_embedded.c, mil1553_errors.c, mil1553_errors.cs, mil1553_manyErrorInjections.c, mil1553_manyErrorInjections.cs, mil1553_rt.c, mil1553_rt.cs, mil1553_rt_rt.c, mil1553_rt_rt.cs, mil1553_rtErrorInjections.c, mil1553_rtErrorInjections.cs, multi.c, multi.cs, pulse.c, usb.c, usb.cs, write_read_async.c, and write_read_async.cs.
uint32 mxfSleep ( uint64  delay)
C#
public static extern UInt32 mxfSleep(UInt64 delay);

Suspends the execution of the current thread until the time-out interval elapses.

Parameters
[in]delayvalue in milliseconds (maximum is 65535 ms).
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.
Examples:
adc.c, adc_buffer_threshold.c, adc_internal_calib.c, adc_sampling.c, ar429_aperiodic.c, ar429_aperiodic.cs, ar429_buffer_threshold.c, ar429_buffer_threshold.cs, ar429_comm_queues.c, ar429_comm_queues.cs, ar429_embedded_bridge.c, ar429_embedded_bridge.cs, ar429_embedded_comm_queues.c, ar429_embedded_discrete.c, ar429_embedded_discrete.cs, ar429_embedded_recorder.c, ar429_embedded_recorder.cs, ar429_embedded_timer.c, ar429_embedded_timer.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, ar429_UDPCommRxEmbedded.c, ar629_aperiodic_frame.c, ar629_aperiodic_frame.cs, ar629_aperiodic_mode.c, ar629_aperiodic_mode.cs, ar629_block_mode.c, ar629_block_mode.cs, ar629_error_injection_detection.c, ar629_error_injection_detection.cs, ar629_freshnessCounter_manyCID.c, ar629_freshnessCounter_manyCID.cs, ar629_independent_mode.c, ar629_independent_mode.cs, ar629_updating_data_sampling.c, ar629_updating_data_sampling.cs, ar664_aperiodicSap.c, ar664_aperiodicSap.cs, ar664_com_queuing_basic.c, ar664_com_queuing_basic.cs, ar664_end_system.c, ar664_end_system.cs, ar664_error_injection_detection.c, ar664_error_injection_detection.cs, ar664_error_injection_detection_ede.c, ar664_error_injection_detection_ede.cs, ar664_playback.c, ar664_playback.cs, ar664_raw_rx.c, ar664_raw_rx.cs, ar664_recorder.c, ar664_recorder.cs, ar664_sampling.c, ar664_sampling.cs, ar708.c, ar708.cs, ar708_aperiodic.c, ar708_aperiodic.cs, ar708_buffer_threshold.c, ar708_buffer_threshold.cs, ar708_event_handler.c, ar708_event_handler.cs, ar708_periodic.c, ar708_periodic.cs, ar708_sampling.c, ar708_sampling.cs, ar708_trigger.c, ar708_trigger.cs, ar708_tx_error_injection.c, ar708_tx_error_injection.cs, ar717.c, ar717.cs, ar717_advance.c, ar717_advance.cs, ar717_bridge_from_ar429.c, ar717_bridge_from_ar429.cs, ar717_buffer_threshold.c, ar717_buffer_threshold.cs, ar717_embedded_recorder.c, ar717_embedded_recorder.cs, ar717_rx_acquisition_trigger.c, ar717_rx_acquisition_trigger.cs, ascb_bc.c, ascb_bm.c, ascb_user.c, async.c, async.cs, async_flexsmp.c, async_flexsmp.cs, async_flexsmp_rs232.c, async_flexsmp_rs232.cs, async_flow_control_hw.c, async_flow_control_hw.cs, async_flow_control_sw.c, async_flow_control_sw.cs, async_rx_acquisition_trigger.c, async_rx_acquisition_trigger.cs, async_tx_error_injection.c, async_tx_error_injection.cs, can_fd.c, canbus.c, canbus.cs, canbus_periodic.c, canbus_sampling.c, csdb_aperiodic.c, csdb_aperiodic.cs, csdb_buffer_threshold.c, csdb_buffer_threshold.cs, csdb_flexsmp.c, csdb_flexsmp.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, dac_buffer_threshold.c, dac_relative_timing.c, discrete.c, discrete.cs, discrete_event_handler.c, discrete_event_handler.cs, discrete_fifo.c, discrete_fifo.cs, discrete_Multi.c, discrete_Multi.cs, discrete_pulse_clock.c, discrete_pulse_clock.cs, discrete_rx_acquisition_trigger.c, discrete_rx_acquisition_trigger.cs, flexadc.c, flexadc_buffer_threshold.c, flexadc_sampling.c, flexdac_buffer_threshold.c, flexdac_relative_timing.c, flexdio.c, flexdio_event_handler.c, flexdio_fifo.c, flexdio_fifo_sampling.c, flexdio_sampling_acq.c, flexdio_sync.c, hdlc.c, hdlc.cs, hdlc_aperiodic.c, hdlc_aperiodic.cs, hdlc_buffer_threshold.c, hdlc_buffer_threshold.cs, hdlc_flexsmp.c, hdlc_flexsmp.cs, hdlc_trigger.c, hdlc_trigger.cs, hdlc_tx_error_injection.c, hdlc_tx_error_injection.cs, hfce.c, hfce_aperiodic.c, hfce_buffer_threshold.c, hfce_trigger.c, hfce_tx_error_injection.c, ipm_async_rs485_9bit.c, irigb_1pps.c, irigb_1pps.cs, mil1553_aperiodic.c, mil1553_aperiodic.cs, mil1553_aperiodic_event.c, mil1553_aperiodic_event.cs, mil1553_aperiodic_frame.c, mil1553_aperiodic_frame.cs, mil1553_bc.c, mil1553_bc.cs, mil1553_bc_buserror_trigger.c, mil1553_bc_buserror_trigger.cs, mil1553_bc_dual_major_frame.c, mil1553_bc_dual_major_frame.cs, mil1553_bc_extclock.c, mil1553_bc_extclock.cs, mil1553_bc_rt_data_assignment.c, mil1553_bc_rt_data_assignment.cs, mil1553_bm.c, mil1553_bm.cs, mil1553_bm_acquisition_trigger.c, mil1553_bm_acquisition_trigger.cs, mil1553_cond_branch_1.c, mil1553_cond_branch_1.cs, mil1553_cond_branch_2.c, mil1553_cond_branch_2.cs, mil1553_ebr.c, mil1553_ebr.cs, mil1553_embedded_async_to_1553.c, mil1553_embedded_async_to_1553.cs, mil1553_embedded_update_embedded.c, mil1553_embedded_update_host.c, mil1553_embedded_update_host.cs, mil1553_errors.c, mil1553_errors.cs, mil1553_manyErrorInjections.c, mil1553_manyErrorInjections.cs, mil1553_rt.c, mil1553_rt.cs, mil1553_rt_rt.c, mil1553_rt_rt.cs, mil1553_rtErrorInjections.c, mil1553_rtErrorInjections.cs, multi.c, multi.cs, pulse.c, relaybox_demo.c, relaybox_demo.cs, usb.c, usb.cs, write_read_async.c, and write_read_async.cs.
uint64 mxfPerfCounterGet ( void  )
C#
public static extern UInt64 mxfPerfCounterGet(void);

Gets the current value of the counter, which is a high resolution time stamp that can be used for time-interval measurements.

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.6.2 and later.
See also
mxfPerfCounterComputeUsec()
uint64 mxfPerfCounterComputeUsec ( uint64  time1,
uint64  time2 
)
C#
public static extern UInt64 mxfPerfCounterComputeUsec(UInt64 time1, UInt64 time2);

Computes the time difference, in microseconds, between two counters.

Parameters
[in]time1first counter
[in]time2last counter
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.6.2 and later.
See also
mxfPerfCounterGet()
uint32 mxfDeviceIrigbStatusGet ( HMXF_DEVICE  device,
uint64 *  status 
)
C#
public static extern UInt32 mxfDeviceIrigbStatusGet(UInt64 device, out UInt64 status);

Returns the device IRIG-B signal status.

Parameters
[in]devicedevice handle
[out]statusIRIG-B signal status state.
State Description
MXF_IRIGB_STATUS_LOCKED The IRIG-B signal is locked and ready to be used by mxfSystemTimeBaseSet().
MXF_IRIGB_STATUS_WAITING_SIGNAL First Pr marker of IRIG-B signal detected but waiting for two consecutive Pr markers to validate it.
MXF_IRIGB_STATUS_NO_SIGNAL No IRIG-B signal detected.
MXF_IRIGB_STATUS_DISABLED The IRIG-B input is disabled.
MXF_IRIGB_STATUS_LOCKING The IRIG-B signal is confirmed but the device is synchronizing the internal timers to the IRIG-B Pr marker. The IRIG-B data is available at this time with mxfDeviceIrigbTimerGet().
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
mxfDeviceIrigbTimerGet()
mxfSystemTimeBaseSet()
Examples:
irigb_1pps.c, irigb_1pps.cs, mil1553_bc_rt_data_assignment.c, and mil1553_bc_rt_data_assignment.cs.
uint32 mxfDeviceIrigbTimerGet ( HMXF_DEVICE  device,
MXF_TIMER_IRIGB timer 
)
C#
public static extern UInt32 mxfDeviceIrigbTimerGet(UInt64 device, out MXF_TIMER_IRIGB timer);

Reads the device IRIG-B time and the device RTC time associated with the IRIG-B time.

Parameters
[in]devicedevice handle
[out]timerpointer to a IRIG-B MXF_TIMER_IRIGB 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
mxfDeviceIrigbStatusGet()
mxfDeviceIrigbBcdDecompose()
uint32 mxfDeviceIrigbBcdCompose ( uint64  years,
uint64  days,
uint64  hours,
uint64  minutes,
uint64  seconds,
uint64 *  bcd 
)
C#
public static extern UInt32 mxfDeviceIrigbBcdCompose(UInt64 years, UInt64 days, UInt64 hours, UInt64 minutes, UInt64 seconds, out UInt64 bcd);

Builds a 40-bit IRIG-B time value from time components.

Parameters
[in]yearsyears
[in]daysdays
[in]hourshours
[in]minutesminutes
[in]secondsseconds
[out]bcd40-bit IRIG-B value
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
mxfDeviceIrigbBcdDecompose()
Examples:
irigb_1pps.c, and irigb_1pps.cs.
uint32 mxfDeviceIrigbBcdDecompose ( uint64  bcd,
uint64 *  years,
uint64 *  days,
uint64 *  hours,
uint64 *  minutes,
uint64 *  seconds 
)
C#
public static extern UInt32 mxfDeviceIrigbBcdDecompose(UInt64 bcd, out UInt64 years, out UInt64 days, out UInt64 hours, out UInt64 minutes, out UInt64 seconds);

Extracts the components of a 40-bit IRIG-B time.

Parameters
[in]bcd40-bit IRIG-B value
[out]yearsyears
[out]daysdays
[out]hourshours
[out]minutesminutes
[out]secondsseconds
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
mxfDeviceIrigbTimerGet()
mxfDeviceIrigbBcdCompose()
mxfDeviceIrigbBcdToBinary()
uint32 mxfDeviceIrigbBcdToBinary ( uint64  bcd,
uint64 *  seconds 
)
C#
public static extern UInt32 mxfDeviceIrigbBcdToBinary(UInt64 bcd, out UInt64 seconds);

Converts IRIG-B BCD time to binary time.

Parameters
[in]bcdBCD time value. If the BCD time includes years, the years part will be ignored.
[out]secondsvalue converted in seconds
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
mxfDeviceIrigbTimerGet()
uint32 mxfDeviceIrigbAsyncEventInit ( HMXF_DEVICE  device,
void *  context,
MXF_ASYNCEVENT_IRIGB_HANDLER  callback 
)
C#
public static extern UInt32 mxfDeviceIrigbAsyncEventInit(UInt64 device, IntPtr context, MXF_ASYNCEVENT_IRIGB_HANDLER callback);

Sets an async event handler for an IRIG-B event. When the IRIG-B event will happened, the callback will be called once and will be called again only when the IRIG-B event will happen again.
The possible IRIG-B events are:

IRIG-B event Description
MXF_ASYNCEVENT_IRIGB_EVENT_LOCKED IRIG-B: signal locked detection
MXF_ASYNCEVENT_IRIGB_EVENT_UNLOCKED IRIG-B: signal unlocked detection
MXF_ASYNCEVENT_IRIGB_EVENT_LEAP_SECOND_INS Positive leap second detection (23:59:60)
MXF_ASYNCEVENT_IRIGB_EVENT_LEAP_SECOND_DEL Negative leap second detection (no 23:59:59)
Parameters
[in]devicedevice handle
[in]contexthandler callback context
[in]callbackIRIG-B event callback handler

The callback handler function is defined as follow:

1 typedef uint32 (*MXF_ASYNCEVENT_IRIGB_HANDLER)(HMXF_DEVICE device, uint64 timeTag, uint64 status, void* context);

[in] device: device handle [in] timeTag: IRIG-B event timetag [in] status: IRIG-B event [in] context: context pointer

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.1 and later.
See also
mxfDeviceIrigbAsyncEventTerminate()
mxfAsyncEventConditionsSet()
uint32 mxfDeviceIrigbAsyncEventTerminate ( HMXF_DEVICE  device)
C#
public static extern UInt32 mxfDeviceIrigbAsyncEventTerminate(UInt64 device);

Clears the async event handler for an IRIB-B event.

Parameters
[in]devicedevice 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.1 and later.
See also
mxfDeviceIrigbAsyncEventInit()
mxfAsyncEventConditionsSet()
uint32 mxfDeviceTimerGet ( HMXF_DEVICE  device,
uint64 *  timer 
)
Updated 10/23/2023