|
@ -45,22 +45,9 @@ enum TinyGSMDateTimeFormat { |
|
|
DATE_DATE = 2 |
|
|
DATE_DATE = 2 |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
//============================================================================// |
|
|
|
|
|
//============================================================================// |
|
|
|
|
|
// Declaration of the TinyGsmSim800 Class |
|
|
|
|
|
//============================================================================// |
|
|
|
|
|
//============================================================================// |
|
|
|
|
|
|
|
|
|
|
|
class TinyGsmSim800 |
|
|
class TinyGsmSim800 |
|
|
{ |
|
|
{ |
|
|
|
|
|
|
|
|
//============================================================================// |
|
|
|
|
|
//============================================================================// |
|
|
|
|
|
// The Sim800 Internal Client Class |
|
|
|
|
|
//============================================================================// |
|
|
|
|
|
//============================================================================// |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public: |
|
|
public: |
|
|
|
|
|
|
|
|
class GsmClient : public Client |
|
|
class GsmClient : public Client |
|
@ -205,13 +192,6 @@ private: |
|
|
RxFifo rx; |
|
|
RxFifo rx; |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
//============================================================================// |
|
|
|
|
|
//============================================================================// |
|
|
|
|
|
// The SIM800 Secure Client |
|
|
|
|
|
//============================================================================// |
|
|
|
|
|
//============================================================================// |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class GsmClientSecure : public GsmClient |
|
|
class GsmClientSecure : public GsmClient |
|
|
{ |
|
|
{ |
|
|
public: |
|
|
public: |
|
@ -231,19 +211,9 @@ public: |
|
|
} |
|
|
} |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
//============================================================================// |
|
|
|
|
|
//============================================================================// |
|
|
|
|
|
// The SIM800 Modem Functions |
|
|
|
|
|
//============================================================================// |
|
|
|
|
|
//============================================================================// |
|
|
|
|
|
|
|
|
|
|
|
public: |
|
|
public: |
|
|
|
|
|
|
|
|
#ifdef GSM_DEFAULT_STREAM |
|
|
|
|
|
TinyGsmSim800(Stream& stream = GSM_DEFAULT_STREAM) |
|
|
|
|
|
#else |
|
|
|
|
|
TinyGsmSim800(Stream& stream) |
|
|
TinyGsmSim800(Stream& stream) |
|
|
#endif |
|
|
|
|
|
: stream(stream) |
|
|
: stream(stream) |
|
|
{ |
|
|
{ |
|
|
memset(sockets, 0, sizeof(sockets)); |
|
|
memset(sockets, 0, sizeof(sockets)); |
|
@ -432,10 +402,10 @@ public: |
|
|
int status = waitResponse(GF("READY"), GF("SIM PIN"), GF("SIM PUK"), GF("NOT INSERTED")); |
|
|
int status = waitResponse(GF("READY"), GF("SIM PIN"), GF("SIM PUK"), GF("NOT INSERTED")); |
|
|
waitResponse(); |
|
|
waitResponse(); |
|
|
switch (status) { |
|
|
switch (status) { |
|
|
case 2: |
|
|
|
|
|
case 3: return SIM_LOCKED; |
|
|
|
|
|
case 1: return SIM_READY; |
|
|
|
|
|
default: return SIM_ERROR; |
|
|
|
|
|
|
|
|
case 2: |
|
|
|
|
|
case 3: return SIM_LOCKED; |
|
|
|
|
|
case 1: return SIM_READY; |
|
|
|
|
|
default: return SIM_ERROR; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
return SIM_ERROR; |
|
|
return SIM_ERROR; |
|
@ -492,10 +462,6 @@ public: |
|
|
return false; |
|
|
return false; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/* |
|
|
|
|
|
* WiFi functions |
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
|
|
/* |
|
|
/* |
|
|
* GPRS functions |
|
|
* GPRS functions |
|
|
*/ |
|
|
*/ |
|
@ -932,8 +898,7 @@ public: |
|
|
streamWrite(tail...); |
|
|
streamWrite(tail...); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
bool streamSkipUntil(char c) { |
|
|
|
|
|
const unsigned long timeout = 1000L; |
|
|
|
|
|
|
|
|
bool streamSkipUntil(const char c, const unsigned long timeout = 3000L) { |
|
|
unsigned long startMillis = millis(); |
|
|
unsigned long startMillis = millis(); |
|
|
while (millis() - startMillis < timeout) { |
|
|
while (millis() - startMillis < timeout) { |
|
|
while (millis() - startMillis < timeout && !stream.available()) { |
|
|
while (millis() - startMillis < timeout && !stream.available()) { |
|
@ -1019,7 +984,6 @@ finish: |
|
|
} |
|
|
} |
|
|
data = ""; |
|
|
data = ""; |
|
|
} |
|
|
} |
|
|
//DBG('<', index, '>'); |
|
|
|
|
|
return index; |
|
|
return index; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|