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

Data Structures

struct  GlonassTimeInfo
 
struct  GnssData
 
struct  GnssKinematicsData
 
struct  GnssMeasurementInfo
 
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  IGpsTime
 IGpsTime provides interface to get current GPS week and elapsed time in current GPS week. More...
 
class  ILocationConfigurator
 ILocationConfigurator allows for the enablement/disablement of the time uncertainty. It also allows to set the threshold and the required power level for the configureCTunc API. More...
 
class  ILocationInfo
 ILocationInfo provides interface to get basic position related information like latitude, longitude, altitude, timestamp and other information like time stamp, session status,. 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  ISensorDataUsage
 Specifies the sensors used for calculating the fixes and the type of measurements which were aided by sensor data. More...
 
class  ISVInfo
 ISVInfo provides interface to retrieve information about Satellite Vehicles, their position and health status. More...
 
class  LocationFactory
 LocationFactory allows creation of location manager. More...
 
struct  SystemTime
 
union  SystemTimeInfo
 
struct  TimeInfo
 

Typedefs

using PositionTech = std::bitset< TECH_COUNT >
 
using SbasCorrection = std::bitset< SBAS_COUNT >
 
using Measurement = std::bitset< MEASUREMENT_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 LocationInfoExValidity = uint32_t
 
using GnssDataValidity = uint32_t
 
using DrCalibrationStatus = uint32_t
 
using LocReqEngine = uint16_t
 
using PositioningEngine = uint32_t
 

Enumerations

enum  FixRecurrence { FixRecurrence::PERIODIC = 1, FixRecurrence::SINGLE = 2 }
 
enum  HorizontalAccuracyLevel { HorizontalAccuracyLevel::LOW = 1, HorizontalAccuracyLevel::MEDIUM = 2, HorizontalAccuracyLevel::HIGH = 3 }
 
enum  PositionTechType {
  SATELLITE, CELLID, WIFI, SENSORS,
  REFERENCE_LOCATION, INJECTED_COARSE_POSITION, AFLT, HYBRID,
  TECH_COUNT
}
 
enum  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  SessionStatus {
  UNKNOWN = -1, SessionStatus::SUCCESS = 0, SessionStatus::IN_PROGRESS = 1, SessionStatus::GENERAL_FAILURE = 2,
  SessionStatus::TIMEOUT = 3, SessionStatus::USER_END = 4, SessionStatus::BAD_PARAMETER = 5, SessionStatus::PHONE_OFFLINE = 6,
  SessionStatus::ENGINE_LOCKED = 7
}
 
enum  AltitudeType { UNKNOWN = -1, AltitudeType::CALCULATED = 0, AltitudeType::ASSUMED = 1 }
 
enum  GnssConstellationType {
  UNKNOWN = -1, GnssConstellationType::GPS = 1, GnssConstellationType::GALILEO = 2, GnssConstellationType::SBAS = 3,
  GnssConstellationType::COMPASS = 4, GnssConstellationType::GLONASS = 5, GnssConstellationType::BDS = 6, GnssConstellationType::QZSS = 7
}
 
enum  SVHealthStatus { UNKNOWN = -1, SVHealthStatus::UNHEALTHY = 0, SVHealthStatus::HEALTHY = 1 }
 
enum  SVStatus { UNKNOWN = -1, SVStatus::IDLE = 0, SVStatus::SEARCH = 1, SVStatus::TRACK = 2 }
 
enum  SVInfoAvailability { UNKNOWN = -1 , SVInfoAvailability::NO = 1 }
 
enum  SensorType { UNKNOWN = -1, SensorType::ACCELEROMETER = 1, SensorType::GYROSCOPE = 2 }
 
enum  MeasurementType {
  UNKNOWN, UNKNOWN = -1, UNKNOWN = -1, UNKNOWN = -1,
  UNKNOWN = -1, UNKNOWN = -1, UNKNOWN = -1, UNKNOWN = -1,
  UNKNOWN = -1, HEADING, SPEED, POSITION,
  VELOCITY, MEASUREMENT_COUNT
}
 
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_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
}
 
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  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_CALIBRATION_CONFIDENCE_PERCENT = (1 << 25), HAS_CALIBRATION_STATUS = (1 << 26), HAS_OUTPUT_ENG_TYPE = (1 << 27), HAS_OUTPUT_ENG_MASK = (1 << 28)
}
 
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) }
 

Variables

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