mirror of
				https://github.com/KevinMidboe/TinyGSM.git
				synced 2025-10-29 18:00:18 +00:00 
			
		
		
		
	Changed some format penalties
Signed-off-by: Sara Damiano <sdamiano@stroudcenter.org>
This commit is contained in:
		| @@ -74,14 +74,14 @@ NamespaceIndentation: None | |||||||
| ObjCBlockIndentWidth: 2 | ObjCBlockIndentWidth: 2 | ||||||
| ObjCSpaceAfterProperty: false | ObjCSpaceAfterProperty: false | ||||||
| ObjCSpaceBeforeProtocolList: true | ObjCSpaceBeforeProtocolList: true | ||||||
| PenaltyBreakAssignment: 2 | PenaltyBreakAssignment: 25 | ||||||
| PenaltyBreakBeforeFirstCallParameter: 19 | PenaltyBreakBeforeFirstCallParameter: 19 | ||||||
| PenaltyBreakComment: 300 | PenaltyBreakComment: 300 | ||||||
| PenaltyBreakFirstLessLess: 120 | PenaltyBreakFirstLessLess: 120 | ||||||
| PenaltyBreakString: 1000 | PenaltyBreakString: 1000 | ||||||
| PenaltyBreakTemplateDeclaration: 10 | PenaltyBreakTemplateDeclaration: 10 | ||||||
| PenaltyExcessCharacter: 60 | PenaltyExcessCharacter: 60 | ||||||
| PenaltyReturnTypeOnItsOwnLine: 5 | PenaltyReturnTypeOnItsOwnLine: 50 | ||||||
| PointerAlignment: Left | PointerAlignment: Left | ||||||
| PointerBindsToType: true | PointerBindsToType: true | ||||||
| ReflowComments: true | ReflowComments: true | ||||||
|   | |||||||
| @@ -477,11 +477,11 @@ class TinyGsmA6 | |||||||
|    */ |    */ | ||||||
|  public: |  public: | ||||||
|   // TODO(vshymanskyy): Optimize this! |   // TODO(vshymanskyy): Optimize this! | ||||||
|   uint8_t |   uint8_t waitResponse(uint32_t timeout_ms, String& data, | ||||||
|   waitResponse(uint32_t timeout_ms, String& data, GsmConstStr r1 = GFP(GSM_OK), |                        GsmConstStr r1 = GFP(GSM_OK), | ||||||
|                        GsmConstStr r2 = GFP(GSM_ERROR), |                        GsmConstStr r2 = GFP(GSM_ERROR), | ||||||
|                GsmConstStr r3 = GFP(GSM_CME_ERROR), GsmConstStr r4 = NULL, |                        GsmConstStr r3 = GFP(GSM_CME_ERROR), | ||||||
|                GsmConstStr r5 = NULL) { |                        GsmConstStr r4 = NULL, GsmConstStr r5 = NULL) { | ||||||
|     /*String r1s(r1); r1s.trim(); |     /*String r1s(r1); r1s.trim(); | ||||||
|     String r2s(r2); r2s.trim(); |     String r2s(r2); r2s.trim(); | ||||||
|     String r3s(r3); r3s.trim(); |     String r3s(r3); r3s.trim(); | ||||||
| @@ -489,7 +489,7 @@ class TinyGsmA6 | |||||||
|     String r5s(r5); r5s.trim(); |     String r5s(r5); r5s.trim(); | ||||||
|     DBG("### ..:", r1s, ",", r2s, ",", r3s, ",", r4s, ",", r5s);*/ |     DBG("### ..:", r1s, ",", r2s, ",", r3s, ",", r4s, ",", r5s);*/ | ||||||
|     data.reserve(64); |     data.reserve(64); | ||||||
|     int      index       = 0; |     uint8_t  index       = 0; | ||||||
|     uint32_t startMillis = millis(); |     uint32_t startMillis = millis(); | ||||||
|     do { |     do { | ||||||
|       TINY_GSM_YIELD(); |       TINY_GSM_YIELD(); | ||||||
| @@ -558,10 +558,10 @@ class TinyGsmA6 | |||||||
|     return waitResponse(timeout_ms, data, r1, r2, r3, r4, r5); |     return waitResponse(timeout_ms, data, r1, r2, r3, r4, r5); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   uint8_t |   uint8_t waitResponse(GsmConstStr r1 = GFP(GSM_OK), | ||||||
|   waitResponse(GsmConstStr r1 = GFP(GSM_OK), GsmConstStr r2 = GFP(GSM_ERROR), |                        GsmConstStr r2 = GFP(GSM_ERROR), | ||||||
|                GsmConstStr r3 = GFP(GSM_CME_ERROR), GsmConstStr r4 = NULL, |                        GsmConstStr r3 = GFP(GSM_CME_ERROR), | ||||||
|                GsmConstStr r5 = NULL) { |                        GsmConstStr r4 = NULL, GsmConstStr r5 = NULL) { | ||||||
|     return waitResponse(1000, r1, r2, r3, r4, r5); |     return waitResponse(1000, r1, r2, r3, r4, r5); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -394,11 +394,11 @@ class TinyGsmBG96 | |||||||
|    */ |    */ | ||||||
|  public: |  public: | ||||||
|   // TODO(vshymanskyy): Optimize this! |   // TODO(vshymanskyy): Optimize this! | ||||||
|   uint8_t |   uint8_t waitResponse(uint32_t timeout_ms, String& data, | ||||||
|   waitResponse(uint32_t timeout_ms, String& data, GsmConstStr r1 = GFP(GSM_OK), |                        GsmConstStr r1 = GFP(GSM_OK), | ||||||
|                        GsmConstStr r2 = GFP(GSM_ERROR), |                        GsmConstStr r2 = GFP(GSM_ERROR), | ||||||
|                GsmConstStr r3 = GFP(GSM_CME_ERROR), GsmConstStr r4 = NULL, |                        GsmConstStr r3 = GFP(GSM_CME_ERROR), | ||||||
|                GsmConstStr r5 = NULL) { |                        GsmConstStr r4 = NULL, GsmConstStr r5 = NULL) { | ||||||
|     /*String r1s(r1); r1s.trim(); |     /*String r1s(r1); r1s.trim(); | ||||||
|     String r2s(r2); r2s.trim(); |     String r2s(r2); r2s.trim(); | ||||||
|     String r3s(r3); r3s.trim(); |     String r3s(r3); r3s.trim(); | ||||||
| @@ -406,7 +406,7 @@ class TinyGsmBG96 | |||||||
|     String r5s(r5); r5s.trim(); |     String r5s(r5); r5s.trim(); | ||||||
|     DBG("### ..:", r1s, ",", r2s, ",", r3s, ",", r4s, ",", r5s);*/ |     DBG("### ..:", r1s, ",", r2s, ",", r3s, ",", r4s, ",", r5s);*/ | ||||||
|     data.reserve(64); |     data.reserve(64); | ||||||
|     int      index       = 0; |     uint8_t  index       = 0; | ||||||
|     uint32_t startMillis = millis(); |     uint32_t startMillis = millis(); | ||||||
|     do { |     do { | ||||||
|       TINY_GSM_YIELD(); |       TINY_GSM_YIELD(); | ||||||
| @@ -472,10 +472,10 @@ class TinyGsmBG96 | |||||||
|     return waitResponse(timeout_ms, data, r1, r2, r3, r4, r5); |     return waitResponse(timeout_ms, data, r1, r2, r3, r4, r5); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   uint8_t |   uint8_t waitResponse(GsmConstStr r1 = GFP(GSM_OK), | ||||||
|   waitResponse(GsmConstStr r1 = GFP(GSM_OK), GsmConstStr r2 = GFP(GSM_ERROR), |                        GsmConstStr r2 = GFP(GSM_ERROR), | ||||||
|                GsmConstStr r3 = GFP(GSM_CME_ERROR), GsmConstStr r4 = NULL, |                        GsmConstStr r3 = GFP(GSM_CME_ERROR), | ||||||
|                GsmConstStr r5 = NULL) { |                        GsmConstStr r4 = NULL, GsmConstStr r5 = NULL) { | ||||||
|     return waitResponse(1000, r1, r2, r3, r4, r5); |     return waitResponse(1000, r1, r2, r3, r4, r5); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -219,8 +219,8 @@ class TinyGsmESP8266 | |||||||
|   RegStatus getRegistrationStatus() { |   RegStatus getRegistrationStatus() { | ||||||
|     sendAT(GF("+CIPSTATUS")); |     sendAT(GF("+CIPSTATUS")); | ||||||
|     if (waitResponse(3000, GF("STATUS:")) != 1) return REG_UNKNOWN; |     if (waitResponse(3000, GF("STATUS:")) != 1) return REG_UNKNOWN; | ||||||
|     int status = |     int status = waitResponse(GFP(GSM_ERROR), GF("2"), GF("3"), GF("4"), | ||||||
|         waitResponse(GFP(GSM_ERROR), GF("2"), GF("3"), GF("4"), GF("5")); |                               GF("5")); | ||||||
|     waitResponse();  // Returns an OK after the status |     waitResponse();  // Returns an OK after the status | ||||||
|     return (RegStatus)status; |     return (RegStatus)status; | ||||||
|   } |   } | ||||||
| @@ -298,8 +298,8 @@ class TinyGsmESP8266 | |||||||
|   bool callAnswerImpl() TINY_GSM_ATTR_NOT_AVAILABLE; |   bool callAnswerImpl() TINY_GSM_ATTR_NOT_AVAILABLE; | ||||||
|   bool callNumberImpl(const String& number) TINY_GSM_ATTR_NOT_AVAILABLE; |   bool callNumberImpl(const String& number) TINY_GSM_ATTR_NOT_AVAILABLE; | ||||||
|   bool callHangupImpl() TINY_GSM_ATTR_NOT_AVAILABLE; |   bool callHangupImpl() TINY_GSM_ATTR_NOT_AVAILABLE; | ||||||
|   bool |   bool dtmfSendImpl(char cmd, | ||||||
|   dtmfSendImpl(char cmd, int duration_ms = 100) TINY_GSM_ATTR_NOT_AVAILABLE; |                     int  duration_ms = 100) TINY_GSM_ATTR_NOT_AVAILABLE; | ||||||
|  |  | ||||||
|   /* |   /* | ||||||
|    * Messaging functions |    * Messaging functions | ||||||
| @@ -382,8 +382,8 @@ class TinyGsmESP8266 | |||||||
|   bool modemGetConnected(uint8_t mux) { |   bool modemGetConnected(uint8_t mux) { | ||||||
|     sendAT(GF("+CIPSTATUS")); |     sendAT(GF("+CIPSTATUS")); | ||||||
|     if (waitResponse(3000, GF("STATUS:")) != 1) { return false; } |     if (waitResponse(3000, GF("STATUS:")) != 1) { return false; } | ||||||
|     int status = |     int status = waitResponse(GFP(GSM_ERROR), GF("2"), GF("3"), GF("4"), | ||||||
|         waitResponse(GFP(GSM_ERROR), GF("2"), GF("3"), GF("4"), GF("5")); |                               GF("5")); | ||||||
|     if (status != 3) { |     if (status != 3) { | ||||||
|       // if the status is anything but 3, there are no connections open |       // if the status is anything but 3, there are no connections open | ||||||
|       waitResponse();  // Returns an OK after the status |       waitResponse();  // Returns an OK after the status | ||||||
| @@ -394,8 +394,8 @@ class TinyGsmESP8266 | |||||||
|     } |     } | ||||||
|     bool verified_connections[TINY_GSM_MUX_COUNT] = {0, 0, 0, 0, 0}; |     bool verified_connections[TINY_GSM_MUX_COUNT] = {0, 0, 0, 0, 0}; | ||||||
|     for (int muxNo = 0; muxNo < TINY_GSM_MUX_COUNT; muxNo++) { |     for (int muxNo = 0; muxNo < TINY_GSM_MUX_COUNT; muxNo++) { | ||||||
|       uint8_t has_status = |       uint8_t has_status = waitResponse(GF("+CIPSTATUS:"), GFP(GSM_OK), | ||||||
|           waitResponse(GF("+CIPSTATUS:"), GFP(GSM_OK), GFP(GSM_ERROR)); |                                         GFP(GSM_ERROR)); | ||||||
|       if (has_status == 1) { |       if (has_status == 1) { | ||||||
|         int returned_mux = stream.readStringUntil(',').toInt(); |         int returned_mux = stream.readStringUntil(',').toInt(); | ||||||
|         streamSkipUntil(',');   // Skip mux |         streamSkipUntil(',');   // Skip mux | ||||||
| @@ -419,11 +419,11 @@ class TinyGsmESP8266 | |||||||
|    */ |    */ | ||||||
|  public: |  public: | ||||||
|   // TODO(vshymanskyy): Optimize this! |   // TODO(vshymanskyy): Optimize this! | ||||||
|   uint8_t |   uint8_t waitResponse(uint32_t timeout_ms, String& data, | ||||||
|   waitResponse(uint32_t timeout_ms, String& data, GsmConstStr r1 = GFP(GSM_OK), |                        GsmConstStr r1 = GFP(GSM_OK), | ||||||
|                        GsmConstStr r2 = GFP(GSM_ERROR), |                        GsmConstStr r2 = GFP(GSM_ERROR), | ||||||
|                GsmConstStr r3 = GFP(GSM_CME_ERROR), GsmConstStr r4 = NULL, |                        GsmConstStr r3 = GFP(GSM_CME_ERROR), | ||||||
|                GsmConstStr r5 = NULL) { |                        GsmConstStr r4 = NULL, GsmConstStr r5 = NULL) { | ||||||
|     /*String r1s(r1); r1s.trim(); |     /*String r1s(r1); r1s.trim(); | ||||||
|     String r2s(r2); r2s.trim(); |     String r2s(r2); r2s.trim(); | ||||||
|     String r3s(r3); r3s.trim(); |     String r3s(r3); r3s.trim(); | ||||||
| @@ -431,7 +431,7 @@ class TinyGsmESP8266 | |||||||
|     String r5s(r5); r5s.trim(); |     String r5s(r5); r5s.trim(); | ||||||
|     DBG("### ..:", r1s, ",", r2s, ",", r3s, ",", r4s, ",", r5s);*/ |     DBG("### ..:", r1s, ",", r2s, ",", r3s, ",", r4s, ",", r5s);*/ | ||||||
|     data.reserve(64); |     data.reserve(64); | ||||||
|     int      index       = 0; |     uint8_t  index       = 0; | ||||||
|     uint32_t startMillis = millis(); |     uint32_t startMillis = millis(); | ||||||
|     do { |     do { | ||||||
|       TINY_GSM_YIELD(); |       TINY_GSM_YIELD(); | ||||||
| @@ -504,10 +504,10 @@ class TinyGsmESP8266 | |||||||
|     return waitResponse(timeout_ms, data, r1, r2, r3, r4, r5); |     return waitResponse(timeout_ms, data, r1, r2, r3, r4, r5); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   uint8_t |   uint8_t waitResponse(GsmConstStr r1 = GFP(GSM_OK), | ||||||
|   waitResponse(GsmConstStr r1 = GFP(GSM_OK), GsmConstStr r2 = GFP(GSM_ERROR), |                        GsmConstStr r2 = GFP(GSM_ERROR), | ||||||
|                GsmConstStr r3 = GFP(GSM_CME_ERROR), GsmConstStr r4 = NULL, |                        GsmConstStr r3 = GFP(GSM_CME_ERROR), | ||||||
|                GsmConstStr r5 = NULL) { |                        GsmConstStr r4 = NULL, GsmConstStr r5 = NULL) { | ||||||
|     return waitResponse(1000, r1, r2, r3, r4, r5); |     return waitResponse(1000, r1, r2, r3, r4, r5); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -287,8 +287,8 @@ class TinyGsmM590 | |||||||
|   bool callAnswerImpl() TINY_GSM_ATTR_NOT_AVAILABLE; |   bool callAnswerImpl() TINY_GSM_ATTR_NOT_AVAILABLE; | ||||||
|   bool callNumberImpl(const String& number) TINY_GSM_ATTR_NOT_AVAILABLE; |   bool callNumberImpl(const String& number) TINY_GSM_ATTR_NOT_AVAILABLE; | ||||||
|   bool callHangupImpl() TINY_GSM_ATTR_NOT_AVAILABLE; |   bool callHangupImpl() TINY_GSM_ATTR_NOT_AVAILABLE; | ||||||
|   bool |   bool dtmfSendImpl(char cmd, | ||||||
|   dtmfSendImpl(char cmd, int duration_ms = 100) TINY_GSM_ATTR_NOT_AVAILABLE; |                     int  duration_ms = 100) TINY_GSM_ATTR_NOT_AVAILABLE; | ||||||
|  |  | ||||||
|   /* |   /* | ||||||
|    * Messaging functions |    * Messaging functions | ||||||
| @@ -389,11 +389,11 @@ class TinyGsmM590 | |||||||
|    */ |    */ | ||||||
|  public: |  public: | ||||||
|   // TODO(vshymanskyy): Optimize this! |   // TODO(vshymanskyy): Optimize this! | ||||||
|   uint8_t |   uint8_t waitResponse(uint32_t timeout_ms, String& data, | ||||||
|   waitResponse(uint32_t timeout_ms, String& data, GsmConstStr r1 = GFP(GSM_OK), |                        GsmConstStr r1 = GFP(GSM_OK), | ||||||
|                        GsmConstStr r2 = GFP(GSM_ERROR), |                        GsmConstStr r2 = GFP(GSM_ERROR), | ||||||
|                GsmConstStr r3 = GFP(GSM_CME_ERROR), GsmConstStr r4 = NULL, |                        GsmConstStr r3 = GFP(GSM_CME_ERROR), | ||||||
|                GsmConstStr r5 = NULL) { |                        GsmConstStr r4 = NULL, GsmConstStr r5 = NULL) { | ||||||
|     /*String r1s(r1); r1s.trim(); |     /*String r1s(r1); r1s.trim(); | ||||||
|     String r2s(r2); r2s.trim(); |     String r2s(r2); r2s.trim(); | ||||||
|     String r3s(r3); r3s.trim(); |     String r3s(r3); r3s.trim(); | ||||||
| @@ -401,7 +401,7 @@ class TinyGsmM590 | |||||||
|     String r5s(r5); r5s.trim(); |     String r5s(r5); r5s.trim(); | ||||||
|     DBG("### ..:", r1s, ",", r2s, ",", r3s, ",", r4s, ",", r5s);*/ |     DBG("### ..:", r1s, ",", r2s, ",", r3s, ",", r4s, ",", r5s);*/ | ||||||
|     data.reserve(64); |     data.reserve(64); | ||||||
|     int      index       = 0; |     uint8_t  index       = 0; | ||||||
|     uint32_t startMillis = millis(); |     uint32_t startMillis = millis(); | ||||||
|     do { |     do { | ||||||
|       TINY_GSM_YIELD(); |       TINY_GSM_YIELD(); | ||||||
| @@ -471,10 +471,10 @@ class TinyGsmM590 | |||||||
|     return waitResponse(timeout_ms, data, r1, r2, r3, r4, r5); |     return waitResponse(timeout_ms, data, r1, r2, r3, r4, r5); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   uint8_t |   uint8_t waitResponse(GsmConstStr r1 = GFP(GSM_OK), | ||||||
|   waitResponse(GsmConstStr r1 = GFP(GSM_OK), GsmConstStr r2 = GFP(GSM_ERROR), |                        GsmConstStr r2 = GFP(GSM_ERROR), | ||||||
|                GsmConstStr r3 = GFP(GSM_CME_ERROR), GsmConstStr r4 = NULL, |                        GsmConstStr r3 = GFP(GSM_CME_ERROR), | ||||||
|                GsmConstStr r5 = NULL) { |                        GsmConstStr r4 = NULL, GsmConstStr r5 = NULL) { | ||||||
|     return waitResponse(1000, r1, r2, r3, r4, r5); |     return waitResponse(1000, r1, r2, r3, r4, r5); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -414,9 +414,9 @@ class TinyGsmM95 | |||||||
|     uint32_t timeout_ms = ((uint32_t)timeout_s) * 1000; |     uint32_t timeout_ms = ((uint32_t)timeout_s) * 1000; | ||||||
|     sendAT(GF("+QIOPEN="), mux, GF(",\""), GF("TCP"), GF("\",\""), host, |     sendAT(GF("+QIOPEN="), mux, GF(",\""), GF("TCP"), GF("\",\""), host, | ||||||
|            GF("\","), port); |            GF("\","), port); | ||||||
|     int rsp = |     int rsp = waitResponse(timeout_ms, GF("CONNECT OK" GSM_NL), | ||||||
|         waitResponse(timeout_ms, GF("CONNECT OK" GSM_NL), |                            GF("CONNECT FAIL" GSM_NL), | ||||||
|                      GF("CONNECT FAIL" GSM_NL), GF("ALREADY CONNECT" GSM_NL)); |                            GF("ALREADY CONNECT" GSM_NL)); | ||||||
|     return (1 == rsp); |     return (1 == rsp); | ||||||
|   } |   } | ||||||
|  |  | ||||||
| @@ -513,11 +513,11 @@ class TinyGsmM95 | |||||||
|    */ |    */ | ||||||
|  public: |  public: | ||||||
|   // TODO(vshymanskyy): Optimize this! |   // TODO(vshymanskyy): Optimize this! | ||||||
|   uint8_t |   uint8_t waitResponse(uint32_t timeout_ms, String& data, | ||||||
|   waitResponse(uint32_t timeout_ms, String& data, GsmConstStr r1 = GFP(GSM_OK), |                        GsmConstStr r1 = GFP(GSM_OK), | ||||||
|                        GsmConstStr r2 = GFP(GSM_ERROR), |                        GsmConstStr r2 = GFP(GSM_ERROR), | ||||||
|                GsmConstStr r3 = GFP(GSM_CME_ERROR), GsmConstStr r4 = NULL, |                        GsmConstStr r3 = GFP(GSM_CME_ERROR), | ||||||
|                GsmConstStr r5 = NULL) { |                        GsmConstStr r4 = NULL, GsmConstStr r5 = NULL) { | ||||||
|     /*String r1s(r1); r1s.trim(); |     /*String r1s(r1); r1s.trim(); | ||||||
|     String r2s(r2); r2s.trim(); |     String r2s(r2); r2s.trim(); | ||||||
|     String r3s(r3); r3s.trim(); |     String r3s(r3); r3s.trim(); | ||||||
| @@ -525,7 +525,7 @@ class TinyGsmM95 | |||||||
|     String r5s(r5); r5s.trim(); |     String r5s(r5); r5s.trim(); | ||||||
|     DBG("### ..:", r1s, ",", r2s, ",", r3s, ",", r4s, ",", r5s);*/ |     DBG("### ..:", r1s, ",", r2s, ",", r3s, ",", r4s, ",", r5s);*/ | ||||||
|     data.reserve(64); |     data.reserve(64); | ||||||
|     int      index       = 0; |     uint8_t  index       = 0; | ||||||
|     uint32_t startMillis = millis(); |     uint32_t startMillis = millis(); | ||||||
|     do { |     do { | ||||||
|       TINY_GSM_YIELD(); |       TINY_GSM_YIELD(); | ||||||
| @@ -591,10 +591,10 @@ class TinyGsmM95 | |||||||
|     return waitResponse(timeout_ms, data, r1, r2, r3, r4, r5); |     return waitResponse(timeout_ms, data, r1, r2, r3, r4, r5); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   uint8_t |   uint8_t waitResponse(GsmConstStr r1 = GFP(GSM_OK), | ||||||
|   waitResponse(GsmConstStr r1 = GFP(GSM_OK), GsmConstStr r2 = GFP(GSM_ERROR), |                        GsmConstStr r2 = GFP(GSM_ERROR), | ||||||
|                GsmConstStr r3 = GFP(GSM_CME_ERROR), GsmConstStr r4 = NULL, |                        GsmConstStr r3 = GFP(GSM_CME_ERROR), | ||||||
|                GsmConstStr r5 = NULL) { |                        GsmConstStr r4 = NULL, GsmConstStr r5 = NULL) { | ||||||
|     return waitResponse(1000, r1, r2, r3, r4, r5); |     return waitResponse(1000, r1, r2, r3, r4, r5); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -237,9 +237,9 @@ class TinyGsmMC60 | |||||||
|         delay(1000); |         delay(1000); | ||||||
|         continue; |         continue; | ||||||
|       } |       } | ||||||
|       int status = |       int status = waitResponse(GF("READY"), GF("SIM PIN"), GF("SIM PUK"), | ||||||
|           waitResponse(GF("READY"), GF("SIM PIN"), GF("SIM PUK"), |                                 GF("NOT INSERTED"), GF("PH_SIM PIN"), | ||||||
|                        GF("NOT INSERTED"), GF("PH_SIM PIN"), GF("PH_SIM PUK")); |                                 GF("PH_SIM PUK")); | ||||||
|       waitResponse(); |       waitResponse(); | ||||||
|       switch (status) { |       switch (status) { | ||||||
|         case 2: |         case 2: | ||||||
| @@ -393,9 +393,9 @@ class TinyGsmMC60 | |||||||
|     uint32_t timeout_ms = ((uint32_t)timeout_s) * 1000; |     uint32_t timeout_ms = ((uint32_t)timeout_s) * 1000; | ||||||
|     sendAT(GF("+QIOPEN="), mux, GF(",\""), GF("TCP"), GF("\",\""), host, |     sendAT(GF("+QIOPEN="), mux, GF(",\""), GF("TCP"), GF("\",\""), host, | ||||||
|            GF("\","), port); |            GF("\","), port); | ||||||
|     int rsp = |     int rsp = waitResponse(timeout_ms, GF("CONNECT OK" GSM_NL), | ||||||
|         waitResponse(timeout_ms, GF("CONNECT OK" GSM_NL), |                            GF("CONNECT FAIL" GSM_NL), | ||||||
|                      GF("CONNECT FAIL" GSM_NL), GF("ALREADY CONNECT" GSM_NL)); |                            GF("ALREADY CONNECT" GSM_NL)); | ||||||
|     return (1 == rsp); |     return (1 == rsp); | ||||||
|   } |   } | ||||||
|  |  | ||||||
| @@ -493,11 +493,12 @@ class TinyGsmMC60 | |||||||
|    */ |    */ | ||||||
|  public: |  public: | ||||||
|   // TODO(vshymanskyy): Optimize this! |   // TODO(vshymanskyy): Optimize this! | ||||||
|   uint8_t |   uint8_t waitResponse(uint32_t timeout_ms, String& data, | ||||||
|   waitResponse(uint32_t timeout_ms, String& data, GsmConstStr r1 = GFP(GSM_OK), |                        GsmConstStr r1 = GFP(GSM_OK), | ||||||
|                        GsmConstStr r2 = GFP(GSM_ERROR), |                        GsmConstStr r2 = GFP(GSM_ERROR), | ||||||
|                GsmConstStr r3 = GFP(GSM_CME_ERROR), GsmConstStr r4 = NULL, |                        GsmConstStr r3 = GFP(GSM_CME_ERROR), | ||||||
|                GsmConstStr r5 = NULL, GsmConstStr r6 = NULL) { |                        GsmConstStr r4 = NULL, GsmConstStr r5 = NULL, | ||||||
|  |                        GsmConstStr r6 = NULL) { | ||||||
|     /*String r1s(r1); r1s.trim(); |     /*String r1s(r1); r1s.trim(); | ||||||
|     String r2s(r2); r2s.trim(); |     String r2s(r2); r2s.trim(); | ||||||
|     String r3s(r3); r3s.trim(); |     String r3s(r3); r3s.trim(); | ||||||
| @@ -506,7 +507,7 @@ class TinyGsmMC60 | |||||||
|     String r6s(r6); r6s.trim(); |     String r6s(r6); r6s.trim(); | ||||||
|     DBG("### ..:", r1s, ",", r2s, ",", r3s, ",", r4s, ",", r5s, ",", r6s);*/ |     DBG("### ..:", r1s, ",", r2s, ",", r3s, ",", r4s, ",", r5s, ",", r6s);*/ | ||||||
|     data.reserve(64); |     data.reserve(64); | ||||||
|     int      index       = 0; |     uint8_t  index       = 0; | ||||||
|     uint32_t startMillis = millis(); |     uint32_t startMillis = millis(); | ||||||
|     do { |     do { | ||||||
|       TINY_GSM_YIELD(); |       TINY_GSM_YIELD(); | ||||||
| @@ -572,19 +573,20 @@ class TinyGsmMC60 | |||||||
|     return index; |     return index; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   uint8_t |   uint8_t waitResponse(uint32_t timeout_ms, GsmConstStr r1 = GFP(GSM_OK), | ||||||
|   waitResponse(uint32_t timeout_ms, GsmConstStr r1 = GFP(GSM_OK), |  | ||||||
|                        GsmConstStr r2 = GFP(GSM_ERROR), |                        GsmConstStr r2 = GFP(GSM_ERROR), | ||||||
|                GsmConstStr r3 = GFP(GSM_CME_ERROR), GsmConstStr r4 = NULL, |                        GsmConstStr r3 = GFP(GSM_CME_ERROR), | ||||||
|                GsmConstStr r5 = NULL, GsmConstStr r6 = NULL) { |                        GsmConstStr r4 = NULL, GsmConstStr r5 = NULL, | ||||||
|  |                        GsmConstStr r6 = NULL) { | ||||||
|     String data; |     String data; | ||||||
|     return waitResponse(timeout_ms, data, r1, r2, r3, r4, r5, r6); |     return waitResponse(timeout_ms, data, r1, r2, r3, r4, r5, r6); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   uint8_t |   uint8_t waitResponse(GsmConstStr r1 = GFP(GSM_OK), | ||||||
|   waitResponse(GsmConstStr r1 = GFP(GSM_OK), GsmConstStr r2 = GFP(GSM_ERROR), |                        GsmConstStr r2 = GFP(GSM_ERROR), | ||||||
|                GsmConstStr r3 = GFP(GSM_CME_ERROR), GsmConstStr r4 = NULL, |                        GsmConstStr r3 = GFP(GSM_CME_ERROR), | ||||||
|                GsmConstStr r5 = NULL, GsmConstStr r6 = NULL) { |                        GsmConstStr r4 = NULL, GsmConstStr r5 = NULL, | ||||||
|  |                        GsmConstStr r6 = NULL) { | ||||||
|     return waitResponse(1000, r1, r2, r3, r4, r5, r6); |     return waitResponse(1000, r1, r2, r3, r4, r5, r6); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -407,8 +407,8 @@ class TinyGsmSim5360 : public TinyGsmModem<TinyGsmSim5360, READ_AND_CHECK_SIZE, | |||||||
|   bool callAnswerImpl() TINY_GSM_ATTR_NOT_IMPLEMENTED; |   bool callAnswerImpl() TINY_GSM_ATTR_NOT_IMPLEMENTED; | ||||||
|   bool callNumberImpl(const String& number) TINY_GSM_ATTR_NOT_IMPLEMENTED; |   bool callNumberImpl(const String& number) TINY_GSM_ATTR_NOT_IMPLEMENTED; | ||||||
|   bool callHangupImpl() TINY_GSM_ATTR_NOT_IMPLEMENTED; |   bool callHangupImpl() TINY_GSM_ATTR_NOT_IMPLEMENTED; | ||||||
|   bool |   bool dtmfSendImpl(char cmd, | ||||||
|   dtmfSendImpl(char cmd, int duration_ms = 100) TINY_GSM_ATTR_NOT_IMPLEMENTED; |                     int  duration_ms = 100) TINY_GSM_ATTR_NOT_IMPLEMENTED; | ||||||
|  |  | ||||||
|   /* |   /* | ||||||
|    * Messaging functions |    * Messaging functions | ||||||
| @@ -586,11 +586,11 @@ class TinyGsmSim5360 : public TinyGsmModem<TinyGsmSim5360, READ_AND_CHECK_SIZE, | |||||||
|    */ |    */ | ||||||
|  public: |  public: | ||||||
|   // TODO(vshymanskyy): Optimize this! |   // TODO(vshymanskyy): Optimize this! | ||||||
|   uint8_t |   uint8_t waitResponse(uint32_t timeout_ms, String& data, | ||||||
|   waitResponse(uint32_t timeout_ms, String& data, GsmConstStr r1 = GFP(GSM_OK), |                        GsmConstStr r1 = GFP(GSM_OK), | ||||||
|                        GsmConstStr r2 = GFP(GSM_ERROR), |                        GsmConstStr r2 = GFP(GSM_ERROR), | ||||||
|                GsmConstStr r3 = GFP(GSM_CME_ERROR), GsmConstStr r4 = NULL, |                        GsmConstStr r3 = GFP(GSM_CME_ERROR), | ||||||
|                GsmConstStr r5 = NULL) { |                        GsmConstStr r4 = NULL, GsmConstStr r5 = NULL) { | ||||||
|     /*String r1s(r1); r1s.trim(); |     /*String r1s(r1); r1s.trim(); | ||||||
|     String r2s(r2); r2s.trim(); |     String r2s(r2); r2s.trim(); | ||||||
|     String r3s(r3); r3s.trim(); |     String r3s(r3); r3s.trim(); | ||||||
| @@ -598,7 +598,7 @@ class TinyGsmSim5360 : public TinyGsmModem<TinyGsmSim5360, READ_AND_CHECK_SIZE, | |||||||
|     String r5s(r5); r5s.trim(); |     String r5s(r5); r5s.trim(); | ||||||
|     DBG("### ..:", r1s, ",", r2s, ",", r3s, ",", r4s, ",", r5s);*/ |     DBG("### ..:", r1s, ",", r2s, ",", r3s, ",", r4s, ",", r5s);*/ | ||||||
|     data.reserve(64); |     data.reserve(64); | ||||||
|     int      index       = 0; |     uint8_t  index       = 0; | ||||||
|     uint32_t startMillis = millis(); |     uint32_t startMillis = millis(); | ||||||
|     do { |     do { | ||||||
|       TINY_GSM_YIELD(); |       TINY_GSM_YIELD(); | ||||||
| @@ -679,10 +679,10 @@ class TinyGsmSim5360 : public TinyGsmModem<TinyGsmSim5360, READ_AND_CHECK_SIZE, | |||||||
|     return waitResponse(timeout_ms, data, r1, r2, r3, r4, r5); |     return waitResponse(timeout_ms, data, r1, r2, r3, r4, r5); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   uint8_t |   uint8_t waitResponse(GsmConstStr r1 = GFP(GSM_OK), | ||||||
|   waitResponse(GsmConstStr r1 = GFP(GSM_OK), GsmConstStr r2 = GFP(GSM_ERROR), |                        GsmConstStr r2 = GFP(GSM_ERROR), | ||||||
|                GsmConstStr r3 = GFP(GSM_CME_ERROR), GsmConstStr r4 = NULL, |                        GsmConstStr r3 = GFP(GSM_CME_ERROR), | ||||||
|                GsmConstStr r5 = NULL) { |                        GsmConstStr r4 = NULL, GsmConstStr r5 = NULL) { | ||||||
|     return waitResponse(1000, r1, r2, r3, r4, r5); |     return waitResponse(1000, r1, r2, r3, r4, r5); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -123,6 +123,9 @@ class TinyGsmSim7000 : public TinyGsmModem<TinyGsmSim7000, READ_AND_CHECK_SIZE, | |||||||
|   }; |   }; | ||||||
|   */ |   */ | ||||||
|  |  | ||||||
|  |   /* | ||||||
|  |    * Constructor | ||||||
|  |    */ | ||||||
|  public: |  public: | ||||||
|   explicit TinyGsmSim7000(Stream& stream) : stream(stream) { |   explicit TinyGsmSim7000(Stream& stream) : stream(stream) { | ||||||
|     memset(sockets, 0, sizeof(sockets)); |     memset(sockets, 0, sizeof(sockets)); | ||||||
| @@ -382,8 +385,8 @@ class TinyGsmSim7000 : public TinyGsmModem<TinyGsmSim7000, READ_AND_CHECK_SIZE, | |||||||
|   bool callAnswerImpl() TINY_GSM_ATTR_NOT_IMPLEMENTED; |   bool callAnswerImpl() TINY_GSM_ATTR_NOT_IMPLEMENTED; | ||||||
|   bool callNumberImpl(const String& number) TINY_GSM_ATTR_NOT_IMPLEMENTED; |   bool callNumberImpl(const String& number) TINY_GSM_ATTR_NOT_IMPLEMENTED; | ||||||
|   bool callHangupImpl() TINY_GSM_ATTR_NOT_IMPLEMENTED; |   bool callHangupImpl() TINY_GSM_ATTR_NOT_IMPLEMENTED; | ||||||
|   bool |   bool dtmfSendImpl(char cmd, | ||||||
|   dtmfSendImpl(char cmd, int duration_ms = 100) TINY_GSM_ATTR_NOT_IMPLEMENTED; |                     int  duration_ms = 100) TINY_GSM_ATTR_NOT_IMPLEMENTED; | ||||||
|  |  | ||||||
|   /* |   /* | ||||||
|    * Messaging functions |    * Messaging functions | ||||||
| @@ -613,11 +616,11 @@ class TinyGsmSim7000 : public TinyGsmModem<TinyGsmSim7000, READ_AND_CHECK_SIZE, | |||||||
|    */ |    */ | ||||||
|  public: |  public: | ||||||
|   // TODO(vshymanskyy): Optimize this! |   // TODO(vshymanskyy): Optimize this! | ||||||
|   uint8_t |   uint8_t waitResponse(uint32_t timeout_ms, String& data, | ||||||
|   waitResponse(uint32_t timeout_ms, String& data, GsmConstStr r1 = GFP(GSM_OK), |                        GsmConstStr r1 = GFP(GSM_OK), | ||||||
|                        GsmConstStr r2 = GFP(GSM_ERROR), |                        GsmConstStr r2 = GFP(GSM_ERROR), | ||||||
|                GsmConstStr r3 = GFP(GSM_CME_ERROR), GsmConstStr r4 = NULL, |                        GsmConstStr r3 = GFP(GSM_CME_ERROR), | ||||||
|                GsmConstStr r5 = NULL) { |                        GsmConstStr r4 = NULL, GsmConstStr r5 = NULL) { | ||||||
|     /*String r1s(r1); r1s.trim(); |     /*String r1s(r1); r1s.trim(); | ||||||
|     String r2s(r2); r2s.trim(); |     String r2s(r2); r2s.trim(); | ||||||
|     String r3s(r3); r3s.trim(); |     String r3s(r3); r3s.trim(); | ||||||
| @@ -625,7 +628,7 @@ class TinyGsmSim7000 : public TinyGsmModem<TinyGsmSim7000, READ_AND_CHECK_SIZE, | |||||||
|     String r5s(r5); r5s.trim(); |     String r5s(r5); r5s.trim(); | ||||||
|     DBG("### ..:", r1s, ",", r2s, ",", r3s, ",", r4s, ",", r5s);*/ |     DBG("### ..:", r1s, ",", r2s, ",", r3s, ",", r4s, ",", r5s);*/ | ||||||
|     data.reserve(64); |     data.reserve(64); | ||||||
|     int      index       = 0; |     uint8_t  index       = 0; | ||||||
|     uint32_t startMillis = millis(); |     uint32_t startMillis = millis(); | ||||||
|     do { |     do { | ||||||
|       TINY_GSM_YIELD(); |       TINY_GSM_YIELD(); | ||||||
| @@ -701,10 +704,10 @@ class TinyGsmSim7000 : public TinyGsmModem<TinyGsmSim7000, READ_AND_CHECK_SIZE, | |||||||
|     return waitResponse(timeout_ms, data, r1, r2, r3, r4, r5); |     return waitResponse(timeout_ms, data, r1, r2, r3, r4, r5); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   uint8_t |   uint8_t waitResponse(GsmConstStr r1 = GFP(GSM_OK), | ||||||
|   waitResponse(GsmConstStr r1 = GFP(GSM_OK), GsmConstStr r2 = GFP(GSM_ERROR), |                        GsmConstStr r2 = GFP(GSM_ERROR), | ||||||
|                GsmConstStr r3 = GFP(GSM_CME_ERROR), GsmConstStr r4 = NULL, |                        GsmConstStr r3 = GFP(GSM_CME_ERROR), | ||||||
|                GsmConstStr r5 = NULL) { |                        GsmConstStr r4 = NULL, GsmConstStr r5 = NULL) { | ||||||
|     return waitResponse(1000, r1, r2, r3, r4, r5); |     return waitResponse(1000, r1, r2, r3, r4, r5); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -360,8 +360,8 @@ class TinyGsmSim7600 : public TinyGsmModem<TinyGsmSim7600, READ_AND_CHECK_SIZE, | |||||||
|   bool callAnswerImpl() TINY_GSM_ATTR_NOT_IMPLEMENTED; |   bool callAnswerImpl() TINY_GSM_ATTR_NOT_IMPLEMENTED; | ||||||
|   bool callNumberImpl(const String& number) TINY_GSM_ATTR_NOT_IMPLEMENTED; |   bool callNumberImpl(const String& number) TINY_GSM_ATTR_NOT_IMPLEMENTED; | ||||||
|   bool callHangupImpl() TINY_GSM_ATTR_NOT_IMPLEMENTED; |   bool callHangupImpl() TINY_GSM_ATTR_NOT_IMPLEMENTED; | ||||||
|   bool |   bool dtmfSendImpl(char cmd, | ||||||
|   dtmfSendImpl(char cmd, int duration_ms = 100) TINY_GSM_ATTR_NOT_IMPLEMENTED; |                     int  duration_ms = 100) TINY_GSM_ATTR_NOT_IMPLEMENTED; | ||||||
|  |  | ||||||
|   /* |   /* | ||||||
|    * Messaging functions |    * Messaging functions | ||||||
| @@ -590,11 +590,11 @@ class TinyGsmSim7600 : public TinyGsmModem<TinyGsmSim7600, READ_AND_CHECK_SIZE, | |||||||
|    */ |    */ | ||||||
|  public: |  public: | ||||||
|   // TODO(vshymanskyy): Optimize this! |   // TODO(vshymanskyy): Optimize this! | ||||||
|   uint8_t |   uint8_t waitResponse(uint32_t timeout_ms, String& data, | ||||||
|   waitResponse(uint32_t timeout_ms, String& data, GsmConstStr r1 = GFP(GSM_OK), |                        GsmConstStr r1 = GFP(GSM_OK), | ||||||
|                        GsmConstStr r2 = GFP(GSM_ERROR), |                        GsmConstStr r2 = GFP(GSM_ERROR), | ||||||
|                GsmConstStr r3 = GFP(GSM_CME_ERROR), GsmConstStr r4 = NULL, |                        GsmConstStr r3 = GFP(GSM_CME_ERROR), | ||||||
|                GsmConstStr r5 = NULL) { |                        GsmConstStr r4 = NULL, GsmConstStr r5 = NULL) { | ||||||
|     /*String r1s(r1); r1s.trim(); |     /*String r1s(r1); r1s.trim(); | ||||||
|     String r2s(r2); r2s.trim(); |     String r2s(r2); r2s.trim(); | ||||||
|     String r3s(r3); r3s.trim(); |     String r3s(r3); r3s.trim(); | ||||||
| @@ -602,7 +602,7 @@ class TinyGsmSim7600 : public TinyGsmModem<TinyGsmSim7600, READ_AND_CHECK_SIZE, | |||||||
|     String r5s(r5); r5s.trim(); |     String r5s(r5); r5s.trim(); | ||||||
|     DBG("### ..:", r1s, ",", r2s, ",", r3s, ",", r4s, ",", r5s);*/ |     DBG("### ..:", r1s, ",", r2s, ",", r3s, ",", r4s, ",", r5s);*/ | ||||||
|     data.reserve(64); |     data.reserve(64); | ||||||
|     int      index       = 0; |     uint8_t  index       = 0; | ||||||
|     uint32_t startMillis = millis(); |     uint32_t startMillis = millis(); | ||||||
|     do { |     do { | ||||||
|       TINY_GSM_YIELD(); |       TINY_GSM_YIELD(); | ||||||
| @@ -683,10 +683,10 @@ class TinyGsmSim7600 : public TinyGsmModem<TinyGsmSim7600, READ_AND_CHECK_SIZE, | |||||||
|     return waitResponse(timeout_ms, data, r1, r2, r3, r4, r5); |     return waitResponse(timeout_ms, data, r1, r2, r3, r4, r5); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   uint8_t |   uint8_t waitResponse(GsmConstStr r1 = GFP(GSM_OK), | ||||||
|   waitResponse(GsmConstStr r1 = GFP(GSM_OK), GsmConstStr r2 = GFP(GSM_ERROR), |                        GsmConstStr r2 = GFP(GSM_ERROR), | ||||||
|                GsmConstStr r3 = GFP(GSM_CME_ERROR), GsmConstStr r4 = NULL, |                        GsmConstStr r3 = GFP(GSM_CME_ERROR), | ||||||
|                GsmConstStr r5 = NULL) { |                        GsmConstStr r4 = NULL, GsmConstStr r5 = NULL) { | ||||||
|     return waitResponse(1000, r1, r2, r3, r4, r5); |     return waitResponse(1000, r1, r2, r3, r4, r5); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -119,6 +119,9 @@ class TinyGsmSim800 : public TinyGsmModem<TinyGsmSim800, READ_AND_CHECK_SIZE, | |||||||
|     } |     } | ||||||
|   }; |   }; | ||||||
|  |  | ||||||
|  |   /* | ||||||
|  |    * Constructor | ||||||
|  |    */ | ||||||
|  public: |  public: | ||||||
|   explicit TinyGsmSim800(Stream& stream) : stream(stream) { |   explicit TinyGsmSim800(Stream& stream) : stream(stream) { | ||||||
|     memset(sockets, 0, sizeof(sockets)); |     memset(sockets, 0, sizeof(sockets)); | ||||||
| @@ -564,11 +567,11 @@ class TinyGsmSim800 : public TinyGsmModem<TinyGsmSim800, READ_AND_CHECK_SIZE, | |||||||
|    */ |    */ | ||||||
|  public: |  public: | ||||||
|   // TODO(vshymanskyy): Optimize this! |   // TODO(vshymanskyy): Optimize this! | ||||||
|   uint8_t |   uint8_t waitResponse(uint32_t timeout_ms, String& data, | ||||||
|   waitResponse(uint32_t timeout_ms, String& data, GsmConstStr r1 = GFP(GSM_OK), |                        GsmConstStr r1 = GFP(GSM_OK), | ||||||
|                        GsmConstStr r2 = GFP(GSM_ERROR), |                        GsmConstStr r2 = GFP(GSM_ERROR), | ||||||
|                GsmConstStr r3 = GFP(GSM_CME_ERROR), GsmConstStr r4 = NULL, |                        GsmConstStr r3 = GFP(GSM_CME_ERROR), | ||||||
|                GsmConstStr r5 = NULL) { |                        GsmConstStr r4 = NULL, GsmConstStr r5 = NULL) { | ||||||
|     /*String r1s(r1); r1s.trim(); |     /*String r1s(r1); r1s.trim(); | ||||||
|     String r2s(r2); r2s.trim(); |     String r2s(r2); r2s.trim(); | ||||||
|     String r3s(r3); r3s.trim(); |     String r3s(r3); r3s.trim(); | ||||||
| @@ -576,7 +579,7 @@ class TinyGsmSim800 : public TinyGsmModem<TinyGsmSim800, READ_AND_CHECK_SIZE, | |||||||
|     String r5s(r5); r5s.trim(); |     String r5s(r5); r5s.trim(); | ||||||
|     DBG("### ..:", r1s, ",", r2s, ",", r3s, ",", r4s, ",", r5s);*/ |     DBG("### ..:", r1s, ",", r2s, ",", r3s, ",", r4s, ",", r5s);*/ | ||||||
|     data.reserve(64); |     data.reserve(64); | ||||||
|     int      index       = 0; |     uint8_t  index       = 0; | ||||||
|     uint32_t startMillis = millis(); |     uint32_t startMillis = millis(); | ||||||
|     do { |     do { | ||||||
|       TINY_GSM_YIELD(); |       TINY_GSM_YIELD(); | ||||||
| @@ -652,10 +655,10 @@ class TinyGsmSim800 : public TinyGsmModem<TinyGsmSim800, READ_AND_CHECK_SIZE, | |||||||
|     return waitResponse(timeout_ms, data, r1, r2, r3, r4, r5); |     return waitResponse(timeout_ms, data, r1, r2, r3, r4, r5); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   uint8_t |   uint8_t waitResponse(GsmConstStr r1 = GFP(GSM_OK), | ||||||
|   waitResponse(GsmConstStr r1 = GFP(GSM_OK), GsmConstStr r2 = GFP(GSM_ERROR), |                        GsmConstStr r2 = GFP(GSM_ERROR), | ||||||
|                GsmConstStr r3 = GFP(GSM_CME_ERROR), GsmConstStr r4 = NULL, |                        GsmConstStr r3 = GFP(GSM_CME_ERROR), | ||||||
|                GsmConstStr r5 = NULL) { |                        GsmConstStr r4 = NULL, GsmConstStr r5 = NULL) { | ||||||
|     return waitResponse(1000, r1, r2, r3, r4, r5); |     return waitResponse(1000, r1, r2, r3, r4, r5); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -407,8 +407,8 @@ class TinyGsmSaraR4 : public TinyGsmModem<TinyGsmSaraR4, READ_AND_CHECK_SIZE, | |||||||
|   bool callAnswerImpl() TINY_GSM_ATTR_NOT_AVAILABLE; |   bool callAnswerImpl() TINY_GSM_ATTR_NOT_AVAILABLE; | ||||||
|   bool callNumberImpl(const String& number) TINY_GSM_ATTR_NOT_AVAILABLE; |   bool callNumberImpl(const String& number) TINY_GSM_ATTR_NOT_AVAILABLE; | ||||||
|   bool callHangupImpl() TINY_GSM_ATTR_NOT_AVAILABLE; |   bool callHangupImpl() TINY_GSM_ATTR_NOT_AVAILABLE; | ||||||
|   bool |   bool dtmfSendImpl(char cmd, | ||||||
|   dtmfSendImpl(char cmd, int duration_ms = 100) TINY_GSM_ATTR_NOT_AVAILABLE; |                     int  duration_ms = 100) TINY_GSM_ATTR_NOT_AVAILABLE; | ||||||
|  |  | ||||||
|   /* |   /* | ||||||
|    * Messaging functions |    * Messaging functions | ||||||
| @@ -625,11 +625,11 @@ class TinyGsmSaraR4 : public TinyGsmModem<TinyGsmSaraR4, READ_AND_CHECK_SIZE, | |||||||
|    */ |    */ | ||||||
|  public: |  public: | ||||||
|   // TODO(vshymanskyy): Optimize this! |   // TODO(vshymanskyy): Optimize this! | ||||||
|   uint8_t |   uint8_t waitResponse(uint32_t timeout_ms, String& data, | ||||||
|   waitResponse(uint32_t timeout_ms, String& data, GsmConstStr r1 = GFP(GSM_OK), |                        GsmConstStr r1 = GFP(GSM_OK), | ||||||
|                        GsmConstStr r2 = GFP(GSM_ERROR), |                        GsmConstStr r2 = GFP(GSM_ERROR), | ||||||
|                GsmConstStr r3 = GFP(GSM_CME_ERROR), GsmConstStr r4 = NULL, |                        GsmConstStr r3 = GFP(GSM_CME_ERROR), | ||||||
|                GsmConstStr r5 = NULL) { |                        GsmConstStr r4 = NULL, GsmConstStr r5 = NULL) { | ||||||
|     /*String r1s(r1); r1s.trim(); |     /*String r1s(r1); r1s.trim(); | ||||||
|     String r2s(r2); r2s.trim(); |     String r2s(r2); r2s.trim(); | ||||||
|     String r3s(r3); r3s.trim(); |     String r3s(r3); r3s.trim(); | ||||||
| @@ -637,7 +637,7 @@ class TinyGsmSaraR4 : public TinyGsmModem<TinyGsmSaraR4, READ_AND_CHECK_SIZE, | |||||||
|     String r5s(r5); r5s.trim(); |     String r5s(r5); r5s.trim(); | ||||||
|     DBG("### ..:", r1s, ",", r2s, ",", r3s, ",", r4s, ",", r5s);*/ |     DBG("### ..:", r1s, ",", r2s, ",", r3s, ",", r4s, ",", r5s);*/ | ||||||
|     data.reserve(64); |     data.reserve(64); | ||||||
|     int      index       = 0; |     uint8_t  index       = 0; | ||||||
|     uint32_t startMillis = millis(); |     uint32_t startMillis = millis(); | ||||||
|     do { |     do { | ||||||
|       TINY_GSM_YIELD(); |       TINY_GSM_YIELD(); | ||||||
| @@ -711,10 +711,10 @@ class TinyGsmSaraR4 : public TinyGsmModem<TinyGsmSaraR4, READ_AND_CHECK_SIZE, | |||||||
|     return waitResponse(timeout_ms, data, r1, r2, r3, r4, r5); |     return waitResponse(timeout_ms, data, r1, r2, r3, r4, r5); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   uint8_t |   uint8_t waitResponse(GsmConstStr r1 = GFP(GSM_OK), | ||||||
|   waitResponse(GsmConstStr r1 = GFP(GSM_OK), GsmConstStr r2 = GFP(GSM_ERROR), |                        GsmConstStr r2 = GFP(GSM_ERROR), | ||||||
|                GsmConstStr r3 = GFP(GSM_CME_ERROR), GsmConstStr r4 = NULL, |                        GsmConstStr r3 = GFP(GSM_CME_ERROR), | ||||||
|                GsmConstStr r5 = NULL) { |                        GsmConstStr r4 = NULL, GsmConstStr r5 = NULL) { | ||||||
|     return waitResponse(1000, r1, r2, r3, r4, r5); |     return waitResponse(1000, r1, r2, r3, r4, r5); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -245,8 +245,8 @@ class TinyGsmSequansMonarch | |||||||
|     if (!testAT()) { return false; } |     if (!testAT()) { return false; } | ||||||
|  |  | ||||||
|     sendAT(GF("+CFUN=0")); |     sendAT(GF("+CFUN=0")); | ||||||
|     int res = |     int res = waitResponse(20000L, GFP(GSM_OK), GFP(GSM_ERROR), | ||||||
|         waitResponse(20000L, GFP(GSM_OK), GFP(GSM_ERROR), GF("+SYSSTART")); |                            GF("+SYSSTART")); | ||||||
|     if (res != 1 && res != 3) { return false; } |     if (res != 1 && res != 3) { return false; } | ||||||
|  |  | ||||||
|     sendAT(GF("+CFUN=1,1")); |     sendAT(GF("+CFUN=1,1")); | ||||||
| @@ -354,8 +354,8 @@ class TinyGsmSequansMonarch | |||||||
|    */ |    */ | ||||||
|  protected: |  protected: | ||||||
|   bool callAnswerImpl() TINY_GSM_ATTR_NOT_AVAILABLE; |   bool callAnswerImpl() TINY_GSM_ATTR_NOT_AVAILABLE; | ||||||
|   bool |   bool dtmfSendImpl(char cmd, | ||||||
|   dtmfSendImpl(char cmd, int duration_ms = 100) TINY_GSM_ATTR_NOT_AVAILABLE; |                     int  duration_ms = 100) TINY_GSM_ATTR_NOT_AVAILABLE; | ||||||
|  |  | ||||||
|   /* |   /* | ||||||
|    * Messaging functions |    * Messaging functions | ||||||
| @@ -583,11 +583,11 @@ class TinyGsmSequansMonarch | |||||||
|    */ |    */ | ||||||
|  public: |  public: | ||||||
|   // TODO(vshymanskyy): Optimize this! |   // TODO(vshymanskyy): Optimize this! | ||||||
|   uint8_t |   uint8_t waitResponse(uint32_t timeout_ms, String& data, | ||||||
|   waitResponse(uint32_t timeout_ms, String& data, GsmConstStr r1 = GFP(GSM_OK), |                        GsmConstStr r1 = GFP(GSM_OK), | ||||||
|                        GsmConstStr r2 = GFP(GSM_ERROR), |                        GsmConstStr r2 = GFP(GSM_ERROR), | ||||||
|                GsmConstStr r3 = GFP(GSM_CME_ERROR), GsmConstStr r4 = NULL, |                        GsmConstStr r3 = GFP(GSM_CME_ERROR), | ||||||
|                GsmConstStr r5 = NULL) { |                        GsmConstStr r4 = NULL, GsmConstStr r5 = NULL) { | ||||||
|     /*String r1s(r1); r1s.trim(); |     /*String r1s(r1); r1s.trim(); | ||||||
|     String r2s(r2); r2s.trim(); |     String r2s(r2); r2s.trim(); | ||||||
|     String r3s(r3); r3s.trim(); |     String r3s(r3); r3s.trim(); | ||||||
| @@ -595,7 +595,7 @@ class TinyGsmSequansMonarch | |||||||
|     String r5s(r5); r5s.trim(); |     String r5s(r5); r5s.trim(); | ||||||
|     DBG("### ..:", r1s, ",", r2s, ",", r3s, ",", r4s, ",", r5s);*/ |     DBG("### ..:", r1s, ",", r2s, ",", r3s, ",", r4s, ",", r5s);*/ | ||||||
|     data.reserve(64); |     data.reserve(64); | ||||||
|     int      index       = 0; |     uint8_t  index       = 0; | ||||||
|     uint32_t startMillis = millis(); |     uint32_t startMillis = millis(); | ||||||
|     do { |     do { | ||||||
|       TINY_GSM_YIELD(); |       TINY_GSM_YIELD(); | ||||||
| @@ -659,10 +659,10 @@ class TinyGsmSequansMonarch | |||||||
|     return waitResponse(timeout_ms, data, r1, r2, r3, r4, r5); |     return waitResponse(timeout_ms, data, r1, r2, r3, r4, r5); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   uint8_t |   uint8_t waitResponse(GsmConstStr r1 = GFP(GSM_OK), | ||||||
|   waitResponse(GsmConstStr r1 = GFP(GSM_OK), GsmConstStr r2 = GFP(GSM_ERROR), |                        GsmConstStr r2 = GFP(GSM_ERROR), | ||||||
|                GsmConstStr r3 = GFP(GSM_CME_ERROR), GsmConstStr r4 = NULL, |                        GsmConstStr r3 = GFP(GSM_CME_ERROR), | ||||||
|                GsmConstStr r5 = NULL) { |                        GsmConstStr r4 = NULL, GsmConstStr r5 = NULL) { | ||||||
|     return waitResponse(1000, r1, r2, r3, r4, r5); |     return waitResponse(1000, r1, r2, r3, r4, r5); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -162,7 +162,7 @@ class TinyGsmUBLOX | |||||||
| #endif | #endif | ||||||
|     waitResponse(); |     waitResponse(); | ||||||
|  |  | ||||||
|     getModemName(); |     DBG(GF("### Modem:"), getModemName()); | ||||||
|  |  | ||||||
|     // Enable automatic time zome update |     // Enable automatic time zome update | ||||||
|     sendAT(GF("+CTZU=1")); |     sendAT(GF("+CTZU=1")); | ||||||
| @@ -552,11 +552,11 @@ class TinyGsmUBLOX | |||||||
|    */ |    */ | ||||||
|  public: |  public: | ||||||
|   // TODO(vshymanskyy): Optimize this! |   // TODO(vshymanskyy): Optimize this! | ||||||
|   uint8_t |   uint8_t waitResponse(uint32_t timeout_ms, String& data, | ||||||
|   waitResponse(uint32_t timeout_ms, String& data, GsmConstStr r1 = GFP(GSM_OK), |                        GsmConstStr r1 = GFP(GSM_OK), | ||||||
|                        GsmConstStr r2 = GFP(GSM_ERROR), |                        GsmConstStr r2 = GFP(GSM_ERROR), | ||||||
|                GsmConstStr r3 = GFP(GSM_CME_ERROR), GsmConstStr r4 = NULL, |                        GsmConstStr r3 = GFP(GSM_CME_ERROR), | ||||||
|                GsmConstStr r5 = NULL) { |                        GsmConstStr r4 = NULL, GsmConstStr r5 = NULL) { | ||||||
|     /*String r1s(r1); r1s.trim(); |     /*String r1s(r1); r1s.trim(); | ||||||
|     String r2s(r2); r2s.trim(); |     String r2s(r2); r2s.trim(); | ||||||
|     String r3s(r3); r3s.trim(); |     String r3s(r3); r3s.trim(); | ||||||
| @@ -564,7 +564,7 @@ class TinyGsmUBLOX | |||||||
|     String r5s(r5); r5s.trim(); |     String r5s(r5); r5s.trim(); | ||||||
|     DBG("### ..:", r1s, ",", r2s, ",", r3s, ",", r4s, ",", r5s);*/ |     DBG("### ..:", r1s, ",", r2s, ",", r3s, ",", r4s, ",", r5s);*/ | ||||||
|     data.reserve(64); |     data.reserve(64); | ||||||
|     int      index       = 0; |     uint8_t  index       = 0; | ||||||
|     uint32_t startMillis = millis(); |     uint32_t startMillis = millis(); | ||||||
|     do { |     do { | ||||||
|       TINY_GSM_YIELD(); |       TINY_GSM_YIELD(); | ||||||
| @@ -629,10 +629,10 @@ class TinyGsmUBLOX | |||||||
|     return waitResponse(timeout_ms, data, r1, r2, r3, r4, r5); |     return waitResponse(timeout_ms, data, r1, r2, r3, r4, r5); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   uint8_t |   uint8_t waitResponse(GsmConstStr r1 = GFP(GSM_OK), | ||||||
|   waitResponse(GsmConstStr r1 = GFP(GSM_OK), GsmConstStr r2 = GFP(GSM_ERROR), |                        GsmConstStr r2 = GFP(GSM_ERROR), | ||||||
|                GsmConstStr r3 = GFP(GSM_CME_ERROR), GsmConstStr r4 = NULL, |                        GsmConstStr r3 = GFP(GSM_CME_ERROR), | ||||||
|                GsmConstStr r5 = NULL) { |                        GsmConstStr r4 = NULL, GsmConstStr r5 = NULL) { | ||||||
|     return waitResponse(1000, r1, r2, r3, r4, r5); |     return waitResponse(1000, r1, r2, r3, r4, r5); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -823,8 +823,8 @@ class TinyGsmXBee | |||||||
|   bool callAnswerImpl() TINY_GSM_ATTR_NOT_AVAILABLE; |   bool callAnswerImpl() TINY_GSM_ATTR_NOT_AVAILABLE; | ||||||
|   bool callNumberImpl(const String& number) TINY_GSM_ATTR_NOT_AVAILABLE; |   bool callNumberImpl(const String& number) TINY_GSM_ATTR_NOT_AVAILABLE; | ||||||
|   bool callHangupImpl() TINY_GSM_ATTR_NOT_AVAILABLE; |   bool callHangupImpl() TINY_GSM_ATTR_NOT_AVAILABLE; | ||||||
|   bool |   bool dtmfSendImpl(char cmd, | ||||||
|   dtmfSendImpl(char cmd, int duration_ms = 100) TINY_GSM_ATTR_NOT_AVAILABLE; |                     int  duration_ms = 100) TINY_GSM_ATTR_NOT_AVAILABLE; | ||||||
|  |  | ||||||
|   /* |   /* | ||||||
|    * Messaging functions |    * Messaging functions | ||||||
| @@ -1008,8 +1008,8 @@ class TinyGsmXBee | |||||||
|     return retVal; |     return retVal; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   bool |   bool modemConnect(IPAddress ip, uint16_t port, uint8_t mux = 0, | ||||||
|   modemConnect(IPAddress ip, uint16_t port, uint8_t mux = 0, bool ssl = false) { |                     bool ssl = false) { | ||||||
|     bool success = true; |     bool success = true; | ||||||
|  |  | ||||||
|     if (mux != 0) { |     if (mux != 0) { | ||||||
| @@ -1267,11 +1267,11 @@ class TinyGsmXBee | |||||||
|   // NOTE:  This function is used while INSIDE command mode, so we're only |   // NOTE:  This function is used while INSIDE command mode, so we're only | ||||||
|   // waiting for requested responses.  The XBee has no unsoliliced responses |   // waiting for requested responses.  The XBee has no unsoliliced responses | ||||||
|   // (URC's) when in command mode. |   // (URC's) when in command mode. | ||||||
|   uint8_t |   uint8_t waitResponse(uint32_t timeout_ms, String& data, | ||||||
|   waitResponse(uint32_t timeout_ms, String& data, GsmConstStr r1 = GFP(GSM_OK), |                        GsmConstStr r1 = GFP(GSM_OK), | ||||||
|                        GsmConstStr r2 = GFP(GSM_ERROR), |                        GsmConstStr r2 = GFP(GSM_ERROR), | ||||||
|                GsmConstStr r3 = GFP(GSM_CME_ERROR), GsmConstStr r4 = NULL, |                        GsmConstStr r3 = GFP(GSM_CME_ERROR), | ||||||
|                GsmConstStr r5 = NULL) { |                        GsmConstStr r4 = NULL, GsmConstStr r5 = NULL) { | ||||||
|     /*String r1s(r1); r1s.trim(); |     /*String r1s(r1); r1s.trim(); | ||||||
|     String r2s(r2); r2s.trim(); |     String r2s(r2); r2s.trim(); | ||||||
|     String r3s(r3); r3s.trim(); |     String r3s(r3); r3s.trim(); | ||||||
| @@ -1334,10 +1334,10 @@ class TinyGsmXBee | |||||||
|     return waitResponse(timeout_ms, data, r1, r2, r3, r4, r5); |     return waitResponse(timeout_ms, data, r1, r2, r3, r4, r5); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   uint8_t |   uint8_t waitResponse(GsmConstStr r1 = GFP(GSM_OK), | ||||||
|   waitResponse(GsmConstStr r1 = GFP(GSM_OK), GsmConstStr r2 = GFP(GSM_ERROR), |                        GsmConstStr r2 = GFP(GSM_ERROR), | ||||||
|                GsmConstStr r3 = GFP(GSM_CME_ERROR), GsmConstStr r4 = NULL, |                        GsmConstStr r3 = GFP(GSM_CME_ERROR), | ||||||
|                GsmConstStr r5 = NULL) { |                        GsmConstStr r4 = NULL, GsmConstStr r5 = NULL) { | ||||||
|     return waitResponse(1000, r1, r2, r3, r4, r5); |     return waitResponse(1000, r1, r2, r3, r4, r5); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -341,8 +341,8 @@ class TinyGsmModem { | |||||||
|   uint8_t getBattChargeState() { |   uint8_t getBattChargeState() { | ||||||
|     return thisModem().getBattChargeStateImpl(); |     return thisModem().getBattChargeStateImpl(); | ||||||
|   } |   } | ||||||
|   bool |   bool getBattStats(uint8_t& chargeState, int8_t& percent, | ||||||
|   getBattStats(uint8_t& chargeState, int8_t& percent, uint16_t& milliVolts) { |                     uint16_t& milliVolts) { | ||||||
|     return thisModem().getBattStatsImpl(chargeState, percent, milliVolts); |     return thisModem().getBattStatsImpl(chargeState, percent, milliVolts); | ||||||
|   } |   } | ||||||
|   float getTemperature() { |   float getTemperature() { | ||||||
| @@ -590,11 +590,10 @@ class TinyGsmModem { | |||||||
|    * Constructor |    * Constructor | ||||||
|    */ |    */ | ||||||
|  |  | ||||||
|  protected: |  | ||||||
|   /* |   /* | ||||||
|    * Basic functions |    * Basic functions | ||||||
|    */ |    */ | ||||||
|  |  protected: | ||||||
|   void setBaudImpl(uint32_t baud) { |   void setBaudImpl(uint32_t baud) { | ||||||
|     thisModem().sendAT(GF("+IPR="), baud); |     thisModem().sendAT(GF("+IPR="), baud); | ||||||
|     thisModem().waitResponse(); |     thisModem().waitResponse(); | ||||||
| @@ -727,9 +726,9 @@ class TinyGsmModem { | |||||||
|         delay(1000); |         delay(1000); | ||||||
|         continue; |         continue; | ||||||
|       } |       } | ||||||
|       int status = |       int status = thisModem().waitResponse(GF("READY"), GF("SIM PIN"), | ||||||
|           thisModem().waitResponse(GF("READY"), GF("SIM PIN"), GF("SIM PUK"), |                                             GF("SIM PUK"), GF("NOT INSERTED"), | ||||||
|                                    GF("NOT INSERTED"), GF("NOT READY")); |                                             GF("NOT READY")); | ||||||
|       thisModem().waitResponse(); |       thisModem().waitResponse(); | ||||||
|       switch (status) { |       switch (status) { | ||||||
|         case 2: |         case 2: | ||||||
| @@ -752,8 +751,8 @@ class TinyGsmModem { | |||||||
|   int getRegistrationStatusXREG(const char* regCommand) { |   int getRegistrationStatusXREG(const char* regCommand) { | ||||||
|     thisModem().sendAT('+', regCommand, '?'); |     thisModem().sendAT('+', regCommand, '?'); | ||||||
|     // check for any of the three for simplicity |     // check for any of the three for simplicity | ||||||
|     int resp = |     int resp = thisModem().waitResponse(GF("+CREG:"), GF("+CGREG:"), | ||||||
|         thisModem().waitResponse(GF("+CREG:"), GF("+CGREG:"), GF("+CEREG:")); |                                         GF("+CEREG:")); | ||||||
|     if (resp != 1 && resp != 2 && resp != 3) { return -1; } |     if (resp != 1 && resp != 2 && resp != 3) { return -1; } | ||||||
|     thisModem().streamSkipUntil(','); /* Skip format (0) */ |     thisModem().streamSkipUntil(','); /* Skip format (0) */ | ||||||
|     int status = thisModem().stream.readStringUntil('\n').toInt(); |     int status = thisModem().stream.readStringUntil('\n').toInt(); | ||||||
| @@ -1053,8 +1052,8 @@ class TinyGsmModem { | |||||||
|     return UTF8Print(thisModem().stream); |     return UTF8Print(thisModem().stream); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   bool |   bool sendSMS_UTF16Impl(const char* const number, const void* text, | ||||||
|   sendSMS_UTF16Impl(const char* const number, const void* text, size_t len) { |                          size_t len) { | ||||||
|     if (!sendSMS_UTF8_begin(number)) { return false; } |     if (!sendSMS_UTF8_begin(number)) { return false; } | ||||||
|  |  | ||||||
|     uint16_t* t = reinterpret_cast<uint16_t*>(text); |     uint16_t* t = reinterpret_cast<uint16_t*>(text); | ||||||
| @@ -1198,6 +1197,12 @@ class TinyGsmModem { | |||||||
|     return false; |     return false; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  |   void streamClear() { | ||||||
|  |     while (thisModem().stream.available()) { | ||||||
|  |       thisModem().waitResponse(50, NULL, NULL); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |  | ||||||
|   // Yields up to a time-out period and then reads a character from the stream |   // Yields up to a time-out period and then reads a character from the stream | ||||||
|   // into the mux FIFO |   // into the mux FIFO | ||||||
|   // TODO(SRGDamia1):  Do we need to wait two _timeout periods for no |   // TODO(SRGDamia1):  Do we need to wait two _timeout periods for no | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user