Telematics SDK - Interface Specification  v1.38.0
 All Data Structures Namespaces Functions Variables Typedefs Enumerations Enumerator Groups Pages
telux::loc Namespace Reference

Data Structures

class  IDgnssStatusListener
 Listener class for getting RTCM injection event notification information. More...
 
class  IDgnssManager
 IRtcmManager provides interface to inject RTCM data into modem, register event listener reported by cdfw(correction data framework). More...
 
class  ILocationConfigurator
 ILocationConfigurator allows for the enablement/disablement of the APIs such as CTunc, PACE, deleteAllAidingData, configureLeverArm, configureConstellations, configureRobustLocation, configureMinGpsWeek, requestMinGpsWeek, deleteAidingData. ILocationConfigurator APIs strictly adheres to the principle of single client per process. More...
 
struct  GnssKinematicsData
 
struct  TimeInfo
 
struct  GlonassTimeInfo
 
union  SystemTimeInfo
 
struct  SystemTime
 
struct  GnssMeasurementInfo
 
struct  SvUsedInPosition
 
struct  GnssData
 
struct  SvBlackListInfo
 
struct  LeverArmParams
 
struct  GnssMeasurementsData
 
struct  GnssMeasurementsClock
 
struct  GnssMeasurements
 
struct  LeapSecondChangeInfo
 
struct  LeapSecondInfo
 
struct  LocationSystemInfo
 
struct  GnssEnergyConsumedInfo
 
struct  RobustLocationVersion
 
struct  RobustLocationConfiguration
 
class  ILocationInfoBase
 ILocationInfoBase provides interface to get basic position related information like latitude, longitude, altitude, timestamp. More...
 
class  ILocationInfoEx
 ILocationInfoEx provides interface to get richer position related information like latitude, longitude, altitude and other information like time stamp, session status, dop, reliabilities, uncertainities etc. More...
 
class  ISVInfo
 ISVInfo provides interface to retrieve information about Satellite Vehicles, their position and health status. More...
 
class  IGnssSVInfo
 IGnssSVInfo provides interface to retrieve the list of SV info available and whether altitude is assumed or calculated. More...
 
class  IGnssSignalInfo
 IGnssSignalInfo provides interface to retrieve GNSS data information like jammer metrics and automatic gain control for satellite signal type. More...
 
class  LocationFactory
 LocationFactory allows creation of location manager. More...
 
class  ILocationListener
 Listener class for getting location updates and satellite vehicle information. More...
 
class  ILocationSystemInfoListener
 
class  ILocationManager
 ILocationManager provides interface to register and remove listeners. It also allows to set and get configuration/ criteria for position reports. The new APIs(registerListenerEx, deRegisterListenerEx, startDetailedReports, startBasicReports) and old/deprecated APIs(registerListener, removeListener, setPositionReportTimeout, setHorizontalAccuracyLevel, setMinIntervalForReports) should not be used interchangebly, either the new APIs should be used or the old APIs should be used. More...
 

Typedefs

using SbasCorrection = std::bitset< SBAS_COUNT >
 
using GnssPositionTech = uint32_t
 
using KinematicDataValidity = uint32_t
 
using GnssTimeValidity = uint32_t
 
using TimeValidity = uint32_t
 
using GnssSignal = uint32_t
 
using LocationTechnology = uint32_t
 
using LocationInfoValidity = uint32_t
 
using LocationInfoExValidity = uint32_t
 
using GnssDataValidity = uint32_t
 
using DrCalibrationStatus = uint32_t
 
using LocReqEngine = uint16_t
 
using PositioningEngine = uint32_t
 
typedef std::vector
< SvBlackListInfo
SvBlackList
 
typedef std::unordered_map
< LeverArmType, LeverArmParams
LeverArmConfigInfo
 
using GnssMeasurementsDataValidity = uint32_t
 
using GnssMeasurementsStateValidity = uint32_t
 
using GnssMeasurementsAdrStateValidity = uint32_t
 
using GnssMeasurementsClockValidity = uint32_t
 
using LeapSecondInfoValidity = uint32_t
 
using LocationSystemInfoValidity = uint32_t
 
using GnssEnergyConsumedInfoValidity = uint16_t
 
using AidingData = uint32_t
 
using RobustLocationConfig = uint16_t
 

Enumerations

