mbgtools-lx  4.2.8
IMS support

Data Structures

struct  MBG_IMS_STATE
 Generic state of an IMS device. More...
 
struct  MBG_IMS_SENSOR_STATE
 Generic state of an IMS sensor. More...
 
struct  MBG_IMS_SENSOR_STATE_IDX
 Generic state of an IMS sensor, with sensor index. More...
 
struct  MBG_DAC_SPECS
 DAC limit specs. More...
 
struct  MBG_IMS_FDM_OUTPUT_STATE
 Output state of FDM device. More...
 
struct  MBG_IMS_FDM_OUTPUT_STATE_IDX
 Output state of FDM device plus index. More...
 
struct  MBG_IMS_FDM_OUTPUT_SETTINGS
 Output settings of FDM device. More...
 
struct  MBG_IMS_FDM_OUTPUT_SETTINGS_IDX
 Output settings for FDM devices plus index. More...
 
struct  MBG_IMS_FDM_OUTPUT_INFO
 Specific output settings and limits. More...
 
struct  MBG_IMS_FDM_OUTPUT_INFO_IDX
 Specific output settings and limits, plus index. More...
 
struct  MBG_IMS_FDM_LIMITS
 A generic structure used to specify FDM limits. More...
 
struct  MBG_IMS_FDM_STATE
 State of FDM device. More...
 
struct  MBG_IMS_FDM_SETTINGS
 FDM device settings. More...
 
struct  MBG_IMS_FDM_INFO
 Specific FDM settings and limits. More...
 

Macros

#define _mbg_swab_mbg_ims_state(_p)
 
#define _mbg_swab_mbg_ims_sensor_state(_p)
 
#define _mbg_swab_mbg_ims_sensor_state_idx(_p)
 
#define _mbg_swab_mbg_dac_specs(_p)
 
#define _mbg_swab_mbg_ims_fdm_output_state(_p)
 
#define _mbg_swab_mbg_ims_fdm_output_state_idx(_p)
 
#define _mbg_swab_mbg_ims_fdm_output_settings(_p)
 
#define _mbg_swab_mbg_ims_fdm_output_settings_idx(_p)
 
#define _mbg_swab_mbg_ims_fdm_output_info(_p)
 
#define _mbg_swab_mbg_ims_fdm_output_info_idx(_p)
 
#define _mbg_swab_mbg_ims_fdm_limits(_p)
 
#define _mbg_swab_mbg_ims_fdm_state(_p)
 
#define MBG_IMS_FDM_LINE_FREQ_STRS
 Initializers for an array of line freq. name strings. More...
 
#define _mbg_swab_mbg_ims_fdm_settings(_p)
 
#define _mbg_swab_mbg_ims_fdm_info(_p)
 

Enumerations

enum  MBG_IMS_STATE_FLAG_BITS { MBG_IMS_STATE_FLAG_BIT_HAS_FDM, N_MBG_IMS_STATE_FLAG_BITS }
 Enumeration of bits used to define MBG_IMS_STATE_FLAG_MASKS. More...
 
enum  MBG_IMS_STATE_FLAG_MASKS { MBG_IMS_STATE_FLAG_MSK_HAS_FDM = ( 1UL << MBG_IMS_STATE_FLAG_BIT_HAS_FDM ) }
 Bit masks used with MBG_IMS_STATE::flags. More...
 
enum  MBG_IMS_SENSORS {
  MBG_IMS_SENSOR_TEMP_C, MBG_IMS_SENSOR_VOLTAGE, MBG_IMS_SENSOR_PLL, MBG_IMS_SENSOR_VOLTAGE_INPUT,
  MBG_IMS_SENSOR_VOLTAGE_OUTPUT, MBG_IMS_SENSOR_VOLTAGE_SUPPLY, MBG_IMS_SENSOR_CURRENT, MBG_IMS_SENSOR_CURRENT_BOARD_SUPPLY,
  MBG_IMS_SENSOR_CURRENT_OSC_SUPPLY, N_MBG_IMS_SENSORS
}
 IMS sensor types. More...
 
