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
Diff: CsrLocationDemo.cpp
- 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;