mbgtools-lx
4.2.8
|
#include <mbgdevio.h>
Go to the source code of this file.
Data Structures | |
struct | CYCLES_FILTER_DATA |
A structure to keep filter data for cycles values. More... | |
struct | MBG_CHK_TIME_INFO |
A structure to store the results of the mbg_chk_time_info routine. More... | |
Macros | |
#define | _ext extern |
#define | MAX_CYCLES_FILTER_ENTRIES 32 |
Functions | |
int | mbg_chk_time_info (MBG_DEV_HANDLE dh, MBG_CHK_TIME_INFO *p, CYCLES_FILTER_DATA *p_filter, int fast_ts_only) |
Read and evaluate a system timestamp / reference timestamp pair. More... | |
int | snprint_chk_time_info (char *s, size_t max_len, const MBG_CHK_TIME_INFO *p, const PCPS_DEV *p_dev, int frac_digits, int print_raw) |
Print info from a MBG_CHK_TIME_INFO structure into a string buffer. More... | |
#define _ext extern |
Definition at line 40 of file chk_time_info.h.
#define MAX_CYCLES_FILTER_ENTRIES 32 |
Definition at line 57 of file chk_time_info.h.
Referenced by do_filter().
int mbg_chk_time_info | ( | MBG_DEV_HANDLE | dh, |
MBG_CHK_TIME_INFO * | p, | ||
CYCLES_FILTER_DATA * | p_filter, | ||
int | fast_ts_only | ||
) |
Read and evaluate a system timestamp / reference timestamp pair.
The device timestamp is considered as reference timestamp.
Usually the fast_ts_only
flag should be 0, in which case a PCPS_HR_TIME is read from the device in conjunction with the system timestamp.
If the fast_ts_only
flag is not 0 then only a PCPS_TIME_STAMP instead of a PCPS_HR_TIME is read in conjunction with the system timestamp. In this case the call executes faster, but this is only supported if the device supports memory mapped timestamps (see chk_fast_tstamp_supp). Also, the returned data doesn't include the device status information in this case.
Once the device system timestamp / reference timestamp pair has been read successfully, the associated cycles values are evaluated to simplify further processing by the calling application.
[in] | dh | Valid MBG_DEV_HANDLE handle to a Meinberg device. |
[out] | p | Pointer to a POUT_SETTINGS_IDX structure to be written. |
[in,out] | p_filter | Optional address of a CYCLES_FILTER_DATA instance associated with the device that is referenced by dh . If this parameter is not NULL then |
[in] | fast_ts_only | A flag indicating that only a PCPS_TIME_STAMP instead of a PCPS_HR_TIME is to be read in conjunction with the system timestamp, usually 0. |
Definition at line 115 of file chk_time_info.c.
References MBG_SYS_TIME_CYCLES::cyc_after, MBG_SYS_TIME_CYCLES::cyc_before, cyc_freq, PCPS_HR_TIME_CYCLES::cycles, MBG_CHK_TIME_INFO::d_ref, MBG_CHK_TIME_INFO::d_ref_comp, MBG_CHK_TIME_INFO::d_sys, do_filter(), MBG_CHK_TIME_INFO::exec_cyc, MBG_CHK_TIME_INFO::exec_cyc_limit, MBG_CHK_TIME_INFO::exec_sec, MBG_CHK_TIME_INFO::exec_sec_limit, PCPS_TIME_STAMP::frac, MBG_CHK_TIME_INFO::hrti, MBG_CHK_TIME_INFO::ltcy_cyc, MBG_CHK_TIME_INFO::ltcy_sec, mbg_delta_pc_cycles(), MBG_FRAC32_UNITS_PER_SEC, mbg_get_time_info_hrt(), mbg_get_time_info_tstamp(), mbg_rc_is_error, MBG_SUCCESS, NANO_TIME_64::nano_secs, NSEC_PER_SEC, MBG_TIME_INFO_HRT::ref_hr_time_cycles, MBG_TIME_INFO_TSTAMP::ref_tstamp_cycles, PCPS_TIME_STAMP::sec, NANO_TIME_64::secs, setup_hr_time_cycles_from_timestamp_cycles(), MBG_SYS_TIME_CYCLES::sys_time, MBG_TIME_INFO_HRT::sys_time_cycles, MBG_TIME_INFO_TSTAMP::sys_time_cycles, PCPS_HR_TIME_CYCLES::t, and PCPS_HR_TIME::tstamp.
Referenced by do_mbgsvctasks().
int snprint_chk_time_info | ( | char * | s, |
size_t | max_len, | ||
const MBG_CHK_TIME_INFO * | p, | ||
const PCPS_DEV * | p_dev, | ||
int | frac_digits, | ||
int | print_raw | ||
) |
Print info from a MBG_CHK_TIME_INFO structure into a string buffer.
[out] | s | The string buffer to be filled. |
[in] | max_len | Size of the output buffer for 0-terminated string. |
[in] | p | Pointer to a MBG_CHK_TIME_INFO to be evaluated. |
[in] | p_dev | |
[in] | frac_digits | |
[in] | print_raw |
Definition at line 206 of file chk_time_info.c.
References _int_from_size_t, _pcps_type_name, cyc_freq, MBG_CHK_TIME_INFO::d_ref, MBG_CHK_TIME_INFO::d_ref_comp, MBG_CHK_TIME_INFO::d_sys, MBG_CHK_TIME_INFO::exec_cyc, MBG_CHK_TIME_INFO::exec_cyc_limit, MBG_CHK_TIME_INFO::exec_sec, MBG_CHK_TIME_INFO::exec_sec_limit, MBG_CHK_TIME_INFO::hrti, MBG_CHK_TIME_INFO::ltcy_cyc, MBG_CHK_TIME_INFO::ltcy_sec, mbg_snprint_hr_tstamp(), MBG_TIME_INFO_HRT::ref_hr_time_cycles, snprintf_safe(), PCPS_HR_TIME_CYCLES::t, and PCPS_HR_TIME::tstamp.
Referenced by do_mbgsvctasks().