Snapdragon® Telematics Application Framework (TelAF) Interface Specification
taf_locGnss_server.h File Reference
#include "legato.h"
#include "taf_locGnss_common.h"

Go to the source code of this file.

Functions

le_msg_ServiceRef_t taf_locGnss_GetServiceRef (void)
 
le_msg_SessionRef_t taf_locGnss_GetClientSessionRef (void)
 
void taf_locGnss_AdvertiseService (void)
 
taf_locGnss_PositionHandlerRef_t taf_locGnss_AddPositionHandler (taf_locGnss_PositionHandlerFunc_t handlerPtr, void *contextPtr)
 
void taf_locGnss_RemovePositionHandler (taf_locGnss_PositionHandlerRef_t handlerRef)
 
taf_locGnss_CapabilityChangeHandlerRef_t taf_locGnss_AddCapabilityChangeHandler (taf_locGnss_CapabilityChangeHandlerFunc_t handlerPtr, void *contextPtr)
 
void taf_locGnss_RemoveCapabilityChangeHandler (taf_locGnss_CapabilityChangeHandlerRef_t handlerRef)
 
taf_locGnss_SampleRef_t taf_locGnss_GetLastSampleRef (void)
 
le_result_t taf_locGnss_GetPositionState (taf_locGnss_SampleRef_t positionSampleRef, taf_locGnss_FixState_t *statePtr)
 
void taf_locGnss_ReleaseSampleRef (taf_locGnss_SampleRef_t positionSampleRef)
 
le_result_t taf_locGnss_GetLocation (taf_locGnss_SampleRef_t positionSampleRef, int32_t *latitudePtr, int32_t *longitudePtr, int32_t *hAccuracyPtr)
 
le_result_t taf_locGnss_GetDirection (taf_locGnss_SampleRef_t positionSampleRef, uint32_t *directionPtr, uint32_t *directionAccuracyPtr)
 
le_result_t taf_locGnss_GetAltitude (taf_locGnss_SampleRef_t positionSampleRef, int32_t *altitudePtr, int32_t *vAccuracyPtr)
 
le_result_t taf_locGnss_GetHorizontalSpeed (taf_locGnss_SampleRef_t positionSampleRef, uint32_t *hspeedPtr, uint32_t *hspeedAccuracyPtr)
 
le_result_t taf_locGnss_GetVerticalSpeed (taf_locGnss_SampleRef_t positionSampleRef, int32_t *vspeedPtr, int32_t *vspeedAccuracyPtr)
 
le_result_t taf_locGnss_GetGpsLeapSeconds (taf_locGnss_SampleRef_t positionSampleRef, uint8_t *leapSecondsPtr)
 
le_result_t taf_locGnss_GetDate (taf_locGnss_SampleRef_t positionSampleRef, uint16_t *yearPtr, uint16_t *monthPtr, uint16_t *dayPtr)
 
le_result_t taf_locGnss_GetTime (taf_locGnss_SampleRef_t positionSampleRef, uint16_t *hoursPtr, uint16_t *minutesPtr, uint16_t *secondsPtr, uint16_t *millisecondsPtr)
 
le_result_t taf_locGnss_Enable (void)
 
le_result_t taf_locGnss_Start (void)
 
le_result_t taf_locGnss_Disable (void)
 
le_result_t taf_locGnss_Stop (void)
 
le_result_t taf_locGnss_SetConstellation (taf_locGnss_ConstellationBitMask_t blackListConstellationMask)
 
le_result_t taf_locGnss_GetConstellation (taf_locGnss_ConstellationBitMask_t *blackListConstellationMaskPtr)
 
taf_locGnss_NmeaHandlerRef_t taf_locGnss_AddNmeaHandler (taf_locGnss_NmeaHandlerFunc_t handlerPtr, void *contextPtr)
 
void taf_locGnss_RemoveNmeaHandler (taf_locGnss_NmeaHandlerRef_t handlerRef)
 
taf_locGnss_State_t taf_locGnss_GetState (void)
 
le_result_t taf_locGnss_GetSatellitesStatus (taf_locGnss_SampleRef_t positionSampleRef, uint8_t *satsInViewCountPtr, uint8_t *satsTrackingCountPtr, uint8_t *satsUsedCountPtr)
 
le_result_t taf_locGnss_GetAcquisitionRate (uint32_t *ratePtr)
 
le_result_t taf_locGnss_GetTtff (uint32_t *ttffPtr)
 
le_result_t taf_locGnss_GetSatellitesInfo (taf_locGnss_SampleRef_t positionSampleRef, uint16_t *satIdPtr, size_t *satIdSizePtr, taf_locGnss_Constellation_t *satConstPtr, size_t *satConstSizePtr, bool *satUsedPtr, size_t *satUsedSizePtr, uint8_t *satSnrPtr, size_t *satSnrSizePtr, uint16_t *satAzimPtr, size_t *satAzimSizePtr, uint8_t *satElevPtr, size_t *satElevSizePtr)
 
le_result_t taf_locGnss_GetTimeAccuracy (taf_locGnss_SampleRef_t positionSampleRef, uint32_t *timeAccuracyPtr)
 
le_result_t taf_locGnss_GetEpochTime (taf_locGnss_SampleRef_t positionSampleRef, uint64_t *millisecondsPtr)
 
le_result_t taf_locGnss_SetDopResolution (taf_locGnss_Resolution_t resolution)
 
le_result_t taf_locGnss_GetDilutionOfPrecision (taf_locGnss_SampleRef_t positionSampleRef, taf_locGnss_DopType_t dopType, uint16_t *dopPtr)
 
le_result_t taf_locGnss_GetLeapSeconds (uint64_t *gpsTimePtr, int32_t *currentLeapSecondsPtr, uint64_t *changeEventTimePtr, int32_t *nextLeapSecondsPtr)
 
le_result_t taf_locGnss_GetGpsTime (taf_locGnss_SampleRef_t positionSampleRef, uint32_t *gpsWeekPtr, uint32_t *gpsTimeOfWeekPtr)
 
le_result_t taf_locGnss_SetAcquisitionRate (uint32_t rate)
 
le_result_t taf_locGnss_ForceWarmRestart (void)
 
le_result_t taf_locGnss_ForceColdRestart (void)
 
le_result_t taf_locGnss_ForceFactoryRestart (void)
 
le_result_t taf_locGnss_ForceHotRestart (void)
 
le_result_t taf_locGnss_GetSupportedConstellations (taf_locGnss_ConstellationBitMask_t *constellationMaskPtr)
 
le_result_t taf_locGnss_SetMinElevation (uint8_t minElevation)
 
le_result_t taf_locGnss_StartMode (taf_locGnss_StartMode_t mode)
 
le_result_t taf_locGnss_GetMinElevation (uint8_t *minElevationPtrPtr)
 
le_result_t taf_locGnss_SetNmeaSentences (taf_locGnss_NmeaBitMask_t nmeaMask)
 
le_result_t taf_locGnss_GetNmeaSentences (taf_locGnss_NmeaBitMask_t *nmeaMaskPtrPtr)
 
le_result_t taf_locGnss_SetDRConfig (const taf_locGnss_DrParams_t *LE_NONNULL drParamsPtrPtr)
 
le_result_t taf_locGnss_GetSupportedNmeaSentences (taf_locGnss_NmeaBitMask_t *nmeaMaskPtrPtr)
 
le_result_t taf_locGnss_ConfigureEngineState (taf_locGnss_EngineType_t engtype, taf_locGnss_EngineState_t engState)
 
le_result_t taf_locGnss_ConfigureRobustLocation (uint8_t enable, uint8_t enabled911)
 
le_result_t taf_locGnss_RobustLocationInformation (uint8_t *enablePtr, uint8_t *enabled911Ptr, uint8_t *majorVersionPtr, uint8_t *minorVersionPtr)
 
le_result_t taf_locGnss_DefaultSecondaryBandConstellations (void)
 
le_result_t taf_locGnss_RequestSecondaryBandConstellations (uint32_t *constellationSbPtr)
 
le_result_t taf_locGnss_ConfigureSecondaryBandConstellations (uint32_t constellationSb)
 
le_result_t taf_locGnss_GetMagneticDeviation (taf_locGnss_SampleRef_t positionSampleRef, int32_t *magneticDeviationPtrPtr)
 
le_result_t taf_locGnss_GetEllipticalUncertainty (taf_locGnss_SampleRef_t positionSampleRef, uint32_t *horUncEllipseSemiMajorPtrPtr, uint32_t *horUncEllipseSemiMinorPtrPtr, uint8_t *horConfidencePtrPtr)
 
le_result_t taf_locGnss_SetLeverArmConfig (const taf_locGnss_LeverArmParams_t *LE_NONNULL LeverArmParamsPtrPtr)
 
