le_gnss_interface.h File Reference

#include "legato.h"
#include "le_gnss_common.h"

Go to the source code of this file.

Typedefs

typedef void(* le_gnss_DisconnectHandler_t) (void *)
 

Functions

void le_gnss_ConnectService (void)
 
le_result_t le_gnss_TryConnectService (void)
 
LE_FULL_API void le_gnss_SetServerDisconnectHandler (le_gnss_DisconnectHandler_t disconnectHandler, void *contextPtr)
 
void le_gnss_DisconnectService (void)
 
le_result_t le_gnss_SetConstellation (le_gnss_ConstellationBitMask_t constellationMask)
 
le_result_t le_gnss_GetConstellation (le_gnss_ConstellationBitMask_t *constellationMaskPtr)
 
le_result_t le_gnss_SetConstellationArea (le_gnss_Constellation_t satConstellation, le_gnss_ConstellationArea_t constellationArea)
 
le_result_t le_gnss_GetConstellationArea (le_gnss_Constellation_t satConstellation, le_gnss_ConstellationArea_t *constellationAreaPtr)
 
le_result_t le_gnss_EnableExtendedEphemerisFile (void)
 
le_result_t le_gnss_DisableExtendedEphemerisFile (void)
 
le_result_t le_gnss_LoadExtendedEphemerisFile (int fd)
 
le_result_t le_gnss_GetExtendedEphemerisValidity (uint64_t *startTimePtr, uint64_t *stopTimePtr)
 
le_result_t le_gnss_InjectUtcTime (uint64_t timeUtc, uint32_t timeUnc)
 
le_result_t le_gnss_Start (void)
 
le_result_t le_gnss_StartMode (le_gnss_StartMode_t mode)
 
le_result_t le_gnss_Stop (void)
 
le_result_t le_gnss_ForceHotRestart (void)
 
le_result_t le_gnss_ForceWarmRestart (void)
 
le_result_t le_gnss_ForceColdRestart (void)
 
le_result_t le_gnss_ForceFactoryRestart (void)
 
le_result_t le_gnss_GetTtff (uint32_t *ttffPtr)
 
le_result_t le_gnss_Enable (void)
 
le_result_t le_gnss_Disable (void)
 
le_result_t le_gnss_SetAcquisitionRate (uint32_t rate)
 
le_result_t le_gnss_GetAcquisitionRate (uint32_t *ratePtr)
 
le_gnss_PositionHandlerRef_t le_gnss_AddPositionHandler (le_gnss_PositionHandlerFunc_t handlerPtr, void *contextPtr)
 
void le_gnss_RemovePositionHandler (le_gnss_PositionHandlerRef_t handlerRef)
 
le_result_t le_gnss_GetPositionState (le_gnss_SampleRef_t positionSampleRef, le_gnss_FixState_t *statePtr)
 
le_result_t le_gnss_GetLocation (le_gnss_SampleRef_t positionSampleRef, int32_t *latitudePtr, int32_t *longitudePtr, int32_t *hAccuracyPtr)
 
le_result_t le_gnss_GetEllipticalUncertainty (le_gnss_SampleRef_t positionSampleRef, uint32_t *horUncEllipseSemiMajorPtr, uint32_t *horUncEllipseSemiMinorPtr, uint8_t *horConfidencePtr)
 
le_result_t le_gnss_GetAltitude (le_gnss_SampleRef_t positionSampleRef, int32_t *altitudePtr, int32_t *vAccuracyPtr)
 
le_result_t le_gnss_GetTime (le_gnss_SampleRef_t positionSampleRef, uint16_t *hoursPtr, uint16_t *minutesPtr, uint16_t *secondsPtr, uint16_t *millisecondsPtr)
 
le_result_t le_gnss_GetGpsTime (le_gnss_SampleRef_t positionSampleRef, uint32_t *gpsWeekPtr, uint32_t *gpsTimeOfWeekPtr)
 
le_result_t le_gnss_GetEpochTime (le_gnss_SampleRef_t positionSampleRef, uint64_t *millisecondsPtr)
 
le_result_t le_gnss_GetTimeAccuracy (le_gnss_SampleRef_t positionSampleRef, uint32_t *timeAccuracyPtr)
 
le_result_t le_gnss_GetGpsLeapSeconds (le_gnss_SampleRef_t positionSampleRef, uint8_t *leapSecondsPtr)
 
le_result_t le_gnss_GetLeapSeconds (uint64_t *gpsTimePtr, int32_t *currentLeapSecondsPtr, uint64_t *changeEventTimePtr, int32_t *nextLeapSecondsPtr)
 
le_result_t le_gnss_GetDate (le_gnss_SampleRef_t positionSampleRef, uint16_t *yearPtr, uint16_t *monthPtr, uint16_t *dayPtr)
 
le_result_t le_gnss_GetHorizontalSpeed (le_gnss_SampleRef_t positionSampleRef, uint32_t *hspeedPtr, uint32_t *hspeedAccuracyPtr)
 
le_result_t le_gnss_GetVerticalSpeed (le_gnss_SampleRef_t positionSampleRef, int32_t *vspeedPtr, int32_t *vspeedAccuracyPtr)
 
le_result_t le_gnss_GetDirection (le_gnss_SampleRef_t positionSampleRef, uint32_t *directionPtr, uint32_t *directionAccuracyPtr)
 
