Telematics SDK - Interface Specification
v1.21.0
|
Data Structures | |
struct | telux::loc::GnssKinematicsData |
struct | telux::loc::TimeInfo |
struct | telux::loc::GlonassTimeInfo |
union | telux::loc::SystemTimeInfo |
struct | telux::loc::SystemTime |
struct | telux::loc::GnssMeasurementInfo |
struct | telux::loc::GnssData |
class | telux::loc::IGpsTime |
IGpsTime provides interface to get current GPS week and elapsed time in current GPS week. More... | |
class | telux::loc::ISensorDataUsage |
Specifies the sensors used for calculating the fixes and the type of measurements which were aided by sensor data. More... | |
class | telux::loc::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 | telux::loc::ILocationInfoBase |
ILocationInfoBase provides interface to get basic position related information like latitude, longitude, altitude, timestamp. More... | |
class | telux::loc::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 | telux::loc::ISVInfo |
ISVInfo provides interface to retrieve information about Satellite Vehicles, their position and health status. More... | |
class | telux::loc::IGnssSVInfo |
IGnssSVInfo provides interface to retrieve the list of SV info available and whether altitude is assumed or calculated. More... | |
class | telux::loc::IGnssSignalInfo |
IGnssSignalInfo provides interface to retrieve GNSS data information like jammer metrics and automatic gain control for satellite signal type. More... | |
class | telux::loc::LocationFactory |
LocationFactory allows creation of location manager. More... | |
class | telux::loc::ILocationListener |
Listener class for getting location updates and satellite vehicle information. More... | |
class | telux::loc::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 | telux::loc::PositionTech = std::bitset< TECH_COUNT > |
using | telux::loc::SbasCorrection = std::bitset< SBAS_COUNT > |
using | telux::loc::Measurement = std::bitset< MEASUREMENT_COUNT > |
using | telux::loc::GnssPositionTech = uint32_t |
using | telux::loc::KinematicDataValidity = uint32_t |
using | telux::loc::GnssTimeValidity = uint32_t |
using | telux::loc::TimeValidity = uint32_t |
using | telux::loc::GnssSignal = uint32_t |
using | telux::loc::LocationTechnology = uint32_t |
using | telux::loc::LocationInfoExValidity = uint32_t |
using | telux::loc::GnssDataValidity = uint32_t |
This section contains APIs related to Location Services.
struct telux::loc::GnssKinematicsData |
Specifies kinematics related information.
Data Fields | ||
---|---|---|
KinematicDataValidity | bodyFrameDataMask |
Contains Body frame LocPosDataMask bits. |
float | longAccel |
Forward Acceleration in body frame (m/s2) |
float | latAccel |
Sideward Acceleration in body frame (m/s2) |
float | vertAccel |
Vertical Acceleration in body frame (m/s2) |
float | yawRate |
Heading Rate (Radians/second) |
float | pitch |
Body pitch (Radians) |
float | longAccelUnc |
Uncertainty of Forward Acceleration in body frame |
float | latAccelUnc |
Uncertainty of Side-ward Acceleration in body frame |
float | vertAccelUnc |
Uncertainty of Vertical Acceleration in body frame |
float | yawRateUnc |
Uncertainty of Heading Rate |
float | pitchUnc |
Uncertainty of Body pitch |
struct telux::loc::TimeInfo |
Data Fields | ||
---|---|---|
GnssTimeValidity | validityMask |
Validity mask for below fields |
uint16_t | systemWeek |
Extended week number at reference tick. Unit: Week. Set to 65535 if week number is unknown. For GPS: Calculated from midnight, Jan. 6, 1980. OTA decoded 10 bit GPS week is extended to map between: [NV6264 to (NV6264 + 1023)]. NV6264: Minimum GPS week number configuration. Default value of NV6264: 1738 For BDS: Calculated from 00:00:00 on January 1, 2006 of Coordinated Universal Time (UTC). For GAL: Calculated from 00:00 UT on Sunday August 22, 1999 (midnight between August 21 and August 22). |
uint32_t | systemMsec |
Time in to the current week at reference tick. Unit: Millisecond. Range: 0 to 604799999. Check for systemClkTimeUncMs before use |
float | systemClkTimeBias |
System clock time bias (sub-millisecond) Units: Millisecond Note: System time (TOW Millisecond) = systemMsec - systemClkTimeBias. Check for systemClkTimeUncMs before use. |
float | systemClkTimeUncMs |
Single sided maximum time bias uncertainty Units: Millisecond |
uint32_t | refFCount |
FCount (free running HW timer) value. Don't use for relative time purpose due to possible discontinuities. Unit: Millisecond |
uint32_t | numClockResets |
Number of clock resets/discontinuities detected, affecting the local hardware counter value. |
struct telux::loc::GlonassTimeInfo |
Data Fields | ||
---|---|---|
uint16_t | gloDays |
GLONASS day number in four years. Refer to GLONASS ICD. Applicable only for GLONASS and shall be ignored for other constellations. If unknown shall be set to 65535 |
TimeValidity | validityMask |
Validity mask for below fields |
uint32_t | gloMsec |
GLONASS time of day in Millisecond. Refer to GLONASS ICD. Units: Millisecond Check for gloClkTimeUncMs before use |
float | gloClkTimeBias |
GLONASS clock time bias (sub-millisecond) Units: Millisecond Note: GLO time (TOD Millisecond) = gloMsec - gloClkTimeBias. Check for gloClkTimeUncMs before use. |
float | gloClkTimeUncMs |
Single sided maximum time bias uncertainty Units: Millisecond |
uint32_t | refFCount |
FCount (free running HW timer) value. Don't use for relative time purpose due to possible discontinuities. Unit: Millisecond |
uint32_t | numClockResets |
Number of clock resets/discontinuities detected, affecting the local hardware counter value. |
uint8_t | gloFourYear |
GLONASS four year number from 1996. Refer to GLONASS ICD. Applicable only for GLONASS and shall be ignored for other constellations. If unknown shall be set to 255 |
union telux::loc::SystemTimeInfo |
Data Fields | ||
---|---|---|
TimeInfo | gps | |
TimeInfo | gal | |
TimeInfo | bds | |
TimeInfo | qzss | |
GlonassTimeInfo | glo |
struct telux::loc::SystemTime |
Data Fields | ||
---|---|---|
GnssSystem | gnssSystemTimeSrc |
Specifies GNSS system time reported. Mandatory field |
SystemTimeInfo | time |
Reporting of GPS system time is recommended. If GPS time is unknown & other satellite system time is known, it should be reported. Mandatory field |
struct telux::loc::GnssMeasurementInfo |
Data Fields | ||
---|---|---|
GnssSignal | gnssSignalType |
GnssSignalType mask |
GnssSystem | gnssConstellation |
Specifies GNSS Constellation Type |
uint16_t | gnssSvId |
GNSS SV ID. For GPS: 1 to 32 For GLONASS: 65 to 96. When slot-number to SV ID mapping is unknown, set as 255. For SBAS: 120 to 151 For QZSS-L1CA:193 to 197 For BDS: 201 to 237 For GAL: 301 to 336 |
struct telux::loc::GnssData |
Data Fields | ||
---|---|---|
GnssDataValidity | gnssDataMask[GnssDataSignalTypes::GNSS_DATA_MAX_NUMBER_OF_SIGNAL_TYPES] |
bitwise OR of GnssDataValidityType |
double | jammerInd[GnssDataSignalTypes::GNSS_DATA_MAX_NUMBER_OF_SIGNAL_TYPES] |
Jammer Indication Each index represents the measurement for the signal type in GnssDataSignalTypes |
double | agc[GnssDataSignalTypes::GNSS_DATA_MAX_NUMBER_OF_SIGNAL_TYPES] |
Automatic gain control Each index represents the measurement for the signal type in GnssDataSignalTypes |
class telux::loc::IGpsTime |
IGpsTime provides interface to get current GPS week and elapsed time in current GPS week.
Public Member Functions | |
virtual uint32_t | getWeek ()=0 |
virtual uint32_t | getTimeOfWeekMsec ()=0 |
|
pure virtual |
Retrieves current GPS week as calculated from midnight, Jan 6, 1980.
|
pure virtual |
Retrieves elapsed time in the current GPS week starting from 12:00 am on Sunday.
class telux::loc::ISensorDataUsage |
Specifies the sensors used for calculating the fixes and the type of measurements which were aided by sensor data.
Public Member Functions | |
virtual SensorType | getSensorType ()=0 |
virtual Measurement | getMeasurement ()=0 |
|
pure virtual |
Retrieves which sensors were used in calculating the position in the position report.
|
pure virtual |
Retrieves which measurements were aided by sensor data.
class telux::loc::ILocationInfo |
ILocationInfo provides interface to get basic position related information like latitude, longitude, altitude, timestamp and other information like time stamp, session status,.
Public Member Functions | |
virtual PositionTech | getPositionTechnology ()=0 |
virtual double | getLatitude ()=0 |
virtual double | getLongitude ()=0 |
virtual double | getAltitude ()=0 |
virtual float | getHeading ()=0 |
virtual float | getVerticalUncertainty ()=0 |
virtual uint64_t | getTimeStamp ()=0 |
virtual float | getSpeedUncertainty ()=0 |
virtual float | getHeadingUncertainty ()=0 |
virtual float | getAltitudeMeanSeaLevel ()=0 |
virtual float | getPositionDop ()=0 |
virtual float | getHorizontalDop ()=0 |
virtual float | getVerticalDop ()=0 |
virtual float | getMagneticDeviation ()=0 |
virtual LocationReliability | getHorizontalReliability ()=0 |
virtual LocationReliability | getVerticalReliability ()=0 |
virtual float | getHorizontalUncertaintySemiMajor ()=0 |
virtual float | getHorizontalUncertaintySemiMinor ()=0 |
virtual float | getHorizontalUncertaintyAzimuth ()=0 |
virtual void | getSVIds (std::vector< uint16_t > &idsOfUsedSVs)=0 |
virtual SbasCorrection | getSbasCorrection ()=0 |
virtual SessionStatus | getSessionStatus ()=0 |
virtual telux::common::Status | getLeapSeconds (uint8_t &leapSeconds)=0 |
virtual std::shared_ptr< IGpsTime > | getGpsTime ()=0 |
virtual telux::common::Status | getCircularHorizontalUncertainty (float &circularHorizontalUncertainty)=0 |
virtual telux::common::Status | getHorizontalConfidence (uint8_t &horizontalConfidence)=0 |
virtual float | getHorizontalSpeed ()=0 |
virtual telux::common::Status | getVerticalConfidence (uint8_t &verticalConfidence)=0 |
virtual float | getVerticalSpeed ()=0 |
virtual telux::common::Status | getSensorDataUsage (std::shared_ptr< ISensorDataUsage > &sensorDataUsage)=0 |
virtual telux::common::Status | getFixId (uint32_t &fixId)=0 |
virtual telux::common::Status | getVelocityEastNorthUp (std::vector< float > &velocityEastNorthUp)=0 |
virtual telux::common::Status | getVelocityUncertaintyEastNorthUp (std::vector< float > &velocityUncertaintyEastNorthUp)=0 |
|
pure virtual |
Retrieves technology used in computing this fix.
|
pure virtual |
Retrieves latitude. Positive and negative values indicate northern and southern latitude respectively
|
pure virtual |
Retrieves longitude. Positive and negative values indicate eastern and western longitude respectively
|
pure virtual |
Retrieves altitude above the WGS 84 reference ellipsoid.
|
pure virtual |
Retrieves heading.
|
pure virtual |
Retrieves the vertical uncertainty.
|
pure virtual |
Retrieves UTC timeStamp for the location fix.
|
pure virtual |
Retrieves 3-D speed uncertainty.
|
pure virtual |
Retrieves heading uncertainty.
|
pure virtual |
Retrieves the altitude with respect to mean sea level.
|
pure virtual |
Retrieves position dilution of precision.
|
pure virtual |
Retrieves horizontal dilution of precision.
|
pure virtual |
Retrieves vertical dilution of precision.
|
pure virtual |
Retrieves the difference between the bearing to true north and the bearing shown on magnetic compass. The deviation is positive when the magnetic north is east of true north.
|
pure virtual |
Specifies the reliability of the horizontal position.
|
pure virtual |
Specifies the reliability of the vertical position.
|
pure virtual |
Retrieves semi-major axis of horizontal elliptical uncertainty.
|
pure virtual |
Retrieves semi-minor axis of horizontal elliptical uncertainty.
|
pure virtual |
Retrieves elliptical horizontal uncertainty azimuth of orientation.
|
pure virtual |
Retrieves GNSS Satellite Vehicles used in position data.
[out] | idsOfUsedSVs | Vector of Satellite Vehicle identifiers. |
|
pure virtual |
Retrieves navigation solution mask used to indicate SBAS corrections.
|
pure virtual |
Retrieves status of the session that is requested by user application.
|
pure virtual |
Retrieves leap seconds if available.
[out] | leapSeconds | - leap seconds
|
|
pure virtual |
Retrieves GPS time structure.
|
pure virtual |
Retrieves horizontal position uncertainty (circular) if available.
[out] | circularHorizontalUncertainty | - circular horizontal uncertainty
|
|
pure virtual |
Retrieves horizontal uncertainty confidence if available.
[out] | horizontalConfidence | - horizontal uncertainty confidence
|
|
pure virtual |
Retrieves horizontal speed.
|
pure virtual |
Retrieves vertical uncertainty confidence if available.
[out] | verticalConfidence | - vertical uncertainty confidence
|
|
pure virtual |
Retrieves vertical speed.
|
pure virtual |
Retrieves sensor data was used in computing the position if available.
[out] | sensorDataUsage | - which sensors were used in calculating the position |
|
pure virtual |
Retrieves fix count if available. Fix count of a session starts with 0 and increments by one for each successive position report for a particular session.
[out] | fixId | - identifier of fix for session |
|
pure virtual |
Retrieves east, North, Up velocity if available.
[out] | velocityEastNorthUp | - east, North, Up velocity
|
|
pure virtual |
Retrieves east, North, Up velocity uncertainty if available.
[out] | velocityUncertaintyEastNorthUp | - east, North, Up velocity uncertainty Units: Meters/second |
class telux::loc::ILocationInfoBase |
ILocationInfoBase provides interface to get basic position related information like latitude, longitude, altitude, timestamp.
Public Member Functions | |
virtual LocationTechnology | getTechMask ()=0 |
virtual float | getSpeed ()=0 |
virtual double | getLatitude ()=0 |
virtual double | getLongitude ()=0 |
virtual double | getAltitude ()=0 |
virtual float | getHeading ()=0 |
virtual float | getHorizontalUncertainty ()=0 |
virtual float | getVerticalUncertainty ()=0 |
virtual uint64_t | getTimeStamp ()=0 |
virtual float | getSpeedUncertainty ()=0 |
virtual float | getHeadingUncertainty ()=0 |
|
pure virtual |
Retrieves technology used in computing this fix.
|
pure virtual |
Retrieves Speed.
|
pure virtual |
Retrieves latitude. Positive and negative values indicate northern and southern latitude respectively
|
pure virtual |
Retrieves longitude. Positive and negative values indicate eastern and western longitude respectively
|
pure virtual |
Retrieves altitude above the WGS 84 reference ellipsoid.
|
pure virtual |
Retrieves heading.
|
pure virtual |
Retrieves the horizontal uncertainty.
|
pure virtual |
Retrieves the vertical uncertainty.
|
pure virtual |
Retrieves UTC timeStamp for the location fix.
|
pure virtual |
Retrieves 3-D speed uncertainty.
|
pure virtual |
Retrieves heading uncertainty.
class telux::loc::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.
Public Member Functions | |
virtual float | getAltitudeMeanSeaLevel ()=0 |
virtual float | getPositionDop ()=0 |
virtual float | getHorizontalDop ()=0 |
virtual float | getVerticalDop ()=0 |
virtual float | getGeometricDop ()=0 |
virtual float | getTimeDop ()=0 |
virtual float | getMagneticDeviation ()=0 |
virtual LocationReliability | getHorizontalReliability ()=0 |
virtual LocationReliability | getVerticalReliability ()=0 |
virtual float | getHorizontalUncertaintySemiMajor ()=0 |
virtual float | getHorizontalUncertaintySemiMinor ()=0 |
virtual float | getHorizontalUncertaintyAzimuth ()=0 |
virtual float | getEastStandardDeviation ()=0 |
virtual float | getNorthStandardDeviation ()=0 |
virtual void | getSVIds (std::vector< uint16_t > &idsOfUsedSVs)=0 |
virtual SbasCorrection | getSbasCorrection ()=0 |
virtual GnssPositionTech | getPositionTechnology ()=0 |
virtual GnssKinematicsData | getBodyFrameData ()=0 |
virtual std::vector < GnssMeasurementInfo > | getmeasUsageInfo ()=0 |
virtual SystemTime | getGnssSystemTime ()=0 |
virtual float | getTimeUncMs ()=0 |
virtual telux::common::Status | getLeapSeconds (uint8_t &leapSeconds)=0 |
virtual telux::common::Status | getVelocityEastNorthUp (std::vector< float > &velocityEastNorthUp)=0 |
virtual telux::common::Status | getVelocityUncertaintyEastNorthUp (std::vector< float > &velocityUncertaintyEastNorthUp)=0 |
Public Member Functions inherited from telux::loc::ILocationInfoBase | |
virtual LocationTechnology | getTechMask ()=0 |
virtual float | getSpeed ()=0 |
virtual double | getLatitude ()=0 |
virtual double | getLongitude ()=0 |
virtual double | getAltitude ()=0 |
virtual float | getHeading ()=0 |
virtual float | getHorizontalUncertainty ()=0 |
virtual float | getVerticalUncertainty ()=0 |
virtual uint64_t | getTimeStamp ()=0 |
virtual float | getSpeedUncertainty ()=0 |
virtual float | getHeadingUncertainty ()=0 |
|
pure virtual |
Retrieves the altitude with respect to mean sea level.
|
pure virtual |
Retrieves position dilution of precision.
|
pure virtual |
Retrieves horizontal dilution of precision.
|
pure virtual |
Retrieves vertical dilution of precision.
|
pure virtual |
Retrieves geometric dilution of precision.
|
pure virtual |
Retrieves time dilution of precision.
|
pure virtual |
Retrieves the difference between the bearing to true north and the bearing shown on magnetic compass. The deviation is positive when the magnetic north is east of true north.
|
pure virtual |
Specifies the reliability of the horizontal position.
|
pure virtual |
Specifies the reliability of the vertical position.
|
pure virtual |
Retrieves semi-major axis of horizontal elliptical uncertainty.
|
pure virtual |
Retrieves semi-minor axis of horizontal elliptical uncertainty.
|
pure virtual |
Retrieves elliptical horizontal uncertainty azimuth of orientation.
|
pure virtual |
Retrieves east standard deviation.
|
pure virtual |
Retrieves north standard deviation.
|
pure virtual |
Retrieves GNSS Satellite Vehicles used in position data.
[out] | idsOfUsedSVs | Vector of Satellite Vehicle identifiers. |
|
pure virtual |
Retrieves navigation solution mask used to indicate SBAS corrections.
|
pure virtual |
Retrieves position technology mask used to indicate which technology is used.
|
pure virtual |
Retrieves position related information.
|
pure virtual |
Retrieves gnss measurement usage info.
|
pure virtual |
Retrieves type of gnss system.
|
pure virtual |
Retrieves time uncertainity.
|
pure virtual |
Retrieves leap seconds if available.
[out] | leapSeconds | - leap seconds
|
|
pure virtual |
Retrieves east, North, Up velocity if available.
[out] | velocityEastNorthUp | - east, North, Up velocity
|
|
pure virtual |
Retrieves east, North, Up velocity uncertainty if available.
[out] | velocityUncertaintyEastNorthUp | - east, North, Up velocity uncertainty
|
class telux::loc::ISVInfo |
ISVInfo provides interface to retrieve information about Satellite Vehicles, their position and health status.
Public Member Functions | |
virtual GnssConstellationType | getConstellation ()=0 |
virtual uint16_t | getId ()=0 |
virtual SVHealthStatus | getSVHealthStatus ()=0 |
virtual SVStatus | getStatus ()=0 |
virtual SVInfoAvailability | getHasEphemeris ()=0 |
virtual SVInfoAvailability | getHasAlmanac ()=0 |
virtual float | getElevation ()=0 |
virtual float | getAzimuth ()=0 |
virtual float | getSnr ()=0 |
|
pure virtual |
Indicates to which constellation this satellite vehicle belongs.
|
pure virtual |
GNSS satellite vehicle ID.
|
pure virtual |
Health status of satellite vehicle.
|
pure virtual |
Status of satellite vehicle.
|
pure virtual |
Indicates whether ephemeris information(which allows the receiver to calculate the satellite's position) is available.
|
pure virtual |
Indicates whether almanac information(which allows receivers to know which satellites are available for tracking) is available.
|
pure virtual |
Retrieves satellite vehicle elevation angle.
|
pure virtual |
Retrieves satellite vehicle azimuth angle.
|
pure virtual |
Retrieves satellite vehicle signal-to-noise ratio.
class telux::loc::IGnssSVInfo |
IGnssSVInfo provides interface to retrieve the list of SV info available and whether altitude is assumed or calculated.
Public Member Functions | |
virtual AltitudeType | getAltitudeType ()=0 |
virtual std::vector < std::shared_ptr< ISVInfo > > | getSVInfoList ()=0 |
|
pure virtual |
Indicates whether altitude is assumed or calculated.
class telux::loc::IGnssSignalInfo |
IGnssSignalInfo provides interface to retrieve GNSS data information like jammer metrics and automatic gain control for satellite signal type.
Public Member Functions | |
virtual GnssData | getGnssData ()=0 |
|
pure virtual |
Retrieves jammer metric and Automatic Gain Control(AGC) corresponding to signal types.Jammer metric is linearly proportional to the sum of jammer and noise power at the GNSS antenna port.
class telux::loc::LocationFactory |
LocationFactory allows creation of location manager.
Public Member Functions | |
std::shared_ptr< ILocationManager > | getLocationManager () |
~LocationFactory () | |
Static Public Member Functions | |
static LocationFactory & | getInstance () |
telux::loc::LocationFactory::~LocationFactory | ( | ) |
|
static |
Get Location Factory instance.
std::shared_ptr<ILocationManager> telux::loc::LocationFactory::getLocationManager | ( | ) |
Get instance of Location Manager
class telux::loc::ILocationListener |
Listener class for getting location updates and satellite vehicle information.
The methods in listener can be invoked from multiple different threads. Client needs to make sure that implementation is thread-safe.
Public Member Functions | |
virtual void | onLocationUpdate (const std::shared_ptr< ILocationInfo > &locationInfo) |
virtual void | onBasicLocationUpdate (const std::shared_ptr< ILocationInfoBase > &locationInfo) |
virtual void | onDetailedLocationUpdate (const std::shared_ptr< ILocationInfoEx > &locationInfo) |
virtual void | onGnssSVInfo (const std::shared_ptr< IGnssSVInfo > &gnssSVInfo) |
virtual void | onGnssSignalInfo (const std::shared_ptr< IGnssSignalInfo > &info) |
virtual | ~ILocationListener () |
|
virtual |
Destructor of ILocationListener
|
virtual |
This function is called when device receives location update.
[in] | locationInfo | - Location information like latitude, longitude, timeStamp other information such as heading, altitude and velocity etc. |
|
virtual |
This function is called when device receives location update.
[in] | locationInfo | - Location information like latitude, longitude, timeStamp other information such as heading, altitude and velocity etc. |
|
virtual |
This function is called when device receives Gnss location update.
[in] | locationInfo | - Contains richer set of location information like latitude, longitude, timeStamp, heading, altitude, velocity and other information such as deviations, elliptical accuracies etc. |
|
virtual |
This function is called when device receives GNSS satellite information.
[in] | gnssSVInfo | - GNSS satellite information |
|
virtual |
This function is called when device receives GNSS data information like jammer metrics and automatic gain control for satellite signal type.
[in] | info | - GNSS signal info |
class telux::loc::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.
|
virtual |
Destructor of ILocationManager
|
pure virtual |
Checks the status of location subsystems and returns the result.
|
pure virtual |
Wait for location subsystem to be ready.
|
pure virtual |
Register a listener for specific updates from location manager like location, jamming info and satellite vehicle info. If enhanced position, using Dead Reckoning etc., is enabled, enhanced fixes will be provided. Otherwise raw GNSS fixes will be provided. The position reports will start only when startDetailedReports or startBasicReports is invoked.
[in] | listener | - Pointer of ILocationListener object that processes the notification. |
|
pure virtual |
Remove a previously registered listener.
[in] | listener | - Previously registered ILocationListener that needs to be removed. |
|
pure virtual |
Starts the richer location reports by configuring the time between them as the interval.
This Api enables the onDetailedLocationUpdate, onGnssSVInfo and onGnssSignalInfo Apis on the listener.
[in] | interval | - Minimum time interval between two consecutive reports in milliseconds. |
E.g. If minInterval is 1000 milliseconds, reports will be provided with a periodicity of 1 second or more depending on the number of applications listening to location updates.
[in] | callback | - Optional callback to get the response of set minimum interval for reports. |
|
pure virtual |
Starts the Location report by configuring the time and distance between the consecutive reports.
This Api enables the onBasicLocationUpdate Api on the listener.
[in] | distanceInMeters | - distanceInMeters between two consecutive reports in meters. intervalInMs - Minimum time interval between two consecutive reports in milliseconds. |
E.g. If intervalInMs is 1000 milliseconds and distanceInMeters is 100m, reports will be provided according to the condition that happens first. So we need to provide both the parameters for evaluating the report.
The underlying system may have a minimum distance threshold(e.g. 1 meter). Effective distance will not be smaller than this lower bound.
The effective distance may have a granularity level higher than 1 m, e.g. 5 m. So distanceInMeters being 59 may be honored at 60 m, depending on the system.
Where there is another application in the system having a session with shorter distance, this client may benefit and receive reports at that distance.
[in] | callback | - Optional callback to get the response of set minimum distance for reports. |
|
pure virtual |
This API will stop reports started using startDetailedReports or startBasicReports or registerListener or setMinIntervalForReports.
[in] | callback | - Optional callback to get the response of stop reports. |
|
pure virtual |
Register a listener for specific updates from location manager like location and satellite vehicle info. As soon as the first listener is registered, position fixes will start being reported.
[in] | listener | - Pointer of ILocationListener object that processes the notification. |
|
pure virtual |
Remove a previously registered listener.
[in] | listener | - Previously registered ILocationListener that needs to be removed |
|
pure virtual |
Configures position report timeout. LocationManager tries to determine the position until the position report timeout has elapsed. If the final position cannot be determined before the timeout period, it returns a position report with session status marked as SessionStatus::TIMEOUT instead of SessionStatus::SUCCESS. Position report timeout is an app spectific setting. E.g. If this API is called with timeout parameter value 5000, the LocationManager tries to determine the position before 5 seconds. If position report is determined, a position report will be returned with sessionStatus=SessionStatus::SUCCESS. Otherwise, a position report will be sent with sessionStatus=SessionStatus::TIMEOUT after 5 seconds.
[in] | timeout | - Maximum time to get a position report in milliseconds. |
[in] | callback | - Optional callback to get the response of set position report time out |
|
pure virtual |
Configuring horizontal accuracy level. If the final position cannot be determined with the required horizontal accuracy level within the timeout period specified in the setPositionReportTimeout API, a timeout fix will be provided. Refer to setPositionReportTimeout API for more details.
[in] | accuracy | - HorizontalAccuracyLevel |
[in] | callback | - Optional callback to get the response of set horizontal accuracy level |
|
pure virtual |
Configuring minimum time interval between two consecutive position reports.
[in] | minInterval | - Minimum time interval between two consecutive reports in milliseconds. E.g. If minInterval is 1000 milliseconds, reports will be provided with a periodicity of 1 second or more depending on the number of applications listening to location updates. |
[in] | callback | - Optional callback to get the response of set minimum interval for reports. |
|
pure virtual |
Get timeout of a position report.
|
pure virtual |
Get horizontal accuracy level of a location fix.
|
pure virtual |
Get the time interval between final reports.
using telux::loc::PositionTech = typedef std::bitset<TECH_COUNT> |
Bitset that denotes which of the technologies defined in PositionTechType enum are used in the location fix.
using telux::loc::SbasCorrection = typedef std::bitset<SBAS_COUNT> |
8 bit mask that denotes which of the SBAS corrections in SbasCorrection used to improve the performance of GNSS output.
using telux::loc::Measurement = typedef std::bitset<MEASUREMENT_COUNT> |
8 bit mask that denotes which of the measurements in MeasurementType enum are aided by sensor data.
using telux::loc::GnssPositionTech = typedef uint32_t |
using telux::loc::KinematicDataValidity = typedef uint32_t |
using telux::loc::GnssTimeValidity = typedef uint32_t |
using telux::loc::TimeValidity = typedef uint32_t |
using telux::loc::GnssSignal = typedef uint32_t |
using telux::loc::LocationTechnology = typedef uint32_t |
using telux::loc::LocationInfoExValidity = typedef uint32_t |
using telux::loc::GnssDataValidity = typedef uint32_t |
Specifies GnssDataValidityType mask
|
strong |
|
strong |
Defines technology used in computing the location fix.
|
strong |
Specifies the reliability of the position.
Defines Satellite Based Augmentation System(SBAS) corrections. SBAS contributes to improve the performance of GNSS system.
|
strong |
Defines status of the session that is requested by user application.
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
Specifies which measurements were aided by sensors.
Specifies related kinematics mask
|
strong |
Specifies type of system.
GNSS Signal Type and RF Band
Gnss Location Information mask flags