From 9aea7f5af758e2871d88f6928efd6575e9f1ecbd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan-=C3=85ke=20Larsson?= <jan-ake.larsson@liu.se> Date: Mon, 15 Jun 2020 20:36:31 +0200 Subject: [PATCH 1/5] Prevent deadlock on sms send/receive --- src/NB_SMS.cpp | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/NB_SMS.cpp b/src/NB_SMS.cpp index 20c2025..4be22c6 100644 --- a/src/NB_SMS.cpp +++ b/src/NB_SMS.cpp @@ -94,11 +94,9 @@ int NB_SMS::endSMS() if (_smsTxActive) { MODEM.write(26); - + if (_synch) { - while ((r = MODEM.ready()) == 0) { - delay(100); - } + r = MODEM.waitForResponse(3*60*1000); } else { r = MODEM.ready(); } @@ -129,9 +127,7 @@ int NB_SMS::available() } if (_synch) { - while ((r = ready()) == 0) { - delay(100); - } + r = MODEM.waitForResponse(3*60*1000); } else { r = ready(); } From 47d42d1f68b871ea662a5289bfcfeaede6385b33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan-=C3=85ke=20Larsson?= <jan-ake.larsson@liu.se> Date: Sun, 28 Jun 2020 22:45:26 +0200 Subject: [PATCH 2/5] Use NB_SMS.ready() --- src/NB_SMS.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/NB_SMS.cpp b/src/NB_SMS.cpp index 4be22c6..d3b8f64 100644 --- a/src/NB_SMS.cpp +++ b/src/NB_SMS.cpp @@ -127,7 +127,10 @@ int NB_SMS::available() } if (_synch) { - r = MODEM.waitForResponse(3*60*1000); + unsigned long start = millis(); + while ((r = ready()) == 0 && (millis() - start) < 3*60*1000) + delay(100); + } } else { r = ready(); } From 479040eac1ddf4b44b24c605ed8951bc6049b131 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan-=C3=85ke=20Larsson?= <jan-ake.larsson@liu.se> Date: Sun, 28 Jun 2020 22:53:20 +0200 Subject: [PATCH 3/5] Whitespace --- src/NB_SMS.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NB_SMS.cpp b/src/NB_SMS.cpp index d3b8f64..485a5cf 100644 --- a/src/NB_SMS.cpp +++ b/src/NB_SMS.cpp @@ -94,7 +94,7 @@ int NB_SMS::endSMS() if (_smsTxActive) { MODEM.write(26); - + if (_synch) { r = MODEM.waitForResponse(3*60*1000); } else { From 041bcc10374325b3ce093ef21875a9181af60be7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan-=C3=85ke=20Larsson?= <jan-ake.larsson@liu.se> Date: Mon, 29 Jun 2020 14:10:15 +0200 Subject: [PATCH 4/5] Typo --- src/NB_SMS.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/NB_SMS.cpp b/src/NB_SMS.cpp index 485a5cf..c7e8379 100644 --- a/src/NB_SMS.cpp +++ b/src/NB_SMS.cpp @@ -130,7 +130,6 @@ int NB_SMS::available() unsigned long start = millis(); while ((r = ready()) == 0 && (millis() - start) < 3*60*1000) delay(100); - } } else { r = ready(); } From 48ec74b5c91ea3f590179edd2033b8aeba8ff77d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan-=C3=85ke=20Larsson?= <jan-ake.larsson@liu.se> Date: Sun, 5 Jul 2020 11:32:45 +0200 Subject: [PATCH 5/5] Code style --- src/NB_SMS.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/NB_SMS.cpp b/src/NB_SMS.cpp index c7e8379..6fce180 100644 --- a/src/NB_SMS.cpp +++ b/src/NB_SMS.cpp @@ -128,8 +128,9 @@ int NB_SMS::available() if (_synch) { unsigned long start = millis(); - while ((r = ready()) == 0 && (millis() - start) < 3*60*1000) + while ((r = ready()) == 0 && (millis() - start) < 3*60*1000) { delay(100); + } } else { r = ready(); }