enum  DgnssDataFormat { DgnssDataFormat::DATA_FORMAT_UNKNOWN = 0, DgnssDataFormat::DATA_FORMAT_RTCM_3 = 1, DgnssDataFormat::DATA_FORMAT_3GPP_RTK_R15 = 2 }
 
enum  DgnssStatus {
  DgnssStatus::DATA_SOURCE_NOT_SUPPORTED = 1, DgnssStatus::DATA_FORMAT_NOT_SUPPORTED = 2, DgnssStatus::OTHER_SOURCE_IN_USE = 3, DgnssStatus::MESSAGE_PARSE_ERROR = 4,
  DgnssStatus::DATA_SOURCE_NOT_USABLE = 5
}
 
enum  HorizontalAccuracyLevel { HorizontalAccuracyLevel::LOW = 1, HorizontalAccuracyLevel::MEDIUM = 2, HorizontalAccuracyLevel::HIGH = 3 }
 
enum  LocationReliability {
  LocationReliability::UNKNOWN = -1, LocationReliability::NOT_SET = 0, LocationReliability::VERY_LOW = 1, LocationReliability::LOW = 2,
  LocationReliability::MEDIUM = 3, LocationReliability::HIGH = 4
}
 
enum  SbasCorrectionType {
  SBAS_CORRECTION_IONO, SBAS_CORRECTION_FAST, SBAS_CORRECTION_LONG, SBAS_INTEGRITY,
  SBAS_CORRECTION_DGNSS, SBAS_CORRECTION_RTK, SBAS_CORRECTION_PPP, SBAS_COUNT
}
 
enum  AltitudeType { AltitudeType::UNKNOWN = -1, AltitudeType::CALCULATED = 0, AltitudeType::ASSUMED = 1 }
 
enum  GnssConstellationType {
  GnssConstellationType::UNKNOWN = -1, GnssConstellationType::GPS = 1, GnssConstellationType::GALILEO = 2, GnssConstellationType::SBAS = 3,
  GnssConstellationType::COMPASS = 4, GnssConstellationType::GLONASS = 5, GnssConstellationType::BDS = 6, GnssConstellationType::QZSS = 7,
  GnssConstellationType::NAVIC = 8
}
 
enum  SVHealthStatus { SVHealthStatus::UNKNOWN = -1, SVHealthStatus::UNHEALTHY = 0, SVHealthStatus::HEALTHY = 1 }
 
enum  SVStatus { SVStatus::UNKNOWN = -1, SVStatus::IDLE = 0, SVStatus::SEARCH = 1, SVStatus::TRACK = 2 }
 
enum  SVInfoAvailability { SVInfoAvailability::UNKNOWN = -1, SVInfoAvailability::YES = 0, SVInfoAvailability::NO = 1 }
 
enum  GnssPositionTechType {
  GNSS_DEFAULT = 0, GNSS_SATELLITE = (1 << 0), GNSS_CELLID = (1 << 1), GNSS_WIFI = (1 << 2),
  GNSS_SENSORS = (1 << 3), GNSS_REFERENCE_LOCATION = (1 << 4), GNSS_INJECTED_COARSE_POSITION = (1 << 5), GNSS_AFLT = (1 << 6),
  GNSS_HYBRID = (1 << 7), GNSS_PPE = (1 << 8)
}
 
enum  KinematicDataValidityType {
  HAS_LONG_ACCEL = (1 << 0), HAS_LAT_ACCEL = (1 << 1), HAS_VERT_ACCEL = (1 << 2), HAS_YAW_RATE = (1 << 3),
  HAS_PITCH = (1 << 4), HAS_LONG_ACCEL_UNC = (1 << 5), HAS_LAT_ACCEL_UNC = (1 << 6), HAS_VERT_ACCEL_UNC = (1 << 7),
  HAS_YAW_RATE_UNC = (1 << 8), HAS_PITCH_UNC = (1 << 9)
}
 
enum  GnssSystem {
  GnssSystem::GNSS_LOC_SV_SYSTEM_UNKNOWN = -1, GnssSystem::GNSS_LOC_SV_SYSTEM_GPS = 1, GnssSystem::GNSS_LOC_SV_SYSTEM_GALILEO = 2, GnssSystem::GNSS_LOC_SV_SYSTEM_SBAS = 3,
  GnssSystem::GNSS_LOC_SV_SYSTEM_COMPASS = 4, GnssSystem::GNSS_LOC_SV_SYSTEM_GLONASS = 5, GnssSystem::GNSS_LOC_SV_SYSTEM_BDS = 6, GnssSystem::GNSS_LOC_SV_SYSTEM_QZSS = 7,
  GnssSystem::GNSS_LOC_SV_SYSTEM_NAVIC = 8
}
 
