Must writeChanges or the XBee can't connect!
This commit is contained in:
		| @@ -1,6 +1,6 @@ | |||||||
| { | { | ||||||
|   "name": "TinyGSM", |   "name": "TinyGSM", | ||||||
|   "version": "0.7.9", |   "version": "0.7.10", | ||||||
|   "description": "A small Arduino library for GPRS modules, that just works. Includes examples for Blynk, MQTT, File Download, and Web Client. Supports many GSM, LTE, and WiFi modules with AT command interfaces.", |   "description": "A small Arduino library for GPRS modules, that just works. Includes examples for Blynk, MQTT, File Download, and Web Client. Supports many GSM, LTE, and WiFi modules with AT command interfaces.", | ||||||
|   "keywords": "GSM, AT commands, AT, SIM800, SIM900, A6, A7, M590, ESP8266, SIM7000, SIM800A, SIM800C, SIM800L, SIM800H, SIM808, SIM868, SIM900A, SIM900D, SIM908, SIM968, M95, MC60, MC60E, BG96, ublox, Quectel, SIMCOM, AI Thinker, LTE, LTE-M", |   "keywords": "GSM, AT commands, AT, SIM800, SIM900, A6, A7, M590, ESP8266, SIM7000, SIM800A, SIM800C, SIM800L, SIM800H, SIM808, SIM868, SIM900A, SIM900D, SIM908, SIM968, M95, MC60, MC60E, BG96, ublox, Quectel, SIMCOM, AI Thinker, LTE, LTE-M", | ||||||
|   "authors": |   "authors": | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| name=TinyGSM | name=TinyGSM | ||||||
| version=0.7.9 | version=0.7.10 | ||||||
| author=Volodymyr Shymanskyy | author=Volodymyr Shymanskyy | ||||||
| maintainer=Volodymyr Shymanskyy | maintainer=Volodymyr Shymanskyy | ||||||
| sentence=A small Arduino library for GPRS modules, that just works. | sentence=A small Arduino library for GPRS modules, that just works. | ||||||
|   | |||||||
| @@ -864,32 +864,37 @@ protected: | |||||||
|  |  | ||||||
|   bool modemConnect(IPAddress ip, uint16_t port, uint8_t mux = 0, bool ssl = false, int timeout_s = 75) { |   bool modemConnect(IPAddress ip, uint16_t port, uint8_t mux = 0, bool ssl = false, int timeout_s = 75) { | ||||||
|  |  | ||||||
|     savedIP = ip;  // Set the newly requested IP address |  | ||||||
|     bool success = true; |     bool success = true; | ||||||
|     uint32_t timeout_ms = ((uint32_t)timeout_s)*1000; |     uint32_t timeout_ms = ((uint32_t)timeout_s)*1000; | ||||||
|     XBEE_COMMAND_START_DECORATOR(5, false) |     XBEE_COMMAND_START_DECORATOR(5, false) | ||||||
|     String host; host.reserve(16); |  | ||||||
|     host += ip[0]; |  | ||||||
|     host += "."; |  | ||||||
|     host += ip[1]; |  | ||||||
|     host += "."; |  | ||||||
|     host += ip[2]; |  | ||||||
|     host += "."; |  | ||||||
|     host += ip[3]; |  | ||||||
|  |  | ||||||
|     if (ssl) { |     if (ip != savedIP) {  // Can skip almost everything if there's no change in the IP address | ||||||
|       sendAT(GF("IP"), 4);  // Put in SSL over TCP communication mode |       savedIP = ip;  // Set the newly requested IP address | ||||||
|  |       String host; host.reserve(16); | ||||||
|  |       host += ip[0]; | ||||||
|  |       host += "."; | ||||||
|  |       host += ip[1]; | ||||||
|  |       host += "."; | ||||||
|  |       host += ip[2]; | ||||||
|  |       host += "."; | ||||||
|  |       host += ip[3]; | ||||||
|  |  | ||||||
|  |       if (ssl) { | ||||||
|  |         sendAT(GF("IP"), 4);  // Put in SSL over TCP communication mode | ||||||
|  |         success &= (1 == waitResponse()); | ||||||
|  |       } else { | ||||||
|  |         sendAT(GF("IP"), 1);  // Put in TCP mode | ||||||
|  |         success &= (1 == waitResponse()); | ||||||
|  |       } | ||||||
|  |  | ||||||
|  |       sendAT(GF("DL"), host);  // Set the "Destination Address Low" | ||||||
|       success &= (1 == waitResponse()); |       success &= (1 == waitResponse()); | ||||||
|     } else { |       sendAT(GF("DE"), String(port, HEX));  // Set the destination port | ||||||
|       sendAT(GF("IP"), 1);  // Put in TCP mode |  | ||||||
|       success &= (1 == waitResponse()); |       success &= (1 == waitResponse()); | ||||||
|  |  | ||||||
|  |       success &= writeChanges(); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     sendAT(GF("DL"), host);  // Set the "Destination Address Low" |  | ||||||
|     success &= (1 == waitResponse()); |  | ||||||
|     sendAT(GF("DE"), String(port, HEX));  // Set the destination port |  | ||||||
|     success &= (1 == waitResponse()); |  | ||||||
|  |  | ||||||
|     for (unsigned long start = millis(); millis() - start < timeout_ms; ) { |     for (unsigned long start = millis(); millis() - start < timeout_ms; ) { | ||||||
|       if (modemGetConnected()) { |       if (modemGetConnected()) { | ||||||
|         sockets[mux]->sock_connected = true; |         sockets[mux]->sock_connected = true; | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ | |||||||
| #define TinyGsmCommon_h | #define TinyGsmCommon_h | ||||||
|  |  | ||||||
| // The current library version number | // The current library version number | ||||||
| #define TINYGSM_VERSION "0.7.9" | #define TINYGSM_VERSION "0.7.10" | ||||||
|  |  | ||||||
| #if defined(SPARK) || defined(PARTICLE) | #if defined(SPARK) || defined(PARTICLE) | ||||||
|   #include "Particle.h" |   #include "Particle.h" | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user