diff --git a/src/TinyGsmClientSIM7000.h b/src/TinyGsmClientSIM7000.h index da2060c..458a05b 100644 --- a/src/TinyGsmClientSIM7000.h +++ b/src/TinyGsmClientSIM7000.h @@ -481,7 +481,6 @@ TINY_GSM_MODEM_WAIT_FOR_NETWORK() return TinyGsmIpFromString(getLocalIP()); } - /* * Phone Call functions */ @@ -726,7 +725,7 @@ TINY_GSM_MODEM_WAIT_FOR_NETWORK() } /* - * Battery functions + * Battery & temperature functions */ // Use: float vBatt = modem.getBattVoltage() / 1000.0; @@ -739,6 +738,7 @@ TINY_GSM_MODEM_WAIT_FOR_NETWORK() streamSkipUntil(','); // Skip battery charge level // return voltage in mV uint16_t res = stream.readStringUntil(',').toInt(); + // Wait for final OK waitResponse(); return res; } @@ -751,6 +751,7 @@ TINY_GSM_MODEM_WAIT_FOR_NETWORK() streamSkipUntil(','); // Skip battery charge status // Read battery charge level int res = stream.readStringUntil(',').toInt(); + // Wait for final OK waitResponse(); return res; } @@ -837,12 +838,8 @@ protected: size_t len_confirmed = stream.readStringUntil('\n').toInt(); // ^^ Confirmed number of data bytes to be read, which may be less than requested. // 0 indicates that no data can be read. - if (len_confirmed < len_requested) { - DBG(len_requested - len_confirmed, "fewer bytes confirmed than requested!"); - } - sockets[mux]->sock_available = len_confirmed; - - for (size_t i=0; i_timeout)) { TINY_GSM_YIELD(); } @@ -855,12 +852,12 @@ protected: char c = stream.read(); #endif sockets[mux]->rx.put(c); - sockets[mux]->sock_available--; - // ^^ One less character available after moving from modem's FIFO to our FIFO } + DBG("### READ:", len_requested, "from", mux); + // sockets[mux]->sock_available = modemGetAvailable(mux); + sockets[mux]->sock_available = len_confirmed; waitResponse(); - DBG("### READ:", TinyGsmMin(len_confirmed, len_requested), "from", mux); - return TinyGsmMin(len_confirmed, len_requested); + return len_requested; } size_t modemGetAvailable(uint8_t mux) { @@ -872,6 +869,7 @@ protected: result = stream.readStringUntil('\n').toInt(); waitResponse(); } + DBG("### Available:", result, "on", mux); if (!result) { sockets[mux]->sock_connected = modemGetConnected(mux); } diff --git a/src/TinyGsmClientSIM800.h b/src/TinyGsmClientSIM800.h index c0252bb..f2030dd 100644 --- a/src/TinyGsmClientSIM800.h +++ b/src/TinyGsmClientSIM800.h @@ -459,7 +459,6 @@ TINY_GSM_MODEM_WAIT_FOR_NETWORK() return true; } - /* * IP Address functions */