Browse Source

Propogate fixes to stop

v_master
Sara Damiano 6 years ago
parent
commit
0a6927932f
5 changed files with 47 additions and 5 deletions
  1. +11
    -1
      src/TinyGsmClientBG96.h
  2. +11
    -1
      src/TinyGsmClientM95.h
  3. +11
    -1
      src/TinyGsmClientMC60.h
  4. +11
    -1
      src/TinyGsmClientSIM800.h
  5. +3
    -1
      src/TinyGsmClientUBLOX.h

+ 11
- 1
src/TinyGsmClientBG96.h View File

@ -89,10 +89,20 @@ public:
virtual void stop() {
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);
sock_connected = false;
at->waitResponse();
rx.clear();
}
virtual size_t write(const uint8_t *buf, size_t size) {


+ 11
- 1
src/TinyGsmClientM95.h View File

@ -89,10 +89,20 @@ public:
virtual void stop() {
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);
sock_connected = false;
at->waitResponse(60000L, GF("CLOSED"), GF("CLOSE OK"), GF("ERROR"));
rx.clear();
}
virtual size_t write(const uint8_t *buf, size_t size) {


+ 11
- 1
src/TinyGsmClientMC60.h View File

@ -93,10 +93,20 @@ public:
virtual void stop() {
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);
sock_connected = false;
at->waitResponse(60000L, GF("CLOSED"), GF("CLOSE OK"), GF("ERROR"));
rx.clear();
}
virtual size_t write(const uint8_t *buf, size_t size) {


+ 11
- 1
src/TinyGsmClientSIM800.h View File

@ -95,10 +95,20 @@ public:
virtual void stop() {
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);
sock_connected = false;
at->waitResponse();
rx.clear();
}
virtual size_t write(const uint8_t *buf, size_t size) {


+ 3
- 1
src/TinyGsmClientUBLOX.h View File

@ -86,9 +86,11 @@ public:
}
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
// 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);


Loading…
Cancel
Save