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.

Committer:
zhjcpi
Date:
Tue Mar 25 05:27:09 2014 +0000
Revision:
1:e6c96c984e2b
Parent:
0:789f6b6f710d
Child:
2:b70e3a839116
optimization demo application

Who changed what in which revision?

UserRevisionLine numberNew contents of line
zhjcpi 0:789f6b6f710d 1
zhjcpi 0:789f6b6f710d 2 /* CsrLocation class for mbed Microcontroller
zhjcpi 0:789f6b6f710d 3 * Copyright 2014 CSR plc
zhjcpi 0:789f6b6f710d 4 */
zhjcpi 0:789f6b6f710d 5
zhjcpi 0:789f6b6f710d 6
zhjcpi 0:789f6b6f710d 7 #include "mbed.h"
zhjcpi 0:789f6b6f710d 8 #include "CsrLocation.h"
zhjcpi 0:789f6b6f710d 9
zhjcpi 0:789f6b6f710d 10 /* appliation commands */
zhjcpi 0:789f6b6f710d 11 typedef enum AppCmd
zhjcpi 0:789f6b6f710d 12 {
zhjcpi 0:789f6b6f710d 13 APP_CMD_IDLE, // No special command
zhjcpi 0:789f6b6f710d 14 APP_CMD_HELP, // Show the supported commands
zhjcpi 0:789f6b6f710d 15 APP_CMD_START, // Start location
zhjcpi 0:789f6b6f710d 16 APP_CMD_STOP, // Stop location
zhjcpi 0:789f6b6f710d 17 APP_CMD_PM_FULL, // Set full power mode
zhjcpi 0:789f6b6f710d 18 APP_CMD_PM_PTF, // Set low power PTF mode
zhjcpi 0:789f6b6f710d 19 APP_CMD_PTF_GETPOS, // Get location immediately in low power PTF mode
zhjcpi 0:789f6b6f710d 20 APP_CMD_START_FAILED, // Process start failed case
zhjcpi 0:789f6b6f710d 21 APP_CMD_STOP_FAILED, // Process stop failed case
zhjcpi 0:789f6b6f710d 22 APP_CMD_NMEA, // Debug command, switch chip to NMEA protocol at 4800bps
zhjcpi 0:789f6b6f710d 23 APP_CMD_ONOFF_ON, // Debug command, pull onoff pin high level
zhjcpi 0:789f6b6f710d 24 APP_CMD_ONOFF_OFF, // Debug command, pull onoff pin low level
zhjcpi 0:789f6b6f710d 25 APP_CMD_RESET_ON, // Debug command, pull reset pin high level
zhjcpi 0:789f6b6f710d 26 APP_CMD_RESET_OFF // Debug command, pull reset pin low level
zhjcpi 0:789f6b6f710d 27 }eAppCmd;
zhjcpi 0:789f6b6f710d 28
zhjcpi 0:789f6b6f710d 29
zhjcpi 0:789f6b6f710d 30 static void _AppShowCmd(void);
zhjcpi 0:789f6b6f710d 31 static void _AppOutputCallback(CsrUint32 msgId, void * const pMsgData, CsrUint32 msgLength);
zhjcpi 0:789f6b6f710d 32 static void _AppEventCallback(eCsrLocEventType event, CsrUint32 data);
zhjcpi 0:789f6b6f710d 33 static void _ConsoleRxHandler(void);
zhjcpi 0:789f6b6f710d 34 static void _AppCmdProcess(char *pCmd);
zhjcpi 0:789f6b6f710d 35
zhjcpi 0:789f6b6f710d 36
zhjcpi 0:789f6b6f710d 37 static int sAppCmd = APP_CMD_IDLE;
zhjcpi 0:789f6b6f710d 38 ePowerMode sPwrMode = PWR_FULL;
zhjcpi 0:789f6b6f710d 39
zhjcpi 0:789f6b6f710d 40
zhjcpi 0:789f6b6f710d 41 static Serial sSerialDebug(USBTX, USBRX);
zhjcpi 1:e6c96c984e2b 42 static RawSerial sSerialLoc(p9, p10);;
zhjcpi 0:789f6b6f710d 43 static DigitalOut sPinOnoff(p5);
zhjcpi 0:789f6b6f710d 44 static DigitalOut sPinReset(p6);
zhjcpi 0:789f6b6f710d 45 static DigitalOut sLedLocOn(LED1);
zhjcpi 0:789f6b6f710d 46 static DigitalOut sLedPosReport(LED2);
zhjcpi 0:789f6b6f710d 47
zhjcpi 0:789f6b6f710d 48
zhjcpi 0:789f6b6f710d 49 int main(void)
zhjcpi 0:789f6b6f710d 50 {
zhjcpi 0:789f6b6f710d 51 CsrLocation *pCsrLoc;
zhjcpi 0:789f6b6f710d 52 tCsrLocConfig locConfig;
zhjcpi 0:789f6b6f710d 53
zhjcpi 0:789f6b6f710d 54 /* initialize the debug serial port */
zhjcpi 0:789f6b6f710d 55 sSerialDebug.baud(115200);
zhjcpi 0:789f6b6f710d 56 sSerialDebug.attach(&_ConsoleRxHandler);
zhjcpi 0:789f6b6f710d 57
zhjcpi 0:789f6b6f710d 58 /* initialize the CsrLocConfig */
zhjcpi 0:789f6b6f710d 59 locConfig.pSerialDebug = &sSerialDebug;
zhjcpi 0:789f6b6f710d 60 locConfig.pSerialLoc = &sSerialLoc;
zhjcpi 0:789f6b6f710d 61 locConfig.pPinOnoff = &sPinOnoff;
zhjcpi 0:789f6b6f710d 62 locConfig.pPinReset = &sPinReset;
zhjcpi 0:789f6b6f710d 63
zhjcpi 0:789f6b6f710d 64 /* new the CsrLocation instance */
zhjcpi 0:789f6b6f710d 65 pCsrLoc = new CsrLocation(&locConfig);
zhjcpi 0:789f6b6f710d 66 if(pCsrLoc == NULL)
zhjcpi 0:789f6b6f710d 67 {
zhjcpi 0:789f6b6f710d 68 sSerialDebug.printf("Failed to new csrLocation.\r\n");
zhjcpi 0:789f6b6f710d 69 sSerialDebug.attach(NULL);
zhjcpi 0:789f6b6f710d 70 return -1;
zhjcpi 0:789f6b6f710d 71 }
zhjcpi 0:789f6b6f710d 72
zhjcpi 0:789f6b6f710d 73 /* Register output callback and event callback functions */
zhjcpi 0:789f6b6f710d 74 pCsrLoc->CsrLocRegOutput(_AppOutputCallback, _AppEventCallback);
zhjcpi 0:789f6b6f710d 75
zhjcpi 0:789f6b6f710d 76 sSerialDebug.printf("mbed initialized OK.\r\n");
zhjcpi 0:789f6b6f710d 77 _AppShowCmd();
zhjcpi 0:789f6b6f710d 78
zhjcpi 0:789f6b6f710d 79 while(1)
zhjcpi 0:789f6b6f710d 80 {
zhjcpi 0:789f6b6f710d 81 switch(sAppCmd)
zhjcpi 0:789f6b6f710d 82 {
zhjcpi 0:789f6b6f710d 83 case APP_CMD_HELP:
zhjcpi 0:789f6b6f710d 84 sAppCmd = APP_CMD_IDLE;
zhjcpi 0:789f6b6f710d 85 _AppShowCmd();
zhjcpi 0:789f6b6f710d 86 break;
zhjcpi 0:789f6b6f710d 87 case APP_CMD_START:
zhjcpi 0:789f6b6f710d 88 sAppCmd = APP_CMD_IDLE;
zhjcpi 0:789f6b6f710d 89 sSerialDebug.printf("start location.\r\n");
zhjcpi 0:789f6b6f710d 90 sLedLocOn = 1;
zhjcpi 0:789f6b6f710d 91 pCsrLoc->CsrLocStart(sPwrMode);
zhjcpi 0:789f6b6f710d 92 break;
zhjcpi 0:789f6b6f710d 93 case APP_CMD_STOP:
zhjcpi 0:789f6b6f710d 94 sAppCmd = APP_CMD_IDLE;
zhjcpi 0:789f6b6f710d 95 sSerialDebug.printf("stop location.\r\n");
zhjcpi 0:789f6b6f710d 96 sLedLocOn = 0;
zhjcpi 0:789f6b6f710d 97 pCsrLoc->CsrLocStop();
zhjcpi 0:789f6b6f710d 98 break;
zhjcpi 0:789f6b6f710d 99 case APP_CMD_START_FAILED:
zhjcpi 0:789f6b6f710d 100 sAppCmd = APP_CMD_IDLE;
zhjcpi 0:789f6b6f710d 101 sSerialDebug.printf("reset as start failed.\r\n");
zhjcpi 0:789f6b6f710d 102 sLedLocOn = 0;
zhjcpi 0:789f6b6f710d 103 pCsrLoc->CsrLocStop();
zhjcpi 0:789f6b6f710d 104 pCsrLoc->CsrLocReset();
zhjcpi 0:789f6b6f710d 105 break;
zhjcpi 0:789f6b6f710d 106 case APP_CMD_STOP_FAILED:
zhjcpi 0:789f6b6f710d 107 sAppCmd = APP_CMD_IDLE;
zhjcpi 0:789f6b6f710d 108 sSerialDebug.printf("reset as stop failed.\r\n");
zhjcpi 0:789f6b6f710d 109 sLedLocOn = 0;
zhjcpi 0:789f6b6f710d 110 pCsrLoc->CsrLocStop();
zhjcpi 0:789f6b6f710d 111 pCsrLoc->CsrLocReset();
zhjcpi 0:789f6b6f710d 112 break;
zhjcpi 0:789f6b6f710d 113 case APP_CMD_IDLE:
zhjcpi 0:789f6b6f710d 114 pCsrLoc->CsrLocUpdate();
zhjcpi 0:789f6b6f710d 115 break;
zhjcpi 0:789f6b6f710d 116 case APP_CMD_ONOFF_ON:
zhjcpi 0:789f6b6f710d 117 sSerialDebug.printf("onoff on.\r\n");
zhjcpi 0:789f6b6f710d 118 sAppCmd = APP_CMD_IDLE;
zhjcpi 0:789f6b6f710d 119 sPinOnoff = 1;
zhjcpi 0:789f6b6f710d 120 break;
zhjcpi 0:789f6b6f710d 121 case APP_CMD_ONOFF_OFF:
zhjcpi 0:789f6b6f710d 122 sSerialDebug.printf("onoff off.\r\n");
zhjcpi 0:789f6b6f710d 123 sAppCmd = APP_CMD_IDLE;
zhjcpi 0:789f6b6f710d 124 sPinOnoff = 0;
zhjcpi 0:789f6b6f710d 125 break;
zhjcpi 0:789f6b6f710d 126 case APP_CMD_RESET_ON:
zhjcpi 0:789f6b6f710d 127 sSerialDebug.printf("reset on.\r\n");
zhjcpi 0:789f6b6f710d 128 sAppCmd = APP_CMD_IDLE;
zhjcpi 0:789f6b6f710d 129 sPinReset = 1;
zhjcpi 0:789f6b6f710d 130 break;
zhjcpi 0:789f6b6f710d 131 case APP_CMD_RESET_OFF:
zhjcpi 0:789f6b6f710d 132 sSerialDebug.printf("reset off.\r\n");
zhjcpi 0:789f6b6f710d 133 sAppCmd = APP_CMD_IDLE;
zhjcpi 0:789f6b6f710d 134 sPinReset = 0;
zhjcpi 0:789f6b6f710d 135 break;
zhjcpi 0:789f6b6f710d 136 case APP_CMD_PTF_GETPOS:
zhjcpi 0:789f6b6f710d 137 sSerialDebug.printf("lpm get pos.\r\n");
zhjcpi 0:789f6b6f710d 138 sAppCmd = APP_CMD_IDLE;
zhjcpi 0:789f6b6f710d 139 pCsrLoc->CsrLocLpmGetPos();
zhjcpi 0:789f6b6f710d 140 break;
zhjcpi 0:789f6b6f710d 141 case APP_CMD_NMEA:
zhjcpi 0:789f6b6f710d 142 sSerialDebug.printf("switch to nmea.\r\n");
zhjcpi 0:789f6b6f710d 143 sAppCmd = APP_CMD_IDLE;
zhjcpi 0:789f6b6f710d 144 pCsrLoc->CsrLocDebugSwitch2Nmea();
zhjcpi 0:789f6b6f710d 145 break;
zhjcpi 0:789f6b6f710d 146 case APP_CMD_PM_FULL:
zhjcpi 0:789f6b6f710d 147 sSerialDebug.printf("fpm set.\r\n");
zhjcpi 0:789f6b6f710d 148 sAppCmd = APP_CMD_IDLE;
zhjcpi 0:789f6b6f710d 149 sPwrMode = PWR_FULL;
zhjcpi 0:789f6b6f710d 150 break;
zhjcpi 0:789f6b6f710d 151 case APP_CMD_PM_PTF:
zhjcpi 0:789f6b6f710d 152 sSerialDebug.printf("lpm ptf set.\r\n");
zhjcpi 0:789f6b6f710d 153 sAppCmd = APP_CMD_IDLE;
zhjcpi 0:789f6b6f710d 154 sPwrMode = PWR_PTF;
zhjcpi 0:789f6b6f710d 155 break;
zhjcpi 0:789f6b6f710d 156 }
zhjcpi 0:789f6b6f710d 157 }
zhjcpi 0:789f6b6f710d 158 }
zhjcpi 0:789f6b6f710d 159
zhjcpi 0:789f6b6f710d 160 static void _AppShowCmd(void)
zhjcpi 0:789f6b6f710d 161 {
zhjcpi 0:789f6b6f710d 162 sSerialDebug.printf("Location commands:\r\n");
zhjcpi 0:789f6b6f710d 163 sSerialDebug.printf(" help - help to show supported commands\r\n");
zhjcpi 0:789f6b6f710d 164 sSerialDebug.printf(" start - begin location\r\n");
zhjcpi 0:789f6b6f710d 165 sSerialDebug.printf(" stop - end location\r\n");
zhjcpi 0:789f6b6f710d 166 sSerialDebug.printf(" fpm - full power mode\r\n");
zhjcpi 0:789f6b6f710d 167 sSerialDebug.printf(" ptf - ptf low power mode\r\n");
zhjcpi 0:789f6b6f710d 168 sSerialDebug.printf(" getpos - get location immediately in low power ptf mode\r\n");
zhjcpi 0:789f6b6f710d 169
zhjcpi 0:789f6b6f710d 170 }
zhjcpi 0:789f6b6f710d 171
zhjcpi 0:789f6b6f710d 172 static void _AppOutputCallback(CsrUint32 msgId, void * const pMsgData, CsrUint32 msgLength)
zhjcpi 0:789f6b6f710d 173 {
zhjcpi 0:789f6b6f710d 174 switch(msgId)
zhjcpi 0:789f6b6f710d 175 {
zhjcpi 0:789f6b6f710d 176 case LOC_OUTPUT_LOCATION:
zhjcpi 0:789f6b6f710d 177 {
zhjcpi 0:789f6b6f710d 178 tLocPosResp *pPosRsp = (tLocPosResp *)pMsgData;
zhjcpi 0:789f6b6f710d 179 sSerialDebug.printf("Loc: lat=%f, lon=%f, alt=%f\r\n", pPosRsp->lat, pPosRsp->lon, pPosRsp->alt);
zhjcpi 0:789f6b6f710d 180 sLedPosReport = !sLedPosReport;
zhjcpi 0:789f6b6f710d 181 break;
zhjcpi 0:789f6b6f710d 182 }
zhjcpi 0:789f6b6f710d 183 case LOC_OUTPUT_SV_STATUS:
zhjcpi 0:789f6b6f710d 184 {
zhjcpi 0:789f6b6f710d 185 tLocSvStatus *pSvStatus = (tLocSvStatus *)pMsgData;
zhjcpi 0:789f6b6f710d 186 sSerialDebug.printf("SV:week=%u, tow=%lu, GPS Num=%u, GLO Num=%u, GPS Mask=0x%lx, GLO Mask=0x%lx\r\n",
zhjcpi 0:789f6b6f710d 187 pSvStatus->gps_week, pSvStatus->tow, pSvStatus->numOfSVs, pSvStatus->numOfGloSVs,
zhjcpi 0:789f6b6f710d 188 pSvStatus->svUsedInFixMask, pSvStatus->gloSvUsedInFixMask);
zhjcpi 0:789f6b6f710d 189 break;
zhjcpi 0:789f6b6f710d 190 }
zhjcpi 0:789f6b6f710d 191
zhjcpi 0:789f6b6f710d 192 default :
zhjcpi 0:789f6b6f710d 193 break;
zhjcpi 0:789f6b6f710d 194 }
zhjcpi 0:789f6b6f710d 195 }
zhjcpi 0:789f6b6f710d 196
zhjcpi 0:789f6b6f710d 197 static void _AppEventCallback(eCsrLocEventType event, CsrUint32 data)
zhjcpi 0:789f6b6f710d 198 {
zhjcpi 0:789f6b6f710d 199 switch(event)
zhjcpi 0:789f6b6f710d 200 {
zhjcpi 0:789f6b6f710d 201 case CSR_LOC_EVENT_START_RESULT:
zhjcpi 0:789f6b6f710d 202 if(data != 0)
zhjcpi 0:789f6b6f710d 203 {
zhjcpi 0:789f6b6f710d 204 sSerialDebug.printf("start failed.\r\n");
zhjcpi 0:789f6b6f710d 205 sAppCmd = APP_CMD_START_FAILED;
zhjcpi 0:789f6b6f710d 206 }
zhjcpi 0:789f6b6f710d 207 else
zhjcpi 0:789f6b6f710d 208 {
zhjcpi 0:789f6b6f710d 209 sSerialDebug.printf("start OK.\r\n");
zhjcpi 0:789f6b6f710d 210 }
zhjcpi 0:789f6b6f710d 211 break;
zhjcpi 0:789f6b6f710d 212 case CSR_LOC_EVENT_STOP_RESULT:
zhjcpi 0:789f6b6f710d 213 if(data != 0)
zhjcpi 0:789f6b6f710d 214 {
zhjcpi 0:789f6b6f710d 215 sSerialDebug.printf("stop failed.\r\n");
zhjcpi 0:789f6b6f710d 216 sAppCmd = APP_CMD_STOP_FAILED;
zhjcpi 0:789f6b6f710d 217 }
zhjcpi 0:789f6b6f710d 218 else
zhjcpi 0:789f6b6f710d 219 {
zhjcpi 0:789f6b6f710d 220 sSerialDebug.printf("stop OK.\r\n");
zhjcpi 0:789f6b6f710d 221 }
zhjcpi 0:789f6b6f710d 222 break;
zhjcpi 0:789f6b6f710d 223 default:
zhjcpi 0:789f6b6f710d 224 break;
zhjcpi 0:789f6b6f710d 225 }
zhjcpi 0:789f6b6f710d 226 }
zhjcpi 0:789f6b6f710d 227
zhjcpi 0:789f6b6f710d 228 static void _ConsoleRxHandler(void)
zhjcpi 0:789f6b6f710d 229 {
zhjcpi 0:789f6b6f710d 230 static char cmd[32] = {0};
zhjcpi 0:789f6b6f710d 231 char ch;
zhjcpi 0:789f6b6f710d 232
zhjcpi 0:789f6b6f710d 233 ch = sSerialDebug.getc();
zhjcpi 0:789f6b6f710d 234 sSerialDebug.putc(ch);
zhjcpi 0:789f6b6f710d 235 if(ch == '\r')
zhjcpi 0:789f6b6f710d 236 {
zhjcpi 0:789f6b6f710d 237 sSerialDebug.putc('\n');
zhjcpi 0:789f6b6f710d 238 if(strlen(cmd) > 0)
zhjcpi 0:789f6b6f710d 239 {
zhjcpi 0:789f6b6f710d 240 _AppCmdProcess(cmd);
zhjcpi 0:789f6b6f710d 241 memset(cmd, 0, sizeof(cmd));
zhjcpi 0:789f6b6f710d 242 }
zhjcpi 0:789f6b6f710d 243 }
zhjcpi 0:789f6b6f710d 244 else
zhjcpi 0:789f6b6f710d 245 {
zhjcpi 0:789f6b6f710d 246 cmd[strlen(cmd)] = ch;
zhjcpi 0:789f6b6f710d 247 }
zhjcpi 0:789f6b6f710d 248 }
zhjcpi 0:789f6b6f710d 249
zhjcpi 0:789f6b6f710d 250 static void _AppCmdProcess(char *pCmd)
zhjcpi 0:789f6b6f710d 251 {
zhjcpi 0:789f6b6f710d 252 if(strcmp(pCmd, "help") == 0)
zhjcpi 0:789f6b6f710d 253 {
zhjcpi 0:789f6b6f710d 254 sAppCmd = APP_CMD_HELP;
zhjcpi 0:789f6b6f710d 255 sSerialDebug.putc('\r');
zhjcpi 0:789f6b6f710d 256 sSerialDebug.putc('\n');
zhjcpi 0:789f6b6f710d 257 }
zhjcpi 0:789f6b6f710d 258 else if(strcmp(pCmd, "start") == 0)
zhjcpi 0:789f6b6f710d 259 {
zhjcpi 0:789f6b6f710d 260 sAppCmd = APP_CMD_START;
zhjcpi 0:789f6b6f710d 261 sSerialDebug.putc('\r');
zhjcpi 0:789f6b6f710d 262 sSerialDebug.putc('\n');
zhjcpi 0:789f6b6f710d 263 }
zhjcpi 0:789f6b6f710d 264 else if(strcmp(pCmd, "stop") == 0)
zhjcpi 0:789f6b6f710d 265 {
zhjcpi 0:789f6b6f710d 266 sAppCmd = APP_CMD_STOP;
zhjcpi 0:789f6b6f710d 267 sSerialDebug.putc('\r');
zhjcpi 0:789f6b6f710d 268 sSerialDebug.putc('\n');
zhjcpi 0:789f6b6f710d 269 }
zhjcpi 0:789f6b6f710d 270 else if(strcmp(pCmd, "fpm") == 0)
zhjcpi 0:789f6b6f710d 271 {
zhjcpi 0:789f6b6f710d 272 sAppCmd = APP_CMD_PM_FULL;
zhjcpi 0:789f6b6f710d 273 sSerialDebug.putc('\r');
zhjcpi 0:789f6b6f710d 274 sSerialDebug.putc('\n');
zhjcpi 0:789f6b6f710d 275 }
zhjcpi 0:789f6b6f710d 276 else if(strcmp(pCmd, "ptf") == 0)
zhjcpi 0:789f6b6f710d 277 {
zhjcpi 0:789f6b6f710d 278 sAppCmd = APP_CMD_PM_PTF;
zhjcpi 0:789f6b6f710d 279 sSerialDebug.putc('\r');
zhjcpi 0:789f6b6f710d 280 sSerialDebug.putc('\n');
zhjcpi 0:789f6b6f710d 281 }
zhjcpi 0:789f6b6f710d 282 else if(strcmp(pCmd, "getpos") == 0)
zhjcpi 0:789f6b6f710d 283 {
zhjcpi 0:789f6b6f710d 284 sAppCmd = APP_CMD_PTF_GETPOS;
zhjcpi 0:789f6b6f710d 285 sSerialDebug.putc('\r');
zhjcpi 0:789f6b6f710d 286 sSerialDebug.putc('\n');
zhjcpi 0:789f6b6f710d 287 }
zhjcpi 0:789f6b6f710d 288 else if(strcmp(pCmd, "nmea") == 0)
zhjcpi 0:789f6b6f710d 289 {
zhjcpi 0:789f6b6f710d 290 sAppCmd = APP_CMD_NMEA;
zhjcpi 0:789f6b6f710d 291 sSerialDebug.putc('\r');
zhjcpi 0:789f6b6f710d 292 sSerialDebug.putc('\n');
zhjcpi 0:789f6b6f710d 293 }
zhjcpi 0:789f6b6f710d 294 else if(strcmp(pCmd, "onoffon") == 0)
zhjcpi 0:789f6b6f710d 295 {
zhjcpi 0:789f6b6f710d 296 sAppCmd = APP_CMD_ONOFF_ON;
zhjcpi 0:789f6b6f710d 297 sSerialDebug.putc('\r');
zhjcpi 0:789f6b6f710d 298 sSerialDebug.putc('\n');
zhjcpi 0:789f6b6f710d 299 }
zhjcpi 0:789f6b6f710d 300 else if(strcmp(pCmd, "onoffoff") == 0)
zhjcpi 0:789f6b6f710d 301 {
zhjcpi 0:789f6b6f710d 302 sAppCmd = APP_CMD_ONOFF_OFF;
zhjcpi 0:789f6b6f710d 303 sSerialDebug.putc('\r');
zhjcpi 0:789f6b6f710d 304 sSerialDebug.putc('\n');
zhjcpi 0:789f6b6f710d 305 }
zhjcpi 0:789f6b6f710d 306 else if(strcmp(pCmd, "reseton") == 0)
zhjcpi 0:789f6b6f710d 307 {
zhjcpi 0:789f6b6f710d 308 sAppCmd = APP_CMD_RESET_ON;
zhjcpi 0:789f6b6f710d 309 sSerialDebug.putc('\r');
zhjcpi 0:789f6b6f710d 310 sSerialDebug.putc('\n');
zhjcpi 0:789f6b6f710d 311 }
zhjcpi 0:789f6b6f710d 312 else if(strcmp(pCmd, "resetoff") == 0)
zhjcpi 0:789f6b6f710d 313 {
zhjcpi 0:789f6b6f710d 314 sAppCmd = APP_CMD_RESET_OFF;
zhjcpi 0:789f6b6f710d 315 sSerialDebug.putc('\r');
zhjcpi 0:789f6b6f710d 316 sSerialDebug.putc('\n');
zhjcpi 0:789f6b6f710d 317 }
zhjcpi 0:789f6b6f710d 318 else
zhjcpi 0:789f6b6f710d 319 {
zhjcpi 0:789f6b6f710d 320 sSerialDebug.putc('\r');
zhjcpi 0:789f6b6f710d 321 sSerialDebug.putc('\n');
zhjcpi 0:789f6b6f710d 322 sSerialDebug.printf("Unknown command %s\r\n", pCmd);
zhjcpi 0:789f6b6f710d 323 }
zhjcpi 0:789f6b6f710d 324 }