enum  MBG_IMS_SENSOR_STATE_FLAG_MASK_VOLTAGE { MBG_IMS_SENSOR_VOLTAGE_OUT_ENB = 0x01, MBG_IMS_SENSOR_VOLTAGE_OUT_OVR = 0x02 }
 IMS sensor state flags for voltage. More...
 
enum  MBG_IMS_SENSOR_STATE_FLAG_MASK_PLL { MBG_IMS_SENSOR_PLL_LOCKED = 0x01 }
 IMS sensor state flags for PLL. More...
 
enum  MBG_IMS_FDM_OUTPUT_MODES { MBG_IMS_FDM_OUTPUT_MODE_FD, MBG_IMS_FDM_OUTPUT_MODE_TD, N_MBG_IMS_FDM_OUTPUT_MODES }
 Enumeration of known output modes. More...
 
enum  MBG_IMS_FDM_OUTPUT_MODE_MASKS { MBG_IMS_FDM_OUTPUT_MODE_MSK_FD = ( 1UL << MBG_IMS_FDM_OUTPUT_MODE_FD ), MBG_IMS_FDM_OUTPUT_MODE_MSK_TD = ( 1UL << MBG_IMS_FDM_OUTPUT_MODE_TD ) }
 Bit masks used with MBG_IMS_FDM_OUTPUT_STATE::mode. More...
 
enum  MBG_IMS_FDM_LINE_FREQS { MBG_IMS_FDM_LINE_FREQ_AUTO, MBG_IMS_FDM_LINE_FREQ_50HZ, MBG_IMS_FDM_LINE_FREQ_60HZ, N_MBG_IMS_FDM_LINE_FREQS }
 Enumeration known line frequencies. More...
 
enum  MBG_IMS_FDM_LINE_FREQ_MASKS { MBG_IMS_FDM_LINE_FREQ_MSK_AUTO = ( 1UL << MBG_IMS_FDM_LINE_FREQ_AUTO ), MBG_IMS_FDM_LINE_FREQ_MSK_50HZ = ( 1UL << MBG_IMS_FDM_LINE_FREQ_50HZ ), MBG_IMS_FDM_LINE_FREQ_MSK_60HZ = ( 1UL << MBG_IMS_FDM_LINE_FREQ_60HZ ) }
 Bit masks corresponding to defined line frequencies. More...
 
enum  MBG_IMS_FDM_STATE_FLAG_BITS {
  MBG_IMS_FDM_STATE_FLAG_BIT_SYNC_AFTER_RESET, MBG_IMS_FDM_STATE_FLAG_BIT_PLT_IS_LOCKED, MBG_IMS_FDM_STATE_FLAG_BIT_FD_OVERFLOW, MBG_IMS_FDM_STATE_FLAG_BIT_TD_OVERFLOW,
  N_MBG_IMS_FDM_STATE_FLAG_BITS
}
 Enumeration of flag bits used to define MBG_IMS_FDM_STATE_FLAG_MASKS. More...
 
enum  MBG_IMS_FDM_STATE_FLAG_MASKS { MBG_IMS_FDM_STATE_FLAG_MSK_SYNC_AFTER_RESET = ( 1UL << MBG_IMS_FDM_STATE_FLAG_BIT_SYNC_AFTER_RESET ), MBG_IMS_FDM_STATE_FLAG_MSK_PLT_IS_LOCKED = ( 1UL << MBG_IMS_FDM_STATE_FLAG_BIT_PLT_IS_LOCKED ), MBG_IMS_FDM_STATE_FLAG_MSK_FD_OVERFLOW = ( 1UL << MBG_IMS_FDM_STATE_FLAG_BIT_FD_OVERFLOW ), MBG_IMS_FDM_STATE_FLAG_MSK_TD_OVERFLOW = ( 1UL << MBG_IMS_FDM_STATE_FLAG_BIT_TD_OVERFLOW ) }
 Bit masks used with MBG_IMS_FDM_STATE::flags. More...
 
enum  MBG_IMS_FDM_FLAGS { MBG_IMS_FDM_FLAG_CAN_SET_TDEV, N_MBG_IMS_FDM_FLAGS }
 IMS FDM flags. More...
 
enum  MBG_IMS_FDM_FLAG_MASKS { MBG_IMS_FDM_FLAG_MASK_CAN_SET_TDEV = ( 1UL << MBG_IMS_FDM_FLAG_CAN_SET_TDEV ) }
 IMS FDM flag masks. More...
 

