Minor realignment with vshymanskyy
This commit is contained in:
		@@ -175,10 +175,10 @@ public:
 | 
				
			|||||||
  String remoteIP() TINY_GSM_ATTR_NOT_IMPLEMENTED;
 | 
					  String remoteIP() TINY_GSM_ATTR_NOT_IMPLEMENTED;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
  TinyGsmA6*  at;
 | 
					  TinyGsmA6*      at;
 | 
				
			||||||
  uint8_t     mux;
 | 
					  uint8_t         mux;
 | 
				
			||||||
  bool        sock_connected;
 | 
					  bool            sock_connected;
 | 
				
			||||||
  RxFifo      rx;
 | 
					  RxFifo          rx;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//============================================================================//
 | 
					//============================================================================//
 | 
				
			||||||
@@ -195,7 +195,6 @@ private:
 | 
				
			|||||||
//============================================================================//
 | 
					//============================================================================//
 | 
				
			||||||
//============================================================================//
 | 
					//============================================================================//
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef GSM_DEFAULT_STREAM
 | 
					#ifdef GSM_DEFAULT_STREAM
 | 
				
			||||||
@@ -241,8 +240,8 @@ public:
 | 
				
			|||||||
    for (unsigned long start = millis(); millis() - start < timeout; ) {
 | 
					    for (unsigned long start = millis(); millis() - start < timeout; ) {
 | 
				
			||||||
      sendAT(GF(""));
 | 
					      sendAT(GF(""));
 | 
				
			||||||
      if (waitResponse(200) == 1) {
 | 
					      if (waitResponse(200) == 1) {
 | 
				
			||||||
          delay(100);
 | 
					        delay(100);
 | 
				
			||||||
          return true;
 | 
					        return true;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      delay(100);
 | 
					      delay(100);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@@ -348,6 +347,17 @@ public:
 | 
				
			|||||||
    return SIM_ERROR;
 | 
					    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() {
 | 
					  String getOperator() {
 | 
				
			||||||
    sendAT(GF("+COPS=3,0")); // Set format
 | 
					    sendAT(GF("+COPS=3,0")); // Set format
 | 
				
			||||||
    waitResponse();
 | 
					    waitResponse();
 | 
				
			||||||
@@ -366,17 +376,6 @@ public:
 | 
				
			|||||||
   * Generic network functions
 | 
					   * 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() {
 | 
					  int getSignalQuality() {
 | 
				
			||||||
    sendAT(GF("+CSQ"));
 | 
					    sendAT(GF("+CSQ"));
 | 
				
			||||||
    if (waitResponse(GF(GSM_NL "+CSQ:")) != 1) {
 | 
					    if (waitResponse(GF(GSM_NL "+CSQ:")) != 1) {
 | 
				
			||||||
@@ -402,22 +401,6 @@ public:
 | 
				
			|||||||
    return false;
 | 
					    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
 | 
					   * WiFi functions
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
@@ -480,6 +463,22 @@ public:
 | 
				
			|||||||
    return (res == 1);
 | 
					    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
 | 
					   * Messaging functions
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
@@ -583,7 +582,7 @@ protected:
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  bool modemGetConnected(uint8_t mux) {
 | 
					  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\""));
 | 
					    int res = waitResponse(GF(",\"CONNECTED\""), GF(",\"CLOSED\""), GF(",\"CLOSING\""), GF(",\"INITIAL\""));
 | 
				
			||||||
    waitResponse();
 | 
					    waitResponse();
 | 
				
			||||||
    return 1 == res;
 | 
					    return 1 == res;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -382,6 +382,17 @@ public:
 | 
				
			|||||||
    return SIM_ERROR;
 | 
					    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() {
 | 
					  String getOperator() {
 | 
				
			||||||
    sendAT(GF("+COPS?"));
 | 
					    sendAT(GF("+COPS?"));
 | 
				
			||||||
    if (waitResponse(GF(GSM_NL "+COPS:")) != 1) {
 | 
					    if (waitResponse(GF(GSM_NL "+COPS:")) != 1) {
 | 
				
			||||||
@@ -397,17 +408,6 @@ public:
 | 
				
			|||||||
   * Generic network functions
 | 
					   * 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() {
 | 
					  int getSignalQuality() {
 | 
				
			||||||
    sendAT(GF("+CSQ"));
 | 
					    sendAT(GF("+CSQ"));
 | 
				
			||||||
    if (waitResponse(GF(GSM_NL "+CSQ:")) != 1) {
 | 
					    if (waitResponse(GF(GSM_NL "+CSQ:")) != 1) {
 | 
				
			||||||
@@ -433,23 +433,6 @@ public:
 | 
				
			|||||||
    return false;
 | 
					    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
 | 
					   * WiFi functions
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
@@ -500,6 +483,23 @@ public:
 | 
				
			|||||||
    return localIP() != 0;
 | 
					    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
 | 
					   * Messaging functions
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
#ifndef TinyGsmClientESP8266_h
 | 
					#ifndef TinyGsmClientESP8266_h
 | 
				
			||||||
#define TinyGsmClientESP8266_h
 | 
					#define TinyGsmClientESP8266_h
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// #define TINY_GSM_DEBUG Serial
 | 
					//#define TINY_GSM_DEBUG Serial
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if !defined(TINY_GSM_RX_BUFFER)
 | 
					#if !defined(TINY_GSM_RX_BUFFER)
 | 
				
			||||||
  #define TINY_GSM_RX_BUFFER 512
 | 
					  #define TINY_GSM_RX_BUFFER 512
 | 
				
			||||||
@@ -286,7 +286,9 @@ public:
 | 
				
			|||||||
    return res;
 | 
					    return res;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  bool hasSSL() { return true; }
 | 
					  bool hasSSL() {
 | 
				
			||||||
 | 
					    return true;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /*
 | 
					  /*
 | 
				
			||||||
   * Power functions
 | 
					   * Power functions
 | 
				
			||||||
@@ -317,11 +319,6 @@ public:
 | 
				
			|||||||
   * SIM card functions
 | 
					   * SIM card functions
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
  /*
 | 
					 | 
				
			||||||
   * Generic network functions
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  RegStatus getRegistrationStatus() {
 | 
					  RegStatus getRegistrationStatus() {
 | 
				
			||||||
    sendAT(GF("+CIPSTATUS"));
 | 
					    sendAT(GF("+CIPSTATUS"));
 | 
				
			||||||
    if (waitResponse(3000, GF("STATUS:")) != 1) return REG_UNKNOWN;
 | 
					    if (waitResponse(3000, GF("STATUS:")) != 1) return REG_UNKNOWN;
 | 
				
			||||||
@@ -330,6 +327,10 @@ public:
 | 
				
			|||||||
    return (RegStatus)status;
 | 
					    return (RegStatus)status;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /*
 | 
				
			||||||
 | 
					   * Generic network functions
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  int getSignalQuality() {
 | 
					  int getSignalQuality() {
 | 
				
			||||||
    sendAT(GF("+CWJAP_CUR?"));
 | 
					    sendAT(GF("+CWJAP_CUR?"));
 | 
				
			||||||
    int res1 = waitResponse(GF("No AP"), GF("+CWJAP_CUR:"));
 | 
					    int res1 = waitResponse(GF("No AP"), GF("+CWJAP_CUR:"));
 | 
				
			||||||
@@ -366,6 +367,25 @@ public:
 | 
				
			|||||||
    return false;
 | 
					    return false;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /*
 | 
				
			||||||
 | 
					   * WiFi functions
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  bool networkConnect(const char* ssid, const char* pwd) {
 | 
				
			||||||
 | 
					    sendAT(GF("+CWJAP_CUR=\""), ssid, GF("\",\""), pwd, GF("\""));
 | 
				
			||||||
 | 
					    if (waitResponse(30000L, GFP(GSM_OK), GF(GSM_NL "FAIL" GSM_NL)) != 1) {
 | 
				
			||||||
 | 
					      return false;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return true;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  bool networkDisconnect() {
 | 
				
			||||||
 | 
					    sendAT(GF("+CWQAP"));
 | 
				
			||||||
 | 
					    bool retVal = waitResponse(10000L) == 1;
 | 
				
			||||||
 | 
					    waitResponse(GF("WIFI DISCONNECT"));
 | 
				
			||||||
 | 
					    return retVal;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  String getLocalIP() {
 | 
					  String getLocalIP() {
 | 
				
			||||||
    sendAT(GF("+CIPSTA_CUR??"));
 | 
					    sendAT(GF("+CIPSTA_CUR??"));
 | 
				
			||||||
    int res1 = waitResponse(GF("ERROR"), GF("+CWJAP_CUR:"));
 | 
					    int res1 = waitResponse(GF("ERROR"), GF("+CWJAP_CUR:"));
 | 
				
			||||||
@@ -381,24 +401,6 @@ public:
 | 
				
			|||||||
    return TinyGsmIpFromString(getLocalIP());
 | 
					    return TinyGsmIpFromString(getLocalIP());
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /*
 | 
					 | 
				
			||||||
   * WiFi functions
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  bool networkConnect(const char* ssid, const char* pwd) {
 | 
					 | 
				
			||||||
    sendAT(GF("+CWJAP_CUR=\""), ssid, GF("\",\""), pwd, GF("\""));
 | 
					 | 
				
			||||||
    if (waitResponse(30000L, GFP(GSM_OK), GF(GSM_NL "FAIL" GSM_NL)) != 1) {
 | 
					 | 
				
			||||||
      return false;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    return true;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  bool networkDisconnect() {
 | 
					 | 
				
			||||||
    sendAT(GF("+CWQAP"));
 | 
					 | 
				
			||||||
    bool retVal = waitResponse(10000L) == 1;
 | 
					 | 
				
			||||||
    waitResponse(GF("WIFI DISCONNECT"));
 | 
					 | 
				
			||||||
    return retVal;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /*
 | 
					  /*
 | 
				
			||||||
   * GPRS functions
 | 
					   * GPRS functions
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -79,6 +79,7 @@ public:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
  virtual int connect(const char *host, uint16_t port) {
 | 
					  virtual int connect(const char *host, uint16_t port) {
 | 
				
			||||||
 | 
					    stop();
 | 
				
			||||||
    TINY_GSM_YIELD();
 | 
					    TINY_GSM_YIELD();
 | 
				
			||||||
    rx.clear();
 | 
					    rx.clear();
 | 
				
			||||||
    sock_connected = at->modemConnect(host, port, &mux);
 | 
					    sock_connected = at->modemConnect(host, port, &mux);
 | 
				
			||||||
@@ -255,9 +256,9 @@ public:
 | 
				
			|||||||
    for (unsigned long start = millis(); millis() - start < timeout; ) {
 | 
					    for (unsigned long start = millis(); millis() - start < timeout; ) {
 | 
				
			||||||
      sendAT(GF(""));
 | 
					      sendAT(GF(""));
 | 
				
			||||||
      if (waitResponse(200) == 1) {
 | 
					      if (waitResponse(200) == 1) {
 | 
				
			||||||
          //nilThdSleepMilliseconds(100); --> add ifdef balise
 | 
					        //nilThdSleepMilliseconds(100); --> add ifdef balise
 | 
				
			||||||
          delay(100);
 | 
					        delay(100);
 | 
				
			||||||
          return true;
 | 
					        return true;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      //nilThdSleepMilliseconds(50); --> add ifdef balise
 | 
					      //nilThdSleepMilliseconds(50); --> add ifdef balise
 | 
				
			||||||
      delay(100);
 | 
					      delay(100);
 | 
				
			||||||
@@ -355,6 +356,17 @@ public:
 | 
				
			|||||||
    return SIM_ERROR;
 | 
					    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() {
 | 
					  String getOperator() {
 | 
				
			||||||
    sendAT(GF("+COPS?"));
 | 
					    sendAT(GF("+COPS?"));
 | 
				
			||||||
    if (waitResponse(GF(GSM_NL "+COPS:")) != 1) {
 | 
					    if (waitResponse(GF(GSM_NL "+COPS:")) != 1) {
 | 
				
			||||||
@@ -370,17 +382,6 @@ public:
 | 
				
			|||||||
   * Generic network functions
 | 
					   * 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() {
 | 
					  int getSignalQuality() {
 | 
				
			||||||
    sendAT(GF("+CSQ"));
 | 
					    sendAT(GF("+CSQ"));
 | 
				
			||||||
    if (waitResponse(GF(GSM_NL "+CSQ:")) != 1) {
 | 
					    if (waitResponse(GF(GSM_NL "+CSQ:")) != 1) {
 | 
				
			||||||
@@ -407,20 +408,6 @@ public:
 | 
				
			|||||||
    return false;
 | 
					    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
 | 
					   * WiFi functions
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
@@ -489,6 +476,20 @@ public:
 | 
				
			|||||||
    return true;
 | 
					    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
 | 
					   * Messaging functions
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
#ifndef TinyGsmClientM590_h
 | 
					#ifndef TinyGsmClientM590_h
 | 
				
			||||||
#define TinyGsmClientM590_h
 | 
					#define TinyGsmClientM590_h
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// #define TINY_GSM_DEBUG Serial
 | 
					//#define TINY_GSM_DEBUG Serial
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if !defined(TINY_GSM_RX_BUFFER)
 | 
					#if !defined(TINY_GSM_RX_BUFFER)
 | 
				
			||||||
  #define TINY_GSM_RX_BUFFER 256
 | 
					  #define TINY_GSM_RX_BUFFER 256
 | 
				
			||||||
@@ -173,10 +173,10 @@ public:
 | 
				
			|||||||
  String remoteIP() TINY_GSM_ATTR_NOT_IMPLEMENTED;
 | 
					  String remoteIP() TINY_GSM_ATTR_NOT_IMPLEMENTED;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
  TinyGsmM590*    at;
 | 
					  TinyGsmM590*  at;
 | 
				
			||||||
  uint8_t         mux;
 | 
					  uint8_t       mux;
 | 
				
			||||||
  bool            sock_connected;
 | 
					  bool          sock_connected;
 | 
				
			||||||
  RxFifo          rx;
 | 
					  RxFifo        rx;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//============================================================================//
 | 
					//============================================================================//
 | 
				
			||||||
@@ -359,6 +359,17 @@ public:
 | 
				
			|||||||
    return SIM_ERROR;
 | 
					    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() {
 | 
					  String getOperator() {
 | 
				
			||||||
    sendAT(GF("+COPS?"));
 | 
					    sendAT(GF("+COPS?"));
 | 
				
			||||||
    if (waitResponse(GF(GSM_NL "+COPS:")) != 1) {
 | 
					    if (waitResponse(GF(GSM_NL "+COPS:")) != 1) {
 | 
				
			||||||
@@ -374,17 +385,6 @@ public:
 | 
				
			|||||||
   * Generic network functions
 | 
					   * 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() {
 | 
					  int getSignalQuality() {
 | 
				
			||||||
    sendAT(GF("+CSQ"));
 | 
					    sendAT(GF("+CSQ"));
 | 
				
			||||||
    if (waitResponse(GF(GSM_NL "+CSQ:")) != 1) {
 | 
					    if (waitResponse(GF(GSM_NL "+CSQ:")) != 1) {
 | 
				
			||||||
@@ -410,22 +410,6 @@ public:
 | 
				
			|||||||
    return false;
 | 
					    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
 | 
					   * WiFi functions
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
@@ -486,6 +470,22 @@ public:
 | 
				
			|||||||
    return res == 1;
 | 
					    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
 | 
					   * Messaging functions
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -372,6 +372,17 @@ public:
 | 
				
			|||||||
    return SIM_ERROR;
 | 
					    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() {
 | 
					  String getOperator() {
 | 
				
			||||||
    sendAT(GF("+COPS?"));
 | 
					    sendAT(GF("+COPS?"));
 | 
				
			||||||
    if (waitResponse(GF(GSM_NL "+COPS:")) != 1) {
 | 
					    if (waitResponse(GF(GSM_NL "+COPS:")) != 1) {
 | 
				
			||||||
@@ -387,17 +398,6 @@ public:
 | 
				
			|||||||
   * Generic network functions
 | 
					   * 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() {
 | 
					  int getSignalQuality() {
 | 
				
			||||||
    sendAT(GF("+CSQ"));
 | 
					    sendAT(GF("+CSQ"));
 | 
				
			||||||
    if (waitResponse(GF(GSM_NL "+CSQ:")) != 1) {
 | 
					    if (waitResponse(GF(GSM_NL "+CSQ:")) != 1) {
 | 
				
			||||||
@@ -432,23 +432,6 @@ public:
 | 
				
			|||||||
    waitResponse();
 | 
					    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
 | 
					   * WiFi functions
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
@@ -498,6 +481,23 @@ public:
 | 
				
			|||||||
    return localIP() != 0;
 | 
					    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
 | 
					   * Messaging functions
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
@@ -608,9 +608,9 @@ protected:
 | 
				
			|||||||
  bool modemConnect(const char* host, uint16_t port, uint8_t mux) {
 | 
					  bool modemConnect(const char* host, uint16_t port, uint8_t mux) {
 | 
				
			||||||
    sendAT(GF("+QIOPEN="), GF("\"TCP"), GF("\",\""), host, GF("\","), port);
 | 
					    sendAT(GF("+QIOPEN="), GF("\"TCP"), GF("\",\""), host, GF("\","), port);
 | 
				
			||||||
    int rsp = waitResponse(75000L,
 | 
					    int rsp = waitResponse(75000L,
 | 
				
			||||||
                 GF("CONNECT OK" GSM_NL),
 | 
					                           GF("CONNECT OK" GSM_NL),
 | 
				
			||||||
                 GF("CONNECT FAIL" GSM_NL),
 | 
					                           GF("CONNECT FAIL" GSM_NL),
 | 
				
			||||||
                 GF("ALREADY CONNECT" GSM_NL));
 | 
					                           GF("ALREADY CONNECT" GSM_NL));
 | 
				
			||||||
    if ( rsp != 1 ) {
 | 
					    if ( rsp != 1 ) {
 | 
				
			||||||
      return false;
 | 
					      return false;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,8 +12,8 @@
 | 
				
			|||||||
#ifndef TinyGsmClientMC60_h
 | 
					#ifndef TinyGsmClientMC60_h
 | 
				
			||||||
#define TinyGsmClientMC60_h
 | 
					#define TinyGsmClientMC60_h
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// #define TINY_GSM_DEBUG Serial
 | 
					//#define TINY_GSM_DEBUG Serial
 | 
				
			||||||
// #define TINY_GSM_USE_HEX
 | 
					//#define TINY_GSM_USE_HEX
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if !defined(TINY_GSM_RX_BUFFER)
 | 
					#if !defined(TINY_GSM_RX_BUFFER)
 | 
				
			||||||
  #define TINY_GSM_RX_BUFFER 64
 | 
					  #define TINY_GSM_RX_BUFFER 64
 | 
				
			||||||
@@ -417,6 +417,17 @@ public:
 | 
				
			|||||||
    return SIM_ERROR;
 | 
					    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() {
 | 
					  String getOperator() {
 | 
				
			||||||
    sendAT(GF("+COPS?"));
 | 
					    sendAT(GF("+COPS?"));
 | 
				
			||||||
    if (waitResponse(GF(GSM_NL "+COPS:")) != 1) {
 | 
					    if (waitResponse(GF(GSM_NL "+COPS:")) != 1) {
 | 
				
			||||||
@@ -432,17 +443,6 @@ public:
 | 
				
			|||||||
   * Generic network functions
 | 
					   * 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() {
 | 
					  int getSignalQuality() {
 | 
				
			||||||
    sendAT(GF("+CSQ"));
 | 
					    sendAT(GF("+CSQ"));
 | 
				
			||||||
    if (waitResponse(GF(GSM_NL "+CSQ:")) != 1) {
 | 
					    if (waitResponse(GF(GSM_NL "+CSQ:")) != 1) {
 | 
				
			||||||
@@ -468,20 +468,6 @@ public:
 | 
				
			|||||||
    return false;
 | 
					    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
 | 
					   * WiFi functions
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
@@ -626,6 +612,20 @@ public:
 | 
				
			|||||||
    return waitResponse(60000L) == 1;
 | 
					    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
 | 
					   * Messaging functions
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,8 +9,8 @@
 | 
				
			|||||||
#ifndef TinyGsmClientSIM800_h
 | 
					#ifndef TinyGsmClientSIM800_h
 | 
				
			||||||
#define TinyGsmClientSIM800_h
 | 
					#define TinyGsmClientSIM800_h
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// #define TINY_GSM_DEBUG Serial
 | 
					//#define TINY_GSM_DEBUG Serial
 | 
				
			||||||
// #define TINY_GSM_USE_HEX
 | 
					//#define TINY_GSM_USE_HEX
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if !defined(TINY_GSM_RX_BUFFER)
 | 
					#if !defined(TINY_GSM_RX_BUFFER)
 | 
				
			||||||
  #define TINY_GSM_RX_BUFFER 64
 | 
					  #define TINY_GSM_RX_BUFFER 64
 | 
				
			||||||
@@ -255,11 +255,6 @@ public:
 | 
				
			|||||||
    if (waitResponse() != 1) {
 | 
					    if (waitResponse() != 1) {
 | 
				
			||||||
      return false;
 | 
					      return false;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					 | 
				
			||||||
    // PREFERRED SMS STORAGE
 | 
					 | 
				
			||||||
    sendAT(GF("+CPMS="), GF("\"SM\""), GF(","), GF("\"SM\""), GF(","), GF("\"SM\""));
 | 
					 | 
				
			||||||
    waitResponse();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    getSimStatus();
 | 
					    getSimStatus();
 | 
				
			||||||
    return true;
 | 
					    return true;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
@@ -434,6 +429,17 @@ public:
 | 
				
			|||||||
    return SIM_ERROR;
 | 
					    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() {
 | 
					  String getOperator() {
 | 
				
			||||||
    sendAT(GF("+COPS?"));
 | 
					    sendAT(GF("+COPS?"));
 | 
				
			||||||
    if (waitResponse(GF(GSM_NL "+COPS:")) != 1) {
 | 
					    if (waitResponse(GF(GSM_NL "+COPS:")) != 1) {
 | 
				
			||||||
@@ -449,17 +455,6 @@ public:
 | 
				
			|||||||
   * Generic network functions
 | 
					   * 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() {
 | 
					  int getSignalQuality() {
 | 
				
			||||||
    sendAT(GF("+CSQ"));
 | 
					    sendAT(GF("+CSQ"));
 | 
				
			||||||
    if (waitResponse(GF(GSM_NL "+CSQ:")) != 1) {
 | 
					    if (waitResponse(GF(GSM_NL "+CSQ:")) != 1) {
 | 
				
			||||||
@@ -485,22 +480,6 @@ public:
 | 
				
			|||||||
    return false;
 | 
					    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
 | 
					   * WiFi functions
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
@@ -625,6 +604,22 @@ public:
 | 
				
			|||||||
    return true;
 | 
					    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
 | 
					   * Messaging functions
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
@@ -717,7 +712,6 @@ public:
 | 
				
			|||||||
  /*
 | 
					  /*
 | 
				
			||||||
   * Battery functions
 | 
					   * Battery functions
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
 | 
					 | 
				
			||||||
  // Use: float vBatt = modem.getBattVoltage() / 1000.0;
 | 
					  // Use: float vBatt = modem.getBattVoltage() / 1000.0;
 | 
				
			||||||
  uint16_t getBattVoltage() {
 | 
					  uint16_t getBattVoltage() {
 | 
				
			||||||
    sendAT(GF("+CBC"));
 | 
					    sendAT(GF("+CBC"));
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -176,12 +176,12 @@ public:
 | 
				
			|||||||
  String remoteIP() TINY_GSM_ATTR_NOT_IMPLEMENTED;
 | 
					  String remoteIP() TINY_GSM_ATTR_NOT_IMPLEMENTED;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
  TinyGsmU201*    at;
 | 
					  TinyGsmU201*  at;
 | 
				
			||||||
  uint8_t         mux;
 | 
					  uint8_t       mux;
 | 
				
			||||||
  uint16_t        sock_available;
 | 
					  uint16_t      sock_available;
 | 
				
			||||||
  bool            sock_connected;
 | 
					  bool          sock_connected;
 | 
				
			||||||
  bool            got_data;
 | 
					  bool          got_data;
 | 
				
			||||||
  RxFifo          rx;
 | 
					  RxFifo        rx;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//============================================================================//
 | 
					//============================================================================//
 | 
				
			||||||
@@ -382,6 +382,17 @@ public:
 | 
				
			|||||||
    return SIM_ERROR;
 | 
					    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() {
 | 
					  String getOperator() {
 | 
				
			||||||
    sendAT(GF("+COPS?"));
 | 
					    sendAT(GF("+COPS?"));
 | 
				
			||||||
    if (waitResponse(GF(GSM_NL "+COPS:")) != 1) {
 | 
					    if (waitResponse(GF(GSM_NL "+COPS:")) != 1) {
 | 
				
			||||||
@@ -397,17 +408,6 @@ public:
 | 
				
			|||||||
   * Generic network functions
 | 
					   * 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() {
 | 
					  int getSignalQuality() {
 | 
				
			||||||
    sendAT(GF("+CSQ"));
 | 
					    sendAT(GF("+CSQ"));
 | 
				
			||||||
    if (waitResponse(GF(GSM_NL "+CSQ:")) != 1) {
 | 
					    if (waitResponse(GF(GSM_NL "+CSQ:")) != 1) {
 | 
				
			||||||
@@ -433,24 +433,6 @@ public:
 | 
				
			|||||||
    return false;
 | 
					    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
 | 
					   * WiFi functions
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
@@ -519,6 +501,24 @@ public:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    return localIP() != 0;
 | 
					    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
 | 
					   * Messaging functions
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -169,9 +169,9 @@ public:
 | 
				
			|||||||
  String remoteIP() TINY_GSM_ATTR_NOT_IMPLEMENTED;
 | 
					  String remoteIP() TINY_GSM_ATTR_NOT_IMPLEMENTED;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
  TinyGsmXBee*    at;
 | 
					  TinyGsmXBee*  at;
 | 
				
			||||||
  uint8_t         mux;
 | 
					  uint8_t       mux;
 | 
				
			||||||
  bool            sock_connected;
 | 
					  bool          sock_connected;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//============================================================================//
 | 
					//============================================================================//
 | 
				
			||||||
@@ -430,18 +430,6 @@ public:
 | 
				
			|||||||
    return SIM_READY;  // unsupported
 | 
					    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() {
 | 
					  RegStatus getRegistrationStatus() {
 | 
				
			||||||
    if (!commandMode()) return REG_UNKNOWN;  // Return immediately
 | 
					    if (!commandMode()) return REG_UNKNOWN;  // Return immediately
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -514,6 +502,17 @@ public:
 | 
				
			|||||||
    exitCommand();
 | 
					    exitCommand();
 | 
				
			||||||
    return stat;
 | 
					    return stat;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					  String getOperator() {
 | 
				
			||||||
 | 
					    if (!commandMode()) return "";  // Return immediately
 | 
				
			||||||
 | 
					    sendAT(GF("MN"));
 | 
				
			||||||
 | 
					    String res = readResponse();
 | 
				
			||||||
 | 
					    exitCommand();
 | 
				
			||||||
 | 
					    return res;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 /*
 | 
				
			||||||
 | 
					  * Generic network functions
 | 
				
			||||||
 | 
					  */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  int getSignalQuality() {
 | 
					  int getSignalQuality() {
 | 
				
			||||||
    if (!commandMode()) return 0;  // Return immediately
 | 
					    if (!commandMode()) return 0;  // Return immediately
 | 
				
			||||||
@@ -543,21 +542,6 @@ public:
 | 
				
			|||||||
    return false;
 | 
					    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
 | 
					   * WiFi functions
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
@@ -593,6 +577,21 @@ fail:
 | 
				
			|||||||
    return res;
 | 
					    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
 | 
					   * GPRS functions
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user