From cef8aefefc6d71d5ea55033c6c91ee5d401c73b0 Mon Sep 17 00:00:00 2001 From: Sara Damiano Date: Tue, 11 Feb 2020 16:32:38 -0500 Subject: [PATCH] Added IMSI --- src/TinyGsmClientXBee.h | 4 ++++ src/TinyGsmCommon.h | 15 --------------- src/TinyGsmGPRS.tpp | 14 ++++++++++++++ 3 files changed, 18 insertions(+), 15 deletions(-) diff --git a/src/TinyGsmClientXBee.h b/src/TinyGsmClientXBee.h index f553f54..deba450 100644 --- a/src/TinyGsmClientXBee.h +++ b/src/TinyGsmClientXBee.h @@ -836,6 +836,10 @@ class TinyGsmXBee return sendATGetString(GF("IM")); } + String getIMSIImpl() { + return sendATGetString(GF("II")); + } + SimStatus getSimStatusImpl(uint32_t) { return SIM_READY; // unsupported } diff --git a/src/TinyGsmCommon.h b/src/TinyGsmCommon.h index 6efc403..683795b 100644 --- a/src/TinyGsmCommon.h +++ b/src/TinyGsmCommon.h @@ -117,18 +117,3 @@ uint32_t TinyGsmAutoBaud(T& SerialAT, uint32_t minimum = 9600, } #endif // SRC_TINYGSMCOMMON_H_ - -// Asks for International Mobile Subscriber Identity IMSI via the AT+CIMI command -#define TINY_GSM_MODEM_GET_IMSI_CIMI() \ - String getIMSI() { \ - sendAT(GF("+CIMI")); \ - if (waitResponse(GF(GSM_NL)) != 1) { \ - return ""; \ - } \ - String res = stream.readStringUntil('\n'); \ - waitResponse(); \ - res.trim(); \ - return res; \ - } - - diff --git a/src/TinyGsmGPRS.tpp b/src/TinyGsmGPRS.tpp index 00bf1b7..7a08598 100644 --- a/src/TinyGsmGPRS.tpp +++ b/src/TinyGsmGPRS.tpp @@ -38,6 +38,10 @@ class TinyGsmGPRS { String getIMEI() { return thisModem().getIMEIImpl(); } + // Asks for International Mobile Subscriber Identity IMSI + String getIMSI() { + return thisModem().getIMSIImpl(); + } SimStatus getSimStatus(uint32_t timeout_ms = 10000L) { return thisModem().getSimStatusImpl(timeout_ms); } @@ -105,6 +109,16 @@ class TinyGsmGPRS { return res; } + // Asks for International Mobile Subscriber Identity IMSI via the AT+CIMI + // command + String getIMSIImpl() { + thisModem().sendAT(GF("+CIMI")); + String res = thisModem().stream.readStringUntil('\n'); + thisModem().waitResponse(); + res.trim(); + return res; + } + SimStatus getSimStatusImpl(uint32_t timeout_ms = 10000L) { for (uint32_t start = millis(); millis() - start < timeout_ms;) { thisModem().sendAT(GF("+CPIN?"));