Detailed Description

Note
This is only supported if GPS_HAS_IMS is set in RECEIVER_INFO::features.

Macro Definition Documentation

◆ _mbg_swab_mbg_dac_specs

#define _mbg_swab_mbg_dac_specs (   _p)
Value:
do \
{ \
_mbg_swab32( &(_p)->dac_val_min ); \
_mbg_swab32( &(_p)->dac_val_max ); \
_mbg_swab32( &(_p)->u_min ); \
_mbg_swab32( &(_p)->u_max ); \
_mbg_swab32( &(_p)->reserved_0 ); \
_mbg_swab32( &(_p)->reserved_1 ); \
} while ( 0 )

Definition at line 9942 of file gpsdefs.h.

◆ _mbg_swab_mbg_ims_fdm_info

#define _mbg_swab_mbg_ims_fdm_info (   _p)
Value:
do \
{ \
_mbg_swab_mbg_ims_fdm_settings( &(_p)->settings ); \
_mbg_swab32( &(_p)->supp_line_freqs ); \
_mbg_swab32( &(_p)->reserved ); \
_mbg_swab32( &(_p)->flags ); \
} while ( 0 )

Definition at line 10325 of file gpsdefs.h.

Referenced by mbgextio_get_ims_fdm_info().

◆ _mbg_swab_mbg_ims_fdm_limits

#define _mbg_swab_mbg_ims_fdm_limits (   _p)
Value:
do \
{ \
_mbg_swab8( &(_p)->n_outputs ); \
_mbg_swab8( &(_p)->reserved_0 ); \
_mbg_swab16( &(_p)->reserved_1 ); \
_mbg_swab32( &(_p)->fd_neg_limit ); \
_mbg_swab32( &(_p)->fd_pos_limit ); \
_mbg_swab32( &(_p)->fd_scale ); \
_mbg_swab32( &(_p)->td_neg_limit ); \
_mbg_swab32( &(_p)->td_pos_limit ); \
_mbg_swab32( &(_p)->td_scale ); \
_mbg_swab32( &(_p)->reserved_2 ); \
} while ( 0 )
#define _mbg_swab32(_p)
Definition: mbg_arch.h:174

Definition at line 10132 of file gpsdefs.h.

Referenced by mbgextio_get_ims_fdm_limits().

◆ _mbg_swab_mbg_ims_fdm_output_info

#define _mbg_swab_mbg_ims_fdm_output_info (   _p)
Value:
do \
{ \
_mbg_swab_mbg_ims_fdm_output_settings( &(_p)->settings ); \
_mbg_swab32( &(_p)->supp_modes ); \
_mbg_swab_mbg_dac_specs( &(_p)->dac_specs ); \
} while ( 0 )

Definition at line 10053 of file gpsdefs.h.

◆ _mbg_swab_mbg_ims_fdm_output_info_idx

#define _mbg_swab_mbg_ims_fdm_output_info_idx (   _p)
Value:
do \
{ \
_mbg_swab32( &(_p)->idx ); \
_mbg_swab_mbg_ims_fdm_output_info( &(_p)->info ); \
} while ( 0 )

Definition at line 10073 of file gpsdefs.h.

Referenced by mbgextio_get_ims_fdm_output_info_idx().

◆ _mbg_swab_mbg_ims_fdm_output_settings

#define _mbg_swab_mbg_ims_fdm_output_settings (   _p)
Value:
do \
{ \
_mbg_swab32( &(_p)->mode ); \
_mbg_swab32( &(_p)->reserved ); \
} while ( 0 )
int mode
Definition: ntp_shm.h:65

Definition at line 10015 of file gpsdefs.h.

◆ _mbg_swab_mbg_ims_fdm_output_settings_idx

#define _mbg_swab_mbg_ims_fdm_output_settings_idx (   _p)
Value:
do \
{ \
_mbg_swab32( &(_p)->idx ); \
_mbg_swab_mbg_ims_fdm_output_settings( &(_p)->settings ); \
} while ( 0 )

Definition at line 10033 of file gpsdefs.h.

Referenced by mbgextio_set_ims_fdm_output_settings_idx().

