Moved stream write and stream skip into common
This commit is contained in:
		@@ -66,7 +66,6 @@
 | 
				
			|||||||
  #include <TinyGsmClientMC60.h>
 | 
					  #include <TinyGsmClientMC60.h>
 | 
				
			||||||
  typedef TinyGsmMC60 TinyGsm;
 | 
					  typedef TinyGsmMC60 TinyGsm;
 | 
				
			||||||
  typedef TinyGsmMC60::GsmClient TinyGsmClient;
 | 
					  typedef TinyGsmMC60::GsmClient TinyGsmClient;
 | 
				
			||||||
  typedef TinyGsmMC60::GsmClientSecure TinyGsmClientSecure;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#elif defined(TINY_GSM_MODEM_ESP8266)
 | 
					#elif defined(TINY_GSM_MODEM_ESP8266)
 | 
				
			||||||
  #define TINY_GSM_MODEM_HAS_WIFI
 | 
					  #define TINY_GSM_MODEM_HAS_WIFI
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -574,29 +574,6 @@ public:
 | 
				
			|||||||
   Utilities
 | 
					   Utilities
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  template<typename T>
 | 
					 | 
				
			||||||
  void streamWrite(T last) {
 | 
					 | 
				
			||||||
    stream.print(last);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  template<typename T, typename... Args>
 | 
					 | 
				
			||||||
  void streamWrite(T head, Args... tail) {
 | 
					 | 
				
			||||||
    stream.print(head);
 | 
					 | 
				
			||||||
    streamWrite(tail...);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  bool streamSkipUntil(char c, const unsigned long timeout = 1000L) {
 | 
					 | 
				
			||||||
    unsigned long startMillis = millis();
 | 
					 | 
				
			||||||
    while (millis() - startMillis < timeout) {
 | 
					 | 
				
			||||||
      while (millis() - startMillis < timeout && !stream.available()) {
 | 
					 | 
				
			||||||
        TINY_GSM_YIELD();
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      if (stream.read() == c)
 | 
					 | 
				
			||||||
        return true;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    return false;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  template<typename... Args>
 | 
					  template<typename... Args>
 | 
				
			||||||
  void sendAT(Args... cmd) {
 | 
					  void sendAT(Args... cmd) {
 | 
				
			||||||
    streamWrite("AT", cmd..., GSM_NL);
 | 
					    streamWrite("AT", cmd..., GSM_NL);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -656,29 +656,6 @@ public:
 | 
				
			|||||||
   Utilities
 | 
					   Utilities
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  template<typename T>
 | 
					 | 
				
			||||||
  void streamWrite(T last) {
 | 
					 | 
				
			||||||
    stream.print(last);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  template<typename T, typename... Args>
 | 
					 | 
				
			||||||
  void streamWrite(T head, Args... tail) {
 | 
					 | 
				
			||||||
    stream.print(head);
 | 
					 | 
				
			||||||
    streamWrite(tail...);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  bool streamSkipUntil(char c, const unsigned long timeout = 1000L) {
 | 
					 | 
				
			||||||
    unsigned long startMillis = millis();
 | 
					 | 
				
			||||||
    while (millis() - startMillis < timeout) {
 | 
					 | 
				
			||||||
      while (millis() - startMillis < timeout && !stream.available()) {
 | 
					 | 
				
			||||||
        TINY_GSM_YIELD();
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      if (stream.read() == c)
 | 
					 | 
				
			||||||
        return true;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    return false;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  template<typename... Args>
 | 
					  template<typename... Args>
 | 
				
			||||||
  void sendAT(Args... cmd) {
 | 
					  void sendAT(Args... cmd) {
 | 
				
			||||||
    streamWrite("AT", cmd..., GSM_NL);
 | 
					    streamWrite("AT", cmd..., GSM_NL);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -432,29 +432,6 @@ public:
 | 
				
			|||||||
   Utilities
 | 
					   Utilities
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  template<typename T>
 | 
					 | 
				
			||||||
  void streamWrite(T last) {
 | 
					 | 
				
			||||||
    stream.print(last);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  template<typename T, typename... Args>
 | 
					 | 
				
			||||||
  void streamWrite(T head, Args... tail) {
 | 
					 | 
				
			||||||
    stream.print(head);
 | 
					 | 
				
			||||||
    streamWrite(tail...);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  bool streamSkipUntil(char c, const unsigned long timeout = 1000L) {
 | 
					 | 
				
			||||||
    unsigned long startMillis = millis();
 | 
					 | 
				
			||||||
    while (millis() - startMillis < timeout) {
 | 
					 | 
				
			||||||
      while (millis() - startMillis < timeout && !stream.available()) {
 | 
					 | 
				
			||||||
        TINY_GSM_YIELD();
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      if (stream.read() == c)
 | 
					 | 
				
			||||||
        return true;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    return false;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  template<typename... Args>
 | 
					  template<typename... Args>
 | 
				
			||||||
  void sendAT(Args... cmd) {
 | 
					  void sendAT(Args... cmd) {
 | 
				
			||||||
    streamWrite("AT", cmd..., GSM_NL);
 | 
					    streamWrite("AT", cmd..., GSM_NL);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -584,29 +584,6 @@ public:
 | 
				
			|||||||
   Utilities
 | 
					   Utilities
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  template<typename T>
 | 
					 | 
				
			||||||
  void streamWrite(T last) {
 | 
					 | 
				
			||||||
    stream.print(last);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  template<typename T, typename... Args>
 | 
					 | 
				
			||||||
  void streamWrite(T head, Args... tail) {
 | 
					 | 
				
			||||||
    stream.print(head);
 | 
					 | 
				
			||||||
    streamWrite(tail...);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  bool streamSkipUntil(char c, const unsigned long timeout = 1000L) {
 | 
					 | 
				
			||||||
    unsigned long startMillis = millis();
 | 
					 | 
				
			||||||
    while (millis() - startMillis < timeout) {
 | 
					 | 
				
			||||||
      while (millis() - startMillis < timeout && !stream.available()) {
 | 
					 | 
				
			||||||
        TINY_GSM_YIELD();
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      if (stream.read() == c)
 | 
					 | 
				
			||||||
        return true;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    return false;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  template<typename... Args>
 | 
					  template<typename... Args>
 | 
				
			||||||
  void sendAT(Args... cmd) {
 | 
					  void sendAT(Args... cmd) {
 | 
				
			||||||
    streamWrite("AT", cmd..., GSM_NL);
 | 
					    streamWrite("AT", cmd..., GSM_NL);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -736,29 +736,6 @@ public:
 | 
				
			|||||||
   Utilities
 | 
					   Utilities
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  template<typename T>
 | 
					 | 
				
			||||||
  void streamWrite(T last) {
 | 
					 | 
				
			||||||
    stream.print(last);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  template<typename T, typename... Args>
 | 
					 | 
				
			||||||
  void streamWrite(T head, Args... tail) {
 | 
					 | 
				
			||||||
    stream.print(head);
 | 
					 | 
				
			||||||
    streamWrite(tail...);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  bool streamSkipUntil(char c, const unsigned long timeout = 1000L) {
 | 
					 | 
				
			||||||
    unsigned long startMillis = millis();
 | 
					 | 
				
			||||||
    while (millis() - startMillis < timeout) {
 | 
					 | 
				
			||||||
      while (millis() - startMillis < timeout && !stream.available()) {
 | 
					 | 
				
			||||||
        TINY_GSM_YIELD();
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      if (stream.read() == c)
 | 
					 | 
				
			||||||
        return true;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    return false;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  template<typename... Args>
 | 
					  template<typename... Args>
 | 
				
			||||||
  void sendAT(Args... cmd) {
 | 
					  void sendAT(Args... cmd) {
 | 
				
			||||||
    streamWrite("AT", cmd..., GSM_NL);
 | 
					    streamWrite("AT", cmd..., GSM_NL);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -771,29 +771,6 @@ public:
 | 
				
			|||||||
   Utilities
 | 
					   Utilities
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  template<typename T>
 | 
					 | 
				
			||||||
  void streamWrite(T last) {
 | 
					 | 
				
			||||||
    stream.print(last);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  template<typename T, typename... Args>
 | 
					 | 
				
			||||||
  void streamWrite(T head, Args... tail) {
 | 
					 | 
				
			||||||
    stream.print(head);
 | 
					 | 
				
			||||||
    streamWrite(tail...);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  bool streamSkipUntil(char c, const unsigned long timeout = 1000L) {
 | 
					 | 
				
			||||||
    unsigned long startMillis = millis();
 | 
					 | 
				
			||||||
    while (millis() - startMillis < timeout) {
 | 
					 | 
				
			||||||
      while (millis() - startMillis < timeout && !stream.available()) {
 | 
					 | 
				
			||||||
        TINY_GSM_YIELD();
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      if (stream.read() == c)
 | 
					 | 
				
			||||||
        return true;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    return false;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  template<typename... Args>
 | 
					  template<typename... Args>
 | 
				
			||||||
  void sendAT(Args... cmd) {
 | 
					  void sendAT(Args... cmd) {
 | 
				
			||||||
    streamWrite("AT", cmd..., GSM_NL);
 | 
					    streamWrite("AT", cmd..., GSM_NL);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -823,29 +823,6 @@ public:
 | 
				
			|||||||
   Utilities
 | 
					   Utilities
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  template<typename T>
 | 
					 | 
				
			||||||
  void streamWrite(T last) {
 | 
					 | 
				
			||||||
    stream.print(last);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  template<typename T, typename... Args>
 | 
					 | 
				
			||||||
  void streamWrite(T head, Args... tail) {
 | 
					 | 
				
			||||||
    stream.print(head);
 | 
					 | 
				
			||||||
    streamWrite(tail...);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  bool streamSkipUntil(const char c, const unsigned long timeout = 3000L) {
 | 
					 | 
				
			||||||
    unsigned long startMillis = millis();
 | 
					 | 
				
			||||||
    while (millis() - startMillis < timeout) {
 | 
					 | 
				
			||||||
      while (millis() - startMillis < timeout && !stream.available()) {
 | 
					 | 
				
			||||||
        TINY_GSM_YIELD();
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      if (stream.read() == c)
 | 
					 | 
				
			||||||
        return true;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    return false;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  template<typename... Args>
 | 
					  template<typename... Args>
 | 
				
			||||||
  void sendAT(Args... cmd) {
 | 
					  void sendAT(Args... cmd) {
 | 
				
			||||||
    streamWrite("AT", cmd..., GSM_NL);
 | 
					    streamWrite("AT", cmd..., GSM_NL);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -648,29 +648,6 @@ public:
 | 
				
			|||||||
   Utilities
 | 
					   Utilities
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  template<typename T>
 | 
					 | 
				
			||||||
  void streamWrite(T last) {
 | 
					 | 
				
			||||||
    stream.print(last);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  template<typename T, typename... Args>
 | 
					 | 
				
			||||||
  void streamWrite(T head, Args... tail) {
 | 
					 | 
				
			||||||
    stream.print(head);
 | 
					 | 
				
			||||||
    streamWrite(tail...);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  bool streamSkipUntil(char c, const unsigned long timeout = 1000L) {
 | 
					 | 
				
			||||||
    unsigned long startMillis = millis();
 | 
					 | 
				
			||||||
    while (millis() - startMillis < timeout) {
 | 
					 | 
				
			||||||
      while (millis() - startMillis < timeout && !stream.available()) {
 | 
					 | 
				
			||||||
        TINY_GSM_YIELD();
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      if (stream.read() == c)
 | 
					 | 
				
			||||||
        return true;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    return false;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  template<typename... Args>
 | 
					  template<typename... Args>
 | 
				
			||||||
  void sendAT(Args... cmd) {
 | 
					  void sendAT(Args... cmd) {
 | 
				
			||||||
    streamWrite("AT", cmd..., GSM_NL);
 | 
					    streamWrite("AT", cmd..., GSM_NL);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -729,17 +729,6 @@ public:
 | 
				
			|||||||
     while (stream.available()) { stream.read(); }
 | 
					     while (stream.available()) { stream.read(); }
 | 
				
			||||||
   }
 | 
					   }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  template<typename T>
 | 
					 | 
				
			||||||
  void streamWrite(T last) {
 | 
					 | 
				
			||||||
    stream.print(last);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  template<typename T, typename... Args>
 | 
					 | 
				
			||||||
  void streamWrite(T head, Args... tail) {
 | 
					 | 
				
			||||||
    stream.print(head);
 | 
					 | 
				
			||||||
    streamWrite(tail...);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  template<typename... Args>
 | 
					  template<typename... Args>
 | 
				
			||||||
  void sendAT(Args... cmd) {
 | 
					  void sendAT(Args... cmd) {
 | 
				
			||||||
    streamWrite("AT", cmd..., GSM_NL);
 | 
					    streamWrite("AT", cmd..., GSM_NL);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -292,6 +292,33 @@ public:
 | 
				
			|||||||
    return TinyGsmIpFromString(getLocalIP());
 | 
					    return TinyGsmIpFromString(getLocalIP());
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /*
 | 
				
			||||||
 | 
					     Utilities
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    template<typename T>
 | 
				
			||||||
 | 
					    void streamWrite(T last) {
 | 
				
			||||||
 | 
					      stream.print(last);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    template<typename T, typename... Args>
 | 
				
			||||||
 | 
					    void streamWrite(T head, Args... tail) {
 | 
				
			||||||
 | 
					      stream.print(head);
 | 
				
			||||||
 | 
					      streamWrite(tail...);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    bool streamSkipUntil(const char c, const unsigned long timeout = 1000L) {
 | 
				
			||||||
 | 
					      unsigned long startMillis = millis();
 | 
				
			||||||
 | 
					      while (millis() - startMillis < timeout) {
 | 
				
			||||||
 | 
					        while (millis() - startMillis < timeout && !stream.available()) {
 | 
				
			||||||
 | 
					          TINY_GSM_YIELD();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        if (stream.read() == c)
 | 
				
			||||||
 | 
					          return true;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      return false;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
  Stream&       stream;
 | 
					  Stream&       stream;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user