mbgtools-lx
4.2.8
|
Data Structures | |
struct | XMULTI_REF_ID |
Identifier for a reference source. More... | |
struct | XMULTI_REF_SETTINGS |
Reference source configuration settings. More... | |
struct | XMULTI_REF_SETTINGS_IDX |
Reference source configuration for a specific priority level. More... | |
struct | XMULTI_REF_INFO |
Reference source capabilities and current configuration. More... | |
struct | XMULTI_REF_INFO_IDX |
Reference source capabilities and current configuration for a specific priority level. More... | |
struct | XMULTI_REF_STATUS |
Status information on a single ref time source. More... | |
struct | XMULTI_REF_STATUS_IDX |
Status information on a ref time source at a specific priority level. More... | |
struct | XMULTI_REF_INSTANCES |
General info on supported XMR sources and instances. More... | |
struct | XMR_HOLDOVER_STATUS |
XMR holdover status. More... | |
struct | XMR_EXT_SRC_INFO |
struct | XMR_EXT_SRC_INFO_IDX |
struct | XMR_STATS |
XMR statistics for a particular source. More... | |
struct | XMR_STATS_IDX |
XMR statistics for a particular source, with index. More... | |
struct | XMR_METRICS |
struct | XMR_METRICS_IDX |
XMR timing metrics for a particular source, with index. More... | |
struct | XMR_QL_SETTINGS |
supported limits for qualtity metrics More... | |
struct | XMR_QL_INFO |
struct | XMR_QL_SETTINGS_IDX |
struct | XMR_QL_INFO_IDX |
Typedefs | |
typedef uint32_t | XMR_HOLDOVER_INTV |
XMR holdover interval, or elapsed holdover time, in [s]. More... | |
If the GPS_HAS_XMULTI_REF feature is set in RECEIVER_INFO::features then the XMULTI_REF (extended multi ref, XMR) feature and API are supported and have to be used in favor of the older multi ref API (see Definitions used with the old multi ref API).
Devices supporting the XMULTI_REF feature provide a number of priority levels addressed by the priority index, starting at 0 for highest priority. A single reference time source from the set of supported sources can be assigned to each priority level.
These structures are used to configure the individual time source for each priority level, and retrieve the status of the time source at each priority level.
If GPS_HAS_XMRS_MULT_INSTC is also set in RECEIVER_INFO::features then XMULTI_REF_INSTANCES can be used to find out which types of input source are supported (XMULTI_REF_INSTANCES::n_inst array entries != 0), and how many priority levels are supported to which an input source can be assigned (XMULTI_REF_INSTANCES::n_xmr_settings).
If XMRIF_MSK_HOLDOVER_STATUS_SUPP is set in XMULTI_REF_INSTANCES::flags then XMR_HOLDOVER_STATUS can be used to monitor the switching between different time sources when they become available or unavailable.
If an XMR time source at a high priority level becomes unavailable the XMR control function tries to find and switch to a different time source at a lower level of the priority list, which is still available.
On the other hand, if a time source at a higher priority level becomes available again, the XMR control function switches over to the time source at the higher priority even if the current time source is still available.
If the accuracy of the time source at the next priority level is better than the accuracy of the time source at the current priority level then switching can be done immediately. However, if the next time source is worse than the current one it makes more sense to switch only after a certain holdover interval.
The holdover interval is computed so that the time error due to the expected drift of the previously disciplined time base grows until it reaches the accuracy level of the next available reference time source.
Only if the time source at the current priority level is still unavailable when the holdover interval expires the reference time source is switched to the time source at the next available priority level.
#define _fpu32_to_double_fac | ( | _x | ) | ( 1.0 / ( 4294967296.0 * ( _x ) ) ) |
#define _GET_XMR_QL_MTIE | ( | _x | ) | ( ( ( _x ) & XMR_QL_MTIE_MASK ) >> 2 ) |
#define _GET_XMR_QL_TDEV | ( | _x | ) | ( ( ( _x ) & XMR_QL_TDEV_MASK ) >> 0 ) |
#define _mbg_swab_xmr_ext_src_info | ( | _p | ) |
#define _mbg_swab_xmr_ext_src_info_idx | ( | _p | ) |
Definition at line 7302 of file gpsdefs.h.
Referenced by mbgextio_get_xmr_ext_src_info_idx().
#define _mbg_swab_xmr_holdover_intv | ( | _p | ) | _mbg_swab32( _p ) |
Definition at line 7118 of file gpsdefs.h.
Referenced by mbgextio_get_holdover_interval_counter(), and mbgextio_set_holdover_interval().
#define _mbg_swab_xmr_holdover_status | ( | _p | ) |
Definition at line 7170 of file gpsdefs.h.
Referenced by mbg_get_xmr_holdover_status(), and mbgextio_get_xmr_holdover_status().
#define _mbg_swab_xmr_metrics | ( | _p | ) |
#define _mbg_swab_xmr_metrics_idx | ( | _p | ) |
Definition at line 7475 of file gpsdefs.h.
Referenced by mbgextio_get_xmr_ext_source_metrics_idx().
#define _mbg_swab_xmr_stats | ( | _p | ) |
#define _mbg_swab_xmr_stats_idx | ( | _p | ) |
Definition at line 7410 of file gpsdefs.h.
Referenced by mbgextio_get_xmr_ext_source_stats_idx().
#define _mbg_swab_xmulti_ref_id | ( | _p | ) |
#define _mbg_swab_xmulti_ref_info | ( | _p | ) |
#define _mbg_swab_xmulti_ref_info_idx | ( | _p | ) |
Definition at line 6846 of file gpsdefs.h.
Referenced by mbg_get_gps_all_xmr_info(), and mbgextio_get_xmr_info_idx().
#define _mbg_swab_xmulti_ref_instances | ( | _p | ) |
Definition at line 7064 of file gpsdefs.h.
Referenced by mbg_get_xmr_instances(), and mbgextio_get_xmr_instances().
#define _mbg_swab_xmulti_ref_settings | ( | _p | ) |
#define _mbg_swab_xmulti_ref_settings_idx | ( | _p | ) |
Definition at line 6756 of file gpsdefs.h.
Referenced by mbg_set_gps_xmr_settings_idx(), and mbgextio_set_xmr_settings_idx().
#define _mbg_swab_xmulti_ref_status | ( | _p | ) |
#define _mbg_swab_xmulti_ref_status_idx | ( | _p | ) |
Definition at line 6892 of file gpsdefs.h.
Referenced by mbg_get_gps_all_xmr_status(), and mbgextio_get_xmr_status_idx().
#define _PUT_XMR_QL_MTIE | ( | _x, | |
_ql | |||
) |
#define _PUT_XMR_QL_TDEV | ( | _x, | |
_ql | |||
) |
#define DEFAULT_XMR_STATS_FLAG_NAMES |
String initializers for XMR Stats Flags.
#define ITU_LIMIT_SHORT_STRS |
String initializers for ITU limit masks.
Used for detection of XMR_METRICS mask violation.
#define MBG_XMRS_STATUS_STRS |
XMRS status bit name strings.
#define XMR_HOLDOVER_STATUS_MODE_NAMES |
String initializers for XMR holdover status mode.
#define XMR_PRIO_LVL_UNSPEC -1 |
#define XMRS_MSK_IS_ACCURATE ( 1UL << XMRS_BIT_IS_ACCURATE ) |
#define XMRS_MSK_IS_EXTERNAL ( 1UL << XMRS_BIT_IS_EXTERNAL ) |
#define XMRS_MSK_IS_LOCKED ( 1UL << XMRS_BIT_IS_LOCKED ) |
#define XMRS_MSK_IS_MASTER ( 1UL << XMRS_BIT_IS_MASTER ) |
#define XMRS_MSK_ITU_LIMIT_VIOLATED ( 1UL << XMRS_BIT_ITU_LIMIT_VIOLATED ) |
#define XMRS_MSK_LOW_JITTER ( 1UL << XMRS_BIT_LOW_JITTER ) |
#define XMRS_MSK_NO_CONN ( 1UL << XMRS_BIT_NO_CONN ) |
see XMRS_BIT_NO_CONN
#define XMRS_MSK_NO_SIGNAL ( 1UL << XMRS_BIT_NO_SIGNAL ) |
#define XMRS_MSK_NOT_PHASE_LOCKED ( 1UL << XMRS_BIT_NOT_PHASE_LOCKED ) |
#define XMRS_MSK_NOT_SETTLED ( 1UL << XMRS_BIT_NOT_SETTLED ) |
#define XMRS_MSK_NOT_SUPP ( 1UL << XMRS_BIT_NOT_SUPP ) |
Bit masks associated with XMR_REF_STATUS_BITS.
Used with XMULTI_REF_STATUS::status.
#define XMRS_MSK_NUM_SRC_EXC ( 1UL << XMRS_BIT_NUM_SRC_EXC ) |
#define XMRS_MSK_TRS_LIMIT_VIOLATED ( 1UL << XMRS_BIT_TRS_LIMIT_VIOLATED ) |
#define XMULTI_REF_STATUS_INVALID |
typedef uint32_t XMR_HOLDOVER_INTV |
enum ITU_LIMIT_MASKS |
Enumeration of ITU limit masks.
Used for detection of XMR_METRICS mask violation.
Enumerator | |
---|---|
MSK_ITU_LIMIT_G811_PRC | |
MSK_ITU_LIMIT_G823_SSU | |
MSK_ITU_LIMIT_G823_SEC | |
MSK_ITU_LIMIT_G8272_PRTC | |
MSK_ITU_LIMIT_G82721_EPRTC |
enum ITU_LIMITS |
Enumeration of ITU limit masks.
Used for detection of XMR_METRICS mask violation.
Enumerator | |
---|---|
ITU_LIMIT_G811_PRC | |
ITU_LIMIT_G823_SSU | |
ITU_LIMIT_G823_SEC | |
ITU_LIMIT_G8272_PRTC | |
ITU_LIMIT_G82721_EPRTC | |
N_ITU_LIMITS |
XMR source feature flag bits.
Used to define XMR_EXT_SRC_FEAT_FLAG_MSKS
Enumerator | |
---|---|
XMR_EXT_SRC_FEAT_FLAG_BIT_STATS | XMR source provides XMR_STATS. |
XMR_EXT_SRC_FEAT_FLAG_BIT_METRICS | XMR source provides XMR_METRICS. |
XMR_EXT_SRC_FEAT_FLAG_BIT_COASTING | XMR source provides coasting mode. |
N_XMR_EXT_SRC_FEAT_FLAG_BITS |
XMR source feature flag bit masks.
Used with XMR_EXT_SRC_INFO::feat_flags.
Enumerator | |
---|---|
XMR_EXT_SRC_FEAT_FLAG_MSK_STATS | |
XMR_EXT_SRC_FEAT_FLAG_MSK_METRICS | |
XMR_EXT_SRC_FEAT_FLAG_MSK_COASTING |
XMR holdover status flag bits.
Used to define XMR_HOLDOVER_STATUS_FLAG_MASKS.
Enumerator | |
---|---|
XMR_HLDOVR_BIT_IN_HOLDOVER | the device is currently in holdover mode |
XMR_HLDOVR_BIT_TRANSITION_ENBD | timebase is in transition (being slewed) after sources have been switched |
XMR_HLDOVR_BIT_IN_TRANSITION | transition is currently active, slewing in progress |
XMR_HLDOVR_BIT_TIME_OFFS_VALID | values in field XMR_HOLDOVER_STATUS::time_offset_ns are valid |
N_XMR_HOLDOVER_STATUS_FLAG_BITS | the number of known status flags |
XMR holdover status flag masks.
Used with XMR_HOLDOVER_STATUS::flags.
Enumerator | |
---|---|
XMR_HLDOVR_MSK_IN_HOLDOVER | |
XMR_HLDOVR_MSK_TRANSITION_ENBD | |
XMR_HLDOVR_MSK_IN_TRANSITION | |
XMR_HLDOVR_MSK_TIME_OFFS_VALID |
XMR holdover status modes.
Used with XMR_HOLDOVER_STATUS::mode.
Enumerator | |
---|---|
XMR_HLDOVR_AUTONOMOUS | autonomous mode, XMR sources are selected automatically by the device |
XMR_HLDOVR_PRE_AUTONOMOUS | going to switch to autonomous mode when XMR_HOLDOVER_STATUS::remote_watchdog reaches 0 |
XMR_HLDOVR_REMOTE | remote mode, XMR switching done by external command/control |
N_XMR_HOLDOVER_STATUS_MODES | the number of known modes |
Bit masks associated with XMR_INST_FLAGS.
Used with XMULTI_REF_INSTANCES::flags.
Enumerator | |
---|---|
XMRIF_MSK_MRF_NONE_SUPP | |
XMRIF_MSK_HOLDOVER_STATUS_SUPP | |
XMRIF_MSK_EXT_SRC_INFO_SUPP | |
XMRIF_MSK_GNSS_BIAS_SUPP |
enum XMR_INST_FLAGS |
Enumeration of flag bits used with XMULTI_REF instances.
Enumerator | |
---|---|
XMRIF_BIT_MRF_NONE_SUPP | This flag indicates that configuration programs may set XMULTI_REF_ID::type to MULTI_REF_NONE in XMULTI_REF_SETTINGS::id for unused priority levels, and that this will be reflected in XMULTI_REF_STATUS::id accordingly. With some older firmware versions this was not supported. |
XMRIF_BIT_HOLDOVER_STATUS_SUPP | XMR_HOLDOVER_STATUS and associated types supported |
XMRIF_BIT_EXT_SRC_INFO_SUPP | XMR_EXT_SRC_INFO structure supported |
XMRIF_BIT_GNSS_BIAS_SUPP | MULTI_REF_GPS or MULTI_REF_GRC can use XMULTI_REF_SETTINGS::bias |
N_XMRIF_BITS | number of known flag bits |
enum XMR_QL |
::TODO
Used with the ::... field of XMULTI_REF_STATUS::flags
Enumerator | |
---|---|
XMR_QL_UNKNOWN | |
XMR_QL_GREEN | |
XMR_QL_YELLOW | |
XMR_QL_RED | |
N_XMR_QL |
enum XMR_REF_STATUS_BITS |
XMULTI_REF status bits.
Enumerator | |
---|---|
XMRS_BIT_NOT_SUPP | ref type cfg'd for this level is not supported |
XMRS_BIT_NO_CONN | input signal is disconnected |
XMRS_BIT_NO_SIGNAL | no input signal |
XMRS_BIT_IS_MASTER | reference is master source |
XMRS_BIT_IS_LOCKED | locked to input signal |
XMRS_BIT_IS_ACCURATE | oscillator control has reached full accuracy |
XMRS_BIT_NOT_SETTLED | reference time signal not settled |
XMRS_BIT_NOT_PHASE_LOCKED | oscillator not phase locked to PPS |
XMRS_BIT_NUM_SRC_EXC | number of available sources exceeds what can be handled |
XMRS_BIT_IS_EXTERNAL | this ref source is on extension card |
XMRS_BIT_LOW_JITTER | this ref source has low jitter |
XMRS_BIT_ITU_LIMIT_VIOLATED | ITU limits violated (valid if device has XMR_METRICS) |
XMRS_BIT_TRS_LIMIT_VIOLATED | Trusted source offset limit violated (valid if device has XMRSF_MSK_USE_TRUSTED_SRC) |
N_XMRS_BITS | number of know status bits |
Bit masks used to define XMR_SETTINGS_FLAG_MSKS.
Bit masks used with XMULTI_REF_SETTINGS::flags and XMR_EXT_SRC_INFO::supp_flags.
enum XMR_STATS_FLAGS_BITS |
Enumeration of bits used to define XMR_STATS_FLAGS_MSKS.
Enumerator | |
---|---|
XMR_STATS_FLAG_BIT_STEP_DETECTED | A time step was detected at the input source. |
XMR_STATS_FLAG_BIT_STEP_COMPENSATED | A time step was compensated at the input source. |
XMR_STATS_FLAG_BIT_AUTO_BIAS_VALID | The value in XMR_STATS::auto_bias is valid. |
N_XMR_STATS_FLAGS_BITS |
enum XMR_STATS_FLAGS_MSKS |
Flag bit masks used with XMR_STATS::flags.
Enumerator | |
---|---|
XMR_STATS_FLAG_MSK_STEP_DETECTED | |
XMR_STATS_FLAG_MSK_STEP_COMPENSATED | |
XMR_STATS_FLAG_MSK_AUTO_BIAS_VALID |