gll_distr/inc/glgpsapi.h File Reference

GNSS Location Library AGPS Application Programming Interface. More...

This graph shows which files directly or indirectly include this file:

Classes

struct  GnssConstellationMask
 The GnssConstellationMask is a per-constellation bitmask indexed by GL_AID_SOURCE. More...
struct  UTC_TIME
 Structure to keep the UTC time. More...
struct  GL_TIME
 Structure to keep the GPS time. More...
struct  GL_GLNS_TIME
 Structure to keep the GLONASS time. More...
struct  GL_FREQ
 Reference clock frequency offset information structure. More...
struct  GL_ASS_POS
 Reference Location Assistance Information. More...
struct  GL_ASS_POS_QUAL
 Reference Location Assistance Information. More...
struct  GlOrbitInfoValidity
 The GlOrbitInfoValidity structure contains aiding status pertaining to one satellite. More...
struct  GlOrbitInfoPerAidSource
 The GlOrbitInfoPerAidSource structure contains aiding status from the GLL for one specific aiding technology. More...
struct  GlAlmanac
 Almanac - per-satellite information for GPS constellation. More...
struct  GlGlnsAlmanac
 Almanac - per-satellite information for GLONASS constellation. More...
struct  GlSbasAlmanac
 SBAS (WAAS) Almanac Export of the GLL's internal hard-coded almanac. More...
struct  GlAidRequest
 Aiding status from the GLL. More...
struct  GlUncmprsdEph
 Navigation Model - per-satellite information. More...
struct  GlUncmprsdGlnEph
 GLONASS Navigation Model - per-satellite information. More...
struct  GL_TOW_ASSIST
 Reference time - once per msg. More...
struct  GL_SV_INFO
 Per SV information. More...
struct  GL_SERIAL_STATS
 Serial statistics are updated upon every position fix. More...
struct  HULA_SENSORS_REQUESTED
 Structure for requesting external sensors. More...
struct  GlReferenceLocDataType
 The GlReferenceLocDataType structure is used inside SampleValues.stPos for Lat/Lon/Alt position reporting. More...
struct  GlDeltaPosDataType
 The GlDeltaPosDataType structure is used inside SampleValues.stPos for reporting a change in position measured in meters along the latitude/longitude axis If the altitude is invalid it should be set to -999 Field eSensorType in GlExtSensData structure should be GL_EXT_SENS_DELTA_POS. More...
struct  GlRangeFromRefPosDataType
 The GlRangeFromRefPosDataType structure is used inside field SampleValues.stDeltaPosRef to hold the estimated range for a reference location. More...
struct  GlExtSensStateInfoType
 The GlExtSensStateInfoType structure is used inside field SampleValues.stStateInfo to hold the additional information about specific sensor state. More...
struct  GlExtSensTempInfoType
 The GlExtSensTempInfoType structure is used inside field SampleValues.stSensTemp to hold the information about temperature of specific sensor. More...
struct  GlExtSensTravelAssistType
 The GlExtSensTravelAssistType structure is used inside field SampleValues.stTravelAssist to hold the information about current road segment from the travel database. More...
struct  GlPosUncertaintyDataType
 GlPosUncertaintyDataType is used for the unc field. More...
struct  GlExtSensSample
 The SampleUncertainty union holds data for the unc field of the GlExtSensSample. More...
struct  GlExtSensData
 All data collected by one external sensor is put into a GlExtSensData structure. More...
struct  GlExtSensPlayBackData
 For playback, the B64 data are combined into one sensor type and the entire aSamples[] is used for the B64 data. More...
struct  GlExtSensInfo
 The GlExtSensInfo structure points to an array of GlExtSensData. A pointer to this structure is sent to the GLL when sensor data are available. More...
struct  GL_EXT_SENS_SPEED_STATE
 GL_EXT_SENS_SPEED_STATE contains state of the external speed sensor input to HULA regardless of its use in providing current position More...
struct  GL_EXT_SENS_LOCATION_STATE
 GL_EXT_SENS_LOCATION_STATE contains state of the external location input to HULA regardless of its use in providing current position More...
struct  GL_EXT_SENS_HEADING_STATE
 GL_EXT_SENS_HEADING_STATE contains state of the heading input to HULA regardless of its use in providing current position More...
struct  GL_EXT_SENS_STATUS
 Status of external sensor input values to HULA, which could be reported in $PGLOR, HLA. More...
struct  GlSensRawVector
 Raw sensors data vector. More...
struct  GlSensRawData
 Raw sensors data. More...
struct  GlSensRaw
 The GlSensRaw structure to pass Raw ( uncalibrated ) sensor data to the GLL. More...
struct  GL_PPS_STATUS
 Status of the PulsePerSecond generation. More...
struct  GL_POS_HEADING_STATUS
 GL_POS_HEADING_STATUS contains status of the heading output More...
struct  GL_FIX_STATUS
 Detailed position fix information. More...
struct  NOTCH_FILTER_CONFIG
 Notch filter configuration. More...
class  GlSettings
 This class is used to set user configurable parameters within the GLL. More...
class  GlNvStorageReader
 This class is used to manage persistent data between positioning requests. More...
class  GlLTOFileReader
 This class is used to input LTO files to the GLL. More...
class  GlEEFileReader
 This class is used to input EE files to the GLL. More...
class  GlRequest
 Application requests to the GlEngine class. More...
class  GlEngine
 This is the main GLL class. More...

Defines

#define _NUMOF(name)   _NUMOF##name
 Number of elements in enum.
#define _DIM(x)   ((short)(sizeof(x)/sizeof(*(x))))
 Array dimention.
#define MAX_GL_COMM_PACKET_IN   268
 Maximum size of the single incoming GL ASIC packet.
#define MAX_GL_COMM_PACKET_OUT   160
 Maximum size of the single outgoing GL ASIC packet.
#define GL_MAX_REQUESTS   8
 Maximum number of simultaneously served requests.
#define GL_NUM_NMEA_CONTEXTS   1
 Maximum number of concurrent nmea contexts (AllocateNmeaContext)
#define GL_MAX_SENS_RAW_DATA   300
 Maximum number of GlSensRawData.
#define GL_MAX_DBG_NAME_LEN   32
 Maximum size of debug parameters, including terminating nul character.
#define MAX_RTI_MSG_LEN   4096
 Maximum size of RTI message passed to SetRealTimeIntegrity.
#define PSF_NO_INFO   (0)
 No information available.
#define PSF_SIGNAL_STRENGTH_REFERENCE   (0L<<PSF_SIGNAL_STRENGTH_SHIFT)
 BASS-level performance.
#define PSF_SIGNAL_STRENGTH_HIGH   (1L<<PSF_SIGNAL_STRENGTH_SHIFT)
 more signal than BASS
#define PSF_SIGNAL_STRENGTH_LOW   (2L<<PSF_SIGNAL_STRENGTH_SHIFT)
 less signal than BASS
#define PSF_SIGNAL_STRENGTH_UNUSED_3   (3L<<PSF_SIGNAL_STRENGTH_SHIFT)
 reserved
#define PSF_SIGNAL_STRENGTH_UNUSED_4   (4L<<PSF_SIGNAL_STRENGTH_SHIFT)
 reserved
#define PSF_SIGNAL_STRENGTH_UNUSED_5   (5L<<PSF_SIGNAL_STRENGTH_SHIFT)
 reserved
#define PSF_SIGNAL_STRENGTH_UNUSED_6   (6L<<PSF_SIGNAL_STRENGTH_SHIFT)
 reserved
#define PSF_SIGNAL_STRENGTH_UNUSED_7   (7L<<PSF_SIGNAL_STRENGTH_SHIFT)
 reserved
#define PSF_CLOCK_VARIATION_REFERENCE   (0L<<PSF_CLOCK_VARIATION_SHIFT)
 BASS-level TCXO performance (< 1ppb/s)
#define PSF_CLOCK_VARIATION_MEDIUM   (1L<<PSF_CLOCK_VARIATION_SHIFT)
 Medium TCXo variation (1.5 - 3ppb/s)
#define PSF_CLOCK_VARIATION_HIGH   (2L<<PSF_CLOCK_VARIATION_SHIFT)
 High TCXo variation (> 3ppb/s)
#define PSF_CLOCK_VARIATION_UNUSED_3   (3L<<PSF_CLOCK_VARIATION_SHIFT)
 3-7<<3 Reserved for future setting
#define PSF_NOT_USED   (1L<<6)
 Spare platform-specific flag.
#define PSF_EXPECT_LARGE_CLOCK_OFFSET   (1L<<7)
 The TCXO might have changed dramatically while the GPS was off.
#define PSF_ANALOG_IF_OUTPUT_GPS   (1L<<PSF_ANALOG_IF_OUTPUT_SHIFT)
 Reconfigure an ASIC pin for GPS analog IF output.
#define PSF_ANALOG_IF_OUTPUT_GLONASS   (2L<<PSF_ANALOG_IF_OUTPUT_SHIFT)
 Reconfigure an ASIC pin for GPS analog IF output.
#define PSF_ANALOG_IF_OUTPUT_BEIDOU   (3L<<PSF_ANALOG_IF_OUTPUT_SHIFT)
 Reconfigure an ASIC pin for BEIDOU analog IF output.
#define PSF_PEDESTRIAN_VDR_ALLOWED   (1L<<10)
 Pedestrian virtual DR allowed (position clamping).
#define PSF_EARLY_MEASUREMENTS   (1L<<11)
 Push MS-A measurements out early so middleware can assess quality.
#define PSF_ENABLE_LSQ   (1L<<12)
 Enable Least Squares method of position computation and PGLOR,LSQ NMEA report.
#define PSF_ENABLE_POS_PROPAGATION   (1L<<13)
 Enable position propagation.
#define PSF_DERATE_TIME_AIDING   (1L<<14)
 Less aggressive use of aided time.
#define PSF_CW_FTS_WIDE   (1L<<15)
 CW FTS covers a wider range.
#define PSF_RECOVER_JOBS_UPON_BAD_TIME   (1L<<16)
 Attempt to restart all jobs upon bad time (100s difference)
#define PSF_NOT_CONNECTED   (1L<<18)
 Device is never connected and can never rely on assistance data, even occasional LTO.
#define PSF_TIMING_APPLICATION   (1L<<20)
 PPS output is more important than position accuracy in a timing application.
#define GET_PRIORITY(facPri)   ((facPri) & 0x7)
 Extract priority from facPri.
#define GET_FACILITY(facPri)   (((facPri) >> 3) & 0x1f)
 Extract facility from facPri.
#define SET_FACILITY(facility)   (((facility) & 0x1f) << 3)
 Convert facility to facPri form.
#define LOG_UPTO(facPri)   ((1UL << (GET_PRIORITY(facPri) + 1)) - 1)
 Make mask for all priorities up to the given priority.
#define LOG_PRIORITY(facPri)   (1UL << GET_PRIORITY(facPri))
 Extract priority from facPri and make 8-bit mask.
#define LOG_MASK(pri)   LOG_PRIORITY(pri)
 mask for a priority (for backward compatibility)
#define LOG_FCLTY(facPri)   (1UL << GET_FACILITY(facPri))
 Extract facility from facPri and make 32-bit mask.
#define LOG_EMERG   0
 system is unusable
#define LOG_ALERT   1
 action must be taken immediately
#define LOG_CRIT   2
 critical condition
#define LOG_ERR   3
 error conditions
#define LOG_WARNING   4
 warning conditions
#define LOG_NOTICE   5
 normal but significant condition
#define LOG_INFO   6
 informational
#define LOG_DEBUG   7
 debug-level messages
#define LOG_GLLIO   SET_FACILITY(0)
 Log GLL I/O.
#define LOG_GLLAPI   SET_FACILITY(1)
 Send message to the LOG file whenever customer calls GLL API.
#define LOG_NMEA   SET_FACILITY(2)
 Log the NMEA sentences that were sent to request handlers.
#define LOG_RAWDATA   SET_FACILITY(3)
 Log RAW data for postprocessing.
#define LOG_ASIC_IO   SET_FACILITY(4)
 Logs the traffic between host and ASIC.
#define LOG_RF_DEBUG   SET_FACILITY(5)
 Used in the RF test mode.
#define LOG_BBTEST   SET_FACILITY(6)
 Used in the BB test mode.
#define LOG_UNITTEST   SET_FACILITY(7)
 Used by GL unit test facility.
#define LOG_DEVAK   SET_FACILITY(8)
 Personal facilities of GL developers used during debugging (disabled by default)
#define LOG_DEVCV   SET_FACILITY(9)
 CVs debugging stream.
#define LOG_DEVET   SET_FACILITY(10)
 ETs debugging stream.
#define LOG_DEVJG   SET_FACILITY(11)
 JGs debugging stream.
#define LOG_DEVIA   SET_FACILITY(12)
 IAs debugging stream.
#define LOG_DEVKF   SET_FACILITY(13)
 K&F debugging stream.
