Telematics SDK - Interface Specification  v1.38.19
telux::loc Namespace Reference

Data Structures

struct  BodyToSensorMountParams
 
struct  DREngineConfiguration
 
struct  GlonassTimeInfo
 
struct  GnssData
 
struct  GnssEnergyConsumedInfo
 
struct  GnssKinematicsData
 
struct  GnssMeasurementInfo
 
struct  GnssMeasurements
 
struct  GnssMeasurementsClock
 
struct  GnssMeasurementsData
 
class  IDgnssManager
 IRtcmManager provides interface to inject RTCM data into modem, register event listener reported by cdfw(correction data framework). More...
 
class  IDgnssStatusListener
 Listener class for getting RTCM injection event notification information. More...
 
class  IGnssSignalInfo
 IGnssSignalInfo provides interface to retrieve GNSS data information like jammer metrics and automatic gain control for satellite signal type. More...
 
class  IGnssSVInfo
 IGnssSVInfo provides interface to retrieve the list of SV info available and whether altitude is assumed or calculated. 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...
 
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  ILocationListener
 Listener class for getting location updates and satellite vehicle information. More...
 
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...
 
class  ILocationSystemInfoListener
 
class  ISVInfo
 ISVInfo provides interface to retrieve information about Satellite Vehicles, their position and health status. More...
 
struct  LeapSecondChangeInfo
 
struct  LeapSecondInfo
 
struct  LeverArmParams
 
struct  LLAInfo
 
class  LocationFactory
 LocationFactory allows creation of location manager. More...
 
struct  LocationSystemInfo
 
struct  RobustLocationConfiguration
 
struct  RobustLocationVersion
 
struct  SvBlackListInfo
 
struct  SvUsedInPosition
 
struct  SystemTime
 
union  SystemTimeInfo
 
struct  TimeInfo
 

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 = uint64_t
 
using GnssDataValidity = uint32_t
 
using DrCalibrationStatus = uint32_t
 
using LocReqEngine = uint16_t
 
using PositioningEngine = uint32_t
 
typedef std::vector< SvBlackListInfoSvBlackList
 
typedef std::unordered_map< LeverArmType, LeverArmParamsLeverArmConfigInfo
 
using GnssMeasurementsDataValidity = uint32_t
 
using GnssMeasurementsStateValidity = uint32_t
 
using GnssMeasurementsAdrStateValidity = uint32_t
 
using GnssMeasurementsClockValidity = uint32_t
 
using NmeaSentenceConfig = uint32_t
 
using LeapSecondInfoValidity = uint32_t
 
using LocationSystemInfoValidity = uint32_t
 
using GnssEnergyConsumedInfoValidity = uint16_t
 
using AidingData = uint32_t
 
using RobustLocationConfig = uint16_t
 
using DRConfigValidity = uint16_t
 
typedef std::unordered_set< GnssConstellationTypeConstellationSet
 

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 = (1ULL << 0), HAS_DOP = (1ULL << 1), HAS_MAGNETIC_DEVIATION = (1ULL << 2), HAS_HOR_RELIABILITY = (1ULL << 3),
  HAS_VER_RELIABILITY = (1ULL << 4), HAS_HOR_ACCURACY_ELIP_SEMI_MAJOR = (1ULL << 5), HAS_HOR_ACCURACY_ELIP_SEMI_MINOR = (1ULL << 6), HAS_HOR_ACCURACY_ELIP_AZIMUTH = (1ULL << 7),
  HAS_GNSS_SV_USED_DATA = (1ULL << 8), HAS_NAV_SOLUTION_MASK = (1ULL << 9), HAS_POS_TECH_MASK = (1ULL << 10), HAS_SV_SOURCE_INFO = (1ULL << 11),
  HAS_POS_DYNAMICS_DATA = (1ULL << 12), HAS_EXT_DOP = (1ULL << 13), HAS_NORTH_STD_DEV = (1ULL << 14), HAS_EAST_STD_DEV = (1ULL << 15),
  HAS_NORTH_VEL = (1ULL << 16), HAS_EAST_VEL = (1ULL << 17), HAS_UP_VEL = (1ULL << 18), HAS_NORTH_VEL_UNC = (1ULL << 19),
  HAS_EAST_VEL_UNC = (1ULL << 20), HAS_UP_VEL_UNC = (1ULL << 21), HAS_LEAP_SECONDS = (1ULL << 22), HAS_TIME_UNC = (1ULL << 23),
  HAS_NUM_SV_USED_IN_POSITION = (1ULL << 24), HAS_CALIBRATION_CONFIDENCE_PERCENT = (1ULL << 25), HAS_CALIBRATION_STATUS = (1ULL << 26), HAS_OUTPUT_ENG_TYPE = (1ULL << 27),
  HAS_OUTPUT_ENG_MASK = (1ULL << 28), HAS_CONFORMITY_INDEX_FIX = (1ULL << 29), HAS_LLA_VRP_BASED = (1ULL << 30), HAS_ENU_VELOCITY_VRP_BASED = (1ULL << 31),
  HAS_ALTITUDE_TYPE = (1ULL << 32), HAS_REPORT_STATUS = (1ULL << 33)
}
 
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  NmeaSentenceType {
  GGA = (1 << 0), RMC = (1 << 1), GSA = (1 << 2), VTG = (1 << 3),
  GNS = (1 << 4), DTM = (1 << 5), GPGSV = (1 << 6), GLGSV = (1 << 7),
  GAGSV = (1 << 8), GQGSV = (1 << 9), GBGSV = (1 << 10), GIGSV = (1 << 11),
  ALL = 0xffffffff
}
 
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), AIDING_DATA_DR_SENSOR_CALIBRATION = (1 << 1) }
 
enum  RobustLocationConfigType { VALID_ENABLED = (1<<0), VALID_ENABLED_FOR_E911 = (1<<1), VALID_VERSION = (1<<2) }
 
enum  DRConfigValidityType {
  BODY_TO_SENSOR_MOUNT_PARAMS_VALID = (1<<0), VEHICLE_SPEED_SCALE_FACTOR_VALID = (1<<1), VEHICLE_SPEED_SCALE_FACTOR_UNC_VALID = (1<<2), GYRO_SCALE_FACTOR_VALID = (1<<3),
  GYRO_SCALE_FACTOR_UNC_VALID = (1<<4)
}
 
enum  ReportStatus { ReportStatus::UNKNOWN = -1, ReportStatus::SUCCESS = 0, ReportStatus::INTERMEDIATE = 1, ReportStatus::FAILURE = 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