From 4b126dda6ec83dd7ea6f97f3094d16c44556bfae Mon Sep 17 00:00:00 2001 From: Andrew Yong Date: Tue, 10 Jun 2025 19:44:41 +0700 Subject: [PATCH 1/3] docs: Fix incorrect comment for AT timeout default value Signed-off-by: Andrew Yong --- src/IridiumSBD.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/IridiumSBD.h b/src/IridiumSBD.h index 5e26b36..09f8478 100644 --- a/src/IridiumSBD.h +++ b/src/IridiumSBD.h @@ -112,7 +112,7 @@ class IridiumSBD typedef enum { DEFAULT_POWER_PROFILE = 0, USB_POWER_PROFILE = 1 } POWERPROFILE; void setPowerProfile(POWERPROFILE profile); // 0 = direct connect (default), 1 = USB - void adjustATTimeout(int seconds); // default value = 20 seconds + void adjustATTimeout(int seconds); // default value = 30 seconds void adjustSendReceiveTimeout(int seconds); // default value = 300 seconds void adjustStartupTimeout(int seconds); // default value = 240 seconds void useMSSTMWorkaround(bool useMSSTMWorkAround); // true to use workaround from Iridium Alert 5/7/13 From dccec061a656fc5c07aea02b092a375fe5adc36b Mon Sep 17 00:00:00 2001 From: PaulZC Date: Mon, 14 Jul 2025 08:54:18 +0100 Subject: [PATCH 2/3] Resolve #19 - add AT_RESPONSE_LOOP_DELAY --- src/IridiumSBD.cpp | 2 ++ src/IridiumSBD.h | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/IridiumSBD.cpp b/src/IridiumSBD.cpp index 9e32927..f7b1c8b 100644 --- a/src/IridiumSBD.cpp +++ b/src/IridiumSBD.cpp @@ -947,6 +947,8 @@ bool IridiumSBD::waitForATResponse(char *response, int responseSize, const char matchTerminatorPos = c == terminator[0] ? 1 : 0; } } // while (filteredavailable() > 0) + + delay(AT_RESPONSE_LOOP_DELAY); // Resolve #19 } // timer loop return false; } diff --git a/src/IridiumSBD.h b/src/IridiumSBD.h index 09f8478..ebfce06 100644 --- a/src/IridiumSBD.h +++ b/src/IridiumSBD.h @@ -221,7 +221,8 @@ class IridiumSBD int sendReceiveTimeout; int startupTimeout; unsigned long lastCheck = 0; // The time in millis when the I2C bus was last checked (limits I2C traffic) - const uint8_t I2C_POLLING_WAIT_MS = 5; //Limit checking of new characters to every 5 ms (roughly 10 chars at 19200 baud) + const unsigned long I2C_POLLING_WAIT_MS = 5; //Limit checking of new characters to every 5 ms (roughly 10 chars at 19200 baud) + const unsigned long AT_RESPONSE_LOOP_DELAY = 2; //Resolves #19 - 2 ms (roughly 4 chars at 19200 baud) // State variables int remainingMessages; From 2b4852f917eab0a387f2e305e1f38cdc86ef8a12 Mon Sep 17 00:00:00 2001 From: PaulZC Date: Mon, 14 Jul 2025 08:54:47 +0100 Subject: [PATCH 3/3] v3.0.7 --- library.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library.properties b/library.properties index 24fa6e6..d403378 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=IridiumSBDi2c -version=3.0.6 +version=3.0.7 author=Mikal Hart and Paul Clark (PaulZC) maintainer=SparkFun Electronics sentence=This library supports satellite data transmissions from anywhere on earth using the RockBLOCK family of Iridium 9602 and 9603 modems.