#define LOG_DEVMR   SET_FACILITY(14)
 MRs debugging stream.
#define LOG_DEVMS   SET_FACILITY(15)
 QHSM debugging stream.
#define LOG_DEVSP   SET_FACILITY(16)
 SPs debugging stream.
#define LOG_DEVPM   SET_FACILITY(17)
 PMs debugging stream.
#define LOG_DEVDH   SET_FACILITY(18)
 DHs debugging stream.
#define LOG_DEVRA   SET_FACILITY(19)
 RAs debugging stream.
#define LOG_DEVRS   SET_FACILITY(20)
 RSs debugging stream.
#define LOG_DEVVG   SET_FACILITY(21)
 VGs debugging stream.
#define LOG_DEVPA   SET_FACILITY(22)
 PAs debugging stream.
#define LOG_USR1   SET_FACILITY(27)
 Reserved.
#define LOG_USR2   SET_FACILITY(28)
 Reserved.
#define LOG_USR3   SET_FACILITY(29)
 Reserved.
#define LOG_USR4   SET_FACILITY(30)
 Reserved.
#define LOG_USR5   SET_FACILITY(31)
 Reserved.
#define SBAS_SYSTEM_ENABLED
 Define whether systems are enabled or not. GPS is always enabled.
#define MIN_GNSS_ID   1
 GNSS IDs.
#define MIN_GPS_PRN   1
 GPS PRNs.
#define MIN_SBAS_PRN   120
 SBAS PRNs.
#define MIN_GLONASS_FCN   (-7)
 GLONASS FCNs.
#define MIN_GLONASS_OSN   1
 GLONASS OSNs.
#define MIN_QZSS_PRN   193
 QZSS PRNs.
#define MIN_IMES_PRN   173
 IMES PRNs.
#define MIN_BEIDOU_PRN   1
 BEIDOU PRNs.
#define MIN_GALILEO_PRN   1
 GALILEO PRNSs.
#define INVALID_SVID   0
 SVIDs.
#define MIN_SATID   0
 SATIDs are how an AGPS server identifies a satellite within a constellation.
#define IS_GPS_SVID(svId)   (((svId) >= MIN_GPS_SVID) && ((svId) <= MAX_GPS_SVID))
 GNSS-specific validity/check macros.
#define GPS_SVID_TO_GNSSID(svId)   ((svId) - MIN_GPS_SVID + MIN_GNSS_ID)
 GNSS-specific macros.
#define GPS_SATID_TO_GNSSID(satId)   ((satId) - MIN_GPS_SATID + MIN_GNSS_ID)
 SATID TO GNSSID.
#define GPS_PRN_TO_GNSSID(prn)   ((prn) - MIN_GPS_PRN + MIN_GNSS_ID)
 PRN/OSN TO GNSSID.
#define GPS_GNSSID_TO_SVID(gnssId)   ((gnssId) - MIN_GNSS_ID + MIN_GPS_SVID)
 GNSSID TO SVID.
#define GPS_GNSSID_TO_SATID(gnssId)   ((gnssId) - MIN_GNSS_ID + MIN_GPS_SATID)
 GNSSID TO SATID.
#define GPS_GNSSID_TO_PRN(gnssId)   ((gnssId) - MIN_GNSS_ID + MIN_GPS_PRN)
 GNSSID TO PRN/OSN.
#define GPS_SATID_TO_PRN(satId)   ((satId) - MIN_GPS_SATID + MIN_GPS_PRN)
 SATID TO PRN/OSN.
#define GPS_PRN_TO_SATID(prn)   ((prn) - MIN_GPS_PRN + MIN_GPS_SATID)
 PRN/OSN TO SATID.
#define GPS_SVID_TO_SATID(svId)   ((svId) - MIN_GPS_SVID + MIN_GPS_SATID)
 SVID TO SATID.
#define GPS_SATID_TO_SVID(satId)   ((satId) - MIN_GPS_SATID + MIN_GPS_SVID)
 SATID TO SVID.
#define GPS_GNSSID_TO_SVID(gnssId)   ((gnssId) - MIN_GNSS_ID + MIN_GPS_SVID)
 GNSSID TO SVID.
#define IS_GLONASS_FCN(fcn)   ((fcn) >= MIN_GLONASS_FCN && (fcn) <= MAX_GLONASS_FCN)
 Macros special to a particular GNSS.
#define SATID_TO_GNSSID(satId)   ((satId) - MIN_SATID + MIN_GNSS_ID)
 GNSS-non-specific macros.
#define PRN2SVID(prn)
 Convert from PRN to SVID. Returns INVALID_SVID if not GPS or SBAS PRN, QZSS, IMES. Note: cannot be a GLONASS FCN,or BEIDOU.
#define SVID2PRN(svId)
 Convert from SVID to PRN. Returns INVALID_PRN if not GPS, SBAS, QZSS, IMES, or BEIDOU.
#define GPS_PRN_TO_GNSSID(prn)   ((prn) - MIN_GPS_PRN + MIN_GNSS_ID)
 PRN/OSN TO GNSSID.
#define PRN2GNSSID(prn)
 Convert from PRN to GNSS ID (1-based index within the system)
#define FCN2SVID(fcn)
 GLONASS SYSTEM FCN and OSN macros. Note: cannot be a GPS or SBAS PRN.
#define GNSS_BIT0_SYSTEM_ID   { 1, 120, 1, 193, 1, 1 }
 The baseline SYSTEM_ID (PRN mostly, or GLONASS OSN) for bit 0 of ulMask[GL_GNSS_INDEX] is: GPS PRN 1, SBAS PRN 120, GLONASS OSN 1, QZSS PRN 193.
#define GL_AID_TIME_INVALID   (0x7FFFFFFFL)
 Indicates an invalid time member in the GlOrbitInfoValidity structure.
#define AGC_INDEX_TOTAL   0
 Factory test status structure.
#define NVMEM_IGNORE_POS   (1L<<0)
 Ignore last known position.
#define NVMEM_IGNORE_EPH   (1L<<1)
 Ignore ephemeris.
#define NVMEM_IGNORE_TIM   (1L<<2)
 Ignore time from RTC.
#define NVMEM_IGNORE_ALM   (1L<<3)
 Ignore collected almanac.
#define NVMEM_IGNORE_OSC   (1L<<4)
 Ignore oscillator offset.
#define NVMEM_IGNORE_LTO_BAD_LIST   (1L<<5)
 Ignore list of LTO SVs marked bad.
#define NVMEM_IGNORE_LTO   NVMEM_IGNORE_LTO_BAD_LIST
 Backwards compatiblibility (deprecated)
#define NVMEM_IGNORE_ROM_ALM   (1L<<6)
 Ignore factory almanac stored in ROM.
#define NVMEM_IGNORE_IONO   (1L<<7)
 Ignore Iono data.
#define NVMEM_IGNORE_UTC   (1L<<8)
 Ignore UTC offset.
#define NVMEM_IGNORE_OSC_IF_BAD_UID   (1L<<9)
 Ignore oscillator offset if check based on Unit ID stored in the ASIC fails.
#define NVMEM_IGNORE_EEIM   (1L<<10)
 Ignore CBEE integrity data in NVMEM (bad CBEE SV list)
#define NVMEM_IGNORE_TERRAIN   (1L<<11)
 Ignore terrain model (NOTE: Terrain Model not actually stored in NVRAM)
#define NVMEM_IGNORE_CALIBRATION   (1L<<12)
 Ignore LTO calibration data.
#define NVMEM_IGNORE_SV_HEALTH   (1L<<13)
 Ignore SV Health.
#define NVMEM_IGNORE_SV_INTEGRITY   (1L<<14)
 Ignore SV Integrity (RTI)
#define NVMEM_DELETE_POS   (NVMEM_IGNORE_POS << 16)
 Delete position.
#define NVMEM_DELETE_EPH   (NVMEM_IGNORE_EPH << 16)
 Delete ephemeris.
#define NVMEM_DELETE_TIM   (NVMEM_IGNORE_TIM << 16)
 Delete time.
#define NVMEM_DELETE_ALM   (NVMEM_IGNORE_ALM << 16)
 Delete almanac.
#define NVMEM_DELETE_OSC   (NVMEM_IGNORE_OSC << 16)
 Delete TCXO offset.
#define NVMEM_PREVENT_UPDATE_LTO_BAD_LIST   (NVMEM_IGNORE_LTO << 16)
 Prevent LTO bad SV list updates.
#define NVMEM_DELETE_LTO_BAD_LIST   NVMEM_PREVENT_UPDATE_LTO_BAD_LIST
 Backwards compatiblibility (inaccurate name)
#define NVMEM_DELETE_LTO   NVMEM_DELETE_LTO_BAD_LIST
 Backwards compatiblibility (deprecated)
#define NVMEM_DELETE_ROM_ALM   (NVMEM_IGNORE_ROM_ALM << 16)
 Delete ROM almanac.
#define NVMEM_DELETE_IONO   (NVMEM_IGNORE_IONO << 16)
 Delete ionospheric information.
#define NVMEM_DELETE_UTC   (NVMEM_IGNORE_UTC << 16)
 Delete UTC.
#define NVMEM_DELETE_UID   (NVMEM_IGNORE_OSC_IF_BAD_UID << 16)
 Delete unit ID.
#define NVMEM_DELETE_EEIM   (NVMEM_IGNORE_EEIM << 16)
 Delete CBEE bad SV list.
#define NVMEM_DELETE_CALIBRATION   (NVMEM_IGNORE_CALIBRATION<<16)
 Delete LTO calibration data.
#define NVMEM_DELETE_SV_HEALTH   (NVMEM_IGNORE_SV_HEALTH<<16)
 Ignore SV Health.
#define NVMEM_DELETE_SV_INTEGRITY   (NVMEM_IGNORE_SV_INTEGRITY<<16)
 Ignore SV Integrity (RTI)
#define ASST_IGNORE_TIME   (1L<<0)
 Ignore calls of GlEngine::SetAsstTime()
#define ASST_IGNORE_PRECISE_TIME   (1L<<1)
 Ignore calls of GlEngine::SetAsstPreciseTime()
#define ASST_IGNORE_POS   (1L<<2)
 Ignore calls of GlEngine::SetAsstPos()
#define ASST_IGNORE_EPH   (1L<<3)
 Ignore calls of GlEngine::SetAsstEph(GlUncmprsdEph *)
#define ASST_IGNORE_GLNS_EPH   (1L<<4)
 Ignore calls of GlEngine::SetAsstEph(GlUncmprsdGlnEph *)
#define ASST_IGNORE_ALM   (1L<<5)
 Ignore calls of GlEngine::SetAsstAlm(GlAlmanac *pAlm)
#define ASST_IGNORE_GLNS_ALM   (1L<<6)
 Ignore calls of GlEngine::SetAsstAlm(GlGlnsAlmanac *pAlm)
#define ASST_IGNORE_IONO   (1L<<7)
 Ignore calls of GlEngine::SetAsstIono()
#define ASST_IGNORE_UTC   (1L<<8)
 Ignore calls of GlEngine::SetAsstUtc()
#define ASST_IGNORE_ACQ   (1L<<9)
 Ignore calls of GlEngine::SetAsstAcq()
#define ASST_IGNORE_RTI   (1L<<10)
 Ignore calls of GlEngine::SetRealTimeIntegrity()
#define ASST_IGNORE_SENS   (1L<<11)
 Ignore calls of GlEngine::SetExtSensInfo()
#define ASST_IGNORE_FIX   (1L<<12)
 Ignore calls of GlEngine::SetFixStatus()
#define ASST_IGNORE_LTO   (1L<<13)
 The callback OnLTOFileRead() will not be called by GlEngine.
#define ASST_IGNORE_CBEE   (1L<<14)
 The callback OnEEFileRead() will not be called by GlEngine.
#define ASST_IGNORE_ALL   0xFFFFFFFFL
 Ignore all assistance data.