enum  GnssTimeValidityType {
  GNSS_SYSTEM_TIME_WEEK_VALID = (1 << 0), GNSS_SYSTEM_TIME_WEEK_MS_VALID = (1 << 1), GNSS_SYSTEM_CLK_TIME_BIAS_VALID = (1 << 2), GNSS_SYSTEM_CLK_TIME_BIAS_UNC_VALID = (1 << 3),
  GNSS_SYSTEM_REF_FCOUNT_VALID = (1 << 4), GNSS_SYSTEM_NUM_CLOCK_RESETS_VALID = (1 << 5)
}
 
enum  GlonassTimeValidity {
  GNSS_CLO_DAYS_VALID = (1 << 0), GNSS_GLOS_MSEC_VALID = (1 << 1), GNSS_GLO_CLK_TIME_BIAS_VALID = (1 << 2), GNSS_GLO_CLK_TIME_BIAS_UNC_VALID = (1 << 3),
  GNSS_GLO_REF_FCOUNT_VALID = (1 << 4), GNSS_GLO_NUM_CLOCK_RESETS_VALID = (1 << 5), GNSS_GLO_FOUR_YEAR_VALID = (1 << 6)
}
 
enum  GnssSignalType {
  GPS_L1CA = (1<<0), GPS_L1C = (1<<1), GPS_L2 = (1<<2), GPS_L5 = (1<<3),
  GLONASS_G1 = (1<<4), GLONASS_G2 = (1<<5), GALILEO_E1 = (1<<6), GALILEO_E5A = (1<<7),
  GALILIEO_E5B = (1<<8), BEIDOU_B1 = (1<<9), BEIDOU_B2 = (1<<10), QZSS_L1CA = (1<<11),
  QZSS_L1S = (1<<12), QZSS_L2 = (1<<13), QZSS_L5 = (1<<14), SBAS_L1 = (1<<15),
  BEIDOU_B1I = (1<<16), BEIDOU_B1C = (1<<17), BEIDOU_B2I = (1<<18), BEIDOU_B2AI = (1<<19),
  NAVIC_L5 = (1<<20), BEIDOU_B2AQ = (1<<21)
}
 
enum  LocationTechnologyType { LOC_GNSS = (1 << 0), LOC_CELL = (1 << 1), LOC_WIFI = (1 << 2), LOC_SENSORS = (1 << 3) }
 
enum  LocationValidityType {
  HAS_LAT_LONG_BIT = (1<<0), HAS_ALTITUDE_BIT = (1<<1), HAS_SPEED_BIT = (1<<2), HAS_HEADING_BIT = (1<<3),
  HAS_HORIZONTAL_ACCURACY_BIT = (1<<4), HAS_VERTICAL_ACCURACY_BIT = (1<<5), HAS_SPEED_ACCURACY_BIT = (1<<6), HAS_HEADING_ACCURACY_BIT = (1<<7),
  HAS_TIMESTAMP_BIT = (1<<8)
}
 
enum  LocationInfoExValidityType {
  HAS_ALTITUDE_MEAN_SEA_LEVEL = (1 << 0), HAS_DOP = (1 << 1), HAS_MAGNETIC_DEVIATION = (1 << 2), HAS_HOR_RELIABILITY = (1 << 3),
  HAS_VER_RELIABILITY = (1 << 4), HAS_HOR_ACCURACY_ELIP_SEMI_MAJOR = (1 << 5), HAS_HOR_ACCURACY_ELIP_SEMI_MINOR = (1 << 6), HAS_HOR_ACCURACY_ELIP_AZIMUTH = (1 << 7),
  HAS_GNSS_SV_USED_DATA = (1 << 8), HAS_NAV_SOLUTION_MASK = (1 << 9), HAS_POS_TECH_MASK = (1 << 10), HAS_SV_SOURCE_INFO = (1 << 11),
  HAS_POS_DYNAMICS_DATA = (1 << 12), HAS_EXT_DOP = (1 << 13), HAS_NORTH_STD_DEV = (1 << 14), HAS_EAST_STD_DEV = (1 << 15),
  HAS_NORTH_VEL = (1 << 16), HAS_EAST_VEL = (1 << 17), HAS_UP_VEL = (1 << 18), HAS_NORTH_VEL_UNC = (1 << 19),
  HAS_EAST_VEL_UNC = (1 << 20), HAS_UP_VEL_UNC = (1 << 21), HAS_LEAP_SECONDS = (1 << 22), HAS_TIME_UNC = (1 << 23),
  HAS_NUM_SV_USED_IN_POSITION = (1 << 24), HAS_CALIBRATION_CONFIDENCE_PERCENT = (1 << 25), HAS_CALIBRATION_STATUS = (1 << 26), HAS_OUTPUT_ENG_TYPE = (1 << 27),
  HAS_OUTPUT_ENG_MASK = (1 << 28), HAS_CONFORMITY_INDEX_FIX = (1 << 29)
}
 
