le_gnss_interface.h
Go to the documentation of this file.
24 * GNSS or Global Navigation Satellite System is a satellite navigation system with global coverage.103 * The le_gnss_InjectUtcTime() function injects the UTC time into the location engine. Providing an105 * @note It is mandatory to enable the 'Extended Ephemeris' file injection into the GNSS device with109 * Please refer to your platform documentation @ref platformConstraintsGnss_SettingConfiguration for113 * The le_gnss_ForceHotRestart() function performs a "HOT" restart of the GNSS device. The current118 * The le_gnss_ForceWarmRestart() function performs a "WARM" restart of the GNSS device. The current125 * The le_gnss_ForceColdRestart() function performs a "COLD" restart of the GNSS device. The current135 * The GNSS position is computed and delivered each acquisition rate. The acquisition rate defines152 * Please refer to your platform documentation @ref platformConstraintsGnss_SettingConfiguration for155 * Combinations of constellation for GPS, GLONASS, BDS, GALILEO and QZSS satellites are currently162 * le_gnss_SetConstellationArea sets the area for a GNSS constellation. le_gnss_GetConstellationArea181 * @ref le_gnss_NMEA with a bit mask. The supported values are listed in @ref le_gnss_NmeaBitMask_t.183 * @note This function may be subject to limitations depending on the platform. Please refer to the187 * Please refer to your platform documentation @ref platformConstraintsGnss_SettingConfiguration for195 * The le_gnss_GetNmeaSentences() function gets the bit mask of the enabled NMEA sentences in the205 * ''LE_OK or error code'' means the function is authorized in the corresponding state, the request206 * is performed and the result is returned; otherwise the returned error is indicated for each state209 *| ----------------------------- | --------------------------- | -----------------------------| --------------------------- | --------------------------- |212 *| le_gnss_ForceHotRestart() | LE_NOT_PERMITTED | LE_NOT_PERMITTED | LE_OK or error code | LE_NOT_PERMITTED |213 *| le_gnss_ForceWarmRestart() | LE_NOT_PERMITTED | LE_NOT_PERMITTED | LE_OK or error code | LE_NOT_PERMITTED |214 *| le_gnss_ForceColdRestart() | LE_NOT_PERMITTED | LE_NOT_PERMITTED | LE_OK or error code | LE_NOT_PERMITTED |215 *| le_gnss_ForceFactoryRestart() | LE_NOT_PERMITTED | LE_NOT_PERMITTED | LE_OK or error code | LE_NOT_PERMITTED |216 *| le_gnss_Disable() | LE_NOT_PERMITTED | LE_OK or error code | LE_NOT_PERMITTED | LE_DUPLICATE |218 *| le_gnss_SetConstellation() | LE_NOT_PERMITTED | LE_OK or error code | LE_NOT_PERMITTED | LE_NOT_PERMITTED |219 *| le_gnss_GetConstellation() | LE_NOT_PERMITTED | LE_OK or error code | LE_NOT_PERMITTED | LE_NOT_PERMITTED |220 *| le_gnss_SetConstellationArea() | LE_NOT_PERMITTED | LE_OK or error code | LE_NOT_PERMITTED | LE_NOT_PERMITTED |221 *| le_gnss_GetConstellationArea() | LE_NOT_PERMITTED | LE_OK or error code | LE_NOT_PERMITTED | LE_NOT_PERMITTED |222 *| le_gnss_GetTtff() | LE_NOT_PERMITTED | LE_OK or error code | LE_OK or error code | LE_NOT_PERMITTED |223 *| le_gnss_SetAcquisitionRate() | LE_NOT_PERMITTED | LE_OK or error code | LE_NOT_PERMITTED | LE_NOT_PERMITTED |224 *| le_gnss_GetAcquisitionRate() | LE_NOT_PERMITTED | LE_OK or error code | LE_NOT_PERMITTED | LE_NOT_PERMITTED |225 *| le_gnss_SetNmeaSentences() | LE_NOT_PERMITTED | LE_OK or error code | LE_NOT_PERMITTED | LE_NOT_PERMITTED |226 *| le_gnss_GetNmeaSentences() | LE_NOT_PERMITTED | LE_OK or error code | LE_NOT_PERMITTED | LE_NOT_PERMITTED |302 * With le_gnss_GetExtendedEphemerisValidity(), you will to get the validity of the last injected315 * That 3GPP User Plane A-GNSS (Assisted GNSS) protocol is defined by two different standardization316 * bodies, 3GPP and Open Mobile Alliance (OMA). For more information, please refer to the standard.321 *, then returns the retrieved GNSS data to the SUPL (Secure User Plan Location) server, where the325 * server. The MS measures the signals from the GNSS satellites and makes the position calculation.338 * The SUPL server is configured using the le_gnss_SetSuplServerUrl() function. That function sets342 * le_gnss_InjectSuplCertificate() function and deleted through the le_gnss_DeleteSuplCertificate()344 * The SUPL certificate lenght given as parameter to le_gnss_InjectSuplCertificate() must be less416 //--------------------------------------------------------------------------------------------------420 //--------------------------------------------------------------------------------------------------423 //--------------------------------------------------------------------------------------------------426 * Connect the current client thread to the service providing this API. Block until the service is429 * For each thread that wants to use this API, either ConnectService or TryConnectService must be430 * called before any other functions in this API. Normally, ConnectService is automatically called435 //--------------------------------------------------------------------------------------------------441 //--------------------------------------------------------------------------------------------------444 * Try to connect the current client thread to the service providing this API. Return with an error447 * For each thread that wants to use this API, either ConnectService or TryConnectService must be448 * called before any other functions in this API. Normally, ConnectService is automatically called457 * - LE_NOT_PERMITTED if the client interface is not bound to any service (doesn't have a binding).460 //--------------------------------------------------------------------------------------------------466 //--------------------------------------------------------------------------------------------------470 * When a server connection is lost, call this handler then exit with LE_FATAL. If a program wants473 //--------------------------------------------------------------------------------------------------480 //--------------------------------------------------------------------------------------------------486 * longer a connection to the service, and the functions in this API can't be used. For details, see491 //--------------------------------------------------------------------------------------------------498 //--------------------------------------------------------------------------------------------------502 //--------------------------------------------------------------------------------------------------505 //--------------------------------------------------------------------------------------------------510 //--------------------------------------------------------------------------------------------------513 //--------------------------------------------------------------------------------------------------517 //--------------------------------------------------------------------------------------------------520 //--------------------------------------------------------------------------------------------------525 //--------------------------------------------------------------------------------------------------528 //--------------------------------------------------------------------------------------------------532 //--------------------------------------------------------------------------------------------------535 //--------------------------------------------------------------------------------------------------541 //--------------------------------------------------------------------------------------------------544 //--------------------------------------------------------------------------------------------------548 //--------------------------------------------------------------------------------------------------551 //--------------------------------------------------------------------------------------------------558 //--------------------------------------------------------------------------------------------------561 //--------------------------------------------------------------------------------------------------564 //--------------------------------------------------------------------------------------------------567 //--------------------------------------------------------------------------------------------------570 //--------------------------------------------------------------------------------------------------573 //--------------------------------------------------------------------------------------------------576 //--------------------------------------------------------------------------------------------------579 //--------------------------------------------------------------------------------------------------582 //--------------------------------------------------------------------------------------------------585 //--------------------------------------------------------------------------------------------------588 //--------------------------------------------------------------------------------------------------591 //--------------------------------------------------------------------------------------------------595 //--------------------------------------------------------------------------------------------------599 //--------------------------------------------------------------------------------------------------603 //--------------------------------------------------------------------------------------------------620 //--------------------------------------------------------------------------------------------------624 //--------------------------------------------------------------------------------------------------639 //--------------------------------------------------------------------------------------------------643 //--------------------------------------------------------------------------------------------------665 //--------------------------------------------------------------------------------------------------669 //--------------------------------------------------------------------------------------------------698 //--------------------------------------------------------------------------------------------------702 //--------------------------------------------------------------------------------------------------715 //--------------------------------------------------------------------------------------------------719 //--------------------------------------------------------------------------------------------------738 //--------------------------------------------------------------------------------------------------742 //--------------------------------------------------------------------------------------------------755 //--------------------------------------------------------------------------------------------------761 //--------------------------------------------------------------------------------------------------779 //--------------------------------------------------------------------------------------------------791 //--------------------------------------------------------------------------------------------------798 LE_GNSS_NMEA_MASK_GPVTG = 0x10, ///< GPVTG type enabled: GPS vector track and speed over the ground.806 LE_GNSS_NMEA_MASK_GAVTG = 0x1000, ///< GAVTG type enabled: Galileo vector track and speed over the ground.808 LE_GNSS_NMEA_MASK_PQXFI = 0x4000, ///< PQXFI type enabled: Proprietary Qualcomm eXtended Fix Information.811 LE_GNSS_NMEA_MASK_GPGLL = 0x20000, ///< GPGLL type enabled: GPS Geographic position, latitude / longitude.813 LE_GNSS_NMEA_MASK_GPDTM = 0x80000, ///< GPDTM type enabled: Local geodetic datum and datum offset from819 //--------------------------------------------------------------------------------------------------823 //--------------------------------------------------------------------------------------------------827 //--------------------------------------------------------------------------------------------------832 //--------------------------------------------------------------------------------------------------834 (841 //--------------------------------------------------------------------------------------------------854 //--------------------------------------------------------------------------------------------------861 //--------------------------------------------------------------------------------------------------869 //--------------------------------------------------------------------------------------------------876 //--------------------------------------------------------------------------------------------------890 //--------------------------------------------------------------------------------------------------899 //--------------------------------------------------------------------------------------------------909 //--------------------------------------------------------------------------------------------------918 //--------------------------------------------------------------------------------------------------929 //--------------------------------------------------------------------------------------------------935 //--------------------------------------------------------------------------------------------------946 //--------------------------------------------------------------------------------------------------952 //--------------------------------------------------------------------------------------------------963 //--------------------------------------------------------------------------------------------------970 //--------------------------------------------------------------------------------------------------979 //--------------------------------------------------------------------------------------------------988 //--------------------------------------------------------------------------------------------------997 * @note It is mandatory to enable the 'Extended Ephemeris' file injection into the GNSS device with1000 //--------------------------------------------------------------------------------------------------1009 //--------------------------------------------------------------------------------------------------1020 //--------------------------------------------------------------------------------------------------1026 //--------------------------------------------------------------------------------------------------1037 //--------------------------------------------------------------------------------------------------1043 //--------------------------------------------------------------------------------------------------1053 //--------------------------------------------------------------------------------------------------1059 //--------------------------------------------------------------------------------------------------1071 //--------------------------------------------------------------------------------------------------1077 //--------------------------------------------------------------------------------------------------1087 //--------------------------------------------------------------------------------------------------1093 //--------------------------------------------------------------------------------------------------1103 //--------------------------------------------------------------------------------------------------1109 //--------------------------------------------------------------------------------------------------1119 //--------------------------------------------------------------------------------------------------1126 //--------------------------------------------------------------------------------------------------1139 //--------------------------------------------------------------------------------------------------1145 //--------------------------------------------------------------------------------------------------1158 //--------------------------------------------------------------------------------------------------1164 //--------------------------------------------------------------------------------------------------1176 * @warning This function may be subject to limitations depending on the platform. Please refer to1182 //--------------------------------------------------------------------------------------------------1189 //--------------------------------------------------------------------------------------------------1198 //--------------------------------------------------------------------------------------------------1205 //--------------------------------------------------------------------------------------------------1215 //--------------------------------------------------------------------------------------------------1224 //--------------------------------------------------------------------------------------------------1228 //--------------------------------------------------------------------------------------------------1235 //--------------------------------------------------------------------------------------------------1245 //--------------------------------------------------------------------------------------------------1254 //--------------------------------------------------------------------------------------------------1275 //--------------------------------------------------------------------------------------------------1288 //--------------------------------------------------------------------------------------------------1297 * @note Altitude is in meters, above Mean Sea Level, with 3 decimal places (3047 = 3.047 meters).1306 //--------------------------------------------------------------------------------------------------1317 //--------------------------------------------------------------------------------------------------1329 //--------------------------------------------------------------------------------------------------1344 //--------------------------------------------------------------------------------------------------1356 //--------------------------------------------------------------------------------------------------1367 //--------------------------------------------------------------------------------------------------1382 //--------------------------------------------------------------------------------------------------1391 //--------------------------------------------------------------------------------------------------1403 //--------------------------------------------------------------------------------------------------1412 //--------------------------------------------------------------------------------------------------1421 * @note The leap seconds in advance is the accumulated time in seconds since the start of GPS Epoch1424 * @note Insertion of each UTC leap second is usually decided about six months in advance by the1427 * @note If the caller is passing an invalid position sample reference or a null pointer into this1430 //--------------------------------------------------------------------------------------------------1439 //--------------------------------------------------------------------------------------------------1451 //--------------------------------------------------------------------------------------------------1464 //--------------------------------------------------------------------------------------------------1477 //--------------------------------------------------------------------------------------------------1489 //--------------------------------------------------------------------------------------------------1506 //--------------------------------------------------------------------------------------------------1519 //--------------------------------------------------------------------------------------------------1521 * Get the position sample's direction. Direction of movement is the direction that the vehicle or1537 //--------------------------------------------------------------------------------------------------1550 //--------------------------------------------------------------------------------------------------1569 //--------------------------------------------------------------------------------------------------1609 //--------------------------------------------------------------------------------------------------1614 //--------------------------------------------------------------------------------------------------1621 //--------------------------------------------------------------------------------------------------1633 //--------------------------------------------------------------------------------------------------1646 //--------------------------------------------------------------------------------------------------1663 //--------------------------------------------------------------------------------------------------1676 //--------------------------------------------------------------------------------------------------1692 //--------------------------------------------------------------------------------------------------1703 //--------------------------------------------------------------------------------------------------1715 * @note For a 2D position fix, the altitude with respect to the WGS-84 ellipsoid will be indicated1721 //--------------------------------------------------------------------------------------------------1731 //--------------------------------------------------------------------------------------------------1747 //--------------------------------------------------------------------------------------------------1756 //--------------------------------------------------------------------------------------------------1766 //--------------------------------------------------------------------------------------------------1772 //--------------------------------------------------------------------------------------------------1779 //--------------------------------------------------------------------------------------------------1786 //--------------------------------------------------------------------------------------------------1799 //--------------------------------------------------------------------------------------------------1806 //--------------------------------------------------------------------------------------------------1814 //--------------------------------------------------------------------------------------------------1821 //--------------------------------------------------------------------------------------------------1839 //--------------------------------------------------------------------------------------------------1846 //--------------------------------------------------------------------------------------------------1862 //--------------------------------------------------------------------------------------------------1874 //--------------------------------------------------------------------------------------------------1885 //--------------------------------------------------------------------------------------------------1893 //--------------------------------------------------------------------------------------------------1905 * @warning This function may be subject to limitations depending on the platform. Please refer to1918 //--------------------------------------------------------------------------------------------------1925 //--------------------------------------------------------------------------------------------------1943 //--------------------------------------------------------------------------------------------------1950 //--------------------------------------------------------------------------------------------------1955 //--------------------------------------------------------------------------------------------------1961 //--------------------------------------------------------------------------------------------------1974 //--------------------------------------------------------------------------------------------------1981 //--------------------------------------------------------------------------------------------------1993 //--------------------------------------------------------------------------------------------------Definition: le_gnss_interface.h:646le_result_t le_gnss_GetDirection(le_gnss_SampleRef_t positionSampleRef, uint32_t *directionPtr, uint32_t *directionAccuracyPtr)le_result_t le_gnss_GetAltitude(le_gnss_SampleRef_t positionSampleRef, int32_t *altitudePtr, int32_t *vAccuracyPtr)le_gnss_SbasConstellationCategory_t le_gnss_GetSbasConstellationCategory(uint16_t satId)le_result_t le_gnss_InjectSuplCertificate(uint8_t suplCertificateId, uint16_t suplCertificateLen, const char *LE_NONNULL suplCertificate)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)Definition: le_gnss_interface.h:683le_result_t le_gnss_GetExtendedEphemerisValidity(uint64_t *startTimePtr, uint64_t *stopTimePtr)GNGSA type enabled: GNSS DOP and active satellites.Definition: le_gnss_interface.h:801le_result_t le_gnss_Start(void)le_gnss_PositionHandlerRef_t le_gnss_AddPositionHandler(le_gnss_PositionHandlerFunc_t handlerPtr, void *contextPtr)Russian satellite navigation system.Definition: le_gnss_interface.h:766le_result_t le_gnss_GetEpochTime(le_gnss_SampleRef_t positionSampleRef, uint64_t *millisecondsPtr)le_result_t le_gnss_ForceFactoryRestart(void)le_result_t le_gnss_LoadExtendedEphemerisFile(int fd)PSTIS type enabled: GPS session start indication.Definition: le_gnss_interface.h:807le_result_t le_gnss_GetAcquisitionRate(uint32_t *ratePtr)void le_gnss_DisconnectService(void)Definition: le_gnss_interface.h:655GAGNS type enabled: Fix data for Galileo.Definition: le_gnss_interface.h:814Definition: le_gnss_interface.h:674PTYPE type enabled: Proprietary Type mask.Definition: le_gnss_interface.h:809Definition: le_gnss_interface.h:686Chinese satellite navigation system.Definition: le_gnss_interface.h:768le_result_t le_gnss_ForceColdRestart(void)GAGSA type enabled: Galileo DOP and active satellites.Definition: le_gnss_interface.h:803Estimated (i.e. forward predicted) position fix.Definition: le_gnss_interface.h:633le_result_t le_gnss_ForceWarmRestart(void)le_result_t le_gnss_InjectUtcTime(uint64_t timeUtc, uint32_t timeUnc)GPGSV type enabled: GPS satellites in view.Definition: le_gnss_interface.h:796Definition: le_gnss_interface.h:680le_result_t le_gnss_SetConstellationArea(le_gnss_Constellation_t satConstellation, le_gnss_ConstellationArea_t constellationArea)le_result_t le_gnss_GetTtff(uint32_t *ttffPtr)le_result_t le_gnss_GetConstellation(le_gnss_ConstellationBitMask_t *constellationMaskPtr)void le_gnss_RemovePositionHandler(le_gnss_PositionHandlerRef_t handlerRef)le_result_t le_gnss_SetSuplServerUrl(const char *LE_NONNULL suplServerUrl)le_result_t le_gnss_EnableExtendedEphemerisFile(void)le_result_t le_gnss_GetAltitudeOnWgs84(le_gnss_SampleRef_t positionSampleRef, int32_t *altitudeOnWgs84Ptr)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_GetSuplAssistedMode(le_gnss_AssistedMode_t *assistedModePtr)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_DisableExtendedEphemerisFile(void)GAVTG type enabled: Galileo vector track and speed over the ground.Definition: le_gnss_interface.h:806le_result_t le_gnss_TryConnectService(void)le_result_t le_gnss_SetAcquisitionRate(uint32_t rate)le_result_t le_gnss_SetMinElevation(uint8_t minElevation)Definition: le_gnss_interface.h:649le_result_t le_gnss_GetDilutionOfPrecision(le_gnss_SampleRef_t positionSampleRef, le_gnss_DopType_t dopType, uint16_t *dopPtr)le_result_t le_gnss_DeleteSuplCertificate(uint8_t suplCertificateId)North American satellite navigation system.Definition: le_gnss_interface.h:764le_result_t le_gnss_GetMagneticDeviation(le_gnss_SampleRef_t positionSampleRef, int32_t *magneticDeviationPtr)Definition: le_gnss_interface.h:689void le_gnss_ReleaseSampleRef(le_gnss_SampleRef_t positionSampleRef)Definition: le_gnss_interface.h:677le_result_t le_gnss_GetNmeaSentences(le_gnss_NmeaBitMask_t *nmeaMaskPtrPtr)DEBUG type enabled: Debug NMEA indication.Definition: le_gnss_interface.h:812GPGLL type enabled: GPS Geographic position, latitude / longitude.Definition: le_gnss_interface.h:811le_result_t le_gnss_GetVerticalSpeed(le_gnss_SampleRef_t positionSampleRef, int32_t *vspeedPtr, int32_t *vspeedAccuracyPtr)le_result_t le_gnss_SetSuplAssistedMode(le_gnss_AssistedMode_t assistedMode)le_result_t le_gnss_GetDate(le_gnss_SampleRef_t positionSampleRef, uint16_t *yearPtr, uint16_t *monthPtr, uint16_t *dayPtr)GPVTG type enabled: GPS vector track and speed over the ground.Definition: le_gnss_interface.h:798void le_gnss_ConnectService(void)GPRMC type enabled: GPS recommended minimum data.Definition: le_gnss_interface.h:797le_result_t le_gnss_GetSatellitesStatus(le_gnss_SampleRef_t positionSampleRef, uint8_t *satsInViewCountPtr, uint8_t *satsTrackingCountPtr, uint8_t *satsUsedCountPtr)PQXFI type enabled: Proprietary Qualcomm eXtended Fix Information.Definition: le_gnss_interface.h:808European Union satellite navigation system.Definition: le_gnss_interface.h:770le_result_t le_gnss_Stop(void)Definition: le_gnss_interface.h:658le_gnss_State_t le_gnss_GetState(void)le_result_t le_gnss_SetNmeaSentences(le_gnss_NmeaBitMask_t nmeaMask)le_result_t le_gnss_GetPositionState(le_gnss_SampleRef_t positionSampleRef, le_gnss_FixState_t *statePtr)le_result_t le_gnss_GetMinElevation(uint8_t *minElevationPtrPtr)le_result_t le_gnss_Disable(void)void le_gnss_SetServerDisconnectHandler(le_gnss_DisconnectHandler_t disconnectHandler, void *contextPtr)Definition: le_gnss_interface.h:652le_result_t le_gnss_GetHorizontalSpeed(le_gnss_SampleRef_t positionSampleRef, uint32_t *hspeedPtr, uint32_t *hspeedAccuracyPtr)void(* le_gnss_PositionHandlerFunc_t)(le_gnss_SampleRef_t positionSampleRef, void *contextPtr)Definition: le_gnss_interface.h:834le_gnss_SampleRef_t le_gnss_GetLastSampleRef(void)le_result_t le_gnss_SetConstellation(le_gnss_ConstellationBitMask_t constellationMask)GNSS constellation field not defined.Definition: le_gnss_interface.h:672le_result_t le_gnss_ForceHotRestart(void)le_result_t le_gnss_Enable(void)void(* le_gnss_DisconnectHandler_t)(void *)Definition: le_gnss_interface.h:421le_result_t le_gnss_GetGpsTime(le_gnss_SampleRef_t positionSampleRef, uint32_t *gpsWeekPtr, uint32_t *gpsTimeOfWeekPtr)GPDTM type enabled: Local geodetic datum and datum offset from.Definition: le_gnss_interface.h:813GPGSA type enabled: GPS DOP and active satellites.Definition: le_gnss_interface.h:795le_gnss_SbasConstellationCategory_tDefinition: le_gnss_interface.h:644le_result_t le_gnss_GetConstellationArea(le_gnss_Constellation_t satConstellation, le_gnss_ConstellationArea_t *constellationAreaPtr)le_result_t le_gnss_GetGpsLeapSeconds(le_gnss_SampleRef_t positionSampleRef, uint8_t *leapSecondsPtr)GLGSV type enabled: GLONASS satellites in view.Definition: le_gnss_interface.h:799GAGSV type enabled: Galileo satellites in view.Definition: le_gnss_interface.h:804le_result_t le_gnss_GetTimeAccuracy(le_gnss_SampleRef_t positionSampleRef, uint32_t *timeAccuracyPtr)struct le_gnss_PositionHandler * le_gnss_PositionHandlerRef_tDefinition: le_gnss_interface.h:824GARMC type enabled: Galileo recommended minimum data.Definition: le_gnss_interface.h:805le_result_t le_gnss_GetDop(le_gnss_SampleRef_t positionSampleRef, uint16_t *hdopPtr, uint16_t *vdopPtr, uint16_t *pdopPtr)