Raw broadcast to scaled conversions
#define TWOPOW32   (4294967296.0)
#define TWOPOW31   (2147483648.0)
#define TWOPOW25   (33554432.0)
#define TWOPOW24   (16777216.0)
#define TWOPOW16   (65536.0)
#define TWOPOW15   (32768.0)
#define TWOPOW8   (256.0)
#define TWO_TO_M4   0.0625
#define TWO_TO_M5   0.03125
#define TWO_TO_M6   0.015625
#define TWO_TO_M7   0.0078125
#define TWO_TO_M8   0.00390625
#define TWO_TO_M9   0.001953125
#define TWO_TO_M10   0.0009765625
#define TWO_TO_M11   0.00048828125
#define TWO_TO_M12   0.000244140625
#define TWO_TO_M13   0.0001220703125
#define TWO_TO_M14   0.00006103515625
#define TWO_TO_M15   0.000030517578125
#define TWO_TO_M16   1.525878906250000e-05
#define TWO_TO_M17   7.629394531250000e-06
#define TWO_TO_M18   3.814697265625000e-06
#define TWO_TO_M19   1.907348632812500e-06
#define TWO_TO_M20   9.536743164062500e-07
#define TWO_TO_M21   4.768371582031250e-07
#define TWO_TO_M22   2.384185791015625e-07
#define TWO_TO_M23   1.192092895507813e-07
#define TWO_TO_M24   5.960464477539063e-08
#define TWO_TO_M25   2.980232238769531e-08
#define TWO_TO_M26   1.490116119384766e-08
#define TWO_TO_M27   7.450580596923828e-09
#define TWO_TO_M28   3.725290298461914e-09
#define TWO_TO_M29   1.862645149230957e-09
#define TWO_TO_M30   9.313225746154785e-10
#define TWO_TO_M31   4.656612873077393e-10
#define TWO_TO_M32   2.328306436538696e-10
#define TWO_TO_M33   1.164153218269348e-10
#define TWO_TO_M34   5.820766091346741e-11
#define TWO_TO_M35   2.910383045673370e-11
#define TWO_TO_M36   1.455191522836685e-11
#define TWO_TO_M37   7.275957614183426e-12
#define TWO_TO_M38   3.637978807091713e-12
#define TWO_TO_M39   1.818989403545856e-12
#define TWO_TO_M40   9.094947017729282e-13
#define TWO_TO_M41   4.547473508864641e-13
#define TWO_TO_M42   2.273736754432321e-13
#define TWO_TO_M43   1.136868377216160e-13
#define TWO_TO_M44   5.684341886080801e-14
#define TWO_TO_M45   2.842170943040401e-14
#define TWO_TO_M46   1.421085471520200e-14
#define TWO_TO_M47   7.105427357601002e-15
#define TWO_TO_M48   3.552713678800501e-15
#define TWO_TO_M49   1.776356839400250e-15
#define TWO_TO_M50   8.881784197001252e-16
#define TWO_TO_M51   4.440892098500626e-16
#define TWO_TO_M52   2.220446049250313e-16
#define TWO_TO_M53   1.110223024625157e-16
#define TWO_TO_M54   5.551115123125783e-17
#define TWO_TO_M55   2.775557561562891e-17
#define TWO_TO_M56   1.387778780781446e-17
#define TWO_TO_M57   6.938893903907228e-18
#define TWO_TO_M58   3.469446951953614e-18
#define TWO_TO_M59   1.734723475976807e-18
#define TWO_TO_M60   8.673617379884035e-19
#define TWO_TO_M61   4.336808689942018e-19
#define TWO_TO_M62   2.168404344971009e-19
#define TWO_TO_M63   1.084202172485504e-19
#define TWO_TO_M64   5.421010862427522e-20
#define TWO_TO_M65   2.710505431213761e-20
#define TWO_TO_M66   1.355252715606881e-20
#define TWO_TO_M67   6.776263578034403e-21
#define TWO_TO_M68   3.388131789017201e-21
#define GPS_ALM_SCALE_E   4.768371582031250e-007
 Multipliers to convert GlAlmanac ICD GPS broadcast values to their useful floating point values.
#define QZSS_ALM_E_OFFSET   0.06
#define BEIDOU_IGSO_ALM_E_OFFSET   0.06
#define GPS_ALM_SCALE_TOA   4096L
#define GPS_ALM_SCALE_DELTA_I   1.9073486328125e-006
#define GPS_ALM_SCALE_OMEGA_DOT   1.142904749427469e-011
#define GPS_ALM_SCALE_ASQRT   0.00048828125
#define GPS_ALM_SCALE_OMEGA0   3.745070282923929e-007
#define GPS_ALM_SCALE_OMEGA   3.745070282923929e-007
#define GPS_ALM_SCALE_M0   3.745070282923929e-007
#define GPS_ALM_SCALE_A_F0   9.536743164062500e-007
#define GPS_ALM_SCALE_A_F1   3.637978807091713e-012
#define GPS_ALM_I0_OFFSET   0.30
 Almanac I0 offsets for GPS-formatted almanacs from various GNSS.
#define QZSS_ALM_I0_OFFSET   0.25
#define GLONASS_ALM_I0_OFFSET   0.35
#define SBAS_ALM_I0_OFFSET   0.00
#define BEIDOU_NONGEO_ALM_I0_OFFSET   0.30
#define BEIDOU_GEO_ALM_I0_OFFSET   0.00
#define BEIDOU_UTC_SCALE_A_F0   9.31322574615479e-10
 BeiDou UTC and SysOffset scale factors.
#define BEIDOU_UTC_SCALE_A_F1   8.88178419700125e-16
#define BEIDOU_SYS_OFFSET_A0   (0.1*1e-9)
#define BEIDOU_SYS_OFFSET_A1   (0.1*1e-9)
#define GLNS_EPH_SCALE_TB   15UL
 GLNS ephemeris scale factors.
#define GLNS_EPH_SCALE_XYZ_POS   0.00048828125
#define GLNS_EPH_SCALE_XYZ_VEL   9.5367431640625e-007
#define GLNS_EPH_SCALE_XYZ_ACC   9.31322574615479e-010
#define GLNS_EPH_SCALE_GAMMA   9.09494701772928e-013
#define GLNS_EPH_SCALE_TAU   9.31322574615479e-010
#define GLNS_EPH_SCALE_DELTA_TAU   9.31322574615479e-010

Typedefs

typedef enum GL_TIME_VALIDITY GL_TIME_VALIDITY
 Enum describing GPS time validity source.
typedef struct
GlOrbitInfoPerAidSource 
GlOrbitInfoPerAidSource
 The GlOrbitInfoPerAidSource structure contains aiding status from the GLL for one specific aiding technology.
typedef struct GlSbasAlmanac GlSbasAlmanac
 SBAS (WAAS) Almanac Export of the GLL's internal hard-coded almanac.
typedef struct GL_TOW_ASSIST GL_TOW_ASSIST
 Reference time - once per msg.
typedef struct GL_SV_INFO GL_SV_INFO
 Per SV information.
typedef struct GL_SERIAL_STATS GL_SERIAL_STATS
 Serial statistics are updated upon every position fix.
typedef struct
HULA_SENSORS_REQUESTED 
HULA_SENSORS_REQUESTED
 Structure for requesting external sensors.
typedef enum GL_INTERNAL_STATUS GL_INTERNAL_STATUS
 GL_INTERNAL_STATUS is reported in PGLOR,STA.
typedef struct
GlReferenceLocDataType 
GlReferenceLocDataType
 The GlReferenceLocDataType structure is used inside SampleValues.stPos for Lat/Lon/Alt position reporting.
typedef struct GlDeltaPosDataType GlDeltaPosDataType
 The GlDeltaPosDataType structure is used inside SampleValues.stPos for reporting a change in position measured in meters along the latitude/longitude axis If the altitude is invalid it should be set to -999 Field eSensorType in GlExtSensData structure should be GL_EXT_SENS_DELTA_POS.
typedef struct
GlRangeFromRefPosDataType 
GlRangeFromRefPosDataType
 The GlRangeFromRefPosDataType structure is used inside field SampleValues.stDeltaPosRef to hold the estimated range for a reference location.
typedef struct
GlExtSensStateInfoType 
GlExtSensStateInfoType
 The GlExtSensStateInfoType structure is used inside field SampleValues.stStateInfo to hold the additional information about specific sensor state.
typedef struct
GlExtSensTempInfoType 
GlExtSensTempInfoType
 The GlExtSensTempInfoType structure is used inside field SampleValues.stSensTemp to hold the information about temperature of specific sensor.
typedef struct
GlExtSensTravelAssistType 
GlExtSensTravelAssistType
 The GlExtSensTravelAssistType structure is used inside field SampleValues.stTravelAssist to hold the information about current road segment from the travel database.
typedef struct
GlPosUncertaintyDataType 
GlPosUncertaintyDataType
 GlPosUncertaintyDataType is used for the unc field.
typedef UNION float fValue
 The SampleValues union holds data for the v field of the GlExtSensSample.
typedef struct GlExtSensSample GlExtSensSample
 The SampleUncertainty union holds data for the unc field of the GlExtSensSample.
typedef struct GlExtSensInfo GlExtSensInfo
 The GlExtSensInfo structure points to an array of GlExtSensData. A pointer to this structure is sent to the GLL when sensor data are available.
typedef struct
GL_EXT_SENS_SPEED_STATE 
GL_EXT_SENS_SPEED_STATE
 GL_EXT_SENS_SPEED_STATE contains state of the external speed sensor input to HULA regardless of its use in providing current position
typedef struct
GL_EXT_SENS_LOCATION_STATE 
GL_EXT_SENS_LOCATION_STATE
 GL_EXT_SENS_LOCATION_STATE contains state of the external location input to HULA regardless of its use in providing current position
typedef struct
GL_EXT_SENS_HEADING_STATE 
GL_EXT_SENS_HEADING_STATE
 GL_EXT_SENS_HEADING_STATE contains state of the heading input to HULA regardless of its use in providing current position
typedef struct GL_EXT_SENS_STATUS GL_EXT_SENS_STATUS
 Status of external sensor input values to HULA, which could be reported in $PGLOR, HLA.
typedef struct GlSensRawVector GlSensRawVector
 Raw sensors data vector.
typedef struct GlSensRawData GlSensRawData
 Raw sensors data.
typedef struct GlSensRaw GlSensRaw
 The GlSensRaw structure to pass Raw ( uncalibrated ) sensor data to the GLL.
typedef struct GL_PPS_STATUS GL_PPS_STATUS
 Status of the PulsePerSecond generation.
typedef struct
GL_POS_HEADING_STATUS 
GL_POS_HEADING_STATUS
 GL_POS_HEADING_STATUS contains status of the heading output
typedef struct GL_FIX_STATUS GL_FIX_STATUS
 Detailed position fix information.
typedef struct NOTCH_FILTER_CONFIG NOTCH_FILTER_CONFIG
 Notch filter configuration.
typedef void(* GlReqOnStart )(GlRequest *pReq, GL_REQ_START_CODE etCode)
 Called when a request is started.
typedef void(* GlReqOnStop )(GlRequest *pReq)
 Called when request is completed or aborted.
typedef void(* GlReqOnSyncInStatus )(GlRequest *pReq, GL_SYNCIN_STATUS etStatus)
 Called when SYNC state machine status has changed.
typedef void(* GlReqOnSyncInReport )(GlRequest *pReq, GL_SYNCIN_STATUS etStatus, GL_TIME const *pGlTime)
 Called to report GPS time for uplink time sync.
typedef void(* GlReqOnSyncInLatched )(GlRequest *pReq, GL_SYNCIN_STATUS etStatus, native_double dAsicLms)
 Called when SYNC pulse latched.
Callback functions for memory management
typedef void *(* GlOnMemAlloc )(unsigned long usSize)
 GLL will call this to request memory if it was built without statically allocated memory.
typedef void(* GlOnMemFree )(void *pPtr)
 GLL will this to free memory if it was build without statically allocated memory.
Callback functions regarding status of position requests
typedef short(* GlEngineOnStart )(GlEngine *pEngine, GlSettings *pSettings)
 Called when the GLL Engine is started.
typedef void(* GlEngineOnReady )(GlEngine *pEngine)
 Called when the GLL begins processing the first request (after the engine is loaded)
typedef void(* GlEngineOnStop )(GlEngine *pEngine, GL_STOP_CODE etCode, const plain_char *pAssertMessage)
 The engine is now loaded and ready to handle dynamic requests.
typedef int(* GlEngineOnResourceRequest )(GlEngine *pEngine, GL_RESOURCE_TYPE etResource)
 Called when the GLL needs some ressouces See GL_RESOURCE_TYPE for details return 0 if successful.
typedef void(* GlEngineOnResourceRelease )(GlEngine *pEngine, GL_RESOURCE_TYPE etResource)
 Called when the GLL doesn't need a resource previously requested See GL_RESOURCE_TYPE for details.
typedef void(* GlReqOnResponse )(GlRequest *pReq, const GL_FIX_STATUS *pFixStatus)
 Called to provide new position information.
typedef void(* GlReqOnMeas )(GlRequest *pReq, const GL_RES_MEAS *pMeas, const GANSS_MEAS *pGanssMeas)
 Called when provide new raw measurement information.
typedef void(* GlReqOnCntin )(GlRequest *pReq, GL_CNTIN_STATUS etStatus, double dFreqOffsPpu, double dFreqUncPPB)
 Called to provide results of CNTIN measurement - the counter value is supplied as a dimensionless ratio with an uncertainty in parts per billion.
typedef void(* GlReqOnTimer )(GlRequest *pReq)
 Called to provide timer expirations.
typedef void(* GlReqOnFactTest )(GlRequest *pReq, GL_FACT_TEST_STATUS *ptStatus)
 Called to provide factory test results.
