mbgtools-lx  4.2.8
xdevfeat.c File Reference
#include <xdevfeat.h>
#include <mbgerror.h>
#include <xtiocomm.h>

Go to the source code of this file.

Data Structures

struct  BUILTIN_FEATURE_TABLE_ENTRY
 Entry for a table to specify model-depending built-in features. More...
 

Macros

#define _XDEVFEAT
 

Functions

static int check_builtin_feature (BUILTIN_FEATURE_MASK msk, const RECEIVER_INFO *p_ri)
 Check if a device supports a specific built-in feature or API. More...
 
static int check_ri_feature (RI_FEATURES msk, const RECEIVER_INFO *p_ri)
 Check if a device supports a specific feature or API. More...
 
static int check_xfeature (int xf_bit, const MBG_XFEATURE_BUFFER *xf_buf)
 Check if a specific extended feature is supported. More...
 
static int check_tlv_feat_supp (int tlv_feat_type, const MBG_TLV_INFO *tlv_info)
 Check if a specific bit is set in the TLV's byte array. More...
 
int xdevfeat_is_gps (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device can receive the GPS satellite system. More...
 
int xdevfeat_is_gnss (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports the GNSS API. More...
 
int xdevfeat_is_tcr (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device is a time code receiver (IRIG or similar) More...
 
int xdevfeat_is_dcf (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device is a DCF77 AM receiver. More...
 
int xdevfeat_has_pzf (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device can receive DCF77 PZF. More...
 
int xdevfeat_is_msf (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device is an MSF receiver. More...
 
int xdevfeat_is_jjy (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device is a JJY receiver. More...
 
int xdevfeat_is_wwvb (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device is a WWVB receiver. More...
 
int xdevfeat_is_bus_lvl_dev (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device is a bus level device. More...
 
int xdevfeat_has_ims (const MBG_XDEV_FEATURES *p_xdf)
 
int xdevfeat_has_gpio (const MBG_XDEV_FEATURES *p_xdf)
 
int xdevfeat_has_synth (const MBG_XDEV_FEATURES *p_xdf)
 
int xdevfeat_has_prog_pulses (const MBG_XDEV_FEATURES *p_xdf)
 
int xdevfeat_has_irig_tx (const MBG_XDEV_FEATURES *p_xdf)
 
int xdevfeat_has_irig_rx (const MBG_XDEV_FEATURES *p_xdf)
 
int xdevfeat_has_mbg_os (const MBG_XDEV_FEATURES *p_xdf)
 
int xdevfeat_has_serouts (const MBG_XDEV_FEATURES *p_xdf)
 
int xdevfeat_has_bvar_stat (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports the BVAR_STAT structure and API. More...
 
int xdevfeat_has_pos_xyz (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports reading the position as XYZ array. More...
 
int xdevfeat_has_pos_lla (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports reading the position as LLA array. More...
 
int xdevfeat_has_time_ttm (const MBG_XDEV_FEATURES *p_xdf)
 Check if the device supports the builtin feature TIME. More...
 
int xdevfeat_has_time_scale (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports the MBG_TIME_SCALE_INFO structure and API. More...
 
int xdevfeat_has_tzdl (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports the TZDL structure and API. More...
 
int xdevfeat_has_tzcode (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports the TZCODE API. More...
 
int xdevfeat_has_ant_info (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports the ANT_INFO structure and API. More...
 
int xdevfeat_has_enable_flags (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports the ENABLE_FLAGS structure and API. More...
 
int xdevfeat_has_gps_stat_info (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports the STAT_INFO structure and API. More...
 
int xdevfeat_has_ant_cable_length (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports the ANT_CABLE_LEN structure and API. More...
 
int xdevfeat_has_gps_ignore_lock (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports the IGNORE_LOCK structure and API. More...
 
int xdevfeat_has_scu_stat (const MBG_XDEV_FEATURES *p_xdf)
 Check if the device supports the SCU_STAT structures. More...
 
int xdevfeat_has_sv_info (const MBG_XDEV_FEATURES *p_xdf)
 Check if the device supports the SV_INFO structures. More...
 
int xdevfeat_has_raw_irig_data (const MBG_XDEV_FEATURES *p_xdf)
 Check if a timecode receiver provides MBG_RAW_IRIG_DATA. More...
 
int xdevfeat_has_lan_ip4 (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports the old LAN_IP4 API. More...
 
int xdevfeat_has_net_cfg (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports the new NET_CFG API. More...
 
int xdevfeat_has_ptp (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports the PTP API. More...
 
int xdevfeat_has_ntp (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports the NTP API. More...
 
int xdevfeat_has_fw_mngmnt (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports the FW management API. More...
 
int xdevfeat_has_evt_log (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports the event log API. More...
 
int xdevfeat_has_ucap (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports the user capture API. More...
 
int xdevfeat_has_ucap_net (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports the user capture via network feature. More...
 
int xdevfeat_has_tlv_api (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports the TLV API. More...
 
int xdevfeat_supp_tlv_file_req (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports a file request via TLV. More...
 
int xdevfeat_supp_tlv_exec_cmd (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports a command execution via TLV. More...
 
int xdevfeat_supp_tlv_fw_rollback (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports a factory reset via TLV. More...
 
int xdevfeat_supp_tlv_fw_update (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports a firmware update via TLV. More...
 
int xdevfeat_supp_tlv_diag_file (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports creating / sending a diagnostics file via TLV. More...
 
int xdevfeat_supp_tlv_ptpv2_license (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports PTPv2 license infos. More...
 
int xdevfeat_supp_tlv_ntp_license (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports NTP license infos via TLV. More...
 
int xdevfeat_supp_tlv_ptpv1_license (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports PTPv1 License Infos via TLV. More...
 
int xdevfeat_supp_tlv_time_monitor_license (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports Time Monitor License infos via TLV. More...
 
int xdevfeat_supp_tlv_ufu (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports UFU (Unified Firmware Update) via TLV. More...
 
int xdevfeat_has_cmd_save_cfg (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports the GPS_SAVE_CFG command. More...
 
int xdevfeat_has_monitoring (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports the extended feature monitoring. More...
 
int xdevfeat_has_led_api (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports the LED API. More...
 
int xdevfeat_has_lne_api (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports the LNE API. More...
 
int xdevfeat_has_pwr_ctl_api (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports the power control API. More...
 
int xdevfeat_has_ext_sys_info (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports the MBG_EXT_SYS_INFO command. More...
 
int xdevfeat_has_io_ports (const MBG_XDEV_FEATURES *p_xdf)
 
int xdevfeat_has_transactions (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device has MBG_XFEATURE_TRANSACTIONS. More...
 
int xdevfeat_has_reboot (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device has MBG_XFEATURE_REBOOT. More...
 
int xdevfeat_has_req_ttm (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device has MBG_XFEATURE_REQ_TTM. More...
 
int xdevfeat_has_xmulti_ref (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports the extended multi ref features including multi instances. More...
 
int xdevfeat_has_xbp (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports the extended binary protocol (XBP) feature. More...
 
int xdevfeat_has_database (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports database(s) feature. More...
 
int xdevfeat_has_gnss_mode (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports GNSS mode feature All GNSS receivers support this feature by default, this is for GPS-only devices. More...
 
int xdevfeat_has_tainted_cfg (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports the Tainted config Tainted Config API. More...
 
int xdevfeat_has_push_msgs (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports (un)registering for push messages. More...
 
int xdevfeat_has_clk_res_info (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports the MBG_CLK_RES_INFO structure. More...
 
int xdevfeat_has_user_auth (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports user authentification. More...
 
int xdevfeat_has_user_mngmnt (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports user management. More...
 
int xdevfeat_has_service (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports services. More...
 
int xdevfeat_has_xhe (const MBG_XDEV_FEATURES *p_xdf)
 Check if a device supports the XHE I/O commands. More...
 
int xdevfeat_has_up_conv (const MBG_XDEV_FEATURES *p_xdf)
 Check if the device has an L1 frequency up converter. More...
 

Variables

static BUILTIN_FEATURE_TABLE_ENTRY builtin_feature_table [] = GPS_MODEL_BUILTIN_FEATURES
 A static table of builtin features. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_is_gps
 Check if a device can receive the GPS satellite system. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_is_gnss
 Check if a device supports the GNSS API. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_is_tcr
 Check if a device is a time code receiver (IRIG or similar) More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_is_dcf
 Check if a device is a DCF77 AM receiver. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_pzf
 Check if a device can receive DCF77 PZF. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_is_msf
 Check if a device is an MSF receiver. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_is_jjy
 Check if a device is a JJY receiver. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_is_wwvb
 Check if a device is a WWVB receiver. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_is_bus_lvl_dev
 Check if a device is a bus level device. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_ims
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_gpio
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_synth
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_prog_pulses
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_irig_tx
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_irig_rx
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_mbg_os
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_serouts
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_bvar_stat
 Check if a device supports the BVAR_STAT structure and API. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_pos_xyz
 Check if a device supports reading the position as XYZ array. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_pos_lla
 Check if a device supports reading the position as LLA array. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_time_scale
 Check if a device supports the MBG_TIME_SCALE_INFO structure and API. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_tzdl
 Check if a device supports the TZDL structure and API. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_tzcode
 Check if a device supports the TZCODE API. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_ant_info
 Check if a device supports the ANT_INFO structure and API. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_enable_flags
 Check if a device supports the ENABLE_FLAGS structure and API. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_gps_stat_info
 Check if a device supports the STAT_INFO structure and API. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_ant_cable_length
 Check if a device supports the ANT_CABLE_LEN structure and API. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_gps_ignore_lock
 Check if a device supports the IGNORE_LOCK structure and API. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_scu_stat
 Check if the device supports the SCU_STAT structures. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_sv_info
 Check if the device supports the SV_INFO structures. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_raw_irig_data
 Check if a timecode receiver provides MBG_RAW_IRIG_DATA. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_lan_ip4
 Check if a device supports the old LAN_IP4 API. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_net_cfg
 Check if a device supports the new NET_CFG API. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_ptp
 Check if a device supports the PTP API. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_ntp
 Check if a device supports the NTP API. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_fw_mngmnt
 Check if a device supports the FW management API. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_evt_log
 Check if a device supports the event log API. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_ucap
 Check if a device supports the user capture API. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_ucap_net
 Check if a device supports the user capture via network feature. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_tlv_api
 Check if a device supports the TLV API. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_supp_tlv_file_req
 Check if a device supports a file request via TLV. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_supp_tlv_exec_cmd
 Check if a device supports a command execution via TLV. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_supp_tlv_fw_rollback
 Check if a device supports a factory reset via TLV. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_supp_tlv_fw_update
 Check if a device supports a firmware update via TLV. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_supp_tlv_diag_file
 Check if a device supports creating / sending a diagnostics file via TLV. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_supp_tlv_ptpv2_license
 Check if a device supports PTPv2 license infos. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_supp_tlv_ntp_license
 Check if a device supports NTP license infos via TLV. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_supp_tlv_ptpv1_license
 Check if a device supports PTPv1 License Infos via TLV. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_supp_tlv_time_monitor_license
 Check if a device supports Time Monitor License infos via TLV. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_supp_tlv_ufu
 Check if a device supports UFU (Unified Firmware Update) via TLV. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_cmd_save_cfg
 Check if a device supports the GPS_SAVE_CFG command. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_monitoring
 Check if a device supports the extended feature monitoring. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_led_api
 Check if a device supports the LED API. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_lne_api
 Check if a device supports the LNE API. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_pwr_ctl_api
 Check if a device supports the power control API. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_ext_sys_info
 Check if a device supports the MBG_EXT_SYS_INFO command. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_io_ports
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_transactions
 Check if a device has MBG_XFEATURE_TRANSACTIONS. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_reboot
 Check if a device has MBG_XFEATURE_REBOOT. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_req_ttm
 Check if a device has MBG_XFEATURE_REQ_TTM. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_xmulti_ref
 Check if a device supports the extended multi ref features including multi instances. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_xbp
 Check if a device supports the extended binary protocol (XBP) feature. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_database
 Check if a device supports database(s) feature. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_gnss_mode
 Check if a device supports GNSS mode feature All GNSS receivers support this feature by default, this is for GPS-only devices. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_tainted_cfg
 Check if a device supports the Tainted config Tainted Config API. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_push_msgs
 Check if a device supports (un)registering for push messages. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_clk_res_info
 Check if a device supports the MBG_CLK_RES_INFO structure. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_user_auth
 Check if a device supports user authentification. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_user_mngmnt
 Check if a device supports user management. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_service
 Check if a device supports services. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_xhe
 Check if a device supports the XHE I/O commands. More...
 
XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_up_conv
 Check if the device has an L1 frequency up converter. More...
 

Macro Definition Documentation

◆ _XDEVFEAT

#define _XDEVFEAT

Definition at line 29 of file xdevfeat.c.

Function Documentation

◆ check_builtin_feature()

static int check_builtin_feature ( BUILTIN_FEATURE_MASK  msk,
const RECEIVER_INFO p_ri 
)
static

Check if a device supports a specific built-in feature or API.

Some features or API calls are implicitly supported by particular devices. This function uses the RECEIVER_INFO::model_code to look up the specific device in a table of BUILTIN_FEATURE_TABLE_ENTRY entries, and checks if the requested feature bits are set for this device model. If the model code of the specific device can't be found in the table then then MBG_ERR_DEV_NOT_SUPP is returned and the source code files probably need to be updated to support this device.

Parameters
[in]mskOne of the GPS_FEATURE_MASKS bit masks
[in]p_riA RECEIVER_INFO structure read from the device before
Returns
MBG_SUCCESS if all specified mask bits are set in RECEIVER_INFO::features, MBG_ERR_NOT_SUPP_BY_DEV if the bits are not set, and MBG_ERR_DEV_NOT_SUPP if the model code can't be found in the table.

Definition at line 81 of file xdevfeat.c.

References BUILTIN_FEATURE_TABLE_ENTRY::feature_mask, MBG_ERR_DEV_NOT_SUPP, MBG_ERR_NOT_SUPP_BY_DEV, MBG_SUCCESS, BUILTIN_FEATURE_TABLE_ENTRY::model_code, and RECEIVER_INFO::model_code.

Referenced by xdevfeat_has_ant_cable_length(), xdevfeat_has_ant_info(), xdevfeat_has_bvar_stat(), xdevfeat_has_enable_flags(), xdevfeat_has_gps_stat_info(), xdevfeat_has_mbg_os(), xdevfeat_has_pos_lla(), xdevfeat_has_pos_xyz(), xdevfeat_has_pzf(), xdevfeat_has_scu_stat(), xdevfeat_has_sv_info(), xdevfeat_has_time_ttm(), xdevfeat_has_tzcode(), xdevfeat_has_tzdl(), xdevfeat_has_up_conv(), xdevfeat_is_bus_lvl_dev(), xdevfeat_is_dcf(), xdevfeat_is_gnss(), xdevfeat_is_gps(), xdevfeat_is_jjy(), xdevfeat_is_msf(), xdevfeat_is_tcr(), and xdevfeat_is_wwvb().

◆ check_ri_feature()

static int check_ri_feature ( RI_FEATURES  msk,
const RECEIVER_INFO p_ri 
)
static

Check if a device supports a specific feature or API.

This API call checks if a specific feature or API is supported according to the RECEIVER_INFO::features mask read from the device.

Parameters
[in]mskOne of the GPS_FEATURE_MASKS bit masks
[in]p_riA RECEIVER_INFO structure read from the device before
Returns
MBG_SUCCESS if all specified mask bits are set in RECEIVER_INFO::features, else MBG_ERR_NOT_SUPP_BY_DEV

Definition at line 111 of file xdevfeat.c.

References _check_feat_supp_mask, and RECEIVER_INFO::features.

Referenced by xdevfeat_has_evt_log(), xdevfeat_has_gpio(), xdevfeat_has_gps_ignore_lock(), xdevfeat_has_ims(), xdevfeat_has_irig_rx(), xdevfeat_has_irig_tx(), xdevfeat_has_lan_ip4(), xdevfeat_has_net_cfg(), xdevfeat_has_ntp(), xdevfeat_has_ptp(), xdevfeat_has_raw_irig_data(), xdevfeat_has_synth(), xdevfeat_has_time_scale(), xdevfeat_has_xbp(), and xdevfeat_has_xmulti_ref().

◆ check_tlv_feat_supp()

static int check_tlv_feat_supp ( int  tlv_feat_type,
const MBG_TLV_INFO tlv_info 
)
static

Check if a specific bit is set in the TLV's byte array.

This API call checks if a specific TLV feature is supported according to the MBG_TLV_INFO read from the device.

Parameters
[in]tlv_feat_typeOne of the MBG_TLV_FEAT_TYPES
[in]tlv_infoPointer to a MBG_TLV_INFO read from the device before
Returns
MBG_SUCCESS if the specified feature bit is set, else MBG_ERR_NOT_SUPP_BY_DEV or MBG_ERR_RANGE
See also
check_feat_supp_byte_array

Definition at line 155 of file xdevfeat.c.

References MBG_TLV_FEAT_BUFFER::b, check_feat_supp_byte_array(), and MBG_TLV_INFO::supp_tlv_feat.

Referenced by xdevfeat_supp_tlv_diag_file(), xdevfeat_supp_tlv_exec_cmd(), xdevfeat_supp_tlv_file_req(), xdevfeat_supp_tlv_fw_rollback(), xdevfeat_supp_tlv_fw_update(), xdevfeat_supp_tlv_ntp_license(), xdevfeat_supp_tlv_ptpv1_license(), xdevfeat_supp_tlv_ptpv2_license(), xdevfeat_supp_tlv_time_monitor_license(), and xdevfeat_supp_tlv_ufu().

◆ check_xfeature()

◆ xdevfeat_has_gpio()

int xdevfeat_has_gpio ( const MBG_XDEV_FEATURES p_xdf)

◆ xdevfeat_has_ims()

int xdevfeat_has_ims ( const MBG_XDEV_FEATURES p_xdf)

◆ xdevfeat_has_io_ports()

int xdevfeat_has_io_ports ( const MBG_XDEV_FEATURES p_xdf)

◆ xdevfeat_has_irig_rx()

int xdevfeat_has_irig_rx ( const MBG_XDEV_FEATURES p_xdf)

◆ xdevfeat_has_irig_tx()

int xdevfeat_has_irig_tx ( const MBG_XDEV_FEATURES p_xdf)

◆ xdevfeat_has_mbg_os()

int xdevfeat_has_mbg_os ( const MBG_XDEV_FEATURES p_xdf)

◆ xdevfeat_has_prog_pulses()

int xdevfeat_has_prog_pulses ( const MBG_XDEV_FEATURES p_xdf)

◆ xdevfeat_has_serouts()

int xdevfeat_has_serouts ( const MBG_XDEV_FEATURES p_xdf)

◆ xdevfeat_has_synth()

int xdevfeat_has_synth ( const MBG_XDEV_FEATURES p_xdf)

Variable Documentation

◆ builtin_feature_table

BUILTIN_FEATURE_TABLE_ENTRY builtin_feature_table[] = GPS_MODEL_BUILTIN_FEATURES
static

A static table of builtin features.

Used to lookup the builtin features of a particular device model.

Definition at line 58 of file xdevfeat.c.

◆ xdevfeat_has_gpio

XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_gpio

Definition at line 399 of file xdevfeat.c.

Referenced by mbgextio_dev_has_gpio().

◆ xdevfeat_has_ims

XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_ims

Definition at line 385 of file xdevfeat.c.

Referenced by mbgextio_dev_has_ims().

◆ xdevfeat_has_io_ports

XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_io_ports

Definition at line 1437 of file xdevfeat.c.

Referenced by mbgextio_dev_has_io_ports().

◆ xdevfeat_has_irig_rx

XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_irig_rx

Definition at line 457 of file xdevfeat.c.

Referenced by mbgextio_dev_has_irig_rx().

◆ xdevfeat_has_irig_tx

XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_irig_tx

Definition at line 443 of file xdevfeat.c.

Referenced by mbgextio_dev_has_irig_tx().

◆ xdevfeat_has_mbg_os

XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_mbg_os

Definition at line 468 of file xdevfeat.c.

◆ xdevfeat_has_prog_pulses

XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_prog_pulses

Definition at line 429 of file xdevfeat.c.

Referenced by mbgextio_dev_has_prog_pulses().

◆ xdevfeat_has_serouts

XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_serouts

Definition at line 484 of file xdevfeat.c.

Referenced by mbgextio_dev_has_serouts().

◆ xdevfeat_has_synth

XDEVFEAT_CHK_SUPP_FNC xdevfeat_has_synth

Definition at line 413 of file xdevfeat.c.

Referenced by mbgextio_dev_has_synth().