diff --git a/library.properties b/library.properties index 3b656fc..117b2f0 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=SparkFun u-blox SARA-R5 Arduino Library -version=1.1.4 +version=1.1.5 author=SparkFun Electronics maintainer=SparkFun Electronics sentence=Library for the u-blox SARA-R5 LTE-M / NB-IoT modules with secure cloud

diff --git a/src/SparkFun_u-blox_SARA-R5_Arduino_Library.cpp b/src/SparkFun_u-blox_SARA-R5_Arduino_Library.cpp index dac5d86..43ae8d5 100644 --- a/src/SparkFun_u-blox_SARA-R5_Arduino_Library.cpp +++ b/src/SparkFun_u-blox_SARA-R5_Arduino_Library.cpp @@ -2507,7 +2507,10 @@ SARA_R5_error_t SARA_R5::socketClose(int socket, unsigned long timeout) free(command); return SARA_R5_ERROR_OUT_OF_MEMORY; } - sprintf(command, "%s=%d", SARA_R5_CLOSE_SOCKET, socket); + // if timeout is short, close asynchronously and don't wait for socket closure (we will get the URC later) + // this will make sure the AT command parser is not confused during init() + const char* format = (SARA_R5_STANDARD_RESPONSE_TIMEOUT == timeout) ? "%s=%d,1" : "%s=%d"; + sprintf(command, format, SARA_R5_CLOSE_SOCKET, socket); err = sendCommandWithResponse(command, SARA_R5_RESPONSE_OK_OR_ERROR, response, timeout);