Callback functions tell Request or Engine what assistance data is required to proceed
typedef void(* GlReqOnAsstStatus )(GlRequest *pReq, GlAidRequest *pAidReq)
 Called to deliver information on assistance data as response to the MakeAsstStatReq request.
typedef void(* GlEngineOnAsstStatus )(GlEngine *pEngine, GlAidRequest *pAidReq)
 Called to deliver information on needed assistance data unsolicitely.
Callback function for platform timer
typedef unsigned long(* GlEngineOnTimerRq )(GlEngine *pEngine)
 Called when GLL needs to know the OS timer value in milliseconds.
typedef unsigned long(* GlEngineOnPrecTimerRq )(GlEngine *pEngine)
 Called when GLL needs to know the OS timer value in microseconds.
typedef void(* GlEngineOnTimerSet )(GlEngine *pEngine, unsigned long ulTimerIntervalMs, short sPadNum, bool bDeepSleepOk)
 Called when GLL needs to set timer on which the Tick() would be called.
typedef void(* GlEngineOnBurstMode )(GlEngine *pEngine, bool bBurstModeEnabled)
 Called when the GLL and ASIC transition in and out of BurstMode.
Callback function to send chipset data
typedef void(* GlEngineOnAsicData )(GlEngine *pEngine, unsigned char *pucBuff, short sSize)
 Called when GLL needs to send a block of bytes to the chipset.
Callback function to send chipset DAC data
typedef void(* GlEngineOnAsicDacData )(GlEngine *pEngine, unsigned char *pucBuff, short sSize)
 Called when GLL needs to send a block of bytes to the chipset.
Callback function to send debug information
typedef void(* GlEngineOnSysLogLine )(GlEngine *pEngine, const plain_char *pcLine)
 Called when GLL needs to write an ASCII line to the debug stream.
Callback function to read debug information
typedef int(* GlEngineOnDebugRead )(GlEngine *pEngine, void *pBuf, int iBytes, int *piEof, int *piError)
 Called when GLL needs to read data for debugging purposes.
Callback function for reference frequency status
typedef void(* GlEngineOnFreqUpdate )(GlEngine *pEngine, GL_REFCLK_REQUEST etRequest)
 Callback function called by the library to request and control the CNT_IN signal This callback function is called several times during when the library performs a frequency calibration.
Callback function for fix status responses
typedef void(* GlEngineOnResponse )(GlEngine *pEngine, const GL_FIX_STATUS *pFixStatus)
 Called when fix status becomes available.
Callback functions for nonvolatile storage
typedef void(* GlEngCbOnNvStgRead )(GlEngine *pEngine, GlNvStorageReader *pStorageReader)
 This callback is called by the GLL when it's ready to read the data from the nonolatile storage.
typedef void(* GlEngCbOnNvStgWrite )(GlEngine *pEngine, GL_NV_STG_CTRL etCtrl, const plain_char *pcBuff, short sBuffSize)
 This callback is called by the GLL to store the data to the nonvolatile storage.
typedef void(* GlEngCbOnLTOFileRead )(GlEngine *pEngine, GlLTOFileReader *pLTOFileReader)
 This callback is called by the GLL when it's ready to read the data from an LTO file.
typedef int(* GlEngCbOnEEFileRead )(GlEngine *pEngine, GL_NV_STG_CTRL etCtrl, GlEEFileReader *pEEFileReader)
 This callback is called by the GLL when it's ready to read the data from an EE file.
typedef plain_char *(* GlEngCbOnSelfTestReadLine )(GlEngine *pEngine)
 This callback is called by the GLL when it wishes to read data from a test file.
typedef int(* GlEngCbOnSelfTestWriteLine )(GlEngine *pEngine, const plain_char *pBuffer)
 This callback is called by the GLL when it wishes to write data to a test file.
typedef void(* GlEngCbOnPPSPlatformTime )(GlEngine *pEngine)
 This callback is called by the GLL when it needs to know the Platform system time associated to a PPS.
typedef unsigned short(* GlEngCpuLoad )(GlEngine *pEngine, unsigned long *pulCpuData, unsigned short usDataCount)
 This callback is called by the GLL when it needs to know the Platform CPU loading Customer applications can provide means to report CPU loading numbers.
Callback function for NMEA output
typedef void(* GlReqOnNmea )(GlRequest *pReq, plain_char *pcLine, short sSize)
 Called when new NMEA sentence is available.
Callback function for getting assistance data
typedef void(* GlReqOnGpsData )(GlRequest *pReq, GL_GPS_DATA eType, void *pData)
 Callback function called by the library to deliver assistance data This callback function is called several times in order to deliver all the assistance data requested.
Callback function for getting geofence event
typedef void(* GlReqOnGeofenceEvent )(GlRequest *pReq, GL_REQ_GEOFENCE_CODE etCode, const GL_FIX_STATUS *pFixStatus)
 Called when a Geofence request occurs.
Callback function for getting geofence status
typedef void(* GlEngineOnGeofenceStatus )(GlEngine *pEngine, GL_GEOFENCE_STATUS etStatus, const GL_FIX_STATUS *pLastFixStatus)

Enumerations

enum  GL_RF_TYPE { ,
  GL_RF_BARRACUDA , GL_RF_2076_BRCM, GL_RF_2076_BRCM_EXT_LNA , GL_RF_BARRACUDA_BRCM,
  GL_RF_BARRACUDA_EXT_LNA, GL_RF_BARRACUDA_BRCM_EXT_LNA , GL_RF_4751_DANUBE, GL_RF_4751_DANUBE_EXT_LNA ,
  GL_RF_2075B0_BRCM, GL_RF_47511_BRCM , GL_RF_47511_BRCM_EXT_LNA, GL_RF_4752_BRCM,
  GL_RF_4752_BRCM_EXT_LNA, GL_RF_47521_BRCM, GL_RF_47521_BRCM_EXT_LNA, GL_RF_4753_BRCM,
  GL_RF_4753_BRCM_EXT_LNA, GL_RF_4753_BRCM_TSX, GL_RF_4753_BRCM_LNA_BYPASS , GL_RF_47520_BRCM,
  GL_RF_47520_BRCM_EXT_LNA
}
 GLL supported RF front ends. More...
enum  GL_FREQ_PLAN { ,
  FRQ_PLAN_10MHZ_2PPM, FRQ_PLAN_12MHZ_2PPM, FRQ_PLAN_13MHZ_2PPM, FRQ_PLAN_14_4MHZ_2PPM,
  FRQ_PLAN_15_36MHZ_2PPM, FRQ_PLAN_16_2MHZ_2PPM, FRQ_PLAN_16_367667MHZ_2PPM, FRQ_PLAN_16_369MHZ_2PPM,
  FRQ_PLAN_16_8MHZ_2PPM, FRQ_PLAN_19_2MHZ_2PPM, FRQ_PLAN_19_68MHZ_2PPM, FRQ_PLAN_19_8MHZ_2PPM,
  FRQ_PLAN_20MHZ_2PPM, FRQ_PLAN_26MHZ_2PPM, FRQ_PLAN_33_6MHZ_2PPM, FRQ_PLAN_38_4MHZ_2PPM,
  FRQ_PLAN_52MHZ_2PPM, FRQ_PLAN_10MHZ_2PPM_10MHZ_100PPB, FRQ_PLAN_16_367667MHZ_2PPM_26MHZ_100PPB, FRQ_PLAN_16_369MHZ_2PPM_26MHZ_100PPB,
  FRQ_PLAN_16_8MHZ_2PPM_10MHZ_100PPB, FRQ_PLAN_16_8MHZ_2PPM_13MHZ_100PPB, FRQ_PLAN_16_8MHZ_2PPM_26MHZ_100PPB, FRQ_PLAN_19_2MHZ_2PPM_26MHZ_100PPB,
  FRQ_PLAN_26MHZ_2PPM_10MHZ_100PPB, FRQ_PLAN_26MHZ_2PPM_19_6608MHZ_100PPB, FRQ_PLAN_26MHZ_2PPM_19_2MHZ_100PPB, FRQ_PLAN_26MHZ_2PPM_26MHZ_100PPB,
  FRQ_PLAN_26MHZ_2PPM_38_4MHZ_100PPB, FRQ_PLAN_26MHZ_2PPM_52MHZ_100PPB, FRQ_PLAN_33_6MHZ_2PPM_26MHZ_100PPB, FRQ_PLAN_10MHZ_2PPM_10MHZ_300PPB,
  FRQ_PLAN_16_367667MHZ_2PPM_26MHZ_300PPB, FRQ_PLAN_16_369MHZ_2PPM_10MHZ_300PPB, FRQ_PLAN_16_369MHZ_2PPM_26MHZ_300PPB, FRQ_PLAN_16_8MHZ_2PPM_10MHZ_300PPB,
  FRQ_PLAN_16_8MHZ_2PPM_13MHZ_300PPB, FRQ_PLAN_16_8MHZ_2PPM_26MHZ_300PPB, FRQ_PLAN_19_2MHZ_2PPM_26MHZ_300PPB, FRQ_PLAN_19_2MHZ_2PPM_49_152MHZ_300PPB,
  FRQ_PLAN_26MHZ_2PPM_10MHZ_300PPB, FRQ_PLAN_26MHZ_2PPM_13MHZ_300PPB, FRQ_PLAN_26MHZ_2PPM_26MHZ_300PPB, FRQ_PLAN_26MHZ_2PPM_1_625MHZ_300PPB,
  FRQ_PLAN_26MHZ_2PPM_23_04MHZ_300PPB, FRQ_PLAN_26MHZ_2PPM_38_4MHZ_300PPB, FRQ_PLAN_26MHZ_2PPM_49_152MHZ_300PPB, FRQ_PLAN_33_6MHZ_2PPM_26MHZ_300PPB,
  FRQ_PLAN_10MHZ_2PPM_10MHZ_500PPB, FRQ_PLAN_12_655MHZ_2PPM, FRQ_PLAN_18_26MHZ_2PPM, FRQ_PLAN_25_31MHZ_2PPM
}
 GLL supported Frequency plans. More...
enum  GL_RF_ATT
 The extra attenuation added to internal RF.
enum  GL_DYNAMIC_MODE_SETTING
 GLL supported Dynamic mode settings.
enum  GL_STOP_CODE {
  GL_STOP_OK, GL_STOP_HW_PANIC, GL_STOP_SW_PANIC, GL_STOP_BAD_TIME,
  GL_STOP_ABORT, GL_STOP_TEST_FAILED
}
 GlEngine stop codes. More...
enum  GL_REQ_START_CODE
 List of the stop codes returned by the GlReqOnStart callback.
enum  GL_RESOURCE_TYPE { GL_RESOURCE_GNSS_ASIC }
 List of the resource that can be requested/released by GlEngineOnResurceRequested/GlEngineOnResurceReleased callbacks. More...
enum  teGNSS {
  GNSS_GPS = 0, GNSS_SBAS, GNSS_GLONASS, GNSS_QZSS,
  GNSS_IMES, GNSS_BEIDOU, GNSS_GALILEO
}
 Enumeration of the GNSS constellations. More...
enum  GL_TIME_DIRECTION { GL_UPLINK, GL_DOWNLINK }
 Structure to keep the GPS time. More...
enum  GL_TIME_VALIDITY {
  GL_TIME_UNKNOWN = 0, GL_TIME_FROM_STANDBY, GL_TIME_FROM_ASSIST, GL_TIME_FROM_POSITION,
  GL_TIME_FROM_TOW, GL_TIME_FROM_TOW_CONFIRMED
}
 Enum describing GPS time validity source. More...
enum  GL_REFCLK_REQUEST {
  GL_STARTHOLD, GL_BREAKHOLD, GL_FREQ_REQUEST, GL_FREQ_FORCE,
  GL_FREQ_QUERY, GL_FREQ_OFF
}
 Reference or CNTIN clock request Passed into the GlEngineOnFreqUpdate callback. More...
enum  GL_REFCLK_STAT {
  REFCLKSTAT_NO_INFO, REFCLKSTAT_ADJUSTING, REFCLKSTAT_SEARCHING, REFCLKSTAT_HOLDING,
  REFCLKSTAT_OFFSET_KNOWN, REFCLKSTAT_UNC_CHANGED
}
 Reference clk current status information. More...
enum  GL_CNTIN_STATUS {
  GL_CNTIN_NOT_USED, GL_CNTIN_OK, GL_CNTIN_NOK, GL_CNTIN_NO_INPUT,
  GL_CNTIN_USER_DEAD, GL_CNTIN_USER_CANCEL, GL_CNTIN_OLD, GL_CNTIN_UNCERTAIN,
  GL_CNTIN_UNKNOWN
}
 CNTIN status. More...
enum  GL_GPS_DATA
 GL_GPS_DATA are the bits that indicate which data are to be returned from the GLL. More...
