Csr location demo application shows location and satellite information, which supports H13467 + ST F103RB/NXP LCP1549 boards now.

Dependencies:   CsrLocation mbed GPSProvider

Fork of CsrLocationDemo by Qualcomm Technologies International, Ltd.

Revision:
5:a4f421140212
Parent:
4:b917d49df4bd
Child:
6:d040264b3329
--- a/CsrLocationDemo.cpp	Tue May 27 08:09:34 2014 +0000
+++ b/CsrLocationDemo.cpp	Tue May 27 10:54:52 2014 +0000
@@ -95,12 +95,22 @@
             break;
         case APP_CMD_START:
             sAppCmd = APP_CMD_IDLE;
+            if(pCsrLoc->CsrLocGetState() == CSR_LOC_STATE_RUN)
+            {
+	            CSR_APP_LOG_INFO("Cannot execute this command as location is in running state, please stop location firstly.\r\n");
+	            break;
+            }
             CSR_APP_LOG_INFO("start location.\r\n");
             sLedLocOn = 1;
             pCsrLoc->CsrLocStart(sPwrMode, sProto);
             break;
         case APP_CMD_STOP:
             sAppCmd = APP_CMD_IDLE;
+            if(pCsrLoc->CsrLocGetState() == CSR_LOC_STATE_IDLE)
+            {
+	            CSR_APP_LOG_INFO("Cannot execute this command as location is not in running state.\r\n");
+	            break;
+            }
             CSR_APP_LOG_INFO("stop location.\r\n");
             sLedLocOn = 0;
             pCsrLoc->CsrLocStop();
@@ -143,46 +153,76 @@
             sPinReset = 0;
             break;
         case APP_CMD_PTF_GETPOS:
+            sAppCmd = APP_CMD_IDLE;
+            if(pCsrLoc->CsrLocGetState() == CSR_LOC_STATE_RUN)
+            {
+	            CSR_APP_LOG_INFO("Cannot execute this command as location is in running state, please stop location firstly.\r\n");
+	            break;
+            }
             CSR_APP_LOG_INFO("lpm get pos.\r\n");
-            sAppCmd = APP_CMD_IDLE;
             pCsrLoc->CsrLocLpmGetPos();
             break;
         case APP_CMD_NMEA:
+            sAppCmd = APP_CMD_IDLE;
+            if(pCsrLoc->CsrLocGetState() == CSR_LOC_STATE_RUN)
+            {
+	            CSR_APP_LOG_INFO("Cannot execute this command as location is in running state, please stop location firstly.\r\n");
+	            break;
+            }
             if(sPwrMode != PWR_FULL)
             {
-                CSR_APP_LOG_INFO("Canot select NMEA protocol because current lpm is not supported for NMEA protocol.\r\n");
+                CSR_APP_LOG_INFO("Cannot select NMEA protocol because current lpm is not supported for NMEA protocol, pls switch to FPM firstly.\r\n");
             }
             else
             {
                 CSR_APP_LOG_INFO("select NMEA protocol.\r\n");
                 sProto = PROTO_NMEA;
-                sAppCmd = APP_CMD_IDLE;
             }
             break;
         case APP_CMD_OSP:
+            sAppCmd = APP_CMD_IDLE;
+            if(pCsrLoc->CsrLocGetState() == CSR_LOC_STATE_RUN)
+            {
+	            CSR_APP_LOG_INFO("Cannot execute this command as location is in running state, please stop location firstly.\r\n");
+	            break;
+            }
             CSR_APP_LOG_INFO("select OSP protocol.\r\n");
             sProto = PROTO_OSP;
-            sAppCmd = APP_CMD_IDLE;
             break;
         case APP_CMD_SWITCH_NMEA:
+            sAppCmd = APP_CMD_IDLE;
+            if(pCsrLoc->CsrLocGetState() == CSR_LOC_STATE_RUN)
+            {
+	            CSR_APP_LOG_INFO("Cannot execute this command as location is in running state, please stop location firstly.\r\n");
+	            break;
+            }
             CSR_APP_LOG_INFO("switch to NMEA protocol.\r\n");
-            sAppCmd = APP_CMD_IDLE;
             pCsrLoc->CsrLocDebugSwitch2Nmea();
             break;
         case APP_CMD_PM_FULL:
+            sAppCmd = APP_CMD_IDLE;
+            if(pCsrLoc->CsrLocGetState() == CSR_LOC_STATE_RUN)
+            {
+	            CSR_APP_LOG_INFO("Cannot execute this command as location is in running state, please stop location firstly.\r\n");
+	            break;
+            }
             CSR_APP_LOG_INFO("fpm set.\r\n");
-            sAppCmd = APP_CMD_IDLE;
             sPwrMode = PWR_FULL;
             break;
         case APP_CMD_PM_PTF:
+            sAppCmd = APP_CMD_IDLE;
+            if(pCsrLoc->CsrLocGetState() == CSR_LOC_STATE_RUN)
+            {
+	            CSR_APP_LOG_INFO("Cannot execute this command as location is in running state, please stop location firstly.\r\n");
+	            break;
+            }
             if(sProto == PROTO_NMEA)
             {
-                CSR_APP_LOG_INFO("Canot set lpm because LPM is not supported for current NMEA protocol.\r\n");
+                CSR_APP_LOG_INFO("Cannot set lpm because LPM is not supported for current NMEA protocol, pls switch to OSP firstly.\r\n");
             }
             else
             {
                 CSR_APP_LOG_INFO("lpm ptf set.\r\n");
-                sAppCmd = APP_CMD_IDLE;
                 sPwrMode = PWR_PTF;
             }
             break;