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:
- 20:88db82cf3f0f
- Parent:
- 18:5d72465991f5
--- 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) {