Propogate fixes to stop
This commit is contained in:
		@@ -89,10 +89,20 @@ public:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  virtual void stop() {
 | 
					  virtual void stop() {
 | 
				
			||||||
    TINY_GSM_YIELD();
 | 
					    TINY_GSM_YIELD();
 | 
				
			||||||
 | 
					    // Read and dump anything remaining in the modem's internal buffer.
 | 
				
			||||||
 | 
					    // The socket will appear open in response to connected() even after it
 | 
				
			||||||
 | 
					    // closes until all data is read from the buffer.
 | 
				
			||||||
 | 
					    // Doing it this way allows the external mcu to find and get all of the data
 | 
				
			||||||
 | 
					    // that it wants from the socket even if it was closed externally.
 | 
				
			||||||
 | 
					    at->maintain();
 | 
				
			||||||
 | 
					    while (sock_available > 0) {
 | 
				
			||||||
 | 
					      sock_available -= at->modemRead(TinyGsmMin((uint16_t)rx.free(), sock_available), mux);
 | 
				
			||||||
 | 
					      rx.clear();
 | 
				
			||||||
 | 
					      at->maintain();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    at->sendAT(GF("+QICLOSE="), mux);
 | 
					    at->sendAT(GF("+QICLOSE="), mux);
 | 
				
			||||||
    sock_connected = false;
 | 
					    sock_connected = false;
 | 
				
			||||||
    at->waitResponse();
 | 
					    at->waitResponse();
 | 
				
			||||||
    rx.clear();
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  virtual size_t write(const uint8_t *buf, size_t size) {
 | 
					  virtual size_t write(const uint8_t *buf, size_t size) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -89,10 +89,20 @@ public:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  virtual void stop() {
 | 
					  virtual void stop() {
 | 
				
			||||||
    TINY_GSM_YIELD();
 | 
					    TINY_GSM_YIELD();
 | 
				
			||||||
 | 
					    // Read and dump anything remaining in the modem's internal buffer.
 | 
				
			||||||
 | 
					    // The socket will appear open in response to connected() even after it
 | 
				
			||||||
 | 
					    // closes until all data is read from the buffer.
 | 
				
			||||||
 | 
					    // Doing it this way allows the external mcu to find and get all of the data
 | 
				
			||||||
 | 
					    // that it wants from the socket even if it was closed externally.
 | 
				
			||||||
 | 
					    at->maintain();
 | 
				
			||||||
 | 
					    while (sock_available > 0) {
 | 
				
			||||||
 | 
					      sock_available -= at->modemRead(TinyGsmMin((uint16_t)rx.free(), sock_available), mux);
 | 
				
			||||||
 | 
					      rx.clear();
 | 
				
			||||||
 | 
					      at->maintain();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    at->sendAT(GF("+QICLOSE="), mux);
 | 
					    at->sendAT(GF("+QICLOSE="), mux);
 | 
				
			||||||
    sock_connected = false;
 | 
					    sock_connected = false;
 | 
				
			||||||
    at->waitResponse(60000L, GF("CLOSED"), GF("CLOSE OK"), GF("ERROR"));
 | 
					    at->waitResponse(60000L, GF("CLOSED"), GF("CLOSE OK"), GF("ERROR"));
 | 
				
			||||||
    rx.clear();
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  virtual size_t write(const uint8_t *buf, size_t size) {
 | 
					  virtual size_t write(const uint8_t *buf, size_t size) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -93,10 +93,20 @@ public:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  virtual void stop() {
 | 
					  virtual void stop() {
 | 
				
			||||||
    TINY_GSM_YIELD();
 | 
					    TINY_GSM_YIELD();
 | 
				
			||||||
 | 
					    // Read and dump anything remaining in the modem's internal buffer.
 | 
				
			||||||
 | 
					    // The socket will appear open in response to connected() even after it
 | 
				
			||||||
 | 
					    // closes until all data is read from the buffer.
 | 
				
			||||||
 | 
					    // Doing it this way allows the external mcu to find and get all of the data
 | 
				
			||||||
 | 
					    // that it wants from the socket even if it was closed externally.
 | 
				
			||||||
 | 
					    at->maintain();
 | 
				
			||||||
 | 
					    while (sock_available > 0) {
 | 
				
			||||||
 | 
					      sock_available -= at->modemRead(TinyGsmMin((uint16_t)rx.free(), sock_available), mux);
 | 
				
			||||||
 | 
					      rx.clear();
 | 
				
			||||||
 | 
					      at->maintain();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    at->sendAT(GF("+QICLOSE="), mux);
 | 
					    at->sendAT(GF("+QICLOSE="), mux);
 | 
				
			||||||
    sock_connected = false;
 | 
					    sock_connected = false;
 | 
				
			||||||
    at->waitResponse(60000L, GF("CLOSED"), GF("CLOSE OK"), GF("ERROR"));
 | 
					    at->waitResponse(60000L, GF("CLOSED"), GF("CLOSE OK"), GF("ERROR"));
 | 
				
			||||||
    rx.clear();
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  virtual size_t write(const uint8_t *buf, size_t size) {
 | 
					  virtual size_t write(const uint8_t *buf, size_t size) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -95,10 +95,20 @@ public:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  virtual void stop() {
 | 
					  virtual void stop() {
 | 
				
			||||||
    TINY_GSM_YIELD();
 | 
					    TINY_GSM_YIELD();
 | 
				
			||||||
 | 
					    // Read and dump anything remaining in the modem's internal buffer.
 | 
				
			||||||
 | 
					    // The socket will appear open in response to connected() even after it
 | 
				
			||||||
 | 
					    // closes until all data is read from the buffer.
 | 
				
			||||||
 | 
					    // Doing it this way allows the external mcu to find and get all of the data
 | 
				
			||||||
 | 
					    // that it wants from the socket even if it was closed externally.
 | 
				
			||||||
 | 
					    at->maintain();
 | 
				
			||||||
 | 
					    while (sock_available > 0) {
 | 
				
			||||||
 | 
					      sock_available -= at->modemRead(TinyGsmMin((uint16_t)rx.free(), sock_available), mux);
 | 
				
			||||||
 | 
					      rx.clear();
 | 
				
			||||||
 | 
					      at->maintain();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    at->sendAT(GF("+CIPCLOSE="), mux);
 | 
					    at->sendAT(GF("+CIPCLOSE="), mux);
 | 
				
			||||||
    sock_connected = false;
 | 
					    sock_connected = false;
 | 
				
			||||||
    at->waitResponse();
 | 
					    at->waitResponse();
 | 
				
			||||||
    rx.clear();
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  virtual size_t write(const uint8_t *buf, size_t size) {
 | 
					  virtual size_t write(const uint8_t *buf, size_t size) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -86,9 +86,11 @@ public:
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  virtual void stop() {
 | 
					  virtual void stop() {
 | 
				
			||||||
    // Read and dump anything remaining in the u-blox buffer
 | 
					    // Read and dump anything remaining in the modem's internal buffer.
 | 
				
			||||||
    // The socket will appear open in response to connected() even after it
 | 
					    // The socket will appear open in response to connected() even after it
 | 
				
			||||||
    // closes until all data is read from the buffer.
 | 
					    // closes until all data is read from the buffer.
 | 
				
			||||||
 | 
					    // Doing it this way allows the external mcu to find and get all of the data
 | 
				
			||||||
 | 
					    // that it wants from the socket even if it was closed externally.
 | 
				
			||||||
    at->maintain();
 | 
					    at->maintain();
 | 
				
			||||||
    while (sock_available > 0) {
 | 
					    while (sock_available > 0) {
 | 
				
			||||||
      sock_available -= at->modemRead(TinyGsmMin((uint16_t)rx.free(), sock_available), mux);
 | 
					      sock_available -= at->modemRead(TinyGsmMin((uint16_t)rx.free(), sock_available), mux);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user