From 88620dee7b989f2df2258702ce92415ab643ca62 Mon Sep 17 00:00:00 2001 From: Sara Damiano Date: Mon, 17 Feb 2020 11:59:55 -0500 Subject: [PATCH] Don't need maintain in buffer dump Signed-off-by: Sara Damiano --- src/TinyGsmClientSIM7000.h | 6 ++++-- src/TinyGsmClientSIM800.h | 9 +++++++-- src/TinyGsmTCP.tpp | 9 +++------ 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/TinyGsmClientSIM7000.h b/src/TinyGsmClientSIM7000.h index 40f997b..8a03967 100644 --- a/src/TinyGsmClientSIM7000.h +++ b/src/TinyGsmClientSIM7000.h @@ -548,8 +548,10 @@ class TinyGsmSim7000 : public TinyGsmModem, // ^^ Requested number of data bytes (1-1460 bytes)to be read int16_t len_confirmed = streamGetIntBefore('\n'); // ^^ Confirmed number of data bytes to be read, which may be less than - // requested. 0 indicates that no data can be read. This is actually be the - // number of bytes that will be remaining after the read + // requested. 0 indicates that no data can be read. + // SRGD NOTE: Contrary to above (which is copied from AT command manual) + // this is actually be the number of bytes that will be remaining in the + // buffer after the read. for (int i = 0; i < len_requested; i++) { uint32_t startMillis = millis(); #ifdef TINY_GSM_USE_HEX diff --git a/src/TinyGsmClientSIM800.h b/src/TinyGsmClientSIM800.h index 95a57bf..59dcaf0 100644 --- a/src/TinyGsmClientSIM800.h +++ b/src/TinyGsmClientSIM800.h @@ -457,12 +457,15 @@ class TinyGsmSim800 } byte NTPServerSync(String server = "pool.ntp.org", byte TimeZone = 3) { + // Set GPRS bearer profile to associate with NTP sync sendAT(GF("+CNTPCID=1")); if (waitResponse(10000L) != 1) { return -1; } + // Set NTP server and timezone sendAT(GF("+CNTP="), server, ',', String(TimeZone)); if (waitResponse(10000L) != 1) { return -1; } + // Request network synchronization sendAT(GF("+CNTP")); if (waitResponse(10000L, GF(GSM_NL "+CNTP:"))) { String result = stream.readStringUntil('\n'); @@ -520,8 +523,10 @@ class TinyGsmSim800 // ^^ Requested number of data bytes (1-1460 bytes)to be read int16_t len_confirmed = streamGetIntBefore('\n'); // ^^ Confirmed number of data bytes to be read, which may be less than - // requested. 0 indicates that no data can be read. This is actually be the - // number of bytes that will be remaining after the read + // requested. 0 indicates that no data can be read. + // SRGD NOTE: Contrary to above (which is copied from AT command manual) + // this is actually be the number of bytes that will be remaining in the + // buffer after the read. for (int i = 0; i < len_requested; i++) { uint32_t startMillis = millis(); #ifdef TINY_GSM_USE_HEX diff --git a/src/TinyGsmTCP.tpp b/src/TinyGsmTCP.tpp index d9f0a5b..acc7288 100644 --- a/src/TinyGsmTCP.tpp +++ b/src/TinyGsmTCP.tpp @@ -265,14 +265,11 @@ class TinyGsmTCP { // data that it wants from the socket even if it was closed externally. inline void dumpModemBuffer(uint32_t maxWaitMs) { TINY_GSM_YIELD(); - rx.clear(); - at->maintain(); uint32_t startMillis = millis(); - while (sock_available > 0 && (millis() - startMillis < maxWaitMs)) { - at->modemRead(TinyGsmMin((uint16_t)rx.free(), sock_available), mux); + do { rx.clear(); - at->maintain(); - } + at->modemRead(TinyGsmMin((uint16_t)rx.free(), sock_available), mux); + } while (sock_available > 0 && (millis() - startMillis < maxWaitMs)); } modemType* at;