Csr location class shows location and satellite information, which supports H13467 + ST F103RB/NXP LCP1549 boards now.
Dependents: CsrLocationDemo CsrLocationDemo
Fork of CsrLocation by
Diff: CsrLocation.cpp
- Revision:
- 18:5d72465991f5
- Parent:
- 17:05033198f8f3
- Child:
- 20:88db82cf3f0f
--- a/CsrLocation.cpp Tue Nov 18 02:43:19 2014 +0000 +++ b/CsrLocation.cpp Tue Nov 18 09:03:17 2014 +0000 @@ -74,15 +74,15 @@ { switch (msgId) { case LOC_OUTPUT_LOCATION: { - const tLocPosResp *pPosRsp = (const tLocPosResp *)pMsgData; - lastLocation.version = 1; - lastLocation.valid = true; - lastLocation.gpsTime.gps_week = pPosRsp->gpsTime.gps_week; - lastLocation.gpsTime.tow = pPosRsp->gpsTime.tow; - lastLocation.utcTime = pPosRsp->utcTime; - lastLocation.lat = pPosRsp->lat; - lastLocation.lon = pPosRsp->lon; - lastLocation.altitude = pPosRsp->alt; + const tLocPosResp *pPosRsp = (const tLocPosResp *)pMsgData; + lastLocation.version = 1; + lastLocation.valid = true; + lastLocation.gpsTime.gps_week = pPosRsp->gpsTime.gps_week; + lastLocation.gpsTime.tow = pPosRsp->gpsTime.tow; + lastLocation.utcTime = pPosRsp->utcTime; + lastLocation.lat = pPosRsp->lat; + lastLocation.lon = pPosRsp->lon; + lastLocation.altitude = pPosRsp->alt; if (locationCallback) { locationCallback(&lastLocation); @@ -90,7 +90,7 @@ break; } case LOC_OUTPUT_SV_STATUS: { - const tLocSvStatus *pSvStatus = (const tLocSvStatus *)pMsgData; + const tLocSvStatus *pSvStatus = (const tLocSvStatus *)pMsgData; lastLocation.version = 1; lastLocation.valid = true; lastLocation.numGPSSVs = pSvStatus->numOfSVs; @@ -748,7 +748,7 @@ ptr += 2; pPos->gpsTime.gps_week = BINARY_IMPORT_UINT16(ptr); pPos->gpsTime.tow = BINARY_IMPORT_UINT32(ptr); - pPos->utcTime = (float)CSR_ULOC_UTC_GPS_OFFSET_MS + (float)pPos->gpsTime.gps_week * CSR_ULOC_SEC_IN_WEEK_MS + pPos->gpsTime.tow - CSR_ULOC_UTC_LEAP_OFFSET_MS; + pPos->utcTime = CSR_ULOC_UTC_GPS_OFFSET_MS + (uint64_t)pPos->gpsTime.gps_week * (uint64_t)CSR_ULOC_SEC_IN_WEEK_MS + (uint64_t)pPos->gpsTime.tow - (uint64_t)CSR_ULOC_UTC_LEAP_OFFSET_MS; ptr += 12; pPos->lat = (double)BINARY_IMPORT_SINT32(ptr); pPos->lat *= 1e-7;