enum  GnssDataSignalTypes {
  GNSS_DATA_SIGNAL_TYPE_GPS_L1CA = 0, GNSS_DATA_SIGNAL_TYPE_GPS_L1C = 1, GNSS_DATA_SIGNAL_TYPE_GPS_L2C_L = 2, GNSS_DATA_SIGNAL_TYPE_GPS_L5_Q = 3,
  GNSS_DATA_SIGNAL_TYPE_GLONASS_G1 = 4, GNSS_DATA_SIGNAL_TYPE_GLONASS_G2 = 5, GNSS_DATA_SIGNAL_TYPE_GALILEO_E1_C = 6, GNSS_DATA_SIGNAL_TYPE_GALILEO_E5A_Q = 7,
  GNSS_DATA_SIGNAL_TYPE_GALILEO_E5B_Q = 8, GNSS_DATA_SIGNAL_TYPE_BEIDOU_B1_I = 9, GNSS_DATA_SIGNAL_TYPE_BEIDOU_B1C = 10, GNSS_DATA_SIGNAL_TYPE_BEIDOU_B2_I = 11,
  GNSS_DATA_SIGNAL_TYPE_BEIDOU_B2A_I = 12, GNSS_DATA_SIGNAL_TYPE_QZSS_L1CA = 13, GNSS_DATA_SIGNAL_TYPE_QZSS_L1S = 14, GNSS_DATA_SIGNAL_TYPE_QZSS_L2C_L = 15,
  GNSS_DATA_SIGNAL_TYPE_QZSS_L5_Q = 16, GNSS_DATA_SIGNAL_TYPE_SBAS_L1_CA = 17, GNSS_DATA_SIGNAL_TYPE_NAVIC_L5 = 18, GNSS_DATA_SIGNAL_TYPE_BEIDOU_B2A_Q = 19,
  GNSS_DATA_MAX_NUMBER_OF_SIGNAL_TYPES = 20
}
 
enum  GnssDataValidityType { HAS_JAMMER = (1ULL << 0), HAS_AGC = (1ULL << 1) }
 
enum  DrCalibrationStatusType {
  DR_ROLL_CALIBRATION_NEEDED = (1<<0), DR_PITCH_CALIBRATION_NEEDED = (1<<1), DR_YAW_CALIBRATION_NEEDED = (1<<2), DR_ODO_CALIBRATION_NEEDED = (1<<3),
  DR_GYRO_CALIBRATION_NEEDED = (1<<4)
}
 
enum  LocReqEngineType { LOC_REQ_ENGINE_FUSED_BIT = (1<<0), LOC_REQ_ENGINE_SPE_BIT = (1<<1), LOC_REQ_ENGINE_PPE_BIT = (1<<2) }
 
enum  LocationAggregationType { LOC_OUTPUT_ENGINE_FUSED = 0, LOC_OUTPUT_ENGINE_SPE = 1, LOC_OUTPUT_ENGINE_PPE = 2 }
 
enum  PositioningEngineType { STANDARD_POSITIONING_ENGINE = (1 << 0), DEAD_RECKONING_ENGINE = (1 << 1), PRECISE_POSITIONING_ENGINE = (1 << 2) }
 
enum  LeverArmType { LEVER_ARM_TYPE_GNSS_TO_VRP = 1, LEVER_ARM_TYPE_DR_IMU_TO_GNSS = 2, LEVER_ARM_TYPE_VEPP_IMU_TO_GNSS = 3 }
 
