AT Parser and bufferedSerial based SPWF library
Dependencies: ATParser
Dependents: X_NUCLEO_IDW01M1v2
Fork of SPWF01SA by
Revision 8:a4425b8dd2e4, committed 2016-07-04
- Comitter:
- mridup
- Date:
- Mon Jul 04 12:14:14 2016 +0000
- Parent:
- 7:551de95939e2
- Child:
- 9:5314a6659fad
- Commit message:
- fix ATParser for AT-response ending with numbers and no non-digit. ATParser pointing to mridup/ATParser.
Changed in this revision
| ATParser.lib | Show annotated file Show diff for this revision Revisions of this file |
| SPWFSA01.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/ATParser.lib Thu Jun 30 10:52:43 2016 +0000 +++ b/ATParser.lib Mon Jul 04 12:14:14 2016 +0000 @@ -1,1 +1,1 @@ -https://developer.mbed.org/teams/components/code/ATParser/#6b8190f55d83 +https://developer.mbed.org/users/mridup/code/ATParser/#311f99666a8d
--- a/SPWFSA01.cpp Thu Jun 30 10:52:43 2016 +0000
+++ b/SPWFSA01.cpp Mon Jul 04 12:14:14 2016 +0000
@@ -43,7 +43,7 @@
reset();
/*set local echo to 0*/
- if(!(_parser.send("AT+S.SCFG=localecho1,%d", 0) && _parser.recv("OK")))
+ if(!(_parser.send("AT+S.SCFG=localecho1,%d\r", 0) && _parser.recv("OK")))
{
printf("\r\nerror local echo set\n");
return false;
@@ -89,7 +89,7 @@
{
if(!_parser.send("AT+CFUN=1")) return false;
while(1) {
- if (_parser.recv("+WIND:32:WiFi Hardware Started")) {
+ if (_parser.recv("+WIND:32:WiFi Hardware Started\r")) {
return true;
}
}
@@ -151,13 +151,10 @@
reset();
while(1)
- if((_parser.recv("+WIND:24:WiFi Up:%u.%u.%u.%u",&n1, &n2, &n3, &n4)))
- //if((_parser.recv("+WIND:24:WiFi Up:%[^\\r]",_ip_buffer)))
+ if((_parser.recv("+WIND:24:WiFi Up:%u.%u.%u.%u\r",&n1, &n2, &n3, &n4)))
{
break;
- }
-
- //printf("\r\nip address:%u.%u.%u.%u\n",n1, n2, n3, n4);
+ }
return true;
}
@@ -251,7 +248,6 @@
//if(timeout) return false;
//TODO: deal with errors like "ERROR: Failed to resolve name"
}
- //printf("\r\nsock id = %d\r\n", *id);
return true;
}
@@ -277,9 +273,9 @@
if (!(_parser.recv("+WIND:55:Pending Data:%d:%u", &recv_id, &recv_amount)
&& recv_id == id
- //&& _parser.send("AT+S.SOCKQ=%d", id)//send a query (will be required for secure sockets)
- //&& _parser.recv(" DATALEN: %d", &recv_amount)
- //&& _parser.recv("OK")
+ && _parser.send("AT+S.SOCKQ=%d", id)//send a query (will be required for secure sockets)
+ && _parser.recv(" DATALEN: %u", &recv_amount)
+ && _parser.recv("OK")
&& recv_amount <= amount
&& _parser.send("AT+S.SOCKR=%d,%d", id, recv_amount)
&& _parser.read((char*)data, recv_amount)
