diff --git a/src/TinyGsmClientA6.h b/src/TinyGsmClientA6.h index 42f0a67..792f53e 100644 --- a/src/TinyGsmClientA6.h +++ b/src/TinyGsmClientA6.h @@ -175,10 +175,10 @@ public: String remoteIP() TINY_GSM_ATTR_NOT_IMPLEMENTED; private: - TinyGsmA6* at; - uint8_t mux; - bool sock_connected; - RxFifo rx; + TinyGsmA6* at; + uint8_t mux; + bool sock_connected; + RxFifo rx; }; //============================================================================// @@ -195,7 +195,6 @@ private: //============================================================================// //============================================================================// - public: #ifdef GSM_DEFAULT_STREAM @@ -241,8 +240,8 @@ public: for (unsigned long start = millis(); millis() - start < timeout; ) { sendAT(GF("")); if (waitResponse(200) == 1) { - delay(100); - return true; + delay(100); + return true; } delay(100); } @@ -348,6 +347,17 @@ public: return SIM_ERROR; } + RegStatus getRegistrationStatus() { + sendAT(GF("+CREG?")); + if (waitResponse(GF(GSM_NL "+CREG:")) != 1) { + return REG_UNKNOWN; + } + streamSkipUntil(','); // Skip format (0) + int status = stream.readStringUntil('\n').toInt(); + waitResponse(); + return (RegStatus)status; + } + String getOperator() { sendAT(GF("+COPS=3,0")); // Set format waitResponse(); @@ -366,17 +376,6 @@ public: * Generic network functions */ - RegStatus getRegistrationStatus() { - sendAT(GF("+CREG?")); - if (waitResponse(GF(GSM_NL "+CREG:")) != 1) { - return REG_UNKNOWN; - } - streamSkipUntil(','); // Skip format (0) - int status = stream.readStringUntil('\n').toInt(); - waitResponse(); - return (RegStatus)status; - } - int getSignalQuality() { sendAT(GF("+CSQ")); if (waitResponse(GF(GSM_NL "+CSQ:")) != 1) { @@ -402,22 +401,6 @@ public: return false; } - String getLocalIP() { - sendAT(GF("+CIFSR")); - String res; - if (waitResponse(10000L, res) != 1) { - return ""; - } - res.replace(GSM_NL "OK" GSM_NL, ""); - res.replace(GSM_NL, ""); - res.trim(); - return res; - } - - IPAddress localIP() { - return TinyGsmIpFromString(getLocalIP()); - } - /* * WiFi functions */ @@ -480,6 +463,22 @@ public: return (res == 1); } + String getLocalIP() { + sendAT(GF("+CIFSR")); + String res; + if (waitResponse(10000L, res) != 1) { + return ""; + } + res.replace(GSM_NL "OK" GSM_NL, ""); + res.replace(GSM_NL, ""); + res.trim(); + return res; + } + + IPAddress localIP() { + return TinyGsmIpFromString(getLocalIP()); + } + /* * Messaging functions */ @@ -583,7 +582,7 @@ protected: } bool modemGetConnected(uint8_t mux) { - sendAT(GF("+CIPSTATUS")); // TODO mux? + sendAT(GF("+CIPSTATUS")); //TODO mux? int res = waitResponse(GF(",\"CONNECTED\""), GF(",\"CLOSED\""), GF(",\"CLOSING\""), GF(",\"INITIAL\"")); waitResponse(); return 1 == res; diff --git a/src/TinyGsmClientBG96.h b/src/TinyGsmClientBG96.h index 6c4502c..c86f472 100644 --- a/src/TinyGsmClientBG96.h +++ b/src/TinyGsmClientBG96.h @@ -382,6 +382,17 @@ public: return SIM_ERROR; } + RegStatus getRegistrationStatus() { + sendAT(GF("+CREG?")); + if (waitResponse(GF(GSM_NL "+CREG:")) != 1) { + return REG_UNKNOWN; + } + streamSkipUntil(','); // Skip format (0) + int status = stream.readStringUntil('\n').toInt(); + waitResponse(); + return (RegStatus)status; + } + String getOperator() { sendAT(GF("+COPS?")); if (waitResponse(GF(GSM_NL "+COPS:")) != 1) { @@ -397,17 +408,6 @@ public: * Generic network functions */ - RegStatus getRegistrationStatus() { - sendAT(GF("+CREG?")); - if (waitResponse(GF(GSM_NL "+CREG:")) != 1) { - return REG_UNKNOWN; - } - streamSkipUntil(','); // Skip format (0) - int status = stream.readStringUntil('\n').toInt(); - waitResponse(); - return (RegStatus)status; - } - int getSignalQuality() { sendAT(GF("+CSQ")); if (waitResponse(GF(GSM_NL "+CSQ:")) != 1) { @@ -433,23 +433,6 @@ public: return false; } - String getLocalIP() { - sendAT(GF("+CGPADDR=1")); - if (waitResponse(10000L, GF(GSM_NL "+CGPADDR:")) != 1) { - return ""; - } - streamSkipUntil(','); - String res = stream.readStringUntil('\n'); - if (waitResponse() != 1) { - return ""; - } - return res; - } - - IPAddress localIP() { - return TinyGsmIpFromString(getLocalIP()); - } - /* * WiFi functions */ @@ -500,6 +483,23 @@ public: return localIP() != 0; } + String getLocalIP() { + sendAT(GF("+CGPADDR=1")); + if (waitResponse(10000L, GF(GSM_NL "+CGPADDR:")) != 1) { + return ""; + } + streamSkipUntil(','); + String res = stream.readStringUntil('\n'); + if (waitResponse() != 1) { + return ""; + } + return res; + } + + IPAddress localIP() { + return TinyGsmIpFromString(getLocalIP()); + } + /* * Messaging functions */ diff --git a/src/TinyGsmClientESP8266.h b/src/TinyGsmClientESP8266.h index 7755428..c752989 100644 --- a/src/TinyGsmClientESP8266.h +++ b/src/TinyGsmClientESP8266.h @@ -9,7 +9,7 @@ #ifndef TinyGsmClientESP8266_h #define TinyGsmClientESP8266_h -// #define TINY_GSM_DEBUG Serial +//#define TINY_GSM_DEBUG Serial #if !defined(TINY_GSM_RX_BUFFER) #define TINY_GSM_RX_BUFFER 512 @@ -286,7 +286,9 @@ public: return res; } - bool hasSSL() { return true; } + bool hasSSL() { + return true; + } /* * Power functions @@ -317,11 +319,6 @@ public: * SIM card functions */ - - /* - * Generic network functions - */ - RegStatus getRegistrationStatus() { sendAT(GF("+CIPSTATUS")); if (waitResponse(3000, GF("STATUS:")) != 1) return REG_UNKNOWN; @@ -330,6 +327,10 @@ public: return (RegStatus)status; } + /* + * Generic network functions + */ + int getSignalQuality() { sendAT(GF("+CWJAP_CUR?")); int res1 = waitResponse(GF("No AP"), GF("+CWJAP_CUR:")); @@ -366,21 +367,6 @@ public: return false; } - String getLocalIP() { - sendAT(GF("+CIPSTA_CUR??")); - int res1 = waitResponse(GF("ERROR"), GF("+CWJAP_CUR:")); - if (res1 != 2) { - return ""; - } - String res2 = stream.readStringUntil('"'); - waitResponse(); - return res2; - } - - IPAddress localIP() { - return TinyGsmIpFromString(getLocalIP()); - } - /* * WiFi functions */ @@ -389,6 +375,7 @@ public: if (waitResponse(30000L, GFP(GSM_OK), GF(GSM_NL "FAIL" GSM_NL)) != 1) { return false; } + return true; } @@ -399,6 +386,21 @@ public: return retVal; } + String getLocalIP() { + sendAT(GF("+CIPSTA_CUR??")); + int res1 = waitResponse(GF("ERROR"), GF("+CWJAP_CUR:")); + if (res1 != 2) { + return ""; + } + String res2 = stream.readStringUntil('"'); + waitResponse(); + return res2; + } + + IPAddress localIP() { + return TinyGsmIpFromString(getLocalIP()); + } + /* * GPRS functions */ diff --git a/src/TinyGsmClientG350.h b/src/TinyGsmClientG350.h index 21d6c05..f28cd49 100644 --- a/src/TinyGsmClientG350.h +++ b/src/TinyGsmClientG350.h @@ -79,6 +79,7 @@ public: public: virtual int connect(const char *host, uint16_t port) { + stop(); TINY_GSM_YIELD(); rx.clear(); sock_connected = at->modemConnect(host, port, &mux); @@ -255,9 +256,9 @@ public: for (unsigned long start = millis(); millis() - start < timeout; ) { sendAT(GF("")); if (waitResponse(200) == 1) { - //nilThdSleepMilliseconds(100); --> add ifdef balise - delay(100); - return true; + //nilThdSleepMilliseconds(100); --> add ifdef balise + delay(100); + return true; } //nilThdSleepMilliseconds(50); --> add ifdef balise delay(100); @@ -355,6 +356,17 @@ public: return SIM_ERROR; } + RegStatus getRegistrationStatus() { + sendAT(GF("+CGREG?")); + if (waitResponse(GF(GSM_NL "+CGREG:")) != 1) { + return REG_UNKNOWN; + } + streamSkipUntil(','); // Skip format (0) + int status = stream.readStringUntil('\n').toInt(); + waitResponse(); + return (RegStatus)status; + } + String getOperator() { sendAT(GF("+COPS?")); if (waitResponse(GF(GSM_NL "+COPS:")) != 1) { @@ -370,17 +382,6 @@ public: * Generic network functions */ - RegStatus getRegistrationStatus() { - sendAT(GF("+CGREG?")); - if (waitResponse(GF(GSM_NL "+CGREG:")) != 1) { - return REG_UNKNOWN; - } - streamSkipUntil(','); // Skip format (0) - int status = stream.readStringUntil('\n').toInt(); - waitResponse(); - return (RegStatus)status; - } - int getSignalQuality() { sendAT(GF("+CSQ")); if (waitResponse(GF(GSM_NL "+CSQ:")) != 1) { @@ -407,20 +408,6 @@ public: return false; } - String getLocalIP() { - sendAT(GF("+CIFSR;E0")); - String res; - if (waitResponse(10000L, res) != 1) { - return ""; - } - res.trim(); - return res; - } - - IPAddress localIP() { - return TinyGsmIpFromString(getLocalIP()); - } - /* * WiFi functions */ @@ -489,6 +476,20 @@ public: return true; } + String getLocalIP() { + sendAT(GF("+CIFSR;E0")); + String res; + if (waitResponse(10000L, res) != 1) { + return ""; + } + res.trim(); + return res; + } + + IPAddress localIP() { + return TinyGsmIpFromString(getLocalIP()); + } + /* * Messaging functions */ diff --git a/src/TinyGsmClientM590.h b/src/TinyGsmClientM590.h index 7a107ca..eb553d6 100644 --- a/src/TinyGsmClientM590.h +++ b/src/TinyGsmClientM590.h @@ -9,7 +9,7 @@ #ifndef TinyGsmClientM590_h #define TinyGsmClientM590_h -// #define TINY_GSM_DEBUG Serial +//#define TINY_GSM_DEBUG Serial #if !defined(TINY_GSM_RX_BUFFER) #define TINY_GSM_RX_BUFFER 256 @@ -173,10 +173,10 @@ public: String remoteIP() TINY_GSM_ATTR_NOT_IMPLEMENTED; private: - TinyGsmM590* at; - uint8_t mux; - bool sock_connected; - RxFifo rx; + TinyGsmM590* at; + uint8_t mux; + bool sock_connected; + RxFifo rx; }; //============================================================================// @@ -359,6 +359,17 @@ public: return SIM_ERROR; } + RegStatus getRegistrationStatus() { + sendAT(GF("+CREG?")); + if (waitResponse(GF(GSM_NL "+CREG:")) != 1) { + return REG_UNKNOWN; + } + streamSkipUntil(','); // Skip format (0) + int status = stream.readStringUntil('\n').toInt(); + waitResponse(); + return (RegStatus)status; + } + String getOperator() { sendAT(GF("+COPS?")); if (waitResponse(GF(GSM_NL "+COPS:")) != 1) { @@ -374,17 +385,6 @@ public: * Generic network functions */ - RegStatus getRegistrationStatus() { - sendAT(GF("+CREG?")); - if (waitResponse(GF(GSM_NL "+CREG:")) != 1) { - return REG_UNKNOWN; - } - streamSkipUntil(','); // Skip format (0) - int status = stream.readStringUntil('\n').toInt(); - waitResponse(); - return (RegStatus)status; - } - int getSignalQuality() { sendAT(GF("+CSQ")); if (waitResponse(GF(GSM_NL "+CSQ:")) != 1) { @@ -410,22 +410,6 @@ public: return false; } - String getLocalIP() { - sendAT(GF("+XIIC?")); - if (waitResponse(GF(GSM_NL "+XIIC:")) != 1) { - return ""; - } - stream.readStringUntil(','); - String res = stream.readStringUntil('\n'); - waitResponse(); - res.trim(); - return res; - } - - IPAddress localIP() { - return TinyGsmIpFromString(getLocalIP()); - } - /* * WiFi functions */ @@ -486,6 +470,22 @@ public: return res == 1; } + String getLocalIP() { + sendAT(GF("+XIIC?")); + if (waitResponse(GF(GSM_NL "+XIIC:")) != 1) { + return ""; + } + stream.readStringUntil(','); + String res = stream.readStringUntil('\n'); + waitResponse(); + res.trim(); + return res; + } + + IPAddress localIP() { + return TinyGsmIpFromString(getLocalIP()); + } + /* * Messaging functions */ diff --git a/src/TinyGsmClientM95.h b/src/TinyGsmClientM95.h index e3142fc..ad9ff8c 100644 --- a/src/TinyGsmClientM95.h +++ b/src/TinyGsmClientM95.h @@ -372,6 +372,17 @@ public: return SIM_ERROR; } + RegStatus getRegistrationStatus() { + sendAT(GF("+CREG?")); + if (waitResponse(GF(GSM_NL "+CREG:")) != 1) { + return REG_UNKNOWN; + } + streamSkipUntil(','); // Skip format (0) + int status = stream.readStringUntil('\n').toInt(); + waitResponse(); + return (RegStatus)status; + } + String getOperator() { sendAT(GF("+COPS?")); if (waitResponse(GF(GSM_NL "+COPS:")) != 1) { @@ -387,17 +398,6 @@ public: * Generic network functions */ - RegStatus getRegistrationStatus() { - sendAT(GF("+CREG?")); - if (waitResponse(GF(GSM_NL "+CREG:")) != 1) { - return REG_UNKNOWN; - } - streamSkipUntil(','); // Skip format (0) - int status = stream.readStringUntil('\n').toInt(); - waitResponse(); - return (RegStatus)status; - } - int getSignalQuality() { sendAT(GF("+CSQ")); if (waitResponse(GF(GSM_NL "+CSQ:")) != 1) { @@ -432,23 +432,6 @@ public: waitResponse(); } - String getLocalIP() { - sendAT(GF("+CGPADDR=1")); - if (waitResponse(10000L, GF(GSM_NL "+CGPADDR:")) != 1) { - return ""; - } - streamSkipUntil(','); - String res = stream.readStringUntil('\n'); - if (waitResponse() != 1) { - return ""; - } - return res; - } - - IPAddress localIP() { - return TinyGsmIpFromString(getLocalIP()); - } - /* * WiFi functions */ @@ -498,6 +481,23 @@ public: return localIP() != 0; } + String getLocalIP() { + sendAT(GF("+CGPADDR=1")); + if (waitResponse(10000L, GF(GSM_NL "+CGPADDR:")) != 1) { + return ""; + } + streamSkipUntil(','); + String res = stream.readStringUntil('\n'); + if (waitResponse() != 1) { + return ""; + } + return res; + } + + IPAddress localIP() { + return TinyGsmIpFromString(getLocalIP()); + } + /* * Messaging functions */ @@ -608,9 +608,9 @@ protected: bool modemConnect(const char* host, uint16_t port, uint8_t mux) { sendAT(GF("+QIOPEN="), GF("\"TCP"), GF("\",\""), host, GF("\","), port); int rsp = waitResponse(75000L, - GF("CONNECT OK" GSM_NL), - GF("CONNECT FAIL" GSM_NL), - GF("ALREADY CONNECT" GSM_NL)); + GF("CONNECT OK" GSM_NL), + GF("CONNECT FAIL" GSM_NL), + GF("ALREADY CONNECT" GSM_NL)); if ( rsp != 1 ) { return false; } diff --git a/src/TinyGsmClientMC60.h b/src/TinyGsmClientMC60.h index 6f858e6..031ea53 100644 --- a/src/TinyGsmClientMC60.h +++ b/src/TinyGsmClientMC60.h @@ -12,8 +12,8 @@ #ifndef TinyGsmClientMC60_h #define TinyGsmClientMC60_h -// #define TINY_GSM_DEBUG Serial -// #define TINY_GSM_USE_HEX +//#define TINY_GSM_DEBUG Serial +//#define TINY_GSM_USE_HEX #if !defined(TINY_GSM_RX_BUFFER) #define TINY_GSM_RX_BUFFER 64 @@ -417,6 +417,17 @@ public: return SIM_ERROR; } + RegStatus getRegistrationStatus() { + sendAT(GF("+CREG?")); + if (waitResponse(GF(GSM_NL "+CREG:")) != 1) { + return REG_UNKNOWN; + } + streamSkipUntil(','); // Skip format (0) + int status = stream.readStringUntil('\n').toInt(); + waitResponse(); + return (RegStatus)status; + } + String getOperator() { sendAT(GF("+COPS?")); if (waitResponse(GF(GSM_NL "+COPS:")) != 1) { @@ -432,17 +443,6 @@ public: * Generic network functions */ - RegStatus getRegistrationStatus() { - sendAT(GF("+CREG?")); - if (waitResponse(GF(GSM_NL "+CREG:")) != 1) { - return REG_UNKNOWN; - } - streamSkipUntil(','); // Skip format (0) - int status = stream.readStringUntil('\n').toInt(); - waitResponse(); - return (RegStatus)status; - } - int getSignalQuality() { sendAT(GF("+CSQ")); if (waitResponse(GF(GSM_NL "+CSQ:")) != 1) { @@ -468,20 +468,6 @@ public: return false; } - String getLocalIP() { - sendAT(GF("+CIFSR;E0")); - String res; - if (waitResponse(10000L, res) != 1) { - return ""; - } - res.trim(); - return res; - } - - IPAddress localIP() { - return TinyGsmIpFromString(getLocalIP()); - } - /* * WiFi functions */ @@ -626,6 +612,20 @@ public: return waitResponse(60000L) == 1; } + String getLocalIP() { + sendAT(GF("+CIFSR;E0")); + String res; + if (waitResponse(10000L, res) != 1) { + return ""; + } + res.trim(); + return res; + } + + IPAddress localIP() { + return TinyGsmIpFromString(getLocalIP()); + } + /* * Messaging functions */ diff --git a/src/TinyGsmClientSIM800.h b/src/TinyGsmClientSIM800.h index 8132ebf..fc6bb40 100644 --- a/src/TinyGsmClientSIM800.h +++ b/src/TinyGsmClientSIM800.h @@ -9,8 +9,8 @@ #ifndef TinyGsmClientSIM800_h #define TinyGsmClientSIM800_h -// #define TINY_GSM_DEBUG Serial -// #define TINY_GSM_USE_HEX +//#define TINY_GSM_DEBUG Serial +//#define TINY_GSM_USE_HEX #if !defined(TINY_GSM_RX_BUFFER) #define TINY_GSM_RX_BUFFER 64 @@ -255,11 +255,6 @@ public: if (waitResponse() != 1) { return false; } - - // PREFERRED SMS STORAGE - sendAT(GF("+CPMS="), GF("\"SM\""), GF(","), GF("\"SM\""), GF(","), GF("\"SM\"")); - waitResponse(); - getSimStatus(); return true; } @@ -434,6 +429,17 @@ public: return SIM_ERROR; } + RegStatus getRegistrationStatus() { + sendAT(GF("+CREG?")); + if (waitResponse(GF(GSM_NL "+CREG:")) != 1) { + return REG_UNKNOWN; + } + streamSkipUntil(','); // Skip format (0) + int status = stream.readStringUntil('\n').toInt(); + waitResponse(); + return (RegStatus)status; + } + String getOperator() { sendAT(GF("+COPS?")); if (waitResponse(GF(GSM_NL "+COPS:")) != 1) { @@ -449,17 +455,6 @@ public: * Generic network functions */ - RegStatus getRegistrationStatus() { - sendAT(GF("+CREG?")); - if (waitResponse(GF(GSM_NL "+CREG:")) != 1) { - return REG_UNKNOWN; - } - streamSkipUntil(','); // Skip format (0) - int status = stream.readStringUntil('\n').toInt(); - waitResponse(); - return (RegStatus)status; - } - int getSignalQuality() { sendAT(GF("+CSQ")); if (waitResponse(GF(GSM_NL "+CSQ:")) != 1) { @@ -485,22 +480,6 @@ public: return false; } - String getLocalIP() { - sendAT(GF("+CIFSR;E0")); - String res; - if (waitResponse(10000L, res) != 1) { - return ""; - } - res.replace(GSM_NL "OK" GSM_NL, ""); - res.replace(GSM_NL, ""); - res.trim(); - return res; - } - - IPAddress localIP() { - return TinyGsmIpFromString(getLocalIP()); - } - /* * WiFi functions */ @@ -625,6 +604,22 @@ public: return true; } + String getLocalIP() { + sendAT(GF("+CIFSR;E0")); + String res; + if (waitResponse(10000L, res) != 1) { + return ""; + } + res.replace(GSM_NL "OK" GSM_NL, ""); + res.replace(GSM_NL, ""); + res.trim(); + return res; + } + + IPAddress localIP() { + return TinyGsmIpFromString(getLocalIP()); + } + /* * Messaging functions */ @@ -717,7 +712,6 @@ public: /* * Battery functions */ - // Use: float vBatt = modem.getBattVoltage() / 1000.0; uint16_t getBattVoltage() { sendAT(GF("+CBC")); diff --git a/src/TinyGsmClientUBLOX.h b/src/TinyGsmClientUBLOX.h index 68347e0..4b4671d 100644 --- a/src/TinyGsmClientUBLOX.h +++ b/src/TinyGsmClientUBLOX.h @@ -176,12 +176,12 @@ public: String remoteIP() TINY_GSM_ATTR_NOT_IMPLEMENTED; private: - TinyGsmU201* at; - uint8_t mux; - uint16_t sock_available; - bool sock_connected; - bool got_data; - RxFifo rx; + TinyGsmU201* at; + uint8_t mux; + uint16_t sock_available; + bool sock_connected; + bool got_data; + RxFifo rx; }; //============================================================================// @@ -382,6 +382,17 @@ public: return SIM_ERROR; } + RegStatus getRegistrationStatus() { + sendAT(GF("+CGREG?")); + if (waitResponse(GF(GSM_NL "+CGREG:")) != 1) { + return REG_UNKNOWN; + } + streamSkipUntil(','); // Skip format (0) + int status = stream.readStringUntil('\n').toInt(); + waitResponse(); + return (RegStatus)status; + } + String getOperator() { sendAT(GF("+COPS?")); if (waitResponse(GF(GSM_NL "+COPS:")) != 1) { @@ -397,17 +408,6 @@ public: * Generic network functions */ - RegStatus getRegistrationStatus() { - sendAT(GF("+CGREG?")); - if (waitResponse(GF(GSM_NL "+CGREG:")) != 1) { - return REG_UNKNOWN; - } - streamSkipUntil(','); // Skip format (0) - int status = stream.readStringUntil('\n').toInt(); - waitResponse(); - return (RegStatus)status; - } - int getSignalQuality() { sendAT(GF("+CSQ")); if (waitResponse(GF(GSM_NL "+CSQ:")) != 1) { @@ -433,24 +433,6 @@ public: return false; } - String getLocalIP() { - sendAT(GF("+UPSND=0,0")); - if (waitResponse(GF(GSM_NL "+UPSND:")) != 1) { - return ""; - } - streamSkipUntil(','); // Skip PSD profile - streamSkipUntil('\"'); // Skip request type - String res = stream.readStringUntil('\"'); - if (waitResponse() != 1) { - return ""; - } - return res; - } - - IPAddress localIP() { - return TinyGsmIpFromString(getLocalIP()); - } - /* * WiFi functions */ @@ -519,6 +501,24 @@ public: return localIP() != 0; } + + String getLocalIP() { + sendAT(GF("+UPSND=0,0")); + if (waitResponse(GF(GSM_NL "+UPSND:")) != 1) { + return ""; + } + streamSkipUntil(','); // Skip PSD profile + streamSkipUntil('\"'); // Skip request type + String res = stream.readStringUntil('\"'); + if (waitResponse() != 1) { + return ""; + } + return res; + } + + IPAddress localIP() { + return TinyGsmIpFromString(getLocalIP()); + } /* * Messaging functions */ diff --git a/src/TinyGsmClientXBee.h b/src/TinyGsmClientXBee.h index dbacf7a..a953cd2 100644 --- a/src/TinyGsmClientXBee.h +++ b/src/TinyGsmClientXBee.h @@ -169,9 +169,9 @@ public: String remoteIP() TINY_GSM_ATTR_NOT_IMPLEMENTED; private: - TinyGsmXBee* at; - uint8_t mux; - bool sock_connected; + TinyGsmXBee* at; + uint8_t mux; + bool sock_connected; }; //============================================================================// @@ -430,18 +430,6 @@ public: return SIM_READY; // unsupported } - String getOperator() { - if (!commandMode()) return ""; // Return immediately - sendAT(GF("MN")); - String res = readResponse(); - exitCommand(); - return res; - } - - /* - * Generic network functions - */ - RegStatus getRegistrationStatus() { if (!commandMode()) return REG_UNKNOWN; // Return immediately @@ -514,6 +502,17 @@ public: exitCommand(); return stat; } + String getOperator() { + if (!commandMode()) return ""; // Return immediately + sendAT(GF("MN")); + String res = readResponse(); + exitCommand(); + return res; + } + + /* + * Generic network functions + */ int getSignalQuality() { if (!commandMode()) return 0; // Return immediately @@ -543,21 +542,6 @@ public: return false; } - String getLocalIP() { - if (!commandMode()) return ""; // Return immediately - sendAT(GF("MY")); - String IPaddr; IPaddr.reserve(16); - // wait for the response - this response can be very slow - IPaddr = readResponse(30000); - exitCommand(); - IPaddr.trim(); - return IPaddr; - } - - IPAddress localIP() { - return TinyGsmIpFromString(getLocalIP()); - } - /* * WiFi functions */ @@ -593,6 +577,21 @@ fail: return res; } + String getLocalIP() { + if (!commandMode()) return ""; // Return immediately + sendAT(GF("MY")); + String IPaddr; IPaddr.reserve(16); + // wait for the response - this response can be very slow + IPaddr = readResponse(30000); + exitCommand(); + IPaddr.trim(); + return IPaddr; + } + + IPAddress localIP() { + return TinyGsmIpFromString(getLocalIP()); + } + /* * GPRS functions */