diff --git a/examples/AllFunctions/AllFunctions.ino b/examples/AllFunctions/AllFunctions.ino index 241bd0c..999b2ff 100644 --- a/examples/AllFunctions/AllFunctions.ino +++ b/examples/AllFunctions/AllFunctions.ino @@ -347,9 +347,9 @@ void loop() { delay(15000L); } } - DBG("Retrieving GSM location again as a string"); - String location = modem.getGsmLocation(); - DBG("GSM Based Location String:", location); + DBG("Retrieving GSM location again as a string"); + String location = modem.getGsmLocation(); + DBG("GSM Based Location String:", location); #endif #if TINY_GSM_TEST_GPS && defined TINY_GSM_MODEM_HAS_GPS @@ -385,9 +385,9 @@ void loop() { delay(15000L); } } - DBG("Retrieving GPS/GNSS/GLONASS location again as a string"); - String gps_raw = modem.getGPSraw(); - DBG("GPS/GNSS Based Location String:", gps_raw); + DBG("Retrieving GPS/GNSS/GLONASS location again as a string"); + String gps_raw = modem.getGPSraw(); + DBG("GPS/GNSS Based Location String:", gps_raw); DBG("Disabling GPS"); modem.disableGPS(); #endif @@ -413,13 +413,14 @@ void loop() { delay(15000L); } } - DBG("Retrieving time again as a string"); - String time = modem.getGSMDateTime(DATE_FULL); - DBG("Current Network Time:", time); + DBG("Retrieving time again as a string"); + String time = modem.getGSMDateTime(DATE_FULL); + DBG("Current Network Time:", time); #endif #if TINY_GSM_TEST_GPRS modem.gprsDisconnect(); + delay(5000L); if (!modem.isGprsConnected()) { DBG("GPRS disconnected"); } else { @@ -454,6 +455,8 @@ void loop() { DBG("Poweroff."); #endif + DBG("End of tests."); + // Do nothing forevermore while (true) { modem.maintain(); diff --git a/src/TinyGsmGSMLocation.tpp b/src/TinyGsmGSMLocation.tpp index fc6f42b..b8a5d3d 100644 --- a/src/TinyGsmGSMLocation.tpp +++ b/src/TinyGsmGSMLocation.tpp @@ -90,7 +90,11 @@ class TinyGsmGSMLocation { // 4 = Get longitude latitude and date time thisModem().sendAT(GF("+CLBS=4,1")); // Should get a location code of "0" indicating success - if (thisModem().waitResponse(120000L, GF("+CLBS:0,")) != 1) { + if (thisModem().waitResponse(120000L, GF("+CLBS:")) != 1) { return false; } + int8_t locationCode = thisModem().streamGetIntLength(2); + // 0 = success, else, error + if (locationCode != 0) { + thisModem().waitResponse(); // should be an ok after the error return false; }