enum  GL_SYNCIN_STATUS {
  GL_SYNCIN_STAT_ARM, GL_SYNCIN_STAT_RCVD_PULSE, GL_SYNCIN_STAT_REPORT_TIME, GL_SYNCIN_STAT_TOUT,
  GL_SYNCIN_STAT_FAIL, GL_SYNCIN_STAT_ABORT, GL_SYNCIN_STAT_COMPLETE
}
 SYNCIN status. More...
enum  GL_REFCLK_CHANGE
 Reference clk status change information.
enum  GL_FACT_TEST_ITEMS {
  GL_FACT_TEST_CW, GL_FACT_TEST_CN0, GL_FACT_TEST_FRQ, GL_FACT_TEST_WER,
  GL_FACT_TEST_ACQ, GL_FACT_TEST_PHN, GL_FACT_TEST_HOSTWAKE, GL_FACT_TEST_INCOMPLETE
}
 Factory test configuration. More...
enum  GL_FACT_TEST_MODE { GL_FACT_TEST_ONCE, GL_FACT_TEST_CONT }
 Factory test modes. More...
enum  GL_FACT_TEST_GNSS_BAND { GL_FACT_TEST_BAND_GPS, GL_FACT_TEST_BAND_GLONASS }
 Factory test GNSS bands. More...
enum  GlAidReqCodes {
  GL_AID_ACQ_RQD = (1 << 0), GL_AID_POS_RQD = (1 << 1), GL_AID_NAV_RQD = (1 << 2), GL_AID_TIM_RQD = (1 << 3),
  GL_AID_ALM_RQD = (1 << 4), GL_AID_RTI_RQD = (1 << 5)
}
 Defines the types of aiding. More...
enum  GL_AID_SOURCE {
  GL_AID_SOURCE_BE = 0, GL_AID_SOURCE_ALM, GL_AID_SOURCE_LTO, GL_AID_SOURCE_CBEE,
  GL_AID_SOURCE_CAL, GL_AID_SOURCE_MAX
}
 defines the sources of orbital aiding. More...
enum  GL_POS_SOURCE {
  GL_POS_UNKNOWN, GL_POS_UE_ASSISTED_AGPS, GL_POS_UE_BASED_AGPS, GL_POS_AUTONOMOUS,
  GL_POS_CELL_ID, GL_POS_LAST_KNOWN, GL_POS_UE_E_ASSISTED_AGPS, GL_POS_HULA
}
 Position source. More...
enum  GL_DYN_MODE { GL_DYN_WALKING, GL_DYN_CITY, GL_DYN_DRIVING, GL_DYN_INVALID }
 Dynamic mode. More...
enum  GL_PWR_MODE_STATUS {
  GL_PM_DISABLED, GL_PM_FULL, GL_PM_SAVE, GL_PM_GLONASS,
  GL_PM_SAVE_AND_GLONASS
}
 Power saving mode status. More...
enum  GL_FIXSTAT_EPH_SRC { GL_FIXSTATUS_EPH_SRC_NO_VALID_EPH, GL_FIXSTATUS_EPH_SRC_BE, GL_FIXSTATUS_EPH_SRC_CBEE, GL_FIXSTATUS_EPH_SRC_SBEE }
 Ephemeris source. More...
enum  GL_POS_HULA_SRC {
  GL_POS_HULA_SRC_NONE = 0, GL_POS_HULA_SRC_GNSS_LACK_SAT = (1 << 0), GL_POS_HULA_SRC_GNSS = (1 << 1), GL_POS_HULA_SRC_EXT_LOC = (1 << 2),
  GL_POS_HULA_SRC_EXT_LOC_ALT = (1 << 3), GL_POS_HULA_SRC_EXT_ALT = (1 << 4), GL_POS_HULA_SRC_HEADING = (1 << 5), GL_POS_HULA_SRC_MOTION = (1 << 6),
  GL_POS_HULA_SRC_ACC = (1 << 7), GL_POS_HULA_SRC_GYR = (1 << 8), GL_POS_HULA_SRC_ALONG_TRACK_SPEED = (1 << 9), GL_POS_HULA_SRC_CROSS_TRACK_SPEED = (1 << 10),
  GL_POS_HULA_SRC_VERTICAL_SPEED = (1 << 11), GL_POS_HULA_SRC_TURNING = (1 << 12), GL_POS_HULA_SRC_TURN_RATE = (1 << 13), GL_POS_HULA_SRC_MOUNT = (1 << 14),
  GL_POS_HULA_SRC_EXT_LOC_REJECTED = (1 << 15), GL_POS_HULA_SRC_EXT_LOC_IGNORED = (1 << 16), GL_POS_HULA_SRC_TA_HEADING = (1 << 17), GL_POS_HULA_SRC_TA_LOC = (1 << 18)
}
 Sources used in HULA position computation Used as a bitmask that may consist of multiple sources. More...
enum  GL_POS_CONFIDENCE { GL_POS_CONF_UNKNOWN, GL_POS_CONF_LOW, GL_POS_CONF_MED, GL_POS_CONF_HIGH }
 Enum describing position confidence. More...
enum  GL_INTERNAL_STATUS {
  GL_INTERNAL_STATUS_QUALITY_SPEED = 1, GL_INTERNAL_STATUS_QUALITY_TRACK = 2, GL_INTERNAL_STATUS_QUALITY_MASK = 3, GL_INTERNAL_STATUS_LOC_REQUEST_FLAG = 4,
  GL_INTERNAL_STATUS_SPEED_ABOVE_DOSLIM_FLAG = 8, GL_INTERNAL_STATUS_POSSIBLE_USEABLE_POS = 16, GL_INTERNAL_STATUS_GYRO_REQUEST_FLAG = 32, GL_INTERNAL_STATUS_QUALITY_GPS_ALT = 64,
  GL_INTERNAL_STATUS_ALTITUDE_QUANTIZATION = 128
}
 GL_INTERNAL_STATUS is reported in PGLOR,STA. More...
enum  GL_EXT_SENS_TYPE {
  GL_EXT_SENS_ACC_X, GL_EXT_SENS_ACC_Y, GL_EXT_SENS_ACC_Z, GL_EXT_SENS_GYRO_X,
  GL_EXT_SENS_GYRO_Y, GL_EXT_SENS_GYRO_Z, GL_EXT_SENS_BARO, GL_EXT_SENS_TEMP,
  GL_EXT_SENS_RANGE, GL_EXT_SENS_DELTA_POS, GL_EXT_SENS_LOCATION, GL_EXT_SENS_ALTITUDE,
  GL_EXT_SENS_VERTICAL_SPEED, GL_EXT_SENS_ALONG_TRACK_SPEED, GL_EXT_SENS_CROSS_TRACK_SPEED, GL_EXT_SENS_HEADING,
  GL_EXT_SENS_TURN_RATE, GL_EXT_SENS_MOVING, GL_EXT_SENS_TURNING, GL_EXT_SENS_MOUNT,
  GL_EXT_SENS_PLAYBACK, GL_EXT_SENS_STATE_INFO, GL_EXT_SENS_TEMP_INFO, GL_EXT_SENS_TRAVEL_ASSIST,
  GL_EXT_SENS_BATTERY
}
 The external sensor type is an enum. More...
enum  GL_MOUNT_SENSOR_STATE { GLMTS_UNKNOWN, GLMTS_NOT_MOUNTED, GLMTS_MOUNTED }
 The "mounted" sensor is an event that indicates a change of state. More...
enum  GL_MOVE_SENSOR_STATE {
  GLMS_UNKNOWN, GLMS_NOT_MOVING, GLMS_MOVING, GLMS_WALKING,
  GLMS_DRIVING, GLMS_RUNNING, GLMS_FROZEN
}
 The "move" sensor is an event that indicates a change of state. More...
enum  GL_TURN_SENSOR_STATE { GLTS_UNKNOWN, GLTS_NOT_TURNING, GLTS_TURNING }
 The "turn" sensor is an event that indicates a change of state. More...
enum  GL_EXT_SENS_TIME { GL_EXT_SENS_TIME_PPS, GL_EXT_SENS_TIME_UTC, GL_EXT_SENS_TIME_UNKNOWN }
 The external sensor time can be relative to the PPS (pulse per second) output of the GPS chip, or relative to UTC, or relative to a local timer. More...
enum  GL_EXT_SENS_USE_STATE
 GL_EXT_SENS_USE_STATE provides state of the sensor use
enum  GL_EXT_SENS_CAL_STATE
 GL_EXT_SENS_CAL_STATE provides state of the sensor calibration
enum  SENS_DATA_TYPE
 Raw sensors data type.
enum  GL_REQ_GEOFENCE_CODE
 Types of events from Geofence request.
enum  GL_NV_STG_CTRL { GL_NV_STG_FIRST, GL_NV_STG_IN_PROGRESS, GL_NV_STG_LAST }
 Non volatile storage calbacks. More...
enum  GL_GEOFENCE_STATUS
 Status of geofence.
enum  GL_FREQ_SCAN_FLAGS { ,
  FREQ_SCAN_IS_GPS = (1ul << 1), FREQ_SCAN_AGC_LOCK = (1ul << 2), FREQ_SCAN_SMALL_SPUR = (1ul << 3), FREQ_SCAN_CW_CONT = (1ul << 4),
  FREQ_SCAN_IS_GPS_AND_GLONASS = (1ul << 5), FREQ_SCAN_IS_GPS_AND_BEIDOU = (1ul << 6), FREQ_SCAN_IS_GLONASS_AND_BEIDOU = (1ul << 7), FREQ_SCAN_IS_GPS_GLO_AND_BDS = (1ul << 8)
}

Variables

GL_MOVE_SENSOR_STATE eMove
 Moving state.
GL_MOUNT_SENSOR_STATE eMount
 Mounted state.
GL_TURN_SENSOR_STATE eTurn
 Turning state.
GlReferenceLocDataType stPos
 WiFi, reference locations,.
GlDeltaPosDataType stDeltaPos
 and other alternate LBS facilities can provide latitude and longitude.
GlRangeFromRefPosDataType stDeltaPosRef
 Used with GL_EXT_SENS_DELTA_RANGE to.
GlExtSensStateInfoType stStateInfo
 Aux information about sensor state.
GlExtSensTempInfoType stSensTemp
 Temperature of the sensor.
GlExtSensTravelAssistType stTrAssist
 Travel assistance information.

Detailed Description

GNSS Location Library AGPS Application Programming Interface.

The functions declared in the file glgpsapi.h define the API to the GNSS core engine. For more information see GNSS Location Library. GPS core engine.


Define Documentation

#define _NUMOF (   name)    _NUMOF##name

Number of elements in enum.

#define AGC_INDEX_TOTAL   0

Factory test status structure.

In the case of the dual (GPS and GLONASS) factory test, expect the callback twice: once for GPS and again for GLONASS.

#define GNSS_BIT0_SYSTEM_ID   { 1, 120, 1, 193, 1, 1 }

The baseline SYSTEM_ID (PRN mostly, or GLONASS OSN) for bit 0 of ulMask[GL_GNSS_INDEX] is: GPS PRN 1, SBAS PRN 120, GLONASS OSN 1, QZSS PRN 193.

#define GPS_ALM_SCALE_E   4.768371582031250e-007

Multipliers to convert GlAlmanac ICD GPS broadcast values to their useful floating point values.

These are for GPS and QZSS.


Typedef Documentation

typedef UNION float fValue

The SampleValues union holds data for the v field of the GlExtSensSample.

The choice of the element in the SampleValues union depends on GL_EXT_SENS_TYPE in GlExtSensData structure. Units are defined in GL_EXT_SENS_TYPE. Most sensor inputs are float.

typedef struct GL_TOW_ASSIST GL_TOW_ASSIST

Reference time - once per msg.

  • see GSM 04.31 version 8.10.0 Release 2002, Table A.14

The GlDeltaPosDataType structure is used inside SampleValues.stPos for reporting a change in position measured in meters along the latitude/longitude axis If the altitude is invalid it should be set to -999 Field eSensorType in GlExtSensData structure should be GL_EXT_SENS_DELTA_POS.

typedef int(* GlEngCbOnEEFileRead)(GlEngine *pEngine, GL_NV_STG_CTRL etCtrl, GlEEFileReader *pEEFileReader)

This callback is called by the GLL when it's ready to read the data from an EE file.

return value: 1-- reading is done; 0 -- reading is in process

typedef void(* GlEngCbOnNvStgRead)(GlEngine *pEngine, GlNvStorageReader *pStorageReader)

This callback is called by the GLL when it's ready to read the data from the nonolatile storage.

Usually it happens once the ASIC started and RTC is available Within this callback application has an option to tell GLL what data needs to be ignored.

typedef int(* GlEngCbOnSelfTestWriteLine)(GlEngine *pEngine, const plain_char *pBuffer)

This callback is called by the GLL when it wishes to write data to a test file.

return value: negative on failure

typedef unsigned short(* GlEngCpuLoad)(GlEngine *pEngine, unsigned long *pulCpuData, unsigned short usDataCount)

