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
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) {

GPS mbed Shield