enum  GnssMeasurementsDataValidityType {
  SV_ID_BIT = (1<<0), SV_TYPE_BIT = (1<<1), STATE_BIT = (1<<2), RECEIVED_SV_TIME_BIT = (1<<3),
  RECEIVED_SV_TIME_UNCERTAINTY_BIT = (1<<4), CARRIER_TO_NOISE_BIT = (1<<5), PSEUDORANGE_RATE_BIT = (1<<6), PSEUDORANGE_RATE_UNCERTAINTY_BIT = (1<<7),
  ADR_STATE_BIT = (1<<8), ADR_BIT = (1<<9), ADR_UNCERTAINTY_BIT = (1<<10), CARRIER_FREQUENCY_BIT = (1<<11),
  CARRIER_CYCLES_BIT = (1<<12), CARRIER_PHASE_BIT = (1<<13), CARRIER_PHASE_UNCERTAINTY_BIT = (1<<14), MULTIPATH_INDICATOR_BIT = (1<<15),
  SIGNAL_TO_NOISE_RATIO_BIT = (1<<16), AUTOMATIC_GAIN_CONTROL_BIT = (1<<17)
}
 
enum  GnssMeasurementsStateValidityType {
  UNKNOWN_BIT = 0, CODE_LOCK_BIT = (1<<0), BIT_SYNC_BIT = (1<<1), SUBFRAME_SYNC_BIT = (1<<2),
  TOW_DECODED_BIT = (1<<3), MSEC_AMBIGUOUS_BIT = (1<<4), SYMBOL_SYNC_BIT = (1<<5), GLO_STRING_SYNC_BIT = (1<<6),
  GLO_TOD_DECODED_BIT = (1<<7), BDS_D2_BIT_SYNC_BIT = (1<<8), BDS_D2_SUBFRAME_SYNC_BIT = (1<<9), GAL_E1BC_CODE_LOCK_BIT = (1<<10),
  GAL_E1C_2ND_CODE_LOCK_BIT = (1<<11), GAL_E1B_PAGE_SYNC_BIT = (1<<12), SBAS_SYNC_BIT = (1<<13)
}
 
enum  GnssMeasurementsAdrStateValidityType { UNKNOWN_STATE = 0, VALID_BIT = (1<<0), RESET_BIT = (1<<1), CYCLE_SLIP_BIT = (1<<2) }
 
enum  GnssMeasurementsMultipathIndicator { UNKNOWN_INDICATOR = 0, PRESENT = 1, NOT_PRESENT = 2 }
 
enum  GnssMeasurementsClockValidityType {
  LEAP_SECOND_BIT = (1<<0), TIME_BIT = (1<<1), TIME_UNCERTAINTY_BIT = (1<<2), FULL_BIAS_BIT = (1<<3),
  BIAS_BIT = (1<<4), BIAS_UNCERTAINTY_BIT = (1<<5), DRIFT_BIT = (1<<6), DRIFT_UNCERTAINTY_BIT = (1<<7),
  HW_CLOCK_DISCONTINUITY_COUNT_BIT = (1<<8)
}
 
enum  LeapSecondInfoValidityType { LEAP_SECOND_SYS_INFO_CURRENT_LEAP_SECONDS_BIT = (1ULL << 0), LEAP_SECOND_SYS_INFO_LEAP_SECOND_CHANGE_BIT = (1ULL << 1) }
 
enum  LocationSystemInfoValidityType { LOCATION_SYS_INFO_LEAP_SECOND = (1ULL << 0) }
 
enum  GnssEnergyConsumedInfoValidityType { ENERGY_CONSUMED_SINCE_FIRST_BOOT_BIT = (1<<0) }
 
enum  AidingDataType { AIDING_DATA_EPHEMERIS = (1 << 0) }
 
enum  RobustLocationConfigType { VALID_ENABLED = (1<<0), VALID_ENABLED_FOR_E911 = (1<<1), VALID_VERSION = (1<<2) }
 

Variables

const float UNKNOWN_CARRIER_FREQ = -1
 
const int UNKNOWN_SIGNAL_MASK = 0
 
const uint64_t UNKNOWN_TIMESTAMP = 0
 
const float DEFAULT_TUNC_THRESHOLD = 0.0
 
const int DEFAULT_TUNC_ENERGY_THRESHOLD = 0