Csr location class shows location and satellite information, which supports H13467 + ST F103RB/NXP LCP1549 boards now.
Dependents: CsrLocationDemo CsrLocationDemo
Fork of CsrLocation by
Revision 20:88db82cf3f0f, committed 2014-11-27
- Comitter:
- zhjcpi
- Date:
- Thu Nov 27 10:28:35 2014 +0000
- Parent:
- 18:5d72465991f5
- Commit message:
- Support Freescale FDRM platform.
; Location uart cannot use D8/D2, it is changed to D1/D0.
; Trigger on/off before open UART. Otherwise, FDRM will halt when doing the second start(start,then stop, then start again).
Changed in this revision
CsrLocation.cpp | Show annotated file Show diff for this revision Revisions of this file |
createCSRGPS.cpp | Show annotated file Show diff for this revision Revisions of this file |
diff -r 5d72465991f5 -r 88db82cf3f0f CsrLocation.cpp --- a/CsrLocation.cpp Tue Nov 18 09:03:17 2014 +0000 +++ b/CsrLocation.cpp Thu Nov 27 10:28:35 2014 +0000 @@ -128,6 +128,9 @@ /* Csr Location SDK version */ CSR_LOG_INFO("==== CSR LOC SDK version: %s Date: %s ====\r\n", CSR_LOC_SDK_VER, __DATE__ " " __TIME__); + /* trigger on_off */ + _CsrLocHwOnoff(); + /* open UART */ if (proto == PROTO_NMEA) { CSR_LOG_INFO("Checking NMEA protocol...\r\n"); @@ -140,9 +143,6 @@ } _CsrLocUartInit(); - /* trigger on_off */ - _CsrLocHwOnoff(); - locState = CSR_LOC_STATE_RUN; bPwrModeRsp = false; bVerRsp = false; @@ -299,6 +299,19 @@ } while (in != out) { + if (bTimeoutFlag) { + pTimeoutChk->detach(); + bTimeoutFlag = false; + if ((protoState == PROTO_STATE_DET_OSP) || (protoState == PROTO_STATE_DET_OSP_FROM_NMEA)) { + _CsrLocDetProtoOspTimeout(); + } else if ((protoState == PROTO_STATE_DET_NMEA) || (protoState == PROTO_STATE_DET_NMEA_FROM_OSP)) { + _CsrLocDetProtoNmeaTimeout(); + } else { + CSR_LOG_INFO("timeout in unknown protocol state %d.\r\n", protoState); + } + return; + } + data = serialBuf[out++]; out &= (MAX_SERIAL_BUF_LEN - 1); switch (protoState) {
diff -r 5d72465991f5 -r 88db82cf3f0f createCSRGPS.cpp --- a/createCSRGPS.cpp Tue Nov 18 09:03:17 2014 +0000 +++ b/createCSRGPS.cpp Thu Nov 27 10:28:35 2014 +0000 @@ -18,8 +18,13 @@ #include "CsrLocation.h" #include "GPSProviderImplBase.h" +#ifdef TARGET_K64F +#define PINMAP_UART_LOC_TX D1 +#define PINMAP_UART_LOC_RX D0 +#else #define PINMAP_UART_LOC_TX D8 #define PINMAP_UART_LOC_RX D2 +#endif #define PINMAP_GPIO_LOC_ONOFF D9 #define PINMAP_GPIO_LOC_RESET D4 #define PINMAP_GPIO_LOC_WAKEUP D3