Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: gprs.cpp
- Revision:
- 7:1278e9dde24e
- Parent:
- 5:ac2342f162fa
diff -r e508f9ee7922 -r 1278e9dde24e gprs.cpp
--- a/gprs.cpp Mon Feb 10 03:23:02 2014 +0000
+++ b/gprs.cpp Mon Apr 28 12:32:12 2014 +0000
@@ -91,8 +91,17 @@
return waitForResp(resp,timeout);
}
+int GPRS::powerCheck(void)
+{
+ return sendCmdAndWaitForResp("AT\r\n", "OK", 2);
+}
+
int GPRS::init(void)
{
+ for(int i = 0; i < 3; i++){
+ sendCmdAndWaitForResp("AT\r\n", "OK", DEFAULT_TIMEOUT);
+ wait(0.5);
+ }
if(0 != checkSIMStatus()) {
return -1;
}
@@ -229,35 +238,35 @@
int GPRS::loopHandle(void)
{
char gprsBuffer[100];
- int i = 0;
+ int i;
char *s = NULL;
- cleanBuffer(gprsBuffer,100);
while(gprsSerial.readable()) {
char c = gprsSerial.getc();
}
- wait(1);
+ wait(0.5);
START:
+ cleanBuffer(gprsBuffer,100);
+ i = 0;
while(1) {
if(gprsSerial.readable()) {
- break;
- }
- wait(1);
- }
- timeCnt.start(); // start timer
- while(1) {
- while (gprsSerial.readable()) {
- char c = gprsSerial.getc();
- if (c == '\r' || c == '\n') c = '$';
- gprsBuffer[i] = c;
- i++;
- if(i > 100) {
- i = 0;
- break;
- }
- }
- if(timeCnt.read() > 5) { // time out
- timeCnt.stop();
- timeCnt.reset();
+ timeCnt.start(); // start timer
+ while(1) {
+ while (gprsSerial.readable()) {
+ char c = gprsSerial.getc();
+ if (c == '\r' || c == '\n') c = '$';
+ gprsBuffer[i] = c;
+ i++;
+ if(i > 100) {
+ i = 0;
+ break;
+ }
+ }
+ if(timeCnt.read() > 2) { // time out
+ timeCnt.stop();
+ timeCnt.reset();
+ break;
+ }
+ }
break;
}
}