This callback is called by the GLL when it needs to know the Platform CPU loading Customer applications can provide means to report CPU loading numbers.

Periodically, the GLL will poll for these numbers and add them to statistics that can be aligned with GPS performance numbers. These numbers are reported in the PGLOR,CPU results.

Parameters:
pEnginePointer to the engine
pulCpuDataCallee must fill in this array with pertinent data
usDataCountThe number of unsigned longs to be filled
Return values:
Numberof bytes filled in.
typedef void(* GlEngineOnAsstStatus)(GlEngine *pEngine, GlAidRequest *pAidReq)

Called to deliver information on needed assistance data unsolicitely.

Mostly used in SI callflows, when the assistance stack will be wakened once this callback is executed

typedef void(* GlEngineOnFreqUpdate)(GlEngine *pEngine, GL_REFCLK_REQUEST etRequest)

Callback function called by the library to request and control the CNT_IN signal This callback function is called several times during when the library performs a frequency calibration.

The value of etRequest indicates what action the application should take such as turning on the CNT_IN signal. After the requested action the library should respond by calling GlEngine::RefFreqStatus() For a detailed description of the operation of the API see Frequency Synchronization

typedef short(* GlEngineOnStart)(GlEngine *pEngine,GlSettings *pSettings)

Called when the GLL Engine is started.

This is normally the case when a requested is started return 0 if successful

typedef void(* GlEngineOnStop)(GlEngine *pEngine, GL_STOP_CODE etCode, const plain_char *pAssertMessage)

The engine is now loaded and ready to handle dynamic requests.

Called after GLL Engine is stopped; the stop code indicates whether the processing completely normally

typedef void(* GlEngineOnTimerSet)(GlEngine *pEngine, unsigned long ulTimerIntervalMs, short sPadNum, bool bDeepSleepOk)

Called when GLL needs to set timer on which the Tick() would be called.

  • The ulTimerIntervalMs specifies time interval in ms when the Tick() should be called. Set to GL_GLL_NOT_ACTIVE if GLL is inactive.
  • The sPadNum parameter can be used to determine if it's OK to put host CPU to deep sleep mode. this prameter specfies how many meaningless bytes will pepended to the next incoming data packet that can be safely discarded to allow host CPU and UART to wakeup. Use the GlSettings::SetPadNum() to set this value depending on your baudrate
  • If sPadNum is set to 0, the ASIC transmission is in progress and host should stay awake.
  • bDeepSleepOk specifies if the platform can go to deep sleep as no data are expected until next burst.

The SampleUncertainty union holds data for the unc field of the GlExtSensSample.

The choice of the element in the SampleUncertainty union depends on GL_EXT_SENS_TYPE in GlExtSensData structure. Units are defined in GL_EXT_SENS_TYPE. The external sensor sample value is one entry in the GlExtSensData field aSamples[]. The proper use of v and unc are described by GlExtSensData.eSensorType. RMSE is the root mean square error of the measurement. For enums, assume GL*S_UNKNOWN for rmse. Use -1 when the RMSE is unknown.

The GlExtSensStateInfoType structure is used inside field SampleValues.stStateInfo to hold the additional information about specific sensor state.

Use this type with sensor type GL_EXT_SENS_STATE_INFO.

The GlExtSensTempInfoType structure is used inside field SampleValues.stSensTemp to hold the information about temperature of specific sensor.

Use this type with sensor type GL_EXT_SENS_TEMP_INFO.

The GlExtSensTravelAssistType structure is used inside field SampleValues.stTravelAssist to hold the information about current road segment from the travel database.

Use this type with sensor type GL_EXT_SENS_TRAVEL_ASSIST.

typedef void(* GlOnMemFree)(void *pPtr)

GLL will this to free memory if it was build without statically allocated memory.

Parameters:
pPtr- pointer to the memoty to be freed.

The GlOrbitInfoPerAidSource structure contains aiding status from the GLL for one specific aiding technology.

GlPosUncertaintyDataType is used for the unc field.

When used as a uncertainty value the semi-major and semi-minor axes have the same value with a semi-major axis orientation set to 0 (value is irrelevant for this case). The altitude uncertainty is independent of the horizontal, elliptical uncertainty. It should be set to -1 if there is no altitude information.

The GlRangeFromRefPosDataType structure is used inside field SampleValues.stDeltaPosRef to hold the estimated range for a reference location.

Use this type with sensor type GL_EXT_SENS_RANGE.

The GlReferenceLocDataType structure is used inside SampleValues.stPos for Lat/Lon/Alt position reporting.

If the altitude is invalid it should be set to -999 Field eSensorType in GlExtSensData structure should be GL_EXT_SENS_LOCATION.

typedef struct GlSbasAlmanac GlSbasAlmanac

SBAS (WAAS) Almanac Export of the GLL's internal hard-coded almanac.


Enumeration Type Documentation

defines the sources of orbital aiding.

Enumerator:
GL_AID_SOURCE_BE 

Broadcast Ephemeris.

GL_AID_SOURCE_ALM 

Almanac.

GL_AID_SOURCE_LTO 

Long Term Orbits.

GL_AID_SOURCE_CBEE 

Client Based Extended Ephemeris.

GL_AID_SOURCE_CAL 

Use in SetAidMask() API only.

GL_AID_SOURCE_MAX 

size of GlAidRequest{} array

CNTIN status.

Enumerator:
GL_CNTIN_NOT_USED 

CNTIN was not used.

GL_CNTIN_OK 

CNTIN good.

GL_CNTIN_NOK 

Calculated frequency out of range.

GL_CNTIN_NO_INPUT 

No input frequency was detected on CNTIN pin.

GL_CNTIN_USER_DEAD 

User failed to call RefFreqStatus() on GlEngineOnFreqUpdate callback request.

GL_CNTIN_USER_CANCEL 

User reported reference frequency as unreliable during the CNTIN interval.

GL_CNTIN_OLD 

User measurement of the calibration frequency is too old.

GL_CNTIN_UNCERTAIN 

User measurement of the calibration frequency is too uncertain.

GL_CNTIN_UNKNOWN 

Unknown status.

Dynamic mode.

Enumerator:
GL_DYN_WALKING 

Walking mode.

GL_DYN_CITY 

City mode.

GL_DYN_DRIVING 

Driving mode.

GL_DYN_INVALID 

Invalid/unknown.

The external sensor time can be relative to the PPS (pulse per second) output of the GPS chip, or relative to UTC, or relative to a local timer.

In the case of the later the GL will time stamp the data when read. Use these values to fill GlExtSensData.eSensorTime.

Enumerator:
GL_EXT_SENS_TIME_PPS 

relative to last PPS [msec]

GL_EXT_SENS_TIME_UTC 

relative to UTC time before 1st sample [utc]

GL_EXT_SENS_TIME_UNKNOWN 

relative to local time (unknown reference to GL) [msec] this is the setting when UTC and PPS relative timing is not used

The external sensor type is an enum.

Use these values when filling in GlExtSensData::eSensorType. For each type below, there are different requirements and assumptions for the units, the sample rate, and the type of value. In general, the type of the rms error is an exact match, but there are some exceptions:

  • Must fill with -1 when the rms error is not needed.
  • Sometimes the rms error has different units than the value.
  • Use -1 to indicate the rms error is unknown.
  • Sometimes the rms error doesn't need all the fields of the value.

Sensor types fall into three main categories: RAW SENSOR DATA - the data are filtered using internal GLL filters with fixed filter parameters. PROCESSED DATA - the data are filtered using external filters. PROCESSED EVENTS - a further refinement on PROCESSED DATA, these events describe overall high-level states of the device.

Enumerator:
GL_EXT_SENS_ACC_X 

Accelerometer [m/s/s].

GL_EXT_SENS_ACC_Y 

Accelerometer [m/s/s].

GL_EXT_SENS_ACC_Z 

Accelerometer [m/s/s].

These are three orthogonal accelerometer data types. Units are meters per second per second. Data are provided in floating point, so use v.fValue and unc.fValue. The orientation is determined by the GLL This raw data is internally processed to aid the GPS. Processing is according to fixed internal filter parameters. The data format for this input uses the GlExtSensSample::fValue type (float); Data (aSamples[i].v.fValue) must be provided at a minimum of 10Hz, sent at 1 Hz rate. Does not need an uncertainty (aSamples[i].unc.fValue) estimate as the rms error is internally calculated.

GL_EXT_SENS_GYRO_X 

Gyroscope [deg/s].

GL_EXT_SENS_GYRO_Y 

Gyroscope [deg/s].

GL_EXT_SENS_GYRO_Z 

Gyroscope [deg/s].

These are three orthogonal gyroscope data types. Units are degrees per second. Data are provided in floating point, so use v.fValue and unc.fValue. The data format for this input uses the GlExtSensSample::fValue type (float); The orientation is determined by the GLL The X,Y,Z orientation should match the accelerometer orientation. Not all three gyro inputs are required. One or two are sufficient assuming a specific orientation of the user device. This raw data is internally processed to aid the GPS. Processing is according to fixed internal filter parameters. Data must be provided at a minimum of 10Hz, sent at 1 Hz rate. The data rate and sample times do not need to match the accelerometers. Does not need an uncertainty (aSamples[i].unc.fValue) estimate as the rms error is internally calculated.

GL_EXT_SENS_BARO 

For future applications, currently not used.

GL_EXT_SENS_TEMP 

Temperature sensor [deg C].

Units are degrees Celsius. The data format is SampleValues.float. Used for sensor stability and possibly altitude pressure calculation. Typical rate is 1Hz. The uncertainty is SampleUncertainty.float in GlExtSensSample. The unc.fValue can be set to -1 if it is not used.

GL_EXT_SENS_RANGE 

Range from an origin [m].

The data format is SampleValues.GlRangeFromRefPosDataType. The reference position must be provided. The delta range from the position is in meter units. The reference position and data can be 2D or 3D. If 2d set altitude to -999. The uncertainty is SampleUncertainty.GlPosUncertaintyDataType Updates occur when readings are available.

GL_EXT_SENS_DELTA_POS 

Change in N, E, and Up coord [m].

The data format is SampleValues.GL_DELTA_POS_DATA_TYPE. The distance in meters in latitude and longitude are input, change in height can also be included (set to -999 if invalid). The uncertainty is SampleUncertainty.GlPosUncertaintyDataType Updates occur when readings are available.

GL_EXT_SENS_LOCATION 

Position Aiding Lat/Lon (degrees)/Alt (m)

The data format is SampleValues.GL_REFERENCE_LOC_DATA_TYPE. The latitude and longitude are input in degrees units with floating point representation. The altitude can also be included (meters above the WGS84 ellipsoid) The uncertainty is SampleUncertainty.GlPosUncertaintyDataType Updates occur when readings are available.

GL_EXT_SENS_ALTITUDE 

Altitude above ellipsoid [m].

Use SampleValues.float for value and SampleUncertainty.float for uncertainty. Units are meters above the WGS84 ellipsoid. Updates occur when readings are available.

GL_EXT_SENS_VERTICAL_SPEED 

vertical speed [m/s]

Use SampleValues.float for value and SampleUncertainty.float for uncertainty. Units are meters per second. Updates should occur at a minimum of 1Hz whenever there is an appreciable vertical velocity. Otherwise, the GLL will assume no vertical velocity.

GL_EXT_SENS_ALONG_TRACK_SPEED 

along track speed [m/s]

GL_EXT_SENS_CROSS_TRACK_SPEED 

cross track speed [m/s]

These can be used together or separately to provide velocity aiding to the GLL. Use SampleValues.float for value and SampleUncertainty.float for uncertainty. The speed is in meters per second. Updates should at a minimum of 1 Hz or higher depending on the acceleration characteristics. The data can be sent at 1Hz updates, but multiple samples per call to the GLL if the sensor has a higher data rate. The GPS heading is assumed for the along track and cross track directions For along track positive is forward (along GPS heading). For cross track positive is 90 deg clockwise from the GPS heading

GL_EXT_SENS_HEADING 

heading [deg]

Provide heading aiding. Use SampleValues.float for value and SampleUncertainty.float for uncertainty. The heading and uncertainty are in degrees. Updates should be at a 1 Hz rate.

GL_EXT_SENS_TURN_RATE 

turn rate [deg/s]

Provide a change in heading. The heading rate is in degrees per second. Use SampleValues.float for value and SampleUncertainty.float for uncertainty. Updates should be at a 1 Hz rate and take into account changes in the rate during the period. Ideally during turns the information should be at a minimum of 10 Hz. Reporting can be done at 1 Hz, but with all data during past reporting cycle.

GL_EXT_SENS_MOVING 

Moving/not moving event [enum].

The GL_MOVE_SENSOR_STATE value is the SampleValue type. No uncertainty value is necessary. Provide updates whenever the state changes. Since the last state is assumed valid "forever", send GLMS_UNKNOWN to stop this stream.

