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. 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 5e26b36..ebfce06 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 @@ -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;