◆ _mbg_swab_mbg_ims_fdm_output_state

#define _mbg_swab_mbg_ims_fdm_output_state (   _p)
Value:
do \
{ \
_mbg_swab32( &(_p)->dac_val ); \
_mbg_swab32( &(_p)->mode ); \
_mbg_swab_mbg_dac_specs( &(_p)->dac_specs ); \
_mbg_swab32( &(_p)->reserved_0 ); \
_mbg_swab32( &(_p)->reserved_1 ); \
} while ( 0 )
int mode
Definition: ntp_shm.h:65

Definition at line 9972 of file gpsdefs.h.

◆ _mbg_swab_mbg_ims_fdm_output_state_idx

#define _mbg_swab_mbg_ims_fdm_output_state_idx (   _p)
Value:
do \
{ \
_mbg_swab32( &(_p)->idx ); \
_mbg_swab_mbg_ims_fdm_output_state( &(_p)->state ); \
} while ( 0 )

Definition at line 9994 of file gpsdefs.h.

Referenced by mbgextio_get_ims_fdm_output_state_idx().

◆ _mbg_swab_mbg_ims_fdm_settings

#define _mbg_swab_mbg_ims_fdm_settings (   _p)
Value:
do \
{ \
_mbg_swab32( &(_p)->fd_neg_limit ); \
_mbg_swab32( &(_p)->fd_pos_limit ); \
_mbg_swab32( &(_p)->td_neg_limit ); \
_mbg_swab32( &(_p)->td_pos_limit ); \
_mbg_swab32( &(_p)->line_freq ); \
_mbg_swab32( &(_p)->reserved ); \
} while ( 0 )

Definition at line 10275 of file gpsdefs.h.

Referenced by mbgextio_set_ims_fdm_settings().

◆ _mbg_swab_mbg_ims_fdm_state

#define _mbg_swab_mbg_ims_fdm_state (   _p)
Value:
do \
{ \
_mbg_swab_mbg_gpio_freq( &(_p)->freq ); \
_mbg_swab_nano_time_64( &(_p)->t_ref ); \
_mbg_swab_nano_time_64( &(_p)->t_plt ); \
_mbg_swab_nano_time_64( &(_p)->t_sync ); \
_mbg_swab32( &(_p)->line_freq ); \
_mbg_swab32( &(_p)->flags ); \
_mbg_swab32( &(_p)->reserved ); \
} while ( 0 )

Definition at line 10172 of file gpsdefs.h.

Referenced by mbgextio_get_ims_fdm_state().

◆ _mbg_swab_mbg_ims_sensor_state

#define _mbg_swab_mbg_ims_sensor_state (   _p)
Value:
do \
{ \
_mbg_swab16( &(_p)->type ); \
_mbg_swab16( &(_p)->idx ); \
_mbg_swab32( &(_p)->val ); \
_mbg_swab16( &(_p)->exp ); \
_mbg_swab16( &(_p)->reserved ); \
_mbg_swab32( &(_p)->flags ); \
} while ( 0 )

Definition at line 9848 of file gpsdefs.h.

◆ _mbg_swab_mbg_ims_sensor_state_idx

#define _mbg_swab_mbg_ims_sensor_state_idx (   _p)
Value:
do \
{ \
_mbg_swab32( &(_p)->idx ); \
_mbg_swab_mbg_ims_sensor_state( &(_p)->state ); \
} while ( 0 )

Definition at line 9870 of file gpsdefs.h.

Referenced by mbgextio_get_ims_sensor_state_idx().

◆ _mbg_swab_mbg_ims_state

#define _mbg_swab_mbg_ims_state (   _p)
Value:
do \
{ \
_mbg_swab16( &(_p)->num_sensors ); \
_mbg_swab32( &(_p)->reserved ); \
_mbg_swab32( &(_p)->flags ); \
} while ( 0 )

Definition at line 9800 of file gpsdefs.h.

Referenced by mbgextio_get_ims_state().

◆ MBG_IMS_FDM_LINE_FREQ_STRS

#define MBG_IMS_FDM_LINE_FREQ_STRS
Value:
{ \
"Auto", \
"50 Hz", \
"60 Hz", \
}

Initializers for an array of line freq. name strings.

See also
MBG_IMS_FDM_LINE_FREQS

Definition at line 10220 of file gpsdefs.h.

Enumeration Type Documentation

◆ MBG_IMS_FDM_FLAG_MASKS

IMS FDM flag masks.

See also
MBG_IMS_FDM_FLAGS
Enumerator
MBG_IMS_FDM_FLAG_MASK_CAN_SET_TDEV 

see MBG_IMS_FDM_FLAG_CAN_SET_TDEV

Definition at line 10306 of file gpsdefs.h.

◆ MBG_IMS_FDM_FLAGS

IMS FDM flags.

See also
MBG_IMS_FDM_FLAG_MASKS
Enumerator
MBG_IMS_FDM_FLAG_CAN_SET_TDEV 

Device supports command GPS_FDM_SET_TD.

N_MBG_IMS_FDM_FLAGS 

Number of known FDM flags.

Definition at line 10293 of file gpsdefs.h.

◆ MBG_IMS_FDM_LINE_FREQ_MASKS

Bit masks corresponding to defined line frequencies.

See also
MBG_IMS_FDM_LINE_FREQS
Enumerator
MBG_IMS_FDM_LINE_FREQ_MSK_AUTO 

see MBG_IMS_FDM_LINE_FREQ_AUTO

MBG_IMS_FDM_LINE_FREQ_MSK_50HZ 

see MBG_IMS_FDM_LINE_FREQ_50HZ

MBG_IMS_FDM_LINE_FREQ_MSK_60HZ 

see MBG_IMS_FDM_LINE_FREQ_60HZ

Definition at line 10207 of file gpsdefs.h.

◆ MBG_IMS_FDM_LINE_FREQS

Enumeration known line frequencies.

Used with MBG_IMS_FDM_STATE::line_freq

See also
MBG_IMS_FDM_LINE_FREQ_MASKS
Enumerator
MBG_IMS_FDM_LINE_FREQ_AUTO 

Auto detect line frequency.

MBG_IMS_FDM_LINE_FREQ_50HZ 

50Hz line frequency

MBG_IMS_FDM_LINE_FREQ_60HZ 

60Hz line frequency

N_MBG_IMS_FDM_LINE_FREQS 

number of known line frequencies

Definition at line 10193 of file gpsdefs.h.

◆ MBG_IMS_FDM_OUTPUT_MODE_MASKS

Bit masks used with MBG_IMS_FDM_OUTPUT_STATE::mode.

See also
MBG_IMS_FDM_OUTPUT_MODES
Enumerator
MBG_IMS_FDM_OUTPUT_MODE_MSK_FD 

see MBG_IMS_FDM_OUTPUT_MODE_FD

MBG_IMS_FDM_OUTPUT_MODE_MSK_TD 

see MBG_IMS_FDM_OUTPUT_MODE_TD

Definition at line 10103 of file gpsdefs.h.

◆ MBG_IMS_FDM_OUTPUT_MODES

Enumeration of known output modes.

Used with MBG_IMS_FDM_OUTPUT_STATE::mode

See also
MBG_IMS_FDM_OUTPUT_MODE_MASKS
Enumerator
MBG_IMS_FDM_OUTPUT_MODE_FD 

Analog output reflects frequency deviation.

MBG_IMS_FDM_OUTPUT_MODE_TD 

Analog output reflects time deviation.

N_MBG_IMS_FDM_OUTPUT_MODES 

Number of known output modes.

Definition at line 10089 of file gpsdefs.h.

◆ MBG_IMS_FDM_STATE_FLAG_BITS

Enumeration of flag bits used to define MBG_IMS_FDM_STATE_FLAG_MASKS.

Enumerator
MBG_IMS_FDM_STATE_FLAG_BIT_SYNC_AFTER_RESET 

if sync'ed after reset

MBG_IMS_FDM_STATE_FLAG_BIT_PLT_IS_LOCKED 

Power Line Time is locked.

MBG_IMS_FDM_STATE_FLAG_BIT_FD_OVERFLOW 

Frequency deviation overflow occurred.

MBG_IMS_FDM_STATE_FLAG_BIT_TD_OVERFLOW 

Time deviation overflow occurred.

N_MBG_IMS_FDM_STATE_FLAG_BITS 

number of known state flag bits

Definition at line 10231 of file gpsdefs.h.

◆ MBG_IMS_FDM_STATE_FLAG_MASKS

Bit masks used with MBG_IMS_FDM_STATE::flags.

See also
MBG_IMS_FDM_STATE_FLAG_BITS
Enumerator
MBG_IMS_FDM_STATE_FLAG_MSK_SYNC_AFTER_RESET 

see MBG_IMS_FDM_STATE_FLAG_BIT_SYNC_AFTER_RESET

MBG_IMS_FDM_STATE_FLAG_MSK_PLT_IS_LOCKED 

see MBG_IMS_FDM_STATE_FLAG_BIT_PLT_IS_LOCKED

MBG_IMS_FDM_STATE_FLAG_MSK_FD_OVERFLOW 

see MBG_IMS_FDM_STATE_FLAG_BIT_FD_OVERFLOW

MBG_IMS_FDM_STATE_FLAG_MSK_TD_OVERFLOW 

see MBG_IMS_FDM_STATE_FLAG_BIT_TD_OVERFLOW

Definition at line 10246 of file gpsdefs.h.

◆ MBG_IMS_SENSOR_STATE_FLAG_MASK_PLL

IMS sensor state flags for PLL.

Used with MBG_IMS_SENSOR_STATE::flags in case MBG_IMS_SENSOR_STATE::type is MBG_IMS_SENSOR_PLL.

Enumerator
MBG_IMS_SENSOR_PLL_LOCKED 

PLL is locked.

Definition at line 9919 of file gpsdefs.h.

◆ MBG_IMS_SENSOR_STATE_FLAG_MASK_VOLTAGE

IMS sensor state flags for voltage.

Used with MBG_IMS_SENSOR_STATE::flags in case MBG_IMS_SENSOR_STATE::type is MBG_IMS_SENSOR_VOLTAGE.

Enumerator
MBG_IMS_SENSOR_VOLTAGE_OUT_ENB 

output is enabled

MBG_IMS_SENSOR_VOLTAGE_OUT_OVR 

output overload

Definition at line 9906 of file gpsdefs.h.

◆ MBG_IMS_SENSORS

IMS sensor types.

Used with MBG_IMS_SENSOR_STATE::type

Enumerator
MBG_IMS_SENSOR_TEMP_C 

temperature in degrees Celsius

MBG_IMS_SENSOR_VOLTAGE 

voltage in val/exp, output state in flags

MBG_IMS_SENSOR_PLL 

control voltage in val/exp, lock state in flags

MBG_IMS_SENSOR_VOLTAGE_INPUT 

input voltage in val/exp, output state in flags

MBG_IMS_SENSOR_VOLTAGE_OUTPUT 

output voltage in val/exp, output state in flags

MBG_IMS_SENSOR_VOLTAGE_SUPPLY 

supply voltage in val/exp, output state in flags

MBG_IMS_SENSOR_CURRENT 

generic current in val/exp, output state in flags

MBG_IMS_SENSOR_CURRENT_BOARD_SUPPLY 

board supply current in val/exp, output state in flags

MBG_IMS_SENSOR_CURRENT_OSC_SUPPLY 

oscillator supply current in val/exp, output state in flags

N_MBG_IMS_SENSORS 

number of supported sensor types

Definition at line 9884 of file gpsdefs.h.

◆ MBG_IMS_STATE_FLAG_BITS

Enumeration of bits used to define MBG_IMS_STATE_FLAG_MASKS.

See also
MBG_IMS_STATE_FLAG_MASKS
Enumerator
MBG_IMS_STATE_FLAG_BIT_HAS_FDM 

device supports FDM API

N_MBG_IMS_STATE_FLAG_BITS 

Definition at line 9815 of file gpsdefs.h.

◆ MBG_IMS_STATE_FLAG_MASKS

Bit masks used with MBG_IMS_STATE::flags.

See also
MBG_IMS_STATE_FLAG_BITS
Enumerator
MBG_IMS_STATE_FLAG_MSK_HAS_FDM 

see MBG_IMS_STATE_FLAG_BIT_HAS_FDM

Definition at line 9827 of file gpsdefs.h.