GL_EXT_SENS_TURNING 

Turning/not turning event [enum].

The GL_TURN_SENSOR_STATE value is the SampleValue type. No uncertainty value is necessary. Provide updates whenever the state changes. Since the last state is assumed valid "forever", send GLTS_UNKNOWN to stop this stream.

GL_EXT_SENS_MOUNT 

PND mounted state [enum].

The GL_MOUNT_SENSOR_STATE value is the SampleValue type. No uncertainty value is necessary. Provide updates whenever the state changes. Since the last state is assumed valid "forever", send GLMTS_UNKNOWN to stop this stream. The mount state is important if the sensor data is raw accelerometer plus gyro because calibration can be properly done. Conversely, some accelerometer or gyro raw readings can be discarded if the device is not mounted.

GL_EXT_SENS_PLAYBACK 

Playback of previous sensor data.

The GlExtSensPlayBackData value is hexadecimal data encoded in base-64. No uncertainty value is necessary.

GL_EXT_SENS_STATE_INFO 

Additional information about sensor state.

The value is GlExtSensStateInfoType. The uncertainty is TBD

GL_EXT_SENS_TEMP_INFO 

Information about sensor temperature [deg C].

The value is GlExtSensTempInfoType. Typical rate is 5Hz. The uncertainty is SampleUncertainty.float in GlExtSensSample. The unc.fValue can be set to -1 if it is not used.

GL_EXT_SENS_TRAVEL_ASSIST 

Travel assistance information.

The value is GlExtSensTravelAssistType. Typical rate is 1Hz. The uncertainty is SampleUncertainty.float in GlExtSensSample. It specifies maximum altitude change for the segment. The unc.fValue can be set to -1 if it is not used.

GL_EXT_SENS_BATTERY 

Battery information.

The value is GlExtSensTempInfoType. Typical rate is 5Hz. The uncertainty is SampleUncertainty.float in GlExtSensSample. The unc.fValue can be set to -1 if it is not used.

Factory test GNSS bands.

Enumerator:
GL_FACT_TEST_BAND_GPS 

Selecting the GPS band for the factory test.

GL_FACT_TEST_BAND_GLONASS 

Selecting the GLONASS band for the factory test.

Factory test configuration.

Enumerator:
GL_FACT_TEST_CW 

Measure C/No using CW tone as RF input.

GL_FACT_TEST_CN0 

Measure C/No using GPS signal as RF input.

GL_FACT_TEST_FRQ 

Measure clock frequency error and C/No.

GL_FACT_TEST_WER 

Measure word error rate and frequency and C/No.

GL_FACT_TEST_ACQ 

Measure acquisition time & C/No.

GL_FACT_TEST_PHN 

Measure phase noise.

GL_FACT_TEST_HOSTWAKE 

Toggle host wake gpio pin while running factory test.

GL_FACT_TEST_INCOMPLETE 

Upon factory test callback, indicates test in progress, but not done yet.

Factory test modes.

Enumerator:
GL_FACT_TEST_ONCE 

Stop test once the desired item tested.

GL_FACT_TEST_CONT 

Once the signal locked keep tracking it.

Ephemeris source.

Enumerator:
GL_FIXSTATUS_EPH_SRC_NO_VALID_EPH 

no valid ephemeris

GL_FIXSTATUS_EPH_SRC_BE 

from broadcast ephemeris

GL_FIXSTATUS_EPH_SRC_CBEE 

from client-based extended ephemeris (on-board LTO)

GL_FIXSTATUS_EPH_SRC_SBEE 

from server-based extended ephemeris (LTO)

GLL supported Frequency plans.

The frequency plan must be choosen for you by your FAE based on your hardware

Enumerator:
FRQ_PLAN_10MHZ_2PPM 

TCXO +- 0.5 ppm Frq Tracking HSS DCD.

FRQ_PLAN_12MHZ_2PPM 

12MHz TCXO Ref +/- 2.0 ppm

FRQ_PLAN_13MHZ_2PPM 

13MHz TCXO Ref +/- 2.0 ppm

FRQ_PLAN_14_4MHZ_2PPM 

14.4MHz TCXO Ref +/- 2.0 ppm

FRQ_PLAN_15_36MHZ_2PPM 

15.36MHz TCXO Ref +/- 2.0 ppm

FRQ_PLAN_16_2MHZ_2PPM 

16.2MHz TCXO Ref +/- 2.0 ppm

FRQ_PLAN_16_367667MHZ_2PPM 

16.367667MHz TCXO Ref +/- 2.0 ppm

FRQ_PLAN_16_369MHZ_2PPM 

16.369MHz TCXO Ref +/- 2.0 ppm

FRQ_PLAN_16_8MHZ_2PPM 

16.8MHz TCXO Ref +/- 2.0 ppm

FRQ_PLAN_19_2MHZ_2PPM 

19.2MHz TCXO Ref +/- 2.0 ppm

FRQ_PLAN_19_68MHZ_2PPM 

19.68MHz TCXO Ref +/- 2.0 ppm

FRQ_PLAN_19_8MHZ_2PPM 

19.8MHz TCXO Ref +/- 2.0 ppm

FRQ_PLAN_20MHZ_2PPM 

20MHz TCXO Ref +/- 2.0 ppm

FRQ_PLAN_26MHZ_2PPM 

26MHz TCXO Ref +/- 2.0 ppm

FRQ_PLAN_33_6MHZ_2PPM 

33.6MHz TCXO Ref +/- 2.0 ppm

FRQ_PLAN_38_4MHZ_2PPM 

38.4MHz TCXO Ref +/- 2.0 ppm

FRQ_PLAN_52MHZ_2PPM 

52MHz TCXO Ref +/- 2.0 ppm

FRQ_PLAN_10MHZ_2PPM_10MHZ_100PPB 

10.0 MHz Ref +/- 2.0 ppm, CNTIN 10 MHz, 100 ppb

FRQ_PLAN_16_367667MHZ_2PPM_26MHZ_100PPB 

16.367667 MHz Ref +/- 2.0 ppm, CNTIN 26 MHz, 100 ppb

FRQ_PLAN_16_369MHZ_2PPM_26MHZ_100PPB 

16.369 MHz Ref +/- 2.0 ppm, CNTIN 26 MHz, 100 ppb

FRQ_PLAN_16_8MHZ_2PPM_10MHZ_100PPB 

16.8 MHz Ref +/- 2.0 ppm, CNTIN 10 MHz, 100 ppb

FRQ_PLAN_16_8MHZ_2PPM_13MHZ_100PPB 

16.8 MHz Ref +/- 2.0 ppm, CNTIN 13 MHz, 100 ppb

FRQ_PLAN_16_8MHZ_2PPM_26MHZ_100PPB 

16.8 MHz Ref +/- 2.0 ppm, CNTIN 26 MHz, 100 ppb

FRQ_PLAN_19_2MHZ_2PPM_26MHZ_100PPB 

19.2 MHz Ref +/- 2.0 ppm, CNTIN 26 MHz, 100 ppb

FRQ_PLAN_26MHZ_2PPM_10MHZ_100PPB 

26.0 MHz Ref +/- 2.0 ppm, CNTIN 10 MHz, 100 ppb

FRQ_PLAN_26MHZ_2PPM_19_6608MHZ_100PPB 

26.0 MHz Ref +/- 2.0 ppm, CNTIN 19.6608 MHz, 100 ppb

FRQ_PLAN_26MHZ_2PPM_19_2MHZ_100PPB 

26.0 MHz Ref +/- 2.0 ppm, CNTIN 19.2 MHz, 100 ppb

FRQ_PLAN_26MHZ_2PPM_26MHZ_100PPB 

26.0 MHz Ref +/- 2.0 ppm, CNTIN 26 MHz, 100 ppb

FRQ_PLAN_26MHZ_2PPM_38_4MHZ_100PPB 

26.0 MHz Ref +/- 2.0 ppm, CNTIN 38.4 MHz, 100 ppb

FRQ_PLAN_26MHZ_2PPM_52MHZ_100PPB 

26.0 MHz Ref +/- 2.0 ppm, CNTIN 52 MHz, 100 ppb

FRQ_PLAN_33_6MHZ_2PPM_26MHZ_100PPB 

33.6 MHz Ref +/- 2.0 ppm, CNTIN 26 MHz, 100 ppb

FRQ_PLAN_10MHZ_2PPM_10MHZ_300PPB 

10.0 MHz Ref +/- 2.0 ppm, CNTIN 10 MHz, 300 ppb

FRQ_PLAN_16_367667MHZ_2PPM_26MHZ_300PPB 

16.367667 MHz Ref +/- 2.0 ppm, CNTIN 26 MHz, 300 ppb

FRQ_PLAN_16_369MHZ_2PPM_10MHZ_300PPB 

16.369 MHz Ref +/- 2.0 ppm, CNTIN 10 MHz, 300 ppb

FRQ_PLAN_16_369MHZ_2PPM_26MHZ_300PPB 

16.369 MHz Ref +/- 2.0 ppm, CNTIN 26 MHz, 300 ppb

FRQ_PLAN_16_8MHZ_2PPM_10MHZ_300PPB 

16.8 MHz Ref +/- 2.0 ppm, CNTIN 10 MHz, 300 ppb

FRQ_PLAN_16_8MHZ_2PPM_13MHZ_300PPB 

16.8 MHz Ref +/- 2.0 ppm, CNTIN 13 MHz, 300 ppb

FRQ_PLAN_16_8MHZ_2PPM_26MHZ_300PPB 

16.8 MHz Ref +/- 2.0 ppm, CNTIN 26 MHz, 300 ppb

FRQ_PLAN_19_2MHZ_2PPM_26MHZ_300PPB 

19.2 MHz Ref +/- 2.0 ppm, CNTIN 26 MHz, 300 ppb

FRQ_PLAN_19_2MHZ_2PPM_49_152MHZ_300PPB 

19.2 MHz Ref +/- 2.0 ppm, CNTIN 49.152 MHz, 300 ppb

FRQ_PLAN_26MHZ_2PPM_10MHZ_300PPB 

26.0 MHz Ref +/- 2.0 ppm, CNTIN 10 MHz, 300 ppb

FRQ_PLAN_26MHZ_2PPM_13MHZ_300PPB 

26.0 MHz Ref +/- 2.0 ppm, CNTIN 13 MHz, 300 ppb

FRQ_PLAN_26MHZ_2PPM_26MHZ_300PPB 

26.0 MHz Ref +/- 2.0 ppm, CNTIN 26 MHz, 300 ppb

FRQ_PLAN_26MHZ_2PPM_1_625MHZ_300PPB 

26.0 MHz Ref +/- 2.0 ppm, CNTIN 1.625 MHz, 300 ppb

FRQ_PLAN_26MHZ_2PPM_23_04MHZ_300PPB 

26.0 MHz Ref +/- 2.0 ppm, CNTIN 23.04 MHz, 300 ppb

FRQ_PLAN_26MHZ_2PPM_38_4MHZ_300PPB 

26.0 MHz Ref +/- 2.0 ppm, CNTIN 38.4 MHz, 300 ppb

FRQ_PLAN_26MHZ_2PPM_49_152MHZ_300PPB 

26.0 MHz Ref +/- 2.0 ppm, CNTIN 49.152 MHz, 300 ppb

FRQ_PLAN_33_6MHZ_2PPM_26MHZ_300PPB 

33.6 MHz Ref +/- 2.0 ppm, CNTIN 26 MHz, 300 ppb

FRQ_PLAN_10MHZ_2PPM_10MHZ_500PPB 

10.0 MHz Ref +/- 2.0 ppm, CNTIN 10 MHz, 500 ppb

FRQ_PLAN_12_655MHZ_2PPM 

12.655MHz TCXO Ref - used only for DVT purposes!!!!

FRQ_PLAN_18_26MHZ_2PPM 

18.26MHz TXCO Ref - used only for DVT purposes!!!!

FRQ_PLAN_25_31MHZ_2PPM 

25.31MHz TXCO Ref - used only for DVT purposes!!!!

Enumerator:
FREQ_SCAN_IS_GPS 

The frequency scan is centered on the GPS L1 band.

FREQ_SCAN_AGC_LOCK 

Lock AGC during the frequency scan.

FREQ_SCAN_SMALL_SPUR 

Increase sensitivity to look for small spurs.

FREQ_SCAN_CW_CONT 

Keep the test running until requested.

FREQ_SCAN_IS_GPS_AND_GLONASS 

Scan GPS and GLONASS (these flags are not needed when there is only one CW).

FREQ_SCAN_IS_GPS_AND_BEIDOU 

Scan GPS and BeiDou.

FREQ_SCAN_IS_GLONASS_AND_BEIDOU 

Scan GLONASS and BeiDou.

FREQ_SCAN_IS_GPS_GLO_AND_BDS 

Scan all 3.

GL_GPS_DATA are the bits that indicate which data are to be returned from the GLL.

