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
Revision 5:a4f421140212, committed 2014-05-27
- Comitter:
- zhjcpi
- Date:
- Tue May 27 10:54:52 2014 +0000
- Parent:
- 4:b917d49df4bd
- Child:
- 6:d040264b3329
- Commit message:
- Add protection code for state transferring and commands
Changed in this revision
| CsrLocation.lib | Show annotated file Show diff for this revision Revisions of this file |
| CsrLocationDemo.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/CsrLocation.lib Tue May 27 08:09:34 2014 +0000 +++ b/CsrLocation.lib Tue May 27 10:54:52 2014 +0000 @@ -1,1 +1,1 @@ -http://mbed.org/users/zhjcpi/code/CsrLocation/#71690f7bb480 +http://mbed.org/users/zhjcpi/code/CsrLocation/#0d9b711fb646
--- 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;

GPS mbed Shield