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