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

Go to the source code of this file.

Data Structures

struct  MBG_XDEV_FEATURES
 A structure combining all device feature information. More...
 

Macros

#define _ext   extern
 
#define _check_feat_supp_mask(_supp_msk, _chk_msk)
 Check if all bits of a specific mask are set in an integer bit mask. More...
 
#define _check_feat_supp_bit(_supp_msk, _bit_num)
 Check if a bits with a specific number is set in an integer bit mask. More...
 

Typedefs

typedef int XDEVFEAT_CHK_SUPP_FNC(const MBG_XDEV_FEATURES *p_xdf)
 Type of functions to check if a feature is supported. More...
 

Functions

static __mbg_inline int check_feat_supp_byte_array (int bit_num, const uint8_t *p, int max_bytes)
 Check if a specific bit is set in a 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...
 

Macro Definition Documentation

◆ _check_feat_supp_bit

#define _check_feat_supp_bit (   _supp_msk,
  _bit_num 
)
Value:
( ( (_supp_msk) & ( 1UL << (_bit_num) ) ) ? \
MBG_SUCCESS : MBG_ERR_NOT_SUPP_BY_DEV )
Definition: myutil.h:117
#define MBG_ERR_NOT_SUPP_BY_DEV
Command or feature not supported by device.
Definition: mbgerror.h:286

Check if a bits with a specific number is set in an integer bit mask.

This macros checks if a bits with specific number is set in an integer bit mask. This is implemented as macro since the macro works properly with all integer sizes.

Parameters
[in]_supp_mskAn integer bit mask
[in]_bit_numThe bit mask to be tested
Returns
MBG_SUCCESS if all bits of the test mask are set, or MBG_ERR_NOT_SUPP_BY_DEV if not.

Definition at line 140 of file xdevfeat.h.

Referenced by pcps_chk_dev_feat().

◆ _check_feat_supp_mask

#define _check_feat_supp_mask (   _supp_msk,
  _chk_msk 
)
Value:
( ( ( (_supp_msk) & (_chk_msk) ) == (_chk_msk) ) ? \
#define MBG_SUCCESS
Error codes used with Meinberg devices and drivers.
Definition: mbgerror.h:259
#define MBG_ERR_NOT_SUPP_BY_DEV
Command or feature not supported by device.
Definition: mbgerror.h:286

Check if all bits of a specific mask are set in an integer bit mask.

This macros checks if specific bits are set in an integer bit mask. This is implemented as macro since the macro works properly with all integer sizes.

Parameters
[in]_supp_mskAn integer bit mask
[in]_chk_mskThe bit mask to be tested
Returns
MBG_SUCCESS if all bits of the test mask are set, or MBG_ERR_NOT_SUPP_BY_DEV if not.

Definition at line 121 of file xdevfeat.h.

Referenced by check_ri_feature().

◆ _ext

#define _ext   extern

Definition at line 38 of file xdevfeat.h.

Typedef Documentation

◆ XDEVFEAT_CHK_SUPP_FNC

typedef int XDEVFEAT_CHK_SUPP_FNC(const MBG_XDEV_FEATURES *p_xdf)

Type of functions to check if a feature is supported.

Definition at line 104 of file xdevfeat.h.

Function Documentation

◆ check_feat_supp_byte_array()

static __mbg_inline int check_feat_supp_byte_array ( int  bit_num,
const uint8_t p,
int  max_bytes 
)
static

Check if a specific bit is set in a byte array.

This function checks if a specific bit is set in an array of bytes. Bits are counted starting from the least significant bit of the least significant byte.

Parameters
[in]bit_numNumber of the bit to be tested, 0..(8*(max_bytes-1))
[in]pPointer to a buffer with an array of bytes
[in]max_bytesThe number of bytes in the buffer p
Returns
MBG_SUCCESS if the bit is set, MBG_ERR_NOT_SUPP_BY_DEV if not, or MBG_ERR_RANGE if the bit number is out of the range of the array

Definition at line 161 of file xdevfeat.h.

References _NO_MBG_API, _NO_MBG_API_ATTR, MBG_ERR_NOT_SUPP_BY_DEV, MBG_ERR_RANGE, MBG_SUCCESS, xdevfeat_has_ant_cable_length, xdevfeat_has_ant_info, xdevfeat_has_bvar_stat, xdevfeat_has_clk_res_info, xdevfeat_has_cmd_save_cfg, xdevfeat_has_database, xdevfeat_has_enable_flags, xdevfeat_has_evt_log, xdevfeat_has_ext_sys_info, xdevfeat_has_fw_mngmnt, xdevfeat_has_gnss_mode, xdevfeat_has_gpio(), xdevfeat_has_gps_ignore_lock, xdevfeat_has_gps_stat_info, xdevfeat_has_ims(), xdevfeat_has_io_ports(), xdevfeat_has_irig_rx(), xdevfeat_has_irig_tx(), xdevfeat_has_lan_ip4, xdevfeat_has_led_api, xdevfeat_has_lne_api, xdevfeat_has_mbg_os(), xdevfeat_has_monitoring, xdevfeat_has_net_cfg, xdevfeat_has_ntp, xdevfeat_has_pos_lla, xdevfeat_has_pos_xyz, xdevfeat_has_prog_pulses(), xdevfeat_has_ptp, xdevfeat_has_push_msgs, xdevfeat_has_pwr_ctl_api, xdevfeat_has_pzf, xdevfeat_has_raw_irig_data, xdevfeat_has_reboot, xdevfeat_has_req_ttm, xdevfeat_has_scu_stat, xdevfeat_has_serouts(), xdevfeat_has_service, xdevfeat_has_sv_info, xdevfeat_has_synth(), xdevfeat_has_tainted_cfg, xdevfeat_has_time_scale, xdevfeat_has_time_ttm(), xdevfeat_has_tlv_api, xdevfeat_has_transactions, xdevfeat_has_tzcode, xdevfeat_has_tzdl, xdevfeat_has_ucap, xdevfeat_has_ucap_net, xdevfeat_has_up_conv, xdevfeat_has_user_auth, xdevfeat_has_user_mngmnt, xdevfeat_has_xbp, xdevfeat_has_xhe, xdevfeat_has_xmulti_ref, xdevfeat_is_bus_lvl_dev, xdevfeat_is_dcf, xdevfeat_is_gnss, xdevfeat_is_gps, xdevfeat_is_jjy, xdevfeat_is_msf, xdevfeat_is_tcr, xdevfeat_is_wwvb, 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.

Referenced by check_tlv_feat_supp(), check_xfeature(), dump_tlv_info(), dump_xfeature_buffer(), and pcps_chk_dev_feat().

◆ 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)