summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/mts/MTS_IO_ICellularRadio.h6
-rw-r--r--src/MTS_IO_ICellularRadio.cpp4
2 files changed, 10 insertions, 0 deletions
diff --git a/include/mts/MTS_IO_ICellularRadio.h b/include/mts/MTS_IO_ICellularRadio.h
index 085c217..e4456cc 100644
--- a/include/mts/MTS_IO_ICellularRadio.h
+++ b/include/mts/MTS_IO_ICellularRadio.h
@@ -83,6 +83,12 @@ namespace MTS {
const std::vector<std::string>& vBail = DEFAULT_BAIL_STRINGS,
int32_t timeoutMillis = 100,
const char& ESC = CR);
+
+ //! Wait for response from the radio without sending any data to it
+ static std::string waitResponse(MTS::AutoPtr<MTS::IO::Connection>& apIo,
+ IsNeedMoreData& isNeedMoreData,
+ int32_t timeoutMillis = 100);
+
static CODE test(MTS::AutoPtr<MTS::IO::Connection>& apIo, uint32_t timeoutSeconds = 30);
static std::string extractModelFromResult(const std::string& sResult);
static std::string getCodeAsString(CODE code);
diff --git a/src/MTS_IO_ICellularRadio.cpp b/src/MTS_IO_ICellularRadio.cpp
index 9dbfad1..69f731a 100644
--- a/src/MTS_IO_ICellularRadio.cpp
+++ b/src/MTS_IO_ICellularRadio.cpp
@@ -376,6 +376,10 @@ std::string MTS::IO::ICellularRadio::sendCommand(MTS::AutoPtr<MTS::IO::Connectio
return "";
}
+ return waitResponse(apIo, isNeedMoreData, timeoutMillis);
+}
+
+std::string MTS::IO::ICellularRadio::waitResponse(MTS::AutoPtr<MTS::IO::Connection>& apIo, MTS::IO::ICellularRadio::IsNeedMoreData& isNeedMoreData, int32_t timeoutMillis) {
bool done = false;
const uint32_t capacity = 1024;
char buffer[capacity];