le_result_t le_gnss_GetSatellitesInfo (le_gnss_SampleRef_t positionSampleRef, uint16_t *satIdPtr, size_t *satIdSizePtr, le_gnss_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_gnss_SbasConstellationCategory_t le_gnss_GetSbasConstellationCategory (uint16_t satId)
 
le_result_t le_gnss_GetSatellitesStatus (le_gnss_SampleRef_t positionSampleRef, uint8_t *satsInViewCountPtr, uint8_t *satsTrackingCountPtr, uint8_t *satsUsedCountPtr)
 
le_result_t le_gnss_GetDop (le_gnss_SampleRef_t positionSampleRef, uint16_t *hdopPtr, uint16_t *vdopPtr, uint16_t *pdopPtr)
 
le_result_t le_gnss_GetDilutionOfPrecision (le_gnss_SampleRef_t positionSampleRef, le_gnss_DopType_t dopType, uint16_t *dopPtr)
 
le_result_t le_gnss_GetAltitudeOnWgs84 (le_gnss_SampleRef_t positionSampleRef, int32_t *altitudeOnWgs84Ptr)
 
le_result_t le_gnss_GetMagneticDeviation (le_gnss_SampleRef_t positionSampleRef, int32_t *magneticDeviationPtr)
 
le_gnss_SampleRef_t le_gnss_GetLastSampleRef (void)
 
void le_gnss_ReleaseSampleRef (le_gnss_SampleRef_t positionSampleRef)
 
le_result_t le_gnss_SetSuplAssistedMode (le_gnss_AssistedMode_t assistedMode)
 
le_result_t le_gnss_GetSuplAssistedMode (le_gnss_AssistedMode_t *assistedModePtr)
 
le_result_t le_gnss_SetSuplServerUrl (const char *LE_NONNULL suplServerUrl)
 
le_result_t le_gnss_InjectSuplCertificate (uint8_t suplCertificateId, uint16_t suplCertificateLen, const char *LE_NONNULL suplCertificate)
 
le_result_t le_gnss_DeleteSuplCertificate (uint8_t suplCertificateId)
 
le_result_t le_gnss_SetNmeaSentences (le_gnss_NmeaBitMask_t nmeaMask)
 
le_result_t le_gnss_GetNmeaSentences (le_gnss_NmeaBitMask_t *nmeaMaskPtrPtr)
 
le_gnss_State_t le_gnss_GetState (void)
 
le_result_t le_gnss_SetMinElevation (uint8_t minElevation)
 
le_result_t le_gnss_GetMinElevation (uint8_t *minElevationPtrPtr)
 
le_result_t le_gnss_SetDopResolution (le_gnss_Resolution_t resolution)
 
le_result_t le_gnss_SetDataResolution (le_gnss_DataType_t dataType, le_gnss_Resolution_t resolution)
 
le_result_t le_gnss_ConvertDataCoordinateSystem (le_gnss_CoordinateSystem_t coordinateSrc, le_gnss_CoordinateSystem_t coordinateDst, le_gnss_LocationDataType_t locationDataType, int64_t locationDataSrc, int64_t *locationDataDstPtr)
 
le_result_t le_gnss_EnableExternalLna (void)
 
le_result_t le_gnss_DisableExternalLna (void)
 
le_result_t le_gnss_GetSupportedNmeaSentences (le_gnss_NmeaBitMask_t *NmeaMaskPtr)
 
le_result_t le_gnss_GetSupportedConstellations (le_gnss_ConstellationBitMask_t *constellationMaskPtr)
 
le_result_t le_gnss_GetMinNmeaRate (uint32_t *minNmeaRatePtr)
 
le_result_t le_gnss_GetMaxNmeaRate (uint32_t *maxNmeaRatePtr)
 

Detailed Description

Legato GNSS include file.

Typedef Documentation

◆ le_gnss_DisconnectHandler_t

typedef void(* le_gnss_DisconnectHandler_t) (void *)

Type for handler called when a server disconnects.

Function Documentation

◆ le_gnss_AddPositionHandler()

le_gnss_PositionHandlerRef_t le_gnss_AddPositionHandler ( le_gnss_PositionHandlerFunc_t  handlerPtr,
void *  contextPtr 
)

Add handler function for EVENT 'le_gnss_Position'

This event provides information on position.

  • A handler reference, which is only needed for later removal of the handler.
Note
Doesn't return on failure, so there's no need to check the return value for errors.
Parameters
[in]handlerPtr
[in]contextPtr

◆ le_gnss_ConnectService()

void le_gnss_ConnectService ( void  )

Connect the current client thread to the service providing this API. Block until the service is available.

For each thread that wants to use this API, either ConnectService or TryConnectService must be called before any other functions in this API. Normally, ConnectService is automatically called for the main thread, but not for any other thread. For details, see Client-specific Functions.

This function is created automatically.

◆ le_gnss_ConvertDataCoordinateSystem()

le_result_t le_gnss_ConvertDataCoordinateSystem ( le_gnss_CoordinateSystem_t  coordinateSrc,
le_gnss_CoordinateSystem_t  coordinateDst,
le_gnss_LocationDataType_t  locationDataType,
int64_t  locationDataSrc,
int64_t *  locationDataDstPtr 
)

This function converts a location data parameter from/to multi-coordinate system

Returns
  • LE_OK on success
  • LE_FAULT on failure
  • LE_BAD_PARAMETER Invalid parameter provided.
  • LE_UNSUPPORTED request not supported
Note
The resolution of location data parameter remains unchanged after the conversion.
Parameters
[in]coordinateSrcCoordinate system to convert from.
[in]coordinateDstCoordinate system to convert to.
[in]locationDataTypeType of location data to convert.
[in]locationDataSrcData to convert.
[out]locationDataDstPtrConverted Data.

◆ le_gnss_DeleteSuplCertificate()

le_result_t le_gnss_DeleteSuplCertificate ( uint8_t  suplCertificateId)

This function deletes the SUPL certificate.

Returns
  • LE_OK on success
  • LE_BAD_PARAMETER on invalid parameter
  • LE_FAULT on failure
  • LE_BUSY service is busy
  • LE_TIMEOUT a time-out occurred
Parameters
[in]suplCertificateIdID of the SUPL certificate. Certificate ID range is 0 to 9

◆ le_gnss_Disable()

le_result_t le_gnss_Disable ( void  )

This function disables the GNSS device.

Returns
  • LE_FAULT The function failed.
  • LE_DUPLICATE If the GNSS device is already disabled.
  • LE_NOT_PERMITTED If the GNSS device is not initialized or started.
  • LE_OK The function succeeded.
Warning
The settings are platform dependent. Please refer to Setting configuration section for full details.

◆ le_gnss_DisableExtendedEphemerisFile()

le_result_t le_gnss_DisableExtendedEphemerisFile ( void  )

This function disables the use of the 'Extended Ephemeris' file into the GNSS device.

Returns
  • LE_FAULT The function failed.
  • LE_OK The function succeeded.
Warning
The settings are platform dependent. Please refer to Setting configuration section for full details.

◆ le_gnss_DisableExternalLna()

le_result_t le_gnss_DisableExternalLna ( void  )

Disables the EXT_GPS_LNA_EN signal

Returns
LE_OK Function succeeded.
LE_NOT_PERMITTED GNSS is not in the ready state
LE_UNSUPPORTED Function not supported on this platform

◆ le_gnss_DisconnectService()

void le_gnss_DisconnectService ( void  )

Disconnect the current client thread from the service providing this API.

Normally, this function doesn't need to be called. After this function is called, there's no longer a connection to the service, and the functions in this API can't be used. For details, see Client-specific Functions.

This function is created automatically.

◆ le_gnss_Enable()

le_result_t le_gnss_Enable ( void  )

This function enables the GNSS device.

Returns
  • LE_FAULT The function failed.
  • LE_DUPLICATE If the GNSS device is already enabled.
  • LE_NOT_PERMITTED If the GNSS device is not initialized.
  • LE_OK The function succeeded.
Warning
The settings are platform dependent. Please refer to Setting configuration section for full details.

◆ le_gnss_EnableExtendedEphemerisFile()

le_result_t le_gnss_EnableExtendedEphemerisFile ( void  )

This function enables the use of the 'Extended Ephemeris' file into the GNSS device.

Returns
  • LE_FAULT The function failed.
  • LE_OK The function succeeded.
Warning
The settings are platform dependent. Please refer to Setting configuration section for full details.

◆ le_gnss_EnableExternalLna()

le_result_t le_gnss_EnableExternalLna ( void  )

Enables the EXT_GPS_LNA_EN signal

Returns
LE_OK Function succeeded.
LE_NOT_PERMITTED GNSS is not in the ready state
LE_UNSUPPORTED Function not supported on this platform
Note
The EXT_GPS_LNA_EN signal will be set high when the GNSS state is active

◆ le_gnss_ForceColdRestart()

le_result_t le_gnss_ForceColdRestart ( void  )

This function performs a "COLD" restart of the GNSS device.

Returns
  • LE_FAULT The function failed.
  • LE_NOT_PERMITTED If the GNSS device is not enabled or not started.
  • LE_OK The function succeeded.

◆ le_gnss_ForceFactoryRestart()

le_result_t le_gnss_ForceFactoryRestart ( void  )

This function performs a "FACTORY" restart of the GNSS device.

Returns
  • LE_FAULT The function failed.
  • LE_NOT_PERMITTED If the GNSS device is not enabled or not started.
  • LE_OK The function succeeded.

◆ le_gnss_ForceHotRestart()

le_result_t le_gnss_ForceHotRestart ( void  )

This function performs a "HOT" restart of the GNSS device.

Returns
  • LE_FAULT The function failed.
  • LE_NOT_PERMITTED If the GNSS device is not enabled or not started.
  • LE_OK The function succeeded.

This API can be used to restart the GNSS device. It is equivalent calling le_gnss_Stop() and le_gnss_Start().

◆ le_gnss_ForceWarmRestart()

le_result_t le_gnss_ForceWarmRestart ( void  )

This function performs a "WARM" restart of the GNSS device.

Returns
  • LE_FAULT The function failed.
  • LE_NOT_PERMITTED If the GNSS device is not enabled or not started.
  • LE_OK The function succeeded.

This API has a platform dependent feature. Please refer to GNSS WARM restart for further details.

◆ le_gnss_GetAcquisitionRate()

le_result_t le_gnss_GetAcquisitionRate ( uint32_t *  ratePtr)

This function gets the GNSS device acquisition rate.

Returns
  • LE_OK on success
  • LE_FAULT on failure
  • LE_NOT_PERMITTED If the GNSS device is not in "ready" state.
Note
If the caller is passing a null pointer into this function, it is a fatal error, the function will not return.
Parameters
[out]ratePtrAcquisition rate in milliseconds.

◆ le_gnss_GetAltitude()

le_result_t le_gnss_GetAltitude ( le_gnss_SampleRef_t  positionSampleRef,
int32_t *  altitudePtr,
int32_t *  vAccuracyPtr 
)

Get the position sample's altitude.

Returns
  • LE_FAULT Function failed to get the altitude. Invalid Position reference provided.
  • LE_OUT_OF_RANGE At least one of the retrieved parameters is invalid (set to INT32_MAX).
  • LE_OK Function succeeded.
Note
Altitude is in meters, above Mean Sea Level, with 3 decimal places (3047 = 3.047 meters).
For a 2D position fix, the altitude will be indicated as invalid and set to INT32_MAX
Vertical position accuracy is default set to meters with 1 decimal place (3047 = 3.0 meters). To change its accuracy, call the le_gnss_SetDataResolution() function. Vertical position accuracy is set as data type and accuracy from 0 to 3 decimal place is set as resolution.
In case the function returns LE_OUT_OF_RANGE, some of the retrieved parameters may be valid. Please compare them with INT32_MAX.
If the caller is passing an invalid Position reference into this function, it is a fatal error, the function will not return.
altitudePtr, altitudeAccuracyPtr can be set to NULL if not needed.
Parameters
[in]positionSampleRefPosition sample's reference.
[out]altitudePtrAltitude in meters, above Mean Sea Level [resolution 1e-3].
[out]vAccuracyPtrVertical position's accuracy in meters.

◆ le_gnss_GetAltitudeOnWgs84()

le_result_t le_gnss_GetAltitudeOnWgs84 ( le_gnss_SampleRef_t  positionSampleRef,
int32_t *  altitudeOnWgs84Ptr 
)

Get the position sample's altitude with respect to the WGS-84 ellipsoid

Returns
  • LE_FAULT Function failed to get the altitude.
  • LE_OUT_OF_RANGE The altitudeOnWgs84 is invalid (set to INT32_MAX).
  • LE_OK Function succeeded.
Note
altitudeOnWgs84 is in meters, with respect to the WGS-84 ellipsoid with 3 decimal places (3047 = 3.047 meters).
For a 2D position fix, the altitude with respect to the WGS-84 ellipsoid will be indicated as invalid and set to INT32_MAX.
If the caller is passing an invalid Position reference or a null pointer into this function, it is a fatal error, the function will not return.
Parameters
[in]positionSampleRefPosition sample's reference.
[out]altitudeOnWgs84PtrAltitude in meters, between WGS-84 earth ellipsoid and mean sea level [resolution 1e-3].

◆ le_gnss_GetConstellation()

le_result_t le_gnss_GetConstellation ( le_gnss_ConstellationBitMask_t *  constellationMaskPtr)

Get the GNSS constellation bit mask

Returns
  • LE_OK on success
  • LE_FAULT on failure
Note
If the caller is passing a null pointer into this function, it is a fatal error, the function will not return.
Parameters
[out]constellationMaskPtrGNSS constellation used in solution.

◆ le_gnss_GetConstellationArea()

le_result_t le_gnss_GetConstellationArea ( le_gnss_Constellation_t  satConstellation,
le_gnss_ConstellationArea_t *  constellationAreaPtr 
)

Get the area for the GNSS constellation

Returns
  • LE_OK On success
  • LE_FAULT On failure
  • LE_UNSUPPORTED Request not supported
  • LE_NOT_PERMITTED If the GNSS device is not initialized, disabled or active.
Note
If the caller is passing a null pointer into this function, it is a fatal error, the function will not return.
Parameters
[in]satConstellationGNSS constellation type.
[out]constellationAreaPtrGNSS constellation area.

◆ le_gnss_GetDate()

le_result_t le_gnss_GetDate ( le_gnss_SampleRef_t  positionSampleRef,
uint16_t *  yearPtr,
uint16_t *  monthPtr,
uint16_t *  dayPtr 
)

Get the position sample's date.

Returns
  • LE_FAULT Function failed to get the date.
  • LE_OUT_OF_RANGE The retrieved date is invalid (all fields are set to 0).
  • LE_OK Function succeeded.
Note
If the caller is passing an invalid Position sample reference or null pointers into this function, it is a fatal error, the function will not return.
Parameters
[in]positionSampleRefPosition sample's reference.
[out]yearPtrUTC Year A.D. [e.g. 2014].
[out]monthPtrUTC Month into the year [range 1...12].
[out]dayPtrUTC Days into the month [range 1...31].

◆ le_gnss_GetDilutionOfPrecision()

le_result_t le_gnss_GetDilutionOfPrecision ( le_gnss_SampleRef_t  positionSampleRef,
le_gnss_DopType_t  dopType,
uint16_t *  dopPtr 
)

Get the DOP parameter (Dilution Of Precision) for the fixed position.

Returns
  • LE_FAULT Function failed to find the DOP value.
  • LE_OUT_OF_RANGE The retrieved parameter is invalid (set to UINT16_MAX).
  • LE_OK Function succeeded.
Note
This function replaces the deprecated function le_gnss_GetDop().
The DOP value is given with 3 decimal places by default like: DOP value 2200 = 2.200 The resolution can be modified by calling the le_gnss_SetDopResolution() function.
If the caller is passing an invalid Position sample reference into this function, it is a fatal error, the function will not return.
Parameters
[in]positionSampleRefPosition sample's reference.
[in]dopTypeDilution of Precision type.
[out]dopPtrDilution of Precision corresponding to the dopType

◆ le_gnss_GetDirection()

le_result_t le_gnss_GetDirection ( le_gnss_SampleRef_t  positionSampleRef,
uint32_t *  directionPtr,
uint32_t *  directionAccuracyPtr 
)

Get the position sample's direction. Direction of movement is the direction that the vehicle or person is actually moving.

Returns
  • LE_FAULT Function failed to find the positionSample.
  • LE_OUT_OF_RANGE At least one of the retrieved parameters is invalid (set to UINT32_MAX).
  • LE_OK Function 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.
In case the function returns LE_OUT_OF_RANGE, some of the retrieved parameters may be valid. Please compare them with UINT32_MAX.
directionPtr, directionAccuracyPtr can be set to NULL if not needed.
If the caller is passing an invalid Position sample reference into this function, it is a fatal error, the function will not return.
Parameters
[in]positionSampleRefPosition sample's reference.
[out]directionPtrDirection in degrees [resolution 1e-1]. Range: 0 to 359.9, where 0 is True North
[out]directionAccuracyPtrDirection's accuracy estimate in degrees [resolution 1e-1].

◆ le_gnss_GetDop()

le_result_t le_gnss_GetDop ( le_gnss_SampleRef_t  positionSampleRef,
uint16_t *  hdopPtr,
uint16_t *  vdopPtr,
uint16_t *  pdopPtr 
)

Get the DOP parameters (Dilution Of Precision) for the fixed position

Returns
  • LE_FAULT Function failed to find the positionSample.
  • LE_OUT_OF_RANGE At least one of the retrieved parameters is invalid (set to UINT16_MAX).
  • LE_OK Function succeeded.
Deprecated:
This function is deprecated, le_gnss_GetDilutionOfPrecision() should be used for new code.
Note
The DOP values are given with 3 decimal places like: DOP value 2200 = 2.200
In case the function returns LE_OUT_OF_RANGE, some of the retrieved parameters may be valid. Please compare them with UINT16_MAX.
If the caller is passing an invalid Position sample reference into this function, it is a fatal error, the function will not return.
Parameters
[in]positionSampleRefPosition sample's reference.
[out]hdopPtrHorizontal Dilution of Precision [resolution 1e-3].
[out]vdopPtrVertical Dilution of Precision [resolution 1e-3].
[out]pdopPtrPosition Dilution of Precision [resolution 1e-3].

◆ le_gnss_GetEllipticalUncertainty()

le_result_t le_gnss_GetEllipticalUncertainty ( le_gnss_SampleRef_t  positionSampleRef,
uint32_t *  horUncEllipseSemiMajorPtr,
uint32_t *  horUncEllipseSemiMinorPtr,
uint8_t *  horConfidencePtr 
)

Get the semi-major and semi-minor horizontal elliptical uncertainty.

Returns
  • LE_FAULT Function failed to get the horizontal uncertainty data.
  • LE_OUT_OF_RANGE At least one of the retrieved parameters is invalid (more info below).
  • LE_OK Function succeeded.
Note
horUncEllipseSemiMajorPtr, horUncEllipseSemiMinorPtr and horConfidencePtr can be set to NULL if not needed.
The uncertainty values are given in metres with 2 decimal places.
The confidence level is given in an integer percentage with values ranging from 0 to 99.
In case the function returns LE_OUT_OF_RANGE, some of the retrieved parameters may be valid. Please compare them with UINT32_MAX or UINT8_MAX respective to their individual types.
If the caller is passing an invalid Position sample reference into this function, it is a fatal error, the function will not return.
Parameters
[in]positionSampleRefPosition sample's reference.
[out]horUncEllipseSemiMajorPtrHorizontal semi major elliptical uncertainty
[out]horUncEllipseSemiMinorPtrHorizontal semi minor elliptical uncertainity
[out]horConfidencePtrHorizontal confidence level.

◆ le_gnss_GetEpochTime()

le_result_t le_gnss_GetEpochTime ( le_gnss_SampleRef_t  positionSampleRef,
uint64_t *  millisecondsPtr 
)

Get the position sample's epoch time.

Returns
  • LE_FAULT Function failed to acquire the epoch time.
  • LE_OK Function succeeded.
  • LE_OUT_OF_RANGE The retrieved time is invalid (all fields are set to 0).
Note
The epoch time is the number of seconds elapsed since January 1, 1970 (midnight UTC/GMT), not counting leaps seconds.
If the caller is passing an invalid position sample reference or a null pointer into this function, it is a fatal error, the function will not return.
Parameters
[in]positionSampleRefPosition sample's reference.
[out]millisecondsPtrMilliseconds since Jan. 1, 1970.

◆ le_gnss_GetExtendedEphemerisValidity()

le_result_t le_gnss_GetExtendedEphemerisValidity ( uint64_t *  startTimePtr,
uint64_t *  stopTimePtr 
)

This function must be called to get the validity of the last injected Extended Ephemeris.

Returns
  • LE_FAULT The function failed to get the validity
  • LE_OK The function succeeded.
Note
If the caller is passing an invalid Position sample reference or null pointers into this function, it is a fatal error, the function will not return.
Parameters
[out]startTimePtrStart time in seconds (since Jan. 1, 1970)
[out]stopTimePtrStop time in seconds (since Jan. 1, 1970)

◆ le_gnss_GetGpsLeapSeconds()

le_result_t le_gnss_GetGpsLeapSeconds ( le_gnss_SampleRef_t  positionSampleRef,
uint8_t *  leapSecondsPtr 
)

Get the position sample's UTC leap seconds in advance

Returns
  • LE_FAULT Function failed to get the leap seconds.
  • LE_OUT_OF_RANGE The retrieved time accuracy is invalid (set to UINT8_MAX).
  • LE_OK Function succeeded.
Note
The leap seconds in advance is the accumulated time in seconds since the start of GPS Epoch time (Jan 6, 1980). This value has to be added to the UTC time (since Jan. 1, 1970)
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 is passing an invalid position sample reference or a null pointer into this function, it is a fatal error, the function will not return.
Deprecated:
This function is deprecated, le_gnss_GetLeapSeconds should be used instead.
Parameters
[in]positionSampleRefPosition sample's reference.
[out]leapSecondsPtrUTC leap seconds in advance in seconds

◆ le_gnss_GetGpsTime()

le_result_t le_gnss_GetGpsTime ( le_gnss_SampleRef_t  positionSampleRef,
uint32_t *  gpsWeekPtr,
uint32_t *  gpsTimeOfWeekPtr 
)

Get the position sample's GPS time.

Returns
  • LE_FAULT Function failed to get the time.
  • LE_OUT_OF_RANGE The retrieved time is invalid (all fields are set to 0).
  • LE_OK Function succeeded.
Note
If the caller is passing an invalid Position sample reference or null pointers into this function, it is a fatal error, the function will not return.
Parameters
[in]positionSampleRefPosition sample's reference.
[out]gpsWeekPtrGPS week number from midnight, Jan. 6, 1980.
[out]gpsTimeOfWeekPtrAmount of time in milliseconds into the GPS week.

◆ le_gnss_GetHorizontalSpeed()

le_result_t le_gnss_GetHorizontalSpeed ( le_gnss_SampleRef_t  positionSampleRef,
uint32_t *  hspeedPtr,
uint32_t *  hspeedAccuracyPtr 
)

Get the position sample's horizontal speed.

  • LE_FAULT Function failed to find the positionSample.
  • LE_OUT_OF_RANGE At least one of the retrieved parameters is invalid (set to UINT32_MAX).
  • LE_OK Function succeeded.
Note
hSpeedPtr, hSpeedAccuracyPtr can be set to NULL if not needed.
Horizontal speed is in meters/second with 2 decimal places (3047 = 30.47 meters/second).
Horizontal speed accuracy estimate is default set to meters/second with 1 decimal place (304 = 30.4 meters/second). To change its accuracy, call the le_gnss_SetDataResolution() function. Horizontal speed accuracy estimate is set as data type and accuracy from 0 to 3 decimal place is set as resolution.
In case the function returns LE_OUT_OF_RANGE, some of the retrieved parameters may be valid. Please compare them with UINT32_MAX.
If the caller is passing an invalid Position sample reference into this function, it is a fatal error, the function will not return.
Warning
The Horizontal speed accuracy is platform dependent. Please refer to Horizontal and Vertical speed accuracies section for full details.
Parameters
[in]positionSampleRefPosition sample's reference.
[out]hspeedPtrHorizontal speed in meters/second [resolution 1e-2].
[out]hspeedAccuracyPtrHorizontal speed's accuracy estimate in meters/second.

◆ le_gnss_GetLastSampleRef()

le_gnss_SampleRef_t le_gnss_GetLastSampleRef ( void  )

This function gets the last updated position sample object reference.

Returns
A reference to last Position's sample.
Note
On failure, the process exits, so you don't have to worry about checking the returned reference for validity.

◆ le_gnss_GetLeapSeconds()

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

Get leap seconds information.

Returns
  • LE_OK Function succeeded.
  • LE_FAULT Function failed to get the data.
  • LE_TIMEOUT Timeout occured.
  • LE_UNSUPPORTED Not supported on this platform.
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 is passing a null pointer into this function, it is considered a fatal error and the function will not return.
If the return value of a parameter is INT32_MAX/UINT64_MAX, the parameter is not valid.
Parameters
[out]gpsTimePtrThe number of milliseconds of GPS time since midnight, Jan. 6, 1980.
[out]currentLeapSecondsPtrCurrent UTC leap seconds value in milliseconds.
[out]changeEventTimePtrThe number of milliseconds since midnight, Jan. 6, 1980 to the next leap seconds change event.
[out]nextLeapSecondsPtrUTC leap seconds value to be applied at the change event time in milliseconds.

◆ le_gnss_GetLocation()

le_result_t le_gnss_GetLocation ( le_gnss_SampleRef_t  positionSampleRef,
int32_t *  latitudePtr,
int32_t *  longitudePtr,
int32_t *  hAccuracyPtr 
)

Get the location's data (Latitude, Longitude, Horizontal accuracy).

Returns
  • LE_FAULT Function failed to get the location's data
  • LE_OUT_OF_RANGE At least one of the retrieved parameters is invalid (set to INT32_MAX).
  • LE_OK Function 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. Please compare them with INT32_MAX.
If the caller is passing an invalid Position sample reference into this function, it is a fatal error, the function will not return.
Parameters
[in]positionSampleRefPosition sample's reference.
[out]latitudePtrWGS84 Latitude in degrees, positive North [resolution 1e-6].
[out]longitudePtrWGS84 Longitude in degrees, positive East [resolution 1e-6].
[out]hAccuracyPtrHorizontal position's accuracy in meters [resolution 1e-2].

◆ le_gnss_GetMagneticDeviation()

le_result_t le_gnss_GetMagneticDeviation ( le_gnss_SampleRef_t  positionSampleRef,
int32_t *  magneticDeviationPtr 
)

Get the position sample's magnetic deviation. It is the difference between the bearing to true north and the bearing shown on a magnetic compass. The deviation is positive when the magnetic north is east of true north.

Returns
  • LE_FAULT Function failed to find the positionSample.
  • LE_OUT_OF_RANGE The magneticDeviation is invalid (set to INT32_MAX).
  • LE_OK Function succeeded.
Note
magneticDeviation is in degrees, with 1 decimal places (47 = 4.7 degree).
If the caller is passing an invalid Position sample reference into this function, it is a fatal error, the function will not return.
Parameters
[in]positionSampleRefPosition sample's reference.
[out]magneticDeviationPtrMagneticDeviation in degrees [resolution 1e-1].

◆ le_gnss_GetMaxNmeaRate()

le_result_t le_gnss_GetMaxNmeaRate ( uint32_t *  maxNmeaRatePtr)

Get the maximum NMEA rate supported on this platform

Returns
LE_OK Function succeeded.
LE_UNSUPPORTED Function not supported on this platform
Parameters
[out]maxNmeaRatePtrMaximum NMEA rate in milliseconds.

◆ le_gnss_GetMinElevation()

le_result_t le_gnss_GetMinElevation ( uint8_t *  minElevationPtrPtr)

This function gets the GNSS minimum elevation.

Returns
  • LE_OK on success
  • LE_FAULT on failure
  • LE_UNSUPPORTED request not supported
Note
If the caller is passing n null pointer to this function, it is a fatal error, the function will not return.
Parameters
[out]minElevationPtrPtrMinimum elevation in degrees [range 0..90].

◆ le_gnss_GetMinNmeaRate()

le_result_t le_gnss_GetMinNmeaRate ( uint32_t *  minNmeaRatePtr)

Get the minimum NMEA rate supported on this platform

Returns
LE_OK Function succeeded.
LE_UNSUPPORTED Function not supported on this platform
Parameters
[out]minNmeaRatePtrMinimum NMEA rate in milliseconds.

◆ le_gnss_GetNmeaSentences()

le_result_t le_gnss_GetNmeaSentences ( le_gnss_NmeaBitMask_t *  nmeaMaskPtrPtr)

This function gets the bit mask for the enabled NMEA sentences.

Returns
  • LE_OK Success
  • LE_FAULT Failure
  • LE_BUSY Service is busy
  • LE_TIMEOUT Timeout occurred
  • LE_NOT_PERMITTED GNSS device is not in "ready" state
Note
If the caller is passing a null pointer to this function, it is a fatal error, the function will not return.
Some NMEA sentences are unsupported depending on the platform. Please refer to Enabled NMEA sentences section for full details. The bit mask for an unset or unsupported NMEA sentence is zero.
Parameters
[out]nmeaMaskPtrPtrBit mask for enabled NMEA sentences.

◆ le_gnss_GetPositionState()

le_result_t le_gnss_GetPositionState ( le_gnss_SampleRef_t  positionSampleRef,
le_gnss_FixState_t *  statePtr 
)

This function gets the position sample's fix state

  • LE_OK on success
  • LE_FAULT on failure
Note
If the caller is passing an invalid Position sample reference or a null pointer into this function, it is a fatal error, the function will not return.
Parameters
[in]positionSampleRefPosition sample's reference.
[out]statePtrPosition fix state.

◆ le_gnss_GetSatellitesInfo()

le_result_t le_gnss_GetSatellitesInfo ( le_gnss_SampleRef_t  positionSampleRef,
uint16_t *  satIdPtr,
size_t *  satIdSizePtr,
le_gnss_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 
)

Get the Satellites Vehicle information.

Returns
  • LE_FAULT Function failed to find the positionSample.
  • LE_OUT_OF_RANGE At least one of the retrieved parameters is invalid.
  • LE_OK Function 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 field type: UINT16_MAX for satId, LE_GNSS_SV_CONSTELLATION_UNDEFINED for satConst, false for satUsed, UINT8_MAX for satSnr, UINT16_MAX for satAzim, UINT8_MAX for satElev.
In case the function returns LE_OUT_OF_RANGE, some of the retrieved parameters may be valid.
If the caller is passing an invalid Position sample reference into this function, it is a fatal error, the function will not return.
Parameters
[in]positionSampleRefPosition sample's reference.
[out]satIdPtrSatellites in View ID number, referring to NMEA standard.
[in,out]satIdSizePtr
[out]satConstPtrGNSS constellation type.
[in,out]satConstSizePtr
[out]satUsedPtrTRUE if satellite in View Used for Navigation.
[in,out]satUsedSizePtr
[out]satSnrPtrSatellites in View Signal To Noise Ratio (C/No) [dBHz].
[in,out]satSnrSizePtr
[out]satAzimPtrSatellites in View Azimuth [degrees]. Range: 0 to 360 If Azimuth angle is currently unknown, the value is set to UINT16_MAX.
[in,out]satAzimSizePtr
[out]satElevPtrSatellites in View Elevation [degrees]. Range: 0 to 90 If Elevation angle is currently unknown, the value is set to UINT8_MAX.
[in,out]satElevSizePtr

◆ le_gnss_GetSatellitesStatus()

le_result_t le_gnss_GetSatellitesStatus ( le_gnss_SampleRef_t  positionSampleRef,
uint8_t *  satsInViewCountPtr,
uint8_t *  satsTrackingCountPtr,
uint8_t *  satsUsedCountPtr 
)

Get the Satellites Vehicle status.

Returns
  • LE_FAULT Function failed to find the positionSample.
  • LE_OUT_OF_RANGE At least one of the retrieved parameters is invalid (set to UINT8_MAX).
  • LE_OK Function succeeded.
Note
In case the function returns LE_OUT_OF_RANGE, some of the retrieved parameters may be valid. Please compare them with UINT8_MAX.
If the caller is passing an invalid Position sample reference into this function, it is a fatal error, the function will not return.
Parameters
[in]positionSampleRefPosition sample's reference.
[out]satsInViewCountPtrNumber of satellites expected to be in view.
[out]satsTrackingCountPtrNumber of satellites in view, when tracking.
[out]satsUsedCountPtrNumber of satellites in view used for Navigation.

◆ le_gnss_GetSbasConstellationCategory()

le_gnss_SbasConstellationCategory_t le_gnss_GetSbasConstellationCategory ( uint16_t  satId)

Get the SBAS constellation category given the SBAS satellite number ID.

Parameters
[in]satIdSBAS satellite number ID, referring to NMEA standard.

◆ le_gnss_GetState()

le_gnss_State_t le_gnss_GetState ( void  )

This function returns the status of the GNSS device.

◆ le_gnss_GetSuplAssistedMode()

le_result_t le_gnss_GetSuplAssistedMode ( le_gnss_AssistedMode_t *  assistedModePtr)

This function gets the SUPL Assisted-GNSS mode.

Returns
  • LE_OK on success
  • LE_FAULT on failure
Note
If the caller is passing a null pointer into this function, it is a fatal error, the function will not return.
Parameters
[out]assistedModePtrAssisted-GNSS mode.

◆ le_gnss_GetSupportedConstellations()

le_result_t le_gnss_GetSupportedConstellations ( le_gnss_ConstellationBitMask_t *  constellationMaskPtr)

Returns a bitmask containing all satellite constellations supported on this platform

Returns
LE_OK Function succeeded.
LE_UNSUPPORTED Function not supported on this platform.
Parameters
[out]constellationMaskPtrSupported GNSS constellations

◆ le_gnss_GetSupportedNmeaSentences()

le_result_t le_gnss_GetSupportedNmeaSentences ( le_gnss_NmeaBitMask_t *  NmeaMaskPtr)

Returns a bitmask containing all NMEA sentences supported on this platform

Returns
LE_OK Function succeeded.
LE_UNSUPPORTED Function not supported on this platform.
Parameters
[out]NmeaMaskPtrSupported NMEA sentences

◆ le_gnss_GetTime()

le_result_t le_gnss_GetTime ( le_gnss_SampleRef_t  positionSampleRef,
uint16_t *  hoursPtr,
uint16_t *  minutesPtr,
uint16_t *  secondsPtr,
uint16_t *  millisecondsPtr 
)

Get the position sample's time.

Returns
  • LE_FAULT Function failed to get the time.
  • LE_OUT_OF_RANGE The retrieved time is invalid (all fields are set to 0).
  • LE_OK Function succeeded.
Note
If the caller is passing an invalid Position sample reference or null pointers into this function, it is a fatal error, the function will not return.
Parameters
[in]positionSampleRefPosition sample's reference.
[out]hoursPtrUTC Hours into the day [range 0..23].
[out]minutesPtrUTC Minutes into the hour [range 0..59].
[out]secondsPtrUTC Seconds into the minute [range 0..59].
[out]millisecondsPtrUTC Milliseconds into the second [range 0..999].

◆ le_gnss_GetTimeAccuracy()

le_result_t le_gnss_GetTimeAccuracy ( le_gnss_SampleRef_t  positionSampleRef,
uint32_t *  timeAccuracyPtr 
)

Get the position sample's time accurary.

Returns
  • LE_FAULT Function failed to get the time.
  • LE_OUT_OF_RANGE The retrieved time accuracy is invalid (set to UINT16_MAX).
  • LE_OK Function succeeded.
Note
If the caller is passing an invalid position sample reference or a null pointer into this function, it is a fatal error, the function will not return.
Parameters
[in]positionSampleRefPosition sample's reference.
[out]timeAccuracyPtrEstimated time accuracy in nanoseconds

◆ le_gnss_GetTtff()

le_result_t le_gnss_GetTtff ( uint32_t *  ttffPtr)

Get the TTFF in milliseconds

Returns
  • LE_BUSY The position is not fixed and TTFF can't be measured.
  • LE_NOT_PERMITTED If the GNSS device is not enabled or not started.
  • LE_OK Function succeeded.
  • LE_FAULT If there are some other errors.
Note
If the caller is passing a null pointer into this function, it is a fatal error, the function will not return.
Parameters
[out]ttffPtrTTFF in milliseconds

◆ le_gnss_GetVerticalSpeed()

le_result_t le_gnss_GetVerticalSpeed ( le_gnss_SampleRef_t  positionSampleRef,
int32_t *  vspeedPtr,
int32_t *  vspeedAccuracyPtr 
)

Get the position sample's vertical speed.

Returns
  • LE_FAULT The function failed to find the positionSample.
  • LE_OUT_OF_RANGE At least one of the retrieved parameters is not valid (set to INT32_MAX).
  • LE_OK The function succeeded.
Note
vSpeedPtr, 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.
Vertical speed accuracy estimate is default set to meters/second with 1 decimal place (304 = 30.4 meters/second). To change its accuracy, call the le_gnss_SetDataResolution() function. Vertical speed accuracy estimate is set as data type and accuracy from 0 to 3 decimal place is set as resolution.
In case the function returns LE_OUT_OF_RANGE, some of the retrieved parameters may be valid. Please compare them with INT32_MAX.
If the caller is passing an invalid Position sample reference into this function, it is a fatal error, the function will not return.
Warning
The Vertical speed accuracy is platform dependent. Please refer to Horizontal and Vertical speed accuracies section for full details.
Parameters
[in]positionSampleRefPosition sample's reference.
[out]vspeedPtrVertical speed in meters/second [resolution 1e-2], positive up.
[out]vspeedAccuracyPtrVertical speed's accuracy estimate in meters/second.

◆ le_gnss_InjectSuplCertificate()

le_result_t le_gnss_InjectSuplCertificate ( uint8_t  suplCertificateId,
uint16_t  suplCertificateLen,
const char *LE_NONNULL  suplCertificate 
)

This function injects the SUPL certificate to be used in A-GNSS sessions. Certificates must be encoded in DER. Other certificate encryptions (e.g., PEM, CER and CRT) aren't supported.

Returns
  • LE_OK on success
  • LE_BAD_PARAMETER on invalid parameter
  • LE_FAULT on failure
  • LE_BUSY service is busy
  • LE_TIMEOUT a time-out occurred
Note
If the SUPL certificate size is bigger than the Maximum SUPL certificate size, it is a fatal error, the function will not return.
Parameters
[in]suplCertificateIdID of the SUPL certificate. Certificate ID range is 0 to 9
[in]suplCertificateLenSUPL certificate size in Bytes.
[in]suplCertificateSUPL certificate contents.

◆ le_gnss_InjectUtcTime()

le_result_t le_gnss_InjectUtcTime ( uint64_t  timeUtc,
uint32_t  timeUnc 
)

This function must be called to inject the UTC time into the GNSS device.

Returns
  • LE_OK The function succeeded.
  • LE_FAULT The function failed to inject the UTC time.
  • LE_TIMEOUT A time-out occurred.
Note
It is mandatory to enable the 'Extended Ephemeris' file injection into the GNSS device with le_gnss_EnableExtendedEphemerisFile() before injecting time with this API.
Parameters
[in]timeUtc[IN] UTC time since Jan. 1, 1970 in milliseconds
[in]timeUnc[IN] Time uncertainty in milliseconds

◆ le_gnss_LoadExtendedEphemerisFile()

le_result_t le_gnss_LoadExtendedEphemerisFile ( int  fd)

This function must be called to load an 'Extended Ephemeris' file into the GNSS device.

Returns
  • LE_FAULT The function failed to inject the 'Extended Ephemeris' file.
  • LE_TIMEOUT A time-out occurred.
  • LE_FORMAT_ERROR 'Extended Ephemeris' file format error.
  • LE_OK The function succeeded.
Parameters
[in]fdExtended ephemeris file descriptor

◆ le_gnss_ReleaseSampleRef()

void le_gnss_ReleaseSampleRef ( le_gnss_SampleRef_t  positionSampleRef)

This function must be called to release the position sample.

Note
If the caller is passing an invalid Position sample reference into this function, it is a fatal error, the function will not return.
Parameters
[in]positionSampleRefPosition sample's reference.

◆ le_gnss_RemovePositionHandler()

void le_gnss_RemovePositionHandler ( le_gnss_PositionHandlerRef_t  handlerRef)

Remove handler function for EVENT 'le_gnss_Position'

Parameters
[in]handlerRef

◆ le_gnss_SetAcquisitionRate()

le_result_t le_gnss_SetAcquisitionRate ( uint32_t  rate)

This function sets the GNSS device acquisition rate.

Returns
  • LE_OK on success
  • LE_FAULT on failure
  • LE_UNSUPPORTED request not supported
  • LE_TIMEOUT a time-out occurred
  • LE_NOT_PERMITTED If the GNSS device is not in "ready" state.
  • LE_OUT_OF_RANGE if acquisition rate value is equal to zero
Warning
This function may be subject to limitations depending on the platform. Please refer to the GNSS platform constraints page.
The settings are platform dependent. Please refer to Setting configuration section for full details.
Parameters
[in]rateAcquisition rate in milliseconds.

◆ le_gnss_SetConstellation()

le_result_t le_gnss_SetConstellation ( le_gnss_ConstellationBitMask_t  constellationMask)

Reference type for dealing with GNSS position samples. Enumeration for GNSS device state GNSS fix position states. Resolutions values. Data types. SBAS constellation category GNSS constellation type. Assisted-GNSS mode Dilution of precision type GNSS constellation area type GNSS constellation Bit Mask (8 bits) indicating the GNSS constellation(s) used in solution. NMEA sentences Bit Mask indicating the NMEA sentences enabled in the NMEA flow.

Warning
The supported NMEA sentences depend on the platform. Please refer to your platform documentation for further details.
Note
The bit mask values should be coherent with LE_GNSS_NMEA_SENTENCES_MAX Coordinate system Location data types Type of GNSS start. Handler for position information. Reference type used by Add/Remove functions for EVENT 'le_gnss_Position' Set the GNSS constellation bit mask
Returns
  • LE_FAULT The function failed.
  • LE_UNSUPPORTED If the request is not supported.
  • LE_NOT_PERMITTED If the GNSS device is not initialized, disabled or active.
  • LE_OK The function succeeded.
Warning
Some constellation types are unsupported depending on the platform. Please refer to Constellation type section for full details.
The settings are platform dependent. Please refer to Setting configuration section for full details.
Parameters
[in]constellationMaskGNSS constellation used in solution.

◆ le_gnss_SetConstellationArea()

le_result_t le_gnss_SetConstellationArea ( le_gnss_Constellation_t  satConstellation,
le_gnss_ConstellationArea_t  constellationArea 
)

Set the area for the GNSS constellation

Returns
  • LE_OK The function succeeded.
  • LE_FAULT The function failed.
  • LE_UNSUPPORTED If the request is not supported.
  • LE_NOT_PERMITTED If the GNSS device is not initialized, disabled or active.
  • LE_BAD_PARAMETER Invalid constellation area.
Warning
The settings are platform dependent. Please refer to Setting configuration section for full details.
Parameters
[in]satConstellationGNSS constellation type.
[in]constellationAreaGNSS constellation area.

◆ le_gnss_SetDataResolution()

le_result_t le_gnss_SetDataResolution ( le_gnss_DataType_t  dataType,
le_gnss_Resolution_t  resolution 
)

Set the resolution for the specific type of data

Returns
LE_OK Function succeeded.
LE_BAD_PARAMETER Invalid parameter provided.
LE_FAULT Function failed.
Note
The resolution setting takes effect immediately and is not persistent to reset.
The resolution setting is done per client session.
Parameters
[in]dataTypeData type.
[in]resolutionResolution.

◆ le_gnss_SetDopResolution()

le_result_t le_gnss_SetDopResolution ( le_gnss_Resolution_t  resolution)

Set the resolution for the DOP parameters

Returns
LE_OK Function succeeded.
LE_BAD_PARAMETER Invalid parameter provided.
LE_FAULT Function failed.
Note
The function sets the same resolution to all DOP values returned by le_gnss_GetDilutionOfPrecision() API. The resolution setting takes effect immediately.
The resolution setting is done per client session.
Parameters
[in]resolutionResolution.

◆ le_gnss_SetMinElevation()

le_result_t le_gnss_SetMinElevation ( uint8_t  minElevation)

This function sets the GNSS minimum elevation.

Returns
  • LE_OK on success
  • LE_FAULT on failure
  • LE_OUT_OF_RANGE if the minimum elevation is above range
  • LE_UNSUPPORTED request not supported
Warning
The settings are platform dependent. Please refer to Setting configuration section for full details.
Parameters
[in]minElevationMinimum elevation in degrees [range 0..90].

◆ le_gnss_SetNmeaSentences()

le_result_t le_gnss_SetNmeaSentences ( le_gnss_NmeaBitMask_t  nmeaMask)

This function sets the enabled NMEA sentences using a bit mask.

Returns
  • LE_OK Success
  • LE_BAD_PARAMETER Bit mask exceeds the maximal value
  • LE_FAULT Failure
  • LE_BUSY Service is busy
  • LE_TIMEOUT Timeout occurred
  • LE_NOT_PERMITTED GNSS device is not in "ready" state
Warning
This function may be subject to limitations depending on the platform. Please refer to the GNSS platform constraints page.
Note
Some NMEA sentences are unsupported depending on the platform. Please refer to Enabled NMEA sentences section for full details. Setting an unsuported NMEA sentence won't report an error.
Warning
The settings are platform dependent. Please refer to Setting configuration section for full details.
Deprecated:
LE_GNSS_NMEA_MASK_PQXFI is deprecated. LE_GNSS_NMEA_MASK_PTYPE should be used instead. Setting LE_GNSS_NMEA_MASK_PTYPE will also set LE_GNSS_NMEA_MASK_PQXFI.
Parameters
[in]nmeaMaskBit mask for enabled NMEA sentences.

◆ le_gnss_SetServerDisconnectHandler()

LE_FULL_API void le_gnss_SetServerDisconnectHandler ( le_gnss_DisconnectHandler_t  disconnectHandler,
void *  contextPtr 
)

Set handler called when server disconnection is detected.

When a server connection is lost, call this handler then exit with LE_FATAL. If a program wants to continue without exiting, it should call longjmp() from inside the handler.

◆ le_gnss_SetSuplAssistedMode()

le_result_t le_gnss_SetSuplAssistedMode ( le_gnss_AssistedMode_t  assistedMode)

This function sets the SUPL Assisted-GNSS mode.

Returns
  • LE_OK on success
  • LE_FAULT on failure
  • LE_UNSUPPORTED request not supported
  • LE_TIMEOUT a time-out occurred
Warning
The settings are platform dependent. Please refer to Setting configuration section for full details.
Parameters
[in]assistedModeAssisted-GNSS mode.

◆ le_gnss_SetSuplServerUrl()

le_result_t le_gnss_SetSuplServerUrl ( const char *LE_NONNULL  suplServerUrl)

This function sets the SUPL server URL. That server URL is a NULL-terminated string with a maximum string length (including NULL terminator) equal to 256. Optionally the port number is specified after a colon.

Returns
  • LE_OK on success
  • LE_FAULT on failure
  • LE_BUSY service is busy
  • LE_TIMEOUT a time-out occurred
Note
If the SUPL server URL size is bigger than the maximum string length (including NULL terminator) size, it is a fatal error, the function will not return.
Warning
The settings are platform dependent. Please refer to Setting configuration section for full details.
Parameters
[in]suplServerUrlSUPL server URL.

◆ le_gnss_Start()

le_result_t le_gnss_Start ( void  )

This function starts the GNSS device.

Returns
  • LE_FAULT The function failed.
  • LE_DUPLICATE If the GNSS device is already started.
  • LE_NOT_PERMITTED If the GNSS device is not initialized or disabled.
  • LE_OK The function succeeded.

◆ le_gnss_StartMode()

le_result_t le_gnss_StartMode ( le_gnss_StartMode_t  mode)

This function starts the GNSS device in the specified start mode.

Returns
  • LE_OK The function succeeded.
  • LE_BAD_PARAMETER Invalid start mode
  • LE_FAULT The function failed.
  • LE_DUPLICATE If the GNSS device is already started.
  • LE_NOT_PERMITTED If the GNSS device is not initialized or disabled.
Warning
This function may be subject to limitations depending on the platform. Please refer to the GNSS platform constraints page.
Parameters
[in]mode[IN] Start mode

◆ le_gnss_Stop()

le_result_t le_gnss_Stop ( void  )

This function stops the GNSS device.

Returns
  • LE_FAULT The function failed.
  • LE_DUPLICATE If the GNSS device is already stopped.
  • LE_NOT_PERMITTED If the GNSS device is not initialized or disabled.
  • LE_OK The function succeeded.

◆ le_gnss_TryConnectService()

le_result_t le_gnss_TryConnectService ( void  )

Try to connect the current client thread to the service providing this API. Return with an error if the service is not available.

For each thread that wants to use this API, either ConnectService or TryConnectService must be called before any other functions in this API. Normally, ConnectService is automatically called for the main thread, but not for any other thread. For details, see Client-specific Functions.

This function is created automatically.

Returns
  • LE_OK if the client connected successfully to the service.
  • LE_UNAVAILABLE if the server is not currently offering the service to which the client is bound.
  • LE_NOT_PERMITTED if the client interface is not bound to any service (doesn't have a binding).
  • LE_COMM_ERROR if the Service Directory cannot be reached.