le_result_t taf_locGnss_SetEngineType (taf_locGnss_EngineReportsType_t EngineType)
 
le_result_t taf_locGnss_GetConformityIndex (taf_locGnss_SampleRef_t positionSampleRef, double *indexPtr)
 
le_result_t taf_locGnss_GetCalibrationData (taf_locGnss_SampleRef_t positionSampleRef, uint32_t *calibPtrPtr, uint8_t *percentPtrPtr)
 
le_result_t taf_locGnss_GetBodyFrameData (taf_locGnss_SampleRef_t positionSampleRef, taf_locGnss_KinematicsData_t *bodyDataPtrPtr)
 
le_result_t taf_locGnss_GetVRPBasedLLA (taf_locGnss_SampleRef_t positionSampleRef, double *vrpLatitudePtrPtr, double *vrpLongitudePtrPtr, double *vrpAltitudePtrPtr)
 
le_result_t taf_locGnss_GetVRPBasedVelocity (taf_locGnss_SampleRef_t positionSampleRef, double *eastVelPtrPtr, double *northVelPtrPtr, double *upVelPtrPtr)
 
le_result_t taf_locGnss_GetSvUsedInPosition (taf_locGnss_SampleRef_t positionSampleRef, taf_locGnss_SvUsedInPosition_t *svDataPtrPtr)
 
le_result_t taf_locGnss_GetSbasCorrection (taf_locGnss_SampleRef_t positionSampleRef, uint32_t *sbasMaskPtrPtr)
 
le_result_t taf_locGnss_GetPositionTechnology (taf_locGnss_SampleRef_t positionSampleRef, uint32_t *techMaskPtrPtr)
 
le_result_t taf_locGnss_GetLocationInfoValidity (taf_locGnss_SampleRef_t positionSampleRef, uint32_t *validityMaskPtrPtr, uint64_t *validityExMaskPtrPtr)
 
le_result_t taf_locGnss_GetLocationOutputEngParams (taf_locGnss_SampleRef_t positionSampleRef, uint16_t *engMaskPtrPtr, uint16_t *engTypePtrPtr)
 
le_result_t taf_locGnss_GetReliabilityInformation (taf_locGnss_SampleRef_t positionSampleRef, uint16_t *horiReliabilityPtrPtr, uint16_t *vertReliabilityPtrPtr)
 
le_result_t taf_locGnss_GetStdDeviationAzimuthInfo (taf_locGnss_SampleRef_t positionSampleRef, double *azimuthPtrPtr, double *eastDevPtrPtr, double *northDevPtrPtr)
 
le_result_t taf_locGnss_GetRealTimeInformation (taf_locGnss_SampleRef_t positionSampleRef, uint64_t *realTimePtrPtr, uint64_t *realTimeUncPtrPtr)
 
le_result_t taf_locGnss_GetMeasurementUsageInfo (taf_locGnss_SampleRef_t positionSampleRef, taf_locGnss_GnssMeasurementInfo_t *measInfoPtrPtr, size_t *measInfoPtrSizePtr)
 
le_result_t taf_locGnss_GetReportStatus (taf_locGnss_SampleRef_t positionSampleRef, int32_t *reportStatusPtr)
 
le_result_t taf_locGnss_GetAltitudeMeanSeaLevel (taf_locGnss_SampleRef_t positionSampleRef, double *altMeanSeaLevelPtr)
 
le_result_t taf_locGnss_GetSVIds (taf_locGnss_SampleRef_t positionSampleRef, uint16_t *sVIdsPtrPtr, size_t *sVIdsPtrSizePtr)
 
le_result_t taf_locGnss_GetSatellitesInfoEx (taf_locGnss_SampleRef_t positionSampleRef, taf_locGnss_Constellation_t constellation, taf_locGnss_SvInfo_t *svInfoPtr, size_t *svInfoSizePtr)
 
le_result_t taf_locGnss_SetMinGpsWeek (uint16_t minGpsWeek)
 
le_result_t taf_locGnss_GetMinGpsWeek (uint16_t *minGpsWeekPtrPtr)
 
le_result_t taf_locGnss_GetCapabilities (uint64_t *locCapabilityPtrPtr)
 
le_result_t taf_locGnss_SetNmeaConfiguration (taf_locGnss_NmeaBitMask_t nmeaMask, taf_locGnss_GeodeticDatumType_t datumType, taf_locGnss_LocEngineType_t engineType)
 
le_result_t taf_locGnss_GetXtraStatus (taf_locGnss_XtraStatusParams_t *xtraParamsPtr)
 
le_result_t taf_locGnss_GetGnssData (taf_locGnss_SampleRef_t positionSampleRef, taf_locGnss_GnssData_t *gnssDataPtrPtr, size_t *gnssDataPtrSizePtr)
 
le_result_t taf_locGnss_SetDRConfigValidity (taf_locGnss_DRConfigValidityType_t validMask)
 
le_result_t taf_locGnss_GetGptpTime (taf_locGnss_SampleRef_t positionSampleRef, uint64_t *gPtpTimePtr, uint64_t *gPtpTimeUncPtr)
 

Function Documentation

◆ taf_locGnss_GetServiceRef()

le_msg_ServiceRef_t taf_locGnss_GetServiceRef ( void  )

Get the server service reference

◆ taf_locGnss_GetClientSessionRef()

le_msg_SessionRef_t taf_locGnss_GetClientSessionRef ( void  )

Get the client session reference for the current message

◆ taf_locGnss_AdvertiseService()

void taf_locGnss_AdvertiseService ( void  )

Initialize the server and advertise the service.

◆ taf_locGnss_AddPositionHandler()

taf_locGnss_PositionHandlerRef_t taf_locGnss_AddPositionHandler ( taf_locGnss_PositionHandlerFunc_t  handlerPtr,
void *  contextPtr 
)

GNSS position sample reference type. Location service states. GNSS constellation type. GNSS secondary band constellation types. GNSS fix position states. GNSS altitude types. Satellite Vehicle information. Specify Location Capabilities Type. Specifies the set of engines Handler for position information. Reference type used by Add/Remove functions for EVENT 'taf_locGnss_Position' Handler for location capability event notification. Reference type used by Add/Remove functions for EVENT 'taf_locGnss_CapabilityChange' Resolutions values. GNSS constellation bitmask used to configure constellations. Dilution of precision type. GNSS constellationArea. Engine states. Engine types. NMEA sentences bitmask indicating the NMEA sentence types enabled.

The supported NMEA sentence types depend on the platform.

The bitmask values should be coherent with TAF_LOCGNSS_NMEA_SENTENCES_MAX Specify the geodetic datum for NMEA sentence types that are generated. Type of GNSS start. Type of lever arm. Type of engine. Status of the calibration. Type of kinematics data validity. Type of SBAS correction. Validity of location information. Validity of extended location information. Type of positioning engine. Type of location engine. Reliability of the horizontal and vertical positions. Type of location technology. Specify the GnssDataValidityType mask. Specify the different types of constellation supported.Specify GNSS signal type and RF Band used in struct GnssMeasurementInfo and ISVInfo class. Specify the status of the report. Specify the status of the previously downloaded XTRA data. Specify the valid mask for the configuration parameters of dead reckoning position engine. Dead reckoning configuration parameters. Lever arm configuration parameters. Kinematics related information related to device body frame parameters. Set of SVs that are used to calculate position.Specify the satellite vehicle measurements that are used to calculate location in taf_locGnss_GetMeasurementUsageInfo. Jammer and AGC GNSS Data parameters. Handler for NMEA event notification. Reference type used by Add/Remove functions for EVENT 'taf_locGnss_Nmea' Add handler function for EVENT 'taf_locGnss_Position'

This event provides information on position.

Add handler function for EVENT 'taf_locGnss_Position'

This event provides information on position.

Parameters
[in]handlerPtr
[in]contextPtr

◆ taf_locGnss_RemovePositionHandler()

void taf_locGnss_RemovePositionHandler ( taf_locGnss_PositionHandlerRef_t  handlerRef)

Remove handler function for EVENT 'taf_locGnss_Position'

Parameters
[in]handlerRef

◆ taf_locGnss_AddCapabilityChangeHandler()

taf_locGnss_CapabilityChangeHandlerRef_t taf_locGnss_AddCapabilityChangeHandler ( taf_locGnss_CapabilityChangeHandlerFunc_t  handlerPtr,
void *  contextPtr 
)

Add handler function for EVENT 'taf_locGnss_CapabilityChange'

This event provides information on location capability.

Parameters
[in]handlerPtrCapability change handler.
[in]contextPtr

◆ taf_locGnss_RemoveCapabilityChangeHandler()

void taf_locGnss_RemoveCapabilityChangeHandler ( taf_locGnss_CapabilityChangeHandlerRef_t  handlerRef)

Remove handler function for EVENT 'taf_locGnss_CapabilityChange'

Parameters
[in]handlerRef

◆ taf_locGnss_GetLastSampleRef()

taf_locGnss_SampleRef_t taf_locGnss_GetLastSampleRef ( void  )

Gets the last updated position sample object reference.

Returns
A reference to the last position sample.
Note
On failure, the process exits.

◆ taf_locGnss_GetPositionState()

le_result_t taf_locGnss_GetPositionState ( taf_locGnss_SampleRef_t  positionSampleRef,
taf_locGnss_FixState_t statePtr 
)

Gets the position sample's fix state per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
Note
If the caller passes an invalid position sample reference or a null pointer to this function, it is a fatal error and the client will be killed.
Parameters
[in]positionSampleRefPosition sample reference.
[out]statePtrPosition fix state.

◆ taf_locGnss_ReleaseSampleRef()

void taf_locGnss_ReleaseSampleRef ( taf_locGnss_SampleRef_t  positionSampleRef)

Releases the position sample per client session.

Note
If the caller passes an invalid position sample reference to this function, it is a fatal error and the client will be killed.
Parameters
[in]positionSampleRefPosition sample reference.

◆ taf_locGnss_GetLocation()

le_result_t taf_locGnss_GetLocation ( taf_locGnss_SampleRef_t  positionSampleRef,
int32_t *  latitudePtr,
int32_t *  longitudePtr,
int32_t *  hAccuracyPtr 
)

Gets the location data (latitude, longitude, horizontal accuracy) per client session.

Returns
  • LE_FAULT Failed to get the location's data
  • LE_OUT_OF_RANGE At least one of the retrieved parameters is invalid.
  • LE_OK Succeeded.
Note
latitudePtr, longitudePtr, and hAccuracyPtr can be set to NULL if not needed.
The latitude and longitude values are based on the WGS84 standard coordinate system.
The latitude and longitude values are given in degrees with 6 decimal places like: Latitude +48858300 = 48.858300 degrees North Longitude +2294400 = 2.294400 degrees East The latitude and longitude values are given in degrees, minutes, seconds in NMEA frame.
In case the function returns LE_OUT_OF_RANGE, some of the retrieved parameters may be valid. Compare them with INT32_MAX.
If the caller passes an invalid position sample reference to this function, it is a fatal error and the client will be killed.
Parameters
[in]positionSampleRefPosition sample reference
[out]latitudePtrWGS84 latitude in degrees with 6 decimal places.
[out]longitudePtrWGS84 longitude in degrees with 6 decimal places.
[out]hAccuracyPtrHorizontal accuracy in cm. Uncertainty is defined with 68%

◆ taf_locGnss_GetDirection()

le_result_t taf_locGnss_GetDirection ( taf_locGnss_SampleRef_t  positionSampleRef,
uint32_t *  directionPtr,
uint32_t *  directionAccuracyPtr 
)

Gets the position sample direction as per client session. Direction of movement is the direction that the vehicle or person is actually moving.

Returns
  • LE_FAULT Failed to get the location's data
  • LE_OUT_OF_RANGE At least one of the retrieved parameters is invalid.
  • LE_OK Succeeded.
Note
Direction and direction accuracy are given in degrees with 1 decimal place: 1755 = 175.5 degrees. Direction ranges from 0 to 359.9 degrees, where 0 is True North.
If the function returns LE_OUT_OF_RANGE, some of the retrieved parameters may be valid. Compare them with INT32_MAX.
directionPtr and directionAccuracyPtr can be set to NULL if not needed.
If the caller passes an invalid position sample reference to this function, it is a fatal error and the client will be killed.
Parameters
[in]positionSampleRefPosition sample reference.
[out]directionPtrDirection in degrees with 1 decimal place.
[out]directionAccuracyPtrDirection accuracy estimation in degrees with 1 decimal place.

◆ taf_locGnss_GetAltitude()

le_result_t taf_locGnss_GetAltitude ( taf_locGnss_SampleRef_t  positionSampleRef,
int32_t *  altitudePtr,
int32_t *  vAccuracyPtr 
)

Gets the position sample's altitude per client session.

Returns
  • LE_FAULT Failed to get the altitude. Invalid position reference provided.
  • LE_OUT_OF_RANGE At least one of the retrieved parameters is invalid.
  • LE_OK Succeeded.
Note
For a 2D position fix, the altitude will be indicated as invalid and set to INT32_MAX
In case the function returns LE_OUT_OF_RANGE, some of the retrieved parameters may be valid. Compare them with INT32_MAX.
If the caller passes an invalid position reference to this function, it is a fatal error and the client will be killed.
altitudePtr and altitudeAccuracyPtr can be set to NULL if not needed.
Parameters
[in]positionSampleRefPosition sample reference
[out]altitudePtrAltitude in mm above the WGS 84 reference ellipsoid.
[out]vAccuracyPtrVertical uncertainty in dm. Uncertainty is defined with 68% confidence level.

◆ taf_locGnss_GetHorizontalSpeed()

le_result_t taf_locGnss_GetHorizontalSpeed ( taf_locGnss_SampleRef_t  positionSampleRef,
uint32_t *  hspeedPtr,
uint32_t *  hspeedAccuracyPtr 
)

Gets the position sample's horizontal speed per client session.

Returns
  • LE_FAULT Failed to find the positionSample.
  • LE_OUT_OF_RANGE At least one of the retrieved parameters is invalid.
  • LE_OK Succeeded.
Note
hSpeedPtr and hSpeedAccuracyPtr can be set to NULL if not needed.
Horizontal speed is in meters/second with 2 decimal places (3047 = 30.47 meters/second).
In case the function returns LE_OUT_OF_RANGE, some of the retrieved parameters may be valid. Compare them with UINT32_MAX.
If the caller passes an invalid position sample reference to this function, it is a fatal error and the client will be killed.
Warning
The horizontal speed accuracy is platform dependent.
Parameters
[in]positionSampleRefPosition sample reference.
[out]hspeedPtrHorizontal speed in cm/s.
[out]hspeedAccuracyPtrHorizontal accuracy estimation in dm/sec.

◆ taf_locGnss_GetVerticalSpeed()

le_result_t taf_locGnss_GetVerticalSpeed ( taf_locGnss_SampleRef_t  positionSampleRef,
int32_t *  vspeedPtr,
int32_t *  vspeedAccuracyPtr 
)

Gets the position sample's vertical speed per client session.

Returns
  • LE_FAULT Failed to find finding the positionSample.
  • LE_OUT_OF_RANGE At least one of the retrieved parameters is not valid.
  • LE_OK Succeeded.
Note
vSpeedPtr and vSpeedAccuracyPtr can be set to NULL if not needed.
For a 2D position fix, the vertical speed will be indicated as invalid and set to INT32_MAX.
In case the function returns LE_OUT_OF_RANGE, some of the retrieved parameters may be valid. Compare them with INT32_MAX.
If the caller passes an invalid position sample reference to this function, it is a fatal error and the client will be killed.
Warning
The vertical speed accuracy is platform dependent.
Parameters
[in]positionSampleRefPosition sample reference.
[out]vspeedPtrVertical speed in cm/sec.
[out]vspeedAccuracyPtrVertical speed's accuracy estimation in dm/sec.

◆ taf_locGnss_GetGpsLeapSeconds()

le_result_t taf_locGnss_GetGpsLeapSeconds ( taf_locGnss_SampleRef_t  positionSampleRef,
uint8_t *  leapSecondsPtr 
)

Gets the position sample's UTC leap seconds in advance per client session.

Returns
  • LE_FAULT Failed to get the leap seconds.
  • LE_OUT_OF_RANGE The retrieved time accuracy is invalid
  • LE_OK Succeeded.
Note
If the caller passes an invalid position sample reference or a null pointer to this function, it is a fatal error and the client will be killed.

This function is deprecated; le_gnss_GetLeapSeconds should be used instead.

Parameters
[in]positionSampleRefPosition sample reference.
[out]leapSecondsPtrUTC leap seconds in seconds.

◆ taf_locGnss_GetDate()

le_result_t taf_locGnss_GetDate ( taf_locGnss_SampleRef_t  positionSampleRef,
uint16_t *  yearPtr,
uint16_t *  monthPtr,
uint16_t *  dayPtr 
)

Gets the position sample's date per client session.

Returns
  • LE_FAULT Failed to get the date.
  • LE_OUT_OF_RANGE The retrieved date is invalid.
  • LE_OK Succeeded.
Note
If the caller passes an invalid position sample reference or null pointers to this function, it is a fatal error and the client will be killed.
Parameters
[in]positionSampleRefPosition sample reference.
[out]yearPtrUTC year A.D., e.g., 2022.
[out]monthPtrUTC month of the year; range is 1 to 12.
[out]dayPtrUTC days of the month; range is 1 to 31.

◆ taf_locGnss_GetTime()

le_result_t taf_locGnss_GetTime ( taf_locGnss_SampleRef_t  positionSampleRef,
uint16_t *  hoursPtr,
uint16_t *  minutesPtr,
uint16_t *  secondsPtr,
uint16_t *  millisecondsPtr 
)

Gets the position sample's time per client session.

Returns
  • LE_FAULT Failed to get the time.
  • LE_OUT_OF_RANGE The retrieved time is invalid
  • LE_OK Succeeded.
Note
If the caller passes an invalid position sample reference or null pointers to this function, it is a fatal error and the client will be killed.
Parameters
[in]positionSampleRefPosition sample reference.
[out]hoursPtrUTC hours of the day; range is 0 to 23.
[out]minutesPtrUTC minutes of the hour; range is 0 to 59.
[out]secondsPtrUTC seconds of the minute; range is 0 to 59.
[out]millisecondsPtrUTC milliseconds of the second; range is 0 to 999.

◆ taf_locGnss_Enable()

le_result_t taf_locGnss_Enable ( void  )

Enables the Location service with GNSS state per client session.

Returns
  • LE_FAULT Failed.
  • LE_DUPLICATE The Location service state is already enabled.
  • LE_NOT_PERMITTED The Location service state is not initialized.
  • LE_OK Succeeded.
Warning
The settings are platform dependent.

◆ taf_locGnss_Start()

le_result_t taf_locGnss_Start ( void  )

Starts a GNSS session by triggering engine reports to receive the fixes as per client.

Returns
  • LE_FAULT Failed.
  • LE_DUPLICATE The Location service state is already started.
  • LE_NOT_PERMITTED The Location service state is not initialized or disabled.
  • LE_OK Succeeded.

◆ taf_locGnss_Disable()

le_result_t taf_locGnss_Disable ( void  )

Disables the Location service with GNSS state per client session.

Returns
  • LE_FAULT Failed.
  • LE_OK Succeeded.
Warning
The settings are platform dependent.

◆ taf_locGnss_Stop()

le_result_t taf_locGnss_Stop ( void  )

Stops a GNSS session from receiving fixes per client.

Returns
  • LE_FAULT Failed.
  • LE_DUPLICATE The Location service is already stopped.
  • LE_NOT_PERMITTED The Location service state is not initialized or disabled.
  • LE_OK Succeeded.

◆ taf_locGnss_SetConstellation()

le_result_t taf_locGnss_SetConstellation ( taf_locGnss_ConstellationBitMask_t  blackListConstellationMask)

Sets the GNSS constellation bitmask that needs to be blacklisted per client session.

Returns
  • LE_FAULT Failed.
  • LE_NOT_PERMITTED The Location service state is not initialized, disabled, or active.
  • LE_OK Succeeded.
Warning
Some constellation types are unsupported depending on the platform.
The settings are platform dependent.
Note
GPS constellation and SVs cannot be blacklisted.
Parameters
[in]blackListConstellationMaskBitmask of constellation that needs to be blacklisted.

◆ taf_locGnss_GetConstellation()

le_result_t taf_locGnss_GetConstellation ( taf_locGnss_ConstellationBitMask_t blackListConstellationMaskPtr)

Gets the GNSS constellation bitmask which are blacklisted per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
Note
If the caller passes a null pointer to this function, it is a fatal error and the client will be killed.
Parameters
[out]blackListConstellationMaskPtrBitmask of constellation that are blacklisted.

◆ taf_locGnss_AddNmeaHandler()

taf_locGnss_NmeaHandlerRef_t taf_locGnss_AddNmeaHandler ( taf_locGnss_NmeaHandlerFunc_t  handlerPtr,
void *  contextPtr 
)

Add handler function for EVENT 'taf_locGnss_Nmea'

This event provides information about NMEA.

Parameters
[in]handlerPtrNMEA handler.
[in]contextPtr

◆ taf_locGnss_RemoveNmeaHandler()

void taf_locGnss_RemoveNmeaHandler ( taf_locGnss_NmeaHandlerRef_t  handlerRef)

Remove handler function for EVENT 'taf_locGnss_Nmea'

Parameters
[in]handlerRef

◆ taf_locGnss_GetState()

taf_locGnss_State_t taf_locGnss_GetState ( void  )

Gets the status of the Location service per client session.

Returns
  • TAF_LOCGNSS_STATE_ACTIVE The Location service is active when the GNSS session is started.
  • TAF_LOCGNSS_STATE_READY The Location service is ready when the GNSS session is stopped.
  • TAF_LOCGNSS_STATE_DISABLED The Location service is disabled.

◆ taf_locGnss_GetSatellitesStatus()

le_result_t taf_locGnss_GetSatellitesStatus ( taf_locGnss_SampleRef_t  positionSampleRef,
uint8_t *  satsInViewCountPtr,
uint8_t *  satsTrackingCountPtr,
uint8_t *  satsUsedCountPtr 
)

Get Satellite Vehicle status per client session.

Returns
  • LE_FAULT Failed to find the positionSample.
  • LE_OUT_OF_RANGE At least one of the retrieved parameters is invalid.
  • LE_OK Succeeded.
Note
In case the function returns LE_OUT_OF_RANGE, some of the retrieved parameters may be valid. Compare them with UINT8_MAX.
If the caller passes an invalid position sample reference to this function, it is a fatal error and the client will be killed.
Parameters
[in]positionSampleRefPosition sample reference.
[out]satsInViewCountPtrNumber of satellites in view.
[out]satsTrackingCountPtrNumber of satellites in view when tracking GNSS.
[out]satsUsedCountPtrNumber of satellites in view used for

◆ taf_locGnss_GetAcquisitionRate()

le_result_t taf_locGnss_GetAcquisitionRate ( uint32_t *  ratePtr)

Get location acquisition rate per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_NOT_PERMITTED The Location service state is not ready.
Note
If the caller passes a null pointer to this function, it is a fatal error and the client will be killed.
Parameters
[out]ratePtrAcquisition rate in milliseconds for GNSS.

◆ taf_locGnss_GetTtff()

le_result_t taf_locGnss_GetTtff ( uint32_t *  ttffPtr)

Gets the TTFF in milliseconds per client session.

Returns
  • LE_BUSY Not fixed position and TTFF cannot be measured.
  • LE_NOT_PERMITTED The Location service state is not enabled or not started.
  • LE_OK Succeeded.
  • LE_FAULT Failed.
Note
In case of cold start and warm start, the aiding data for the GNSS engine is deleted and the TTFF in these cases would be precise. The TTFF accuracy is lower with higher acquisition rate and is the most precise acquisition at 100ms (10Hz).

In case of start and hot start, the TTFF only represents the time between starting or restarting to receive the reports and receiving first fix reports since these APIs do not restart the underlying GNSS engine.

Note
If the caller passes a null pointer to this function, it is a fatal error and the client will be killed.
Parameters
[out]ttffPtrTTFF in milliseconds.

◆ taf_locGnss_GetSatellitesInfo()

le_result_t taf_locGnss_GetSatellitesInfo ( taf_locGnss_SampleRef_t  positionSampleRef,
uint16_t *  satIdPtr,
size_t *  satIdSizePtr,
taf_locGnss_Constellation_t satConstPtr,
size_t *  satConstSizePtr,
bool *  satUsedPtr,
size_t *  satUsedSizePtr,
uint8_t *  satSnrPtr,
size_t *  satSnrSizePtr,
uint16_t *  satAzimPtr,
size_t *  satAzimSizePtr,
uint8_t *  satElevPtr,
size_t *  satElevSizePtr 
)

Gets the satellite's vehicle information per client session. This API provides information about SVs in view.

Returns
  • LE_FAULT Failed in finding the positionSample.
  • LE_OUT_OF_RANGE At least one of the retrieved parameters is invalid.
  • LE_OK Succeeded.
Note
satId[] can be set to 0 if that information list index is not configured, so all satellite parameters (satConst[], satSnr[], satAzim[], satElev[]) are fixed to 0.
For LE_OUT_OF_RANGE returned code, invalid value depends on the field type: UINT16_MAX for satId, TAF_LOCGNSS_SV_CONSTELLATION_UNDEFINED for satConst, false for satUsed, UINT8_MAX for satSnr, UINT16_MAX for satAzim, and UINT8_MAX for satElev.
In case the function returns LE_OUT_OF_RANGE, some of the retrieved parameters may be valid.
If the caller passes an invalid position sample reference to this function, it is a fatal error and the client will be killed.
Parameters
[in]positionSampleRefPosition sample reference.
[out]satIdPtrIDs of satellites in view.
[in,out]satIdSizePtr
[out]satConstPtrGNSS constellation of the SV.
[in,out]satConstSizePtr
[out]satUsedPtrTrue if SV is used for computing position.
[in,out]satUsedSizePtr
[out]satSnrPtrSignal-to-noise ratio.Units in dB-Hz.
[in,out]satSnrSizePtr
[out]satAzimPtrAzimuth; range is 0
[in,out]satAzimSizePtr
[out]satElevPtrElevation; range is 0
[in,out]satElevSizePtr

◆ taf_locGnss_GetTimeAccuracy()

le_result_t taf_locGnss_GetTimeAccuracy ( taf_locGnss_SampleRef_t  positionSampleRef,
uint32_t *  timeAccuracyPtr 
)

Gets the position sample's time accuracy per client session.

Returns
  • LE_FAULT Failed.
  • LE_OUT_OF_RANGE The retrieved time accuracy is invalid.
  • LE_OK Succeeded.
Note
If the caller passes an invalid position sample reference or a null pointer to this function, it is a fatal error and the client will be killed.
Parameters
[in]positionSampleRefPosition sample reference.
[out]timeAccuracyPtrTime accuracy in nanoseconds. For PVT report from SPE

◆ taf_locGnss_GetEpochTime()

le_result_t taf_locGnss_GetEpochTime ( taf_locGnss_SampleRef_t  positionSampleRef,
uint64_t *  millisecondsPtr 
)

Gets the position sample's epoch time per client session.

Returns
  • LE_FAULT Failed to get the epoch time.
  • LE_OK Succeeded.
  • LE_OUT_OF_RANGE The retrieved time is invalid.
Note
The epoch time is the number of seconds elapsed.
If the caller passes an invalid position sample reference or a null pointer to this function, it is a fatal error and the client will be killed.
Parameters
[in]positionSampleRefPosition sample reference.
[out]millisecondsPtrEpoch time in milli seconds since Jan 1, 1970.

◆ taf_locGnss_SetDopResolution()

le_result_t taf_locGnss_SetDopResolution ( taf_locGnss_Resolution_t  resolution)

Sets the resolution for the DOP parameters per client session.

Returns
LE_OK Succeeded.
LE_BAD_PARAMETER Invalid parameter provided.
LE_FAULT Failed.
Note
The function sets the same resolution to all DOP values returned by taf_locGnss_GetDilutionOfPrecision(). The resolution setting takes effect immediately.
The resolution setting is done per client session.
Parameters
[in]resolutionDOP resolution.

◆ taf_locGnss_GetDilutionOfPrecision()

le_result_t taf_locGnss_GetDilutionOfPrecision ( taf_locGnss_SampleRef_t  positionSampleRef,
taf_locGnss_DopType_t  dopType,
uint16_t *  dopPtr 
)

Gets the DOP parameters for the fixed position per client session.

Returns
  • LE_FAULT Failed to find the DOP value.
  • LE_OUT_OF_RANGE The retrieved parameter is invalid (set to UINT16_MAX).
  • LE_OK Succeeded.
Note
The DOP value is given with 3 decimal places by default, i.e., DOP value 2200 = 2.200 The resolution can be modified by calling the taf_locGnss_SetDopResolution() function.
If the caller passes an invalid position sample reference to this function, it is a fatal error and the client will be killed.
Parameters
[in]positionSampleRefPosition sample reference.
[in]dopTypeDOP type.
[out]dopPtrDOP corresponding to the dopType

◆ taf_locGnss_GetLeapSeconds()

le_result_t taf_locGnss_GetLeapSeconds ( uint64_t *  gpsTimePtr,
int32_t *  currentLeapSecondsPtr,
uint64_t *  changeEventTimePtr,
int32_t *  nextLeapSecondsPtr 
)

Gets leap second information per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed to get the data.
Note
Insertion of each UTC leap second is usually decided about six months in advance by the International Earth Rotation and Reference Systems Service (IERS).
If the caller passes a null pointer to this function, it is considered a fatal error and the client will be killed.
If the return value of a parameter is INT32_MAX/UINT64_MAX, the parameter is not valid.
Currently the API is not implemented.
Parameters
[out]gpsTimePtrThe number of milliseconds of GPS time.
[out]currentLeapSecondsPtrCurrent UTC leap seconds value in milliseconds.
[out]changeEventTimePtrThe number of milliseconds.
[out]nextLeapSecondsPtrUTC leap seconds value to be applied in milliseconds.

◆ taf_locGnss_GetGpsTime()

le_result_t taf_locGnss_GetGpsTime ( taf_locGnss_SampleRef_t  positionSampleRef,
uint32_t *  gpsWeekPtr,
uint32_t *  gpsTimeOfWeekPtr 
)

Gets the position sample's GPS time per client session.

Returns
  • LE_FAULT Failed to get the time.
  • LE_OUT_OF_RANGE The retrieved time is invalid.
  • LE_OK Succeeded.
Note
If the caller passes an invalid position sample reference or null pointers to this function, it is a fatal error and the client will be killed.
Parameters
[in]positionSampleRefPosition sample reference.
[out]gpsWeekPtrGPS week number.
[out]gpsTimeOfWeekPtrTime in to the current week in ms.

◆ taf_locGnss_SetAcquisitionRate()

le_result_t taf_locGnss_SetAcquisitionRate ( uint32_t  rate)

Sets the Location service acquisition rate per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_NOT_PERMITTED The Location service state is not ready.
  • LE_OUT_OF_RANGE Acquisition rate value is equal to zero.
Warning
The settings are platform dependent.
Parameters
[in]rateAcquisition rate in milliseconds for GNSS.

◆ taf_locGnss_ForceWarmRestart()

le_result_t taf_locGnss_ForceWarmRestart ( void  )

Performs a warm restart of the Location service per client session.

Returns
  • LE_FAULT Failed.
  • LE_NOT_PERMITTED The Location service state is not enabled or not started.
  • LE_OK Succeeded.
Note
This API has a platform dependent feature.

◆ taf_locGnss_ForceColdRestart()

le_result_t taf_locGnss_ForceColdRestart ( void  )

Performs a cold restart of the Location service per client session.

Returns
  • LE_FAULT Failed.
  • LE_NOT_PERMITTED The Location service state is not enabled or not started.
  • LE_OK Succeeded.

◆ taf_locGnss_ForceFactoryRestart()

le_result_t taf_locGnss_ForceFactoryRestart ( void  )

Performs a factory restart of the Location service.

Returns
  • LE_UNSUPPORTED Not supported on this platform.

◆ taf_locGnss_ForceHotRestart()

le_result_t taf_locGnss_ForceHotRestart ( void  )

Performs a hot restart of the Location service per client session.

Returns
  • LE_FAULT Failed.
  • LE_NOT_PERMITTED The Location service state is not enabled or not started.
  • LE_OK Succeeded.
Note
This API can be used to restart the Location service. It is equivalent calling taf_locGnss_Stop() and taf_locGnss_Start().

◆ taf_locGnss_GetSupportedConstellations()

le_result_t taf_locGnss_GetSupportedConstellations ( taf_locGnss_ConstellationBitMask_t constellationMaskPtr)

Returns a bitmask containing all satellite constellations supported on this platform.

Returns
LE_OK Succeeded.
LE_NOT_PERMITTED The Location service state is not enabled or not started.
LE_FAULT Failed.
Parameters
[out]constellationMaskPtrSupported GNSS constellations.

◆ taf_locGnss_SetMinElevation()

le_result_t taf_locGnss_SetMinElevation ( uint8_t  minElevation)

This API configures the minimum SV elevation angle setting used by the GNSS standard position engine per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_OUT_OF_RANGE The minimum elevation value is above the range[0,90].
  • LE_NOT_PERMITTED The Location service state is not enabled or not started.
Warning
The settings are platform dependent.
Parameters
[in]minElevationMinimum elevation in degrees.

◆ taf_locGnss_StartMode()

le_result_t taf_locGnss_StartMode ( taf_locGnss_StartMode_t  mode)

Starts the Location service in the specified start mode per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_BAD_PARAMETER Invalid start mode.
  • LE_DUPLICATE The Location service is already started.
  • LE_NOT_PERMITTED The Location service state is not enabled or not started.
Warning
The settings are platform dependent.
Parameters
[in]modeStart Mode.

◆ taf_locGnss_GetMinElevation()

le_result_t taf_locGnss_GetMinElevation ( uint8_t *  minElevationPtrPtr)

This API retrieves the minimum SV Elevation configuration used by the modem GNSS standard position engine per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_NOT_PERMITTED The Location service state is not enabled or not started.
Note
If the caller passes n null pointer to this function, it is a fatal error and the client will be killed.
Parameters
[out]minElevationPtrPtrMinimum elevation in degrees; range is 0 to 90.

◆ taf_locGnss_SetNmeaSentences()

le_result_t taf_locGnss_SetNmeaSentences ( taf_locGnss_NmeaBitMask_t  nmeaMask)

Sets the enabled NMEA sentences using a bitmask per client session.

Returns
  • LE_OK Succeeded.
  • LE_BAD_PARAMETER Bitmask value is zero.
  • LE_FAULT Failed.
  • LE_NOT_PERMITTED Location service is not ready.
Warning
This function may be subject to limitations depending on the platform.
Note
Some NMEA sentences are unsupported depending on the platform. Setting an unsuported NMEA sentence will not report an error but we cannot receive the NMEA callback function to fetch the same.
Parameters
[in]nmeaMaskBitmask for enabled NMEA sentence types.

◆ taf_locGnss_GetNmeaSentences()

le_result_t taf_locGnss_GetNmeaSentences ( taf_locGnss_NmeaBitMask_t nmeaMaskPtrPtr)

Gets the bitmask for the enabled NMEA sentences per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_TIMEOUT Timeout occurred.
  • LE_NOT_PERMITTED Location service is not active.
Note
If the caller passes a null pointer to this function, it is a fatal error and the client will be killed.
Some NMEA sentences are unsupported depending on the platform. We cannot receive the NMEA callback function to fetch the unsupported NMEA sentences.So the bitmask won't get for those NMEA sentences.
Parameters
[out]nmeaMaskPtrPtrBitmask for enabled NMEA sentence types.

◆ taf_locGnss_SetDRConfig()

le_result_t taf_locGnss_SetDRConfig ( const taf_locGnss_DrParams_t *LE_NONNULL  drParamsPtrPtr)

Sets the dead reckoning configuration parameters with default mask enabled. By default all DRE parameters mask get enabled while triggering this API. To change the mask taf_locGnss_SetDRConfigValidity() API can be called to set particular DRE parameter mask. The mask gets updated and this API can be called to configure the DRE parameters with the updated mask. This API configures Dead recokining parameters per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_OUT_OF_RANGE Dead reckoning parameters out of range.
  • LE_NOT_PERMITTED Location service is not ready.
Note
If the caller passes a null pointer to this function, it is a fatal error, the client will be killed.
Parameters
[in]drParamsPtrPtrThe structure reference which passes dead reckoning parameters.

◆ taf_locGnss_GetSupportedNmeaSentences()

le_result_t taf_locGnss_GetSupportedNmeaSentences ( taf_locGnss_NmeaBitMask_t nmeaMaskPtrPtr)

Returns a bitmask containing all NMEA sentences supported on this platform per client session.

Returns
  • LE_OK Succeeded.
  • LE_NOT_PERMITTED Location service is not ready.
  • LE_FAULT Failed.
Parameters
[out]nmeaMaskPtrPtrSupported NMEA sentence types.

◆ taf_locGnss_ConfigureEngineState()

le_result_t taf_locGnss_ConfigureEngineState ( taf_locGnss_EngineType_t  engtype,
taf_locGnss_EngineState_t  engState 
)

Sets the engine state for SPE/PPE/DRE/VPE engines per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_NOT_PERMITTED Location service is not ready.
Note
If the caller passes a null pointer to this function, it is a fatal error and the client will be killed.
Parameters
[in]engtypeEngine type.
[in]engStateEngine state.

◆ taf_locGnss_ConfigureRobustLocation()

le_result_t taf_locGnss_ConfigureRobustLocation ( uint8_t  enable,
uint8_t  enabled911 
)

This API enables/disables robust location feature and enables/disables robust location while device is on E911 per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_NOT_PERMITTED Location service is not active.
Note
If the caller passes a null pointer to this function, it is a fatal error and the client will be killed.
Parameters
[in]enableEnable(1) or disable(0).
[in]enabled911Enable(1) or disable for 911 enable/disable.

◆ taf_locGnss_RobustLocationInformation()

le_result_t taf_locGnss_RobustLocationInformation ( uint8_t *  enablePtr,
uint8_t *  enabled911Ptr,
uint8_t *  majorVersionPtr,
uint8_t *  minorVersionPtr 
)

This API retrieves the robust location settings and version information used by the GNSS standard position engine per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_NOT_PERMITTED Location service is not active.
Note
If the caller passes a null pointer to this function, it is a fatal error and the client will be killed.
Parameters
[out]enablePtrEnable(1) or disable(0).
[out]enabled911Ptrenabled911 enable(1) or disable(0).
[out]majorVersionPtrMajor version number.
[out]minorVersionPtrMinor version number.

◆ taf_locGnss_DefaultSecondaryBandConstellations()

le_result_t taf_locGnss_DefaultSecondaryBandConstellations ( void  )

Sets default configuration for secondary bands per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_NOT_PERMITTED Location service is not ready.
Note
If the caller passes a null pointer to this function, it is a fatal error and the client will be killed.

◆ taf_locGnss_RequestSecondaryBandConstellations()

le_result_t taf_locGnss_RequestSecondaryBandConstellations ( uint32_t *  constellationSbPtr)

Gets the (enabled) secondary band GNSS constellation types per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_NOT_PERMITTED Location service is not ready.
Note
If the caller passes a null pointer to this function, it is a fatal error and the client will be killed.
Parameters
[out]constellationSbPtrBitmask to get enabled secondary band constellations. SBConstellation

◆ taf_locGnss_ConfigureSecondaryBandConstellations()

le_result_t taf_locGnss_ConfigureSecondaryBandConstellations ( uint32_t  constellationSb)

Disables the given secondary band GNSS constellation types per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_NOT_PERMITTED Location service is not ready.
Note
If the caller passes a null pointer to this function, it is a fatal error and the client will be killed.
Parameters
[in]constellationSbBitmask of secondary band constellations to disable. SBConstellation

◆ taf_locGnss_GetMagneticDeviation()

le_result_t taf_locGnss_GetMagneticDeviation ( taf_locGnss_SampleRef_t  positionSampleRef,
int32_t *  magneticDeviationPtrPtr 
)

Gets the position sample's magnetic deviation per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_NOT_PERMITTED The Location service is not in the Active state.
Note
If the caller passes a null pointer to this function, it is a fatal error and the client will be killed.
Parameters
[in]positionSampleRefPosition sample reference.
[out]magneticDeviationPtrPtrMagneticDeviation in degrees. It is the difference between

◆ taf_locGnss_GetEllipticalUncertainty()

le_result_t taf_locGnss_GetEllipticalUncertainty ( taf_locGnss_SampleRef_t  positionSampleRef,
uint32_t *  horUncEllipseSemiMajorPtrPtr,
uint32_t *  horUncEllipseSemiMinorPtrPtr,
uint8_t *  horConfidencePtrPtr 
)

Gets the semi-major and semi-minor horizontal elliptical uncertainty per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_NOT_PERMITTED The Location service is not in the Active state.
Note
If the caller passes a null pointer to this function, it is a fatal error and the client will be killed.
Parameters
[in]positionSampleRefPosition sample reference.
[out]horUncEllipseSemiMajorPtrPtrHorizontal semi-major elliptical uncertainty. It is
[out]horUncEllipseSemiMinorPtrPtrHorizontal semi-minor elliptical uncertainty. It is
[out]horConfidencePtrPtrHorizontal confidence level. It is defined with 39% confidence level.

◆ taf_locGnss_SetLeverArmConfig()

le_result_t taf_locGnss_SetLeverArmConfig ( const taf_locGnss_LeverArmParams_t *LE_NONNULL  LeverArmParamsPtrPtr)

Sets the Lever Arm configuration Parameters per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_BAD_PARAMETER Invalid lever arm parameter provided.
  • LE_NOT_PERMITTED The Location service is not in the ready state.
Note
If the caller passes a null pointer to this function, it is a fatal error and the client will be killed.
Parameters
[in]LeverArmParamsPtrPtrThe structure reference for lever arm parameters.

◆ taf_locGnss_SetEngineType()

le_result_t taf_locGnss_SetEngineType ( taf_locGnss_EngineReportsType_t  EngineType)

Set the engine type for source of location data per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_BAD_PARAMETER Invalid engine type parameter provided.
  • LE_NOT_PERMITTED The Location service is not in the ready state.
Note
If the caller passes a null pointer to this function, it is a fatal error and the client will be killed.
Parameters
[in]EngineTypeEngine type.

◆ taf_locGnss_GetConformityIndex()

le_result_t taf_locGnss_GetConformityIndex ( taf_locGnss_SampleRef_t  positionSampleRef,
double *  indexPtr 
)

Gets the conformity index per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_OUT_OF_RANGE If the retrieved parameter is invalid.
Note
When robust location is enabled, comformity index will be returned.
If the caller passes a null pointer to this function, it is a fatal error and the client will be killed.
Parameters
[in]positionSampleRefPosition sample reference.
[out]indexPtrConformity index. When robust location is enabled, this field

◆ taf_locGnss_GetCalibrationData()

le_result_t taf_locGnss_GetCalibrationData ( taf_locGnss_SampleRef_t  positionSampleRef,
uint32_t *  calibPtrPtr,
uint8_t *  percentPtrPtr 
)

Gets the sensor calibration status and confidence percentage per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_OUT_OF_RANGE If the retrieved parameter is invalid.
Note
If the caller passes a null pointer to this function, it is a fatal error and the client will be killed.
Parameters
[in]positionSampleRefPosition sample reference.
[out]calibPtrPtrCalibration status.
[out]percentPtrPtrConfidence percentage.

◆ taf_locGnss_GetBodyFrameData()

le_result_t taf_locGnss_GetBodyFrameData ( taf_locGnss_SampleRef_t  positionSampleRef,
taf_locGnss_KinematicsData_t bodyDataPtrPtr 
)

Gets the body frame data per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_OUT_OF_RANGE If the retrieved parameter is invalid.
Note
If the caller passes a null pointer to this function, it is a fatal error and the client will be killed.
Parameters
[in]positionSampleRefPosition sample reference.
[out]bodyDataPtrPtrBody data reference.

◆ taf_locGnss_GetVRPBasedLLA()

le_result_t taf_locGnss_GetVRPBasedLLA ( taf_locGnss_SampleRef_t  positionSampleRef,
double *  vrpLatitudePtrPtr,
double *  vrpLongitudePtrPtr,
double *  vrpAltitudePtrPtr 
)

Gets vehicle reference point based latitude, longitude, and altitude information per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_OUT_OF_RANGE If the retrieved parameter is invalid.
Note
If the caller passes a null pointer to this function, it is a fatal error and the client will be killed.
Parameters
[in]positionSampleRefPosition sample reference.
[out]vrpLatitudePtrPtrVRP based Latitude, in unit of degrees,
[out]vrpLongitudePtrPtrVRP based Longitude,in unit of degrees,
[out]vrpAltitudePtrPtrVRP based altitude above the WGS 84

◆ taf_locGnss_GetVRPBasedVelocity()

le_result_t taf_locGnss_GetVRPBasedVelocity ( taf_locGnss_SampleRef_t  positionSampleRef,
double *  eastVelPtrPtr,
double *  northVelPtrPtr,
double *  upVelPtrPtr 
)

Gets vehicle reference point based east, north, and up velocity information per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_OUT_OF_RANGE If the retrieved parameter is invalid.
Note
If the caller passes a null pointer to this function, it is a fatal error and the client will be killed.
Parameters
[in]positionSampleRefPosition sample reference.
[out]eastVelPtrPtrEast velocity in meter/sec.
[out]northVelPtrPtrNorth velocity in meter/sec.
[out]upVelPtrPtrUp velocity in meter/sec.

◆ taf_locGnss_GetSvUsedInPosition()

le_result_t taf_locGnss_GetSvUsedInPosition ( taf_locGnss_SampleRef_t  positionSampleRef,
taf_locGnss_SvUsedInPosition_t svDataPtrPtr 
)

Gets the set of satellite vehicles that are used to calculate position per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_OUT_OF_RANGE If the retrieved parameter is invalid.
Note
If the caller passes a null pointer to this function, it is a fatal error and the client will be killed.
Parameters
[in]positionSampleRefPosition sample reference.
[out]svDataPtrPtrSV data reference.

◆ taf_locGnss_GetSbasCorrection()

le_result_t taf_locGnss_GetSbasCorrection ( taf_locGnss_SampleRef_t  positionSampleRef,
uint32_t *  sbasMaskPtrPtr 
)

Gets navigation solution mask used to indicate SBAS corrections per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_OUT_OF_RANGE If the retrieved parameter is invalid.
Note
If the caller passes a null pointer to this function, it is a fatal error and the client will be killed.
Parameters
[in]positionSampleRefPosition sample reference.
[out]sbasMaskPtrPtrSBAS bit mask taf_locGnss_SbasBitMask.

◆ taf_locGnss_GetPositionTechnology()

le_result_t taf_locGnss_GetPositionTechnology ( taf_locGnss_SampleRef_t  positionSampleRef,
uint32_t *  techMaskPtrPtr 
)

Gets position technology mask to indicate which technology is used per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_OUT_OF_RANGE If the retrieved parameter is invalid.
Note
If the caller passes a null pointer to this function, it is a fatal error and the client will be killed.
Parameters
[in]positionSampleRefPosition sample reference.
[out]techMaskPtrPtrTechnology mask taf_locGnss_LocationTechnologyType.

◆ taf_locGnss_GetLocationInfoValidity()

le_result_t taf_locGnss_GetLocationInfoValidity ( taf_locGnss_SampleRef_t  positionSampleRef,
uint32_t *  validityMaskPtrPtr,
uint64_t *  validityExMaskPtrPtr 
)

Gets the validity of the location information per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_OUT_OF_RANGE If the retrieved parameter is invalid.
Note
If the caller passes a null pointer to this function, it is a fatal error and the client will be killed.
Parameters
[in]positionSampleRefPosition sample reference.
[out]validityMaskPtrPtrValidity bit mask. LocationInfoValidity
[out]validityExMaskPtrPtrValidity ex bit mask. LocationInfoExValidity

◆ taf_locGnss_GetLocationOutputEngParams()

le_result_t taf_locGnss_GetLocationOutputEngParams ( taf_locGnss_SampleRef_t  positionSampleRef,
uint16_t *  engMaskPtrPtr,
uint16_t *  engTypePtrPtr 
)

Gets the the combination of position engines and location engine type used in calculating the position report per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_OUT_OF_RANGE If the retrieved parameter is invalid.
Note
If the caller passes a null pointer to this function, it is a fatal error and the client will be killed.
Parameters
[in]positionSampleRefPosition sample reference.
[out]engMaskPtrPtrEngine type bit mask. EngineMask
[out]engTypePtrPtrLocation engine type. LocationAggregationType

◆ taf_locGnss_GetReliabilityInformation()

le_result_t taf_locGnss_GetReliabilityInformation ( taf_locGnss_SampleRef_t  positionSampleRef,
uint16_t *  horiReliabilityPtrPtr,
uint16_t *  vertReliabilityPtrPtr 
)

Gets the reliability of the horizontal and vertical positions per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_OUT_OF_RANGE If the retrieved parameter is invalid.
Note
If the caller passes a null pointer to this function, it is a fatal error and the client will be killed.
Parameters
[in]positionSampleRefPosition sample reference.
[out]horiReliabilityPtrPtrHorizontal reliability. LocationReliability
[out]vertReliabilityPtrPtrVertical reliability. LocationReliability

◆ taf_locGnss_GetStdDeviationAzimuthInfo()

le_result_t taf_locGnss_GetStdDeviationAzimuthInfo ( taf_locGnss_SampleRef_t  positionSampleRef,
double *  azimuthPtrPtr,
double *  eastDevPtrPtr,
double *  northDevPtrPtr 
)

Gets the elliptical horizontal uncertainty azimuth of orientation, east and north standard deviations per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_OUT_OF_RANGE If the retrieved parameter is invalid.
Note
If the caller passes a null pointer to this function, it is a fatal error and the client will be killed.
Parameters
[in]positionSampleRefPosition sample reference.
[out]azimuthPtrPtrRetrieves elliptical horizontal uncertainty azimuth of orientation.
[out]eastDevPtrPtrEast standard deviation.
[out]northDevPtrPtrNorth standard deviation.

◆ taf_locGnss_GetRealTimeInformation()

le_result_t taf_locGnss_GetRealTimeInformation ( taf_locGnss_SampleRef_t  positionSampleRef,
uint64_t *  realTimePtrPtr,
uint64_t *  realTimeUncPtrPtr 
)

Gets the elapsed real time and its uncertainity values in nano-second per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_OUT_OF_RANGE If the retrieved parameter is invalid.
Note
If the caller passes a null pointer to this function, it is a fatal error and the client will be killed.
Parameters
[in]positionSampleRefPosition sample reference.
[out]realTimePtrPtrElapsed real time in nano-second.
[out]realTimeUncPtrPtrElapsed real time uncertainty in nano-second.

◆ taf_locGnss_GetMeasurementUsageInfo()

le_result_t taf_locGnss_GetMeasurementUsageInfo ( taf_locGnss_SampleRef_t  positionSampleRef,
taf_locGnss_GnssMeasurementInfo_t measInfoPtrPtr,
size_t *  measInfoPtrSizePtr 
)

Gets the information about GNSS measurement usages per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_BAD_PARAMETER The given positionSampleRef is invalid.
  • LE_OUT_OF_RANGE The retrieved parameter is invalid.
  • LE_NO_MEMORY The array length of measInfoPtr is zero.
  • LE_OVERFLOW The array length of measInfoPtr is greater than MEASUREMENT_INFO_MAX.
Note
If the caller passes a null pointer to this function, it is a fatal error and the client will be killed.
Parameters
[in]positionSampleRefPosition sample reference.
[out]measInfoPtrPtrGNSS measurement information.
[in,out]measInfoPtrSizePtr

◆ taf_locGnss_GetReportStatus()

le_result_t taf_locGnss_GetReportStatus ( taf_locGnss_SampleRef_t  positionSampleRef,
int32_t *  reportStatusPtr 
)

Gets the status of report in terms of how optimally the report was calculated by the engine per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_BAD_PARAMETER The given positionSampleRef is invalid.
  • LE_NO_MEMORY The reportStatus is invalid.
Note
If the caller passes a null pointer to this function, it is a fatal error and the client will be killed.
Parameters
[in]positionSampleRefPosition sample reference.
[out]reportStatusPtrEngine type bit mask taf_locGnss_ReportStatus.

◆ taf_locGnss_GetAltitudeMeanSeaLevel()

le_result_t taf_locGnss_GetAltitudeMeanSeaLevel ( taf_locGnss_SampleRef_t  positionSampleRef,
double *  altMeanSeaLevelPtr 
)

Gets the altitude with respect to mean sea level per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_BAD_PARAMETER The positionSampleRef is invalid.
  • LE_NO_MEMORY The altMeanSeaLevel is invalid.
Note
If the caller passes a null pointer to this function, it is a fatal error and the client will be killed.
Parameters
[in]positionSampleRefPosition sample reference.
[out]altMeanSeaLevelPtrAltitude Mean Sea Level in meters.

◆ taf_locGnss_GetSVIds()

le_result_t taf_locGnss_GetSVIds ( taf_locGnss_SampleRef_t  positionSampleRef,
uint16_t *  sVIdsPtrPtr,
size_t *  sVIdsPtrSizePtr 
)

Gets the GNSS Satellite Vehicles used in position data per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_BAD_PARAMETER The positionSampleRef is invalid.
  • LE_OUT_OF_RANGE The retrieved parameter is invalid.
  • LE_NO_MEMORY The array length of sVIdsPtr is zero.
  • LE_OVERFLOW The array length of sVIdsPtr is greater than MEASUREMENT_INFO_MAX.
Note
If the caller passes a null pointer to this function, it is a fatal error and the client will be killed.
Parameters
[in]positionSampleRefPosition sample reference.
[out]sVIdsPtrPtrIDs of GNSS Satellite Vehicles.
[in,out]sVIdsPtrSizePtr

◆ taf_locGnss_GetSatellitesInfoEx()

le_result_t taf_locGnss_GetSatellitesInfoEx ( taf_locGnss_SampleRef_t  positionSampleRef,
taf_locGnss_Constellation_t  constellation,
taf_locGnss_SvInfo_t svInfoPtr,
size_t *  svInfoSizePtr 
)

Gets the satellite's vehicle information of a given constellation per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_BAD_PARAMETER The positionSampleRef is invalid.
  • LE_OUT_OF_RANGE The retrieved parameter is invalid.
  • LE_NO_MEMORY The array length of svInfo is zero.
  • LE_OVERFLOW The array length of svInfo is less than available SV of a constellation.
Note
If the caller passes an invalid position sample reference to this function, it is a fatal error and the client will be killed.
Parameters
[in]positionSampleRefPosition sample reference.
[in]constellationConstellation for which SVInfo is asked.
[out]svInfoPtrSatellite Vehicle information.
[in,out]svInfoSizePtr

◆ taf_locGnss_SetMinGpsWeek()

le_result_t taf_locGnss_SetMinGpsWeek ( uint16_t  minGpsWeek)

Sets the minimum GPS week used by the modem GNSS standard position engine (SPE) per client session. This API shall not be called when GNSS state is ACTIVE. Behavior is not defined if client issues a second request of SetMinGpsWeek without waiting for the previous SetMinGpsWeek to finish. Additionally minimum GPS week number shall NEVER be in the future of the current GPS Week.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_NOT_PERMITTED The Location service state is not ready.
Parameters
[in]minGpsWeekThe minimum GPS week to be used by modem GNSS engine.

◆ taf_locGnss_GetMinGpsWeek()

le_result_t taf_locGnss_GetMinGpsWeek ( uint16_t *  minGpsWeekPtrPtr)

Gets the minimum GPS week configuration used by the modem GNSS standard position engine (SPE) per client session. If this API is called right after SetMinGpsWeek, the returned setting may not match the one specified in SetMinGpsWeek, as the setting configured via SetMinGpsWeek can not be applied to the GNSS standard position engine(SPE) when the engine is in middle of a session. In poor GPS signal condition, the session may take up to 255 seconds to finish. If after 255 seconds of invoking SetMinGpsWeek, the returned value still does not match, then the caller need to reapply the setting by invoking SetMinGpsWeek again.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_NO_MEMORY The minGpsWeekPtr is NULL.
  • LE_NOT_PERMITTED The Location service state is not ready.
Parameters
[out]minGpsWeekPtrPtrMinimum GPS week used by modem GNSS engine.

◆ taf_locGnss_GetCapabilities()

le_result_t taf_locGnss_GetCapabilities ( uint64_t *  locCapabilityPtrPtr)

Gets the GNSS capability information per client session. To know capability bit mask LocCapabilityType.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
Parameters
[out]locCapabilityPtrPtrThe GNSS capability information.

◆ taf_locGnss_SetNmeaConfiguration()

le_result_t taf_locGnss_SetNmeaConfiguration ( taf_locGnss_NmeaBitMask_t  nmeaMask,
taf_locGnss_GeodeticDatumType_t  datumType,
taf_locGnss_LocEngineType_t  engineType 
)

Configures the required NMEA sentences per client session. Without prior invocation to this API, all NMEA sentences supported in the system will get generated and delivered to all the clients that register to receive NMEA sentences. The NMEA sentence type configuration is common across all clients and it will affect all clients.

Returns
  • LE_OK Succeeded.
  • LE_BAD_PARAMETER the nmeaMask is zero.
  • LE_FAULT Failed.
  • LE_NOT_PERMITTED Location service is not ready.
Warning
This function may be subject to limitations depending on the platform.
Note
This API call is not incremental and the new NMEA configuration will completely overwrite the previous call to this API.

LE_GNSS_NMEA_MASK_PQXFI is deprecated; LE_GNSS_NMEA_MASK_PTYPE should be used instead.

Parameters
[in]nmeaMaskBitmask for enabled NMEA sentence types.
[in]datumTypeSpecify the datum type to be configured.
[in]engineTypeSpecify the Engine type for which Nmea sentences

◆ taf_locGnss_GetXtraStatus()

le_result_t taf_locGnss_GetXtraStatus ( taf_locGnss_XtraStatusParams_t xtraParamsPtr)

Gets the XTRA status per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_NOT_PERMITTED Location service is not ready.
Parameters
[out]xtraParamsPtrSpecify XTRA assistant data's current status,

◆ taf_locGnss_GetGnssData()

le_result_t taf_locGnss_GetGnssData ( taf_locGnss_SampleRef_t  positionSampleRef,
taf_locGnss_GnssData_t gnssDataPtrPtr,
size_t *  gnssDataPtrSizePtr 
)

Gets GNSS data for data mask, jammer indication, and automatic gain control per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_NO_MEMORY The gnssDataPtr is NULL.
Parameters
[in]positionSampleRefPosition sample reference
[out]gnssDataPtrPtrGNSS data in Jammer indication and AGC.
[in,out]gnssDataPtrSizePtr

◆ taf_locGnss_SetDRConfigValidity()

le_result_t taf_locGnss_SetDRConfigValidity ( taf_locGnss_DRConfigValidityType_t  validMask)

Sets the dead reckoning parameters validity mask per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
  • LE_NOT_PERMITTED Location service is not ready.
Parameters
[in]validMaskValidity mask for dead reckoning parameters.

◆ taf_locGnss_GetGptpTime()

le_result_t taf_locGnss_GetGptpTime ( taf_locGnss_SampleRef_t  positionSampleRef,
uint64_t *  gPtpTimePtr,
uint64_t *  gPtpTimeUncPtr 
)

Gets Gptp time and its uncertainty per client session.

Returns
  • LE_OK Succeeded.
  • LE_FAULT Failed.
Note
If the caller passes a null pointer to this function, it is a fatal error and the client will be killed.
Parameters
[in]positionSampleRefPosition sample reference.
[out]gPtpTimePtrGptp time stamp in nanoseconds.
[out]gPtpTimeUncPtrGptp time stamp uncertainty in nanoseconds.