Pass these to GlReqOnGpsData().

GL_INTERNAL_STATUS is reported in PGLOR,STA.

Enumerator:
GL_INTERNAL_STATUS_QUALITY_SPEED 

Speed meets quality criteria.

GL_INTERNAL_STATUS_QUALITY_TRACK 

Track meets quality criteria.

GL_INTERNAL_STATUS_QUALITY_MASK 

Mask of possible values.

GL_INTERNAL_STATUS_LOC_REQUEST_FLAG 

Flag set to request HULA location.

GL_INTERNAL_STATUS_SPEED_ABOVE_DOSLIM_FLAG 

Speed is above Department of State export limits.

GL_INTERNAL_STATUS_POSSIBLE_USEABLE_POS 

flag to indicate unpublished propagated position due to prepThresh

GL_INTERNAL_STATUS_GYRO_REQUEST_FLAG 

flag to request GYRO inputs for navigation aiding

GL_INTERNAL_STATUS_QUALITY_GPS_ALT 

GPS altitude quality meets criteria for calibration of other altitude sensors.

GL_INTERNAL_STATUS_ALTITUDE_QUANTIZATION 

flag to indicate "EnableAltitudeQuantization" is enabled for calibration

The "mounted" sensor is an event that indicates a change of state.

These reflect a "very high probability" of each state. No rmse value is necessary, so use GLMTS_UNKNOWN.

Enumerator:
GLMTS_UNKNOWN 

Sent when the event stream is ended.

GLMTS_NOT_MOUNTED 

The device is not mounted.

GLMTS_MOUNTED 

The device is mounted.

The "move" sensor is an event that indicates a change of state.

These reflect a "very high probability" of each state. No rmse value is necessary, so use GLMS_UNKNOWN.

Enumerator:
GLMS_UNKNOWN 

Sent when the event stream is ended.

GLMS_NOT_MOVING 

The device is not moving with good confidence.

GLMS_MOVING 

The device is moving.

GLMS_WALKING 

The device is being used by someone walking.

GLMS_DRIVING 

The device is moving at a driving pace.

GLMS_RUNNING 

The device is used for running.

GLMS_FROZEN 

The device is not moving with very high confidence.

Non volatile storage calbacks.

Enumerator:
GL_NV_STG_FIRST 

Tells application to create new file.

GL_NV_STG_IN_PROGRESS 

Writing is in progress.

GL_NV_STG_LAST 

Tells applaicatio to close the file.

Enum describing position confidence.

Enumerator:
GL_POS_CONF_UNKNOWN 

Default value: Application cannot determine confidence.

GL_POS_CONF_LOW 

Confidence is low.

GL_POS_CONF_MED 

Confidence is medium.

GL_POS_CONF_HIGH 

Confidence is high.

Sources used in HULA position computation Used as a bitmask that may consist of multiple sources.

Enumerator:
GL_POS_HULA_SRC_NONE 

Neither GNSS, nor Sensor input was received or used.

GL_POS_HULA_SRC_GNSS_LACK_SAT 

GNSS input was used, but not enough SVIDs to produce a fix.

GL_POS_HULA_SRC_GNSS 

GNSS input was used with enough SVIDs to produce a fix.

GL_POS_HULA_SRC_EXT_LOC 

External Location input was used.

GL_POS_HULA_SRC_EXT_LOC_ALT 

Altitude from External Location input was used.

GL_POS_HULA_SRC_EXT_ALT 

Altitude From External Altitude Sensor input was used.

GL_POS_HULA_SRC_HEADING 

Heading sensor input was used.

GL_POS_HULA_SRC_MOTION 

Motion sensor input was used.

GL_POS_HULA_SRC_ACC 

Accelerometer input was used.

GL_POS_HULA_SRC_GYR 

Gyro input was used.

GL_POS_HULA_SRC_ALONG_TRACK_SPEED 

along track speed input was used

GL_POS_HULA_SRC_CROSS_TRACK_SPEED 

cross track speed input was used

GL_POS_HULA_SRC_VERTICAL_SPEED 

vertical speed input was used

GL_POS_HULA_SRC_TURNING 

turn sensor input was used

GL_POS_HULA_SRC_TURN_RATE 

turn rate sensor input was used

GL_POS_HULA_SRC_MOUNT 

PND mounted state sensor input was used.

GL_POS_HULA_SRC_EXT_LOC_REJECTED 

FDI positively determined that External Location input was bad and removed it from the solution.

GL_POS_HULA_SRC_EXT_LOC_IGNORED 

External Location input was not used because FDI could not determine its validity.

GL_POS_HULA_SRC_TA_HEADING 

Heading from Travel Assistance input was used.

GL_POS_HULA_SRC_TA_LOC 

Location from Travel Assistance input was used.

Position source.

Enumerator:
GL_POS_UNKNOWN 

Unknown source (bPosValid = false)

GL_POS_UE_ASSISTED_AGPS 

UA assisted AGPS (bPosValid = true )

GL_POS_UE_BASED_AGPS 

UA based AGPS (bPosValid = true )

GL_POS_AUTONOMOUS 

Autonomous (bPosValid = true )

GL_POS_CELL_ID 

Cell ID (bPosValid = false)

GL_POS_LAST_KNOWN 

Last known location (bPosValid = false)

GL_POS_UE_E_ASSISTED_AGPS 

UA enhanced assisted AGPS (bPosValid = true )

GL_POS_HULA 

Position from the Hula interface (bPosValid = false)

Power saving mode status.

Enumerator:
GL_PM_DISABLED 

disabled, always in full power

GL_PM_FULL 

enabled, now in full power mode

GL_PM_SAVE 

enabled, now in power save mode

GL_PM_GLONASS 

enabled, now in GLONASS low power mode

GL_PM_SAVE_AND_GLONASS 

enabled, now in power save and GLONASS low power modes

Reference or CNTIN clock request Passed into the GlEngineOnFreqUpdate callback.

Enumerator:
GL_STARTHOLD 

start holding the adjustments VCO - reserved for future use

GL_BREAKHOLD 

resume the normal VCO adjustments - reserved for future use

GL_FREQ_REQUEST 

library is requesting the CNT_IN signal; application confirms by calling GlEngine:RefFreqStatus()

GL_FREQ_FORCE 

force the clock to be on - reserved for future use

GL_FREQ_QUERY 

library is request the application provide the status of the CNT_IN signal by calling GlEngine:RefFreqStatus()

GL_FREQ_OFF 

library is done with the CNT_IN signal

Reference clk current status information.

Enumerator:
REFCLKSTAT_NO_INFO 

no info is available regarding the state of the ref.

clk

REFCLKSTAT_ADJUSTING 

CNT_IN signal is being corrected with VCO adjustments.

REFCLKSTAT_SEARCHING 

CNT_IN signal is currently unlocked or is otherwise unreliable.

REFCLKSTAT_HOLDING 

CNT_IN signal is being held constant (no VCO adjustments)

REFCLKSTAT_OFFSET_KNOWN 

The value of the ref.

clk is known and must be used instead of CNTIN

REFCLKSTAT_UNC_CHANGED 

The value of the ref.

clk uncertainty has possibly changed

List of the resource that can be requested/released by GlEngineOnResurceRequested/GlEngineOnResurceReleased callbacks.

Enumerator:
GL_RESOURCE_GNSS_ASIC 

GlEngine will start using the Asic. User must turn ON TCXO, turn ON Asic, open communication with Asic.

enum GL_RF_TYPE

GLL supported RF front ends.

The front ends must be choosen for you by your FAE based on your hardware. When an external LNA is used, on-chip LNA power is reduced and the ATEST0 or similar GPS pin controls power to the external LNA.

Enumerator:
GL_RF_BARRACUDA 

4750

GL_RF_2076_BRCM 

2076

GL_RF_2076_BRCM_EXT_LNA 

2076 with external LNA

GL_RF_BARRACUDA_BRCM 

4760

GL_RF_BARRACUDA_EXT_LNA 

4750 with external LNA

GL_RF_BARRACUDA_BRCM_EXT_LNA 

4760 with external LNA

GL_RF_4751_DANUBE 

4751

GL_RF_4751_DANUBE_EXT_LNA 

4751 with external LNA

GL_RF_2075B0_BRCM 

2075B0

GL_RF_47511_BRCM 

47511

GL_RF_47511_BRCM_EXT_LNA 

47511 with external LNA

GL_RF_4752_BRCM 

4752

GL_RF_4752_BRCM_EXT_LNA 

4752 with external LNA

GL_RF_47521_BRCM 

47521

GL_RF_47521_BRCM_EXT_LNA 

47521 with external LNA

GL_RF_4753_BRCM 

4753

GL_RF_4753_BRCM_EXT_LNA 

4753 with onboard external LNA enabled

GL_RF_4753_BRCM_TSX 

4753 with TSX

GL_RF_4753_BRCM_LNA_BYPASS 

4753 with onboard external LNA enabled but internal LNA disabled.

GL_RF_47520_BRCM 

47520

GL_RF_47520_BRCM_EXT_LNA 

47520 with external LNA

GlEngine stop codes.

These values are passed to the GlEngineOnStop() callback to indicate the exit condition.

Enumerator:
GL_STOP_OK 

Normal exit.

GL_STOP_HW_PANIC 

ASIC communication breakdown.

GL_STOP_SW_PANIC 

Software assert.

GL_STOP_BAD_TIME 

Time assistance does not match decoded time by a large value.

Time is cleared from NVMEM.

GL_STOP_ABORT 

StopAllRequests(true) was called.

GL_STOP_TEST_FAILED 

Special exit status to indicate a failed self test.

SYNCIN status.

Enumerator:
GL_SYNCIN_STAT_ARM 

Armed SYNC capture for pulse arrival (up and downlink)

GL_SYNCIN_STAT_RCVD_PULSE 

Received SYNC pulse (uplink and downlink)

GL_SYNCIN_STAT_REPORT_TIME 

Precise time reported (uplink and downlink)

GL_SYNCIN_STAT_TOUT 

Timed out SYNC operation.

GL_SYNCIN_STAT_FAIL 

Failed SYNC operation.

GL_SYNCIN_STAT_ABORT 

Aborted SYNC operation by user.

GL_SYNCIN_STAT_COMPLETE 

SYNC in is complete.

Structure to keep the GPS time.

Enumerator:
GL_UPLINK 

time transfer from GPS to host

GL_DOWNLINK 

time transfer from Host

Enum describing GPS time validity source.

Enumerator:
GL_TIME_UNKNOWN 

time is invalid

GL_TIME_FROM_STANDBY 

time is restored after Standby

GL_TIME_FROM_ASSIST 

time is derived from assistance

GL_TIME_FROM_POSITION 

time is from position computation -- not supported yet

GL_TIME_FROM_TOW 

time is from TOW and WN decoding from 1 satellite

GL_TIME_FROM_TOW_CONFIRMED 

time is from TOW and WN decoding from more than 1 satellite

The "turn" sensor is an event that indicates a change of state.

These reflect a "very high probability" of each state. No rmse value is necessary, so use GLTS_UNKNOWN.

Enumerator:
GLTS_UNKNOWN 

Sent when the event stream is ended or we do not know if we're turning.

GLTS_NOT_TURNING 

We've stopped turning until further notification.

GLTS_TURNING 

We've started turning until further notification.

Defines the types of aiding.

Enumerator:
GL_AID_ACQ_RQD 

Acquition assistance.

GL_AID_POS_RQD 

Reference location.

GL_AID_NAV_RQD 

Needs navigation model. It has less than 6 GPS and 6 GLONASS ephemeris.

GL_AID_TIM_RQD 

Refrence time.

GL_AID_ALM_RQD 

Almanac.

GL_AID_RTI_RQD 

Real time integrity.

enum teGNSS

Enumeration of the GNSS constellations.

Enumerator:
GNSS_GPS 

GPS: PRN 1...32 SVID 1..32 NMEA 1...32 (GP talker)

GNSS_SBAS 

SBAS: PRN 120..138 SVID 33..51 NMEA 33...51 (GP talker)

GNSS_GLONASS 

GLONASS: OSN 1...24 SVID 52..65 NMEA 65...88 (GL talker) (also has FCN numbering -7..6)

GNSS_QZSS 

QZSS: PRN 193..197 SVID 66..70 NMEA 1....5 (QZ talker)

GNSS_IMES 

IMES: PRN 173..182 SVID 71..80 NMEA 1...10 (IM talker)

GNSS_BEIDOU 

BEIDOU: PRN 1..37 SVID 81..117 NMEA 1...37 (BD talker)

GNSS_GALILEO 

GALILEO: PRN 1..36 SVID 118..153 NMEA 1...36 (GA talker)


Variable Documentation

and other alternate LBS facilities can provide latitude and longitude.

step counter, distance traveled

Used with GL_EXT_SENS_DELTA_RANGE to.

describe information available when the heading is known.

 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines