Check possible mux numbers
Signed-off-by: Sara Damiano <sdamiano@stroudcenter.org>
This commit is contained in:
@@ -220,7 +220,7 @@ void loop() {
|
||||
#endif
|
||||
|
||||
#if TINY_GSM_TEST_TCP && defined TINY_GSM_MODEM_HAS_TCP
|
||||
TinyGsmClient client(modem);
|
||||
TinyGsmClient client(modem, 0);
|
||||
const int port = 80;
|
||||
DBG("Connecting to ", server);
|
||||
if (!client.connect(server, port)) {
|
||||
@@ -232,16 +232,18 @@ void loop() {
|
||||
client.print("Connection: close\r\n\r\n");
|
||||
|
||||
// Wait for data to arrive
|
||||
while (client.connected() && !client.available()) {
|
||||
uint32_t start = millis();
|
||||
while (client.connected() && !client.available() &&
|
||||
millis() - start < 30000L) {
|
||||
delay(100);
|
||||
};
|
||||
|
||||
// Read data
|
||||
uint32_t timeout = millis();
|
||||
while (client.connected() && millis() - timeout < 5000L) {
|
||||
start = millis();
|
||||
while (client.connected() && millis() - start < 5000L) {
|
||||
while (client.available()) {
|
||||
SerialMon.write(client.read());
|
||||
timeout = millis();
|
||||
start = millis();
|
||||
}
|
||||
}
|
||||
client.stop();
|
||||
@@ -249,7 +251,7 @@ void loop() {
|
||||
#endif
|
||||
|
||||
#if TINY_GSM_TEST_SSL && defined TINY_GSM_MODEM_HAS_SSL
|
||||
TinyGsmClientSecure secureClient(modem);
|
||||
TinyGsmClientSecure secureClient(modem, 1);
|
||||
const int securePort = 443;
|
||||
DBG("Connecting to ", server);
|
||||
if (!secureClient.connect(server, securePort)) {
|
||||
@@ -261,16 +263,18 @@ void loop() {
|
||||
secureClient.print("Connection: close\r\n\r\n");
|
||||
|
||||
// Wait for data to arrive
|
||||
while (secureClient.connected() && !secureClient.available()) {
|
||||
uint32_t startS = millis();
|
||||
while (secureClient.connected() && !secureClient.available() &&
|
||||
millis() - startS < 30000L) {
|
||||
delay(100);
|
||||
};
|
||||
|
||||
// Read data
|
||||
uint32_t timeoutS = millis();
|
||||
while (secureClient.connected() && millis() - timeoutS < 5000L) {
|
||||
startS = millis();
|
||||
while (secureClient.connected() && millis() - startS < 5000L) {
|
||||
while (secureClient.available()) {
|
||||
SerialMon.write(secureClient.read());
|
||||
timeoutS = millis();
|
||||
startS = millis();
|
||||
}
|
||||
}
|
||||
secureClient.stop();
|
||||
|
@@ -65,19 +65,23 @@ class TinyGsmBG96 : public TinyGsmModem<TinyGsmBG96>,
|
||||
public:
|
||||
GsmClientBG96() {}
|
||||
|
||||
explicit GsmClientBG96(TinyGsmBG96& modem, uint8_t mux = 1) {
|
||||
explicit GsmClientBG96(TinyGsmBG96& modem, uint8_t mux = 0) {
|
||||
init(&modem, mux);
|
||||
}
|
||||
|
||||
bool init(TinyGsmBG96* modem, uint8_t mux = 1) {
|
||||
bool init(TinyGsmBG96* modem, uint8_t mux = 0) {
|
||||
this->at = modem;
|
||||
this->mux = mux;
|
||||
sock_available = 0;
|
||||
prev_check = 0;
|
||||
sock_connected = false;
|
||||
got_data = false;
|
||||
|
||||
at->sockets[mux] = this;
|
||||
if (mux < TINY_GSM_MUX_COUNT) {
|
||||
this->mux = mux;
|
||||
} else {
|
||||
this->mux = (mux % TINY_GSM_MUX_COUNT);
|
||||
}
|
||||
at->sockets[this->mux] = this;
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -119,7 +123,7 @@ class TinyGsmBG96 : public TinyGsmModem<TinyGsmBG96>,
|
||||
public:
|
||||
GsmClientSecure() {}
|
||||
|
||||
GsmClientSecure(TinyGsmBG96& modem, uint8_t mux = 1)
|
||||
GsmClientSecure(TinyGsmBG96& modem, uint8_t mux = 0)
|
||||
: public GsmClient(modem, mux)
|
||||
{}
|
||||
|
||||
@@ -298,7 +302,7 @@ class TinyGsmBG96 : public TinyGsmModem<TinyGsmBG96>,
|
||||
*/
|
||||
protected:
|
||||
bool modemConnect(const char* host, uint16_t port, uint8_t mux,
|
||||
bool ssl = false, int timeout_s = 20) {
|
||||
bool ssl = false, int timeout_s = 150) {
|
||||
if (ssl) { DBG("SSL not yet supported on this module!"); }
|
||||
|
||||
uint32_t timeout_ms = ((uint32_t)timeout_s) * 1000;
|
||||
|
@@ -57,16 +57,20 @@ class TinyGsmESP8266 : public TinyGsmModem<TinyGsmESP8266>,
|
||||
public:
|
||||
GsmClientESP8266() {}
|
||||
|
||||
explicit GsmClientESP8266(TinyGsmESP8266& modem, uint8_t mux = 1) {
|
||||
explicit GsmClientESP8266(TinyGsmESP8266& modem, uint8_t mux = 0) {
|
||||
init(&modem, mux);
|
||||
}
|
||||
|
||||
bool init(TinyGsmESP8266* modem, uint8_t mux = 1) {
|
||||
bool init(TinyGsmESP8266* modem, uint8_t mux = 0) {
|
||||
this->at = modem;
|
||||
this->mux = mux;
|
||||
sock_connected = false;
|
||||
|
||||
at->sockets[mux] = this;
|
||||
if (mux < TINY_GSM_MUX_COUNT) {
|
||||
this->mux = mux;
|
||||
} else {
|
||||
this->mux = (mux % TINY_GSM_MUX_COUNT);
|
||||
}
|
||||
at->sockets[this->mux] = this;
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -107,7 +111,7 @@ class TinyGsmESP8266 : public TinyGsmModem<TinyGsmESP8266>,
|
||||
public:
|
||||
GsmClientSecureESP8266() {}
|
||||
|
||||
explicit GsmClientSecureESP8266(TinyGsmESP8266& modem, uint8_t mux = 1)
|
||||
explicit GsmClientSecureESP8266(TinyGsmESP8266& modem, uint8_t mux = 0)
|
||||
: GsmClientESP8266(modem, mux) {}
|
||||
|
||||
public:
|
||||
|
@@ -59,16 +59,20 @@ class TinyGsmM590 : public TinyGsmModem<TinyGsmM590>,
|
||||
public:
|
||||
GsmClientM590() {}
|
||||
|
||||
explicit GsmClientM590(TinyGsmM590& modem, uint8_t mux = 1) {
|
||||
explicit GsmClientM590(TinyGsmM590& modem, uint8_t mux = 0) {
|
||||
init(&modem, mux);
|
||||
}
|
||||
|
||||
bool init(TinyGsmM590* modem, uint8_t mux = 1) {
|
||||
bool init(TinyGsmM590* modem, uint8_t mux = 0) {
|
||||
this->at = modem;
|
||||
this->mux = mux;
|
||||
sock_connected = false;
|
||||
|
||||
at->sockets[mux] = this;
|
||||
if (mux < TINY_GSM_MUX_COUNT) {
|
||||
this->mux = mux;
|
||||
} else {
|
||||
this->mux = (mux % TINY_GSM_MUX_COUNT);
|
||||
}
|
||||
at->sockets[this->mux] = this;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@@ -69,17 +69,21 @@ class TinyGsmM95 : public TinyGsmModem<TinyGsmM95>,
|
||||
public:
|
||||
GsmClientM95() {}
|
||||
|
||||
explicit GsmClientM95(TinyGsmM95& modem, uint8_t mux = 1) {
|
||||
explicit GsmClientM95(TinyGsmM95& modem, uint8_t mux = 0) {
|
||||
init(&modem, mux);
|
||||
}
|
||||
|
||||
bool init(TinyGsmM95* modem, uint8_t mux = 1) {
|
||||
bool init(TinyGsmM95* modem, uint8_t 0) {
|
||||
this->at = modem;
|
||||
this->mux = mux;
|
||||
sock_available = 0;
|
||||
sock_connected = false;
|
||||
|
||||
at->sockets[mux] = this;
|
||||
if (mux < TINY_GSM_MUX_COUNT) {
|
||||
this->mux = mux;
|
||||
} else {
|
||||
this->mux = (mux % TINY_GSM_MUX_COUNT);
|
||||
}
|
||||
at->sockets[this->mux] = this;
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -123,7 +127,7 @@ class TinyGsmM95 : public TinyGsmModem<TinyGsmM95>,
|
||||
public:
|
||||
GsmClientSecure() {}
|
||||
|
||||
GsmClientSecure(TinyGsmm95& modem, uint8_t mux = 1)
|
||||
GsmClientSecure(TinyGsmm95& modem, uint8_t mux = 0)
|
||||
: GsmClient(modem, mux)
|
||||
{}
|
||||
|
||||
|
@@ -68,17 +68,21 @@ class TinyGsmMC60 : public TinyGsmModem<TinyGsmMC60>,
|
||||
public:
|
||||
GsmClientMC60() {}
|
||||
|
||||
explicit GsmClientMC60(TinyGsmMC60& modem, uint8_t mux = 1) {
|
||||
explicit GsmClientMC60(TinyGsmMC60& modem, uint8_t mux = 0) {
|
||||
init(&modem, mux);
|
||||
}
|
||||
|
||||
bool init(TinyGsmMC60* modem, uint8_t mux = 1) {
|
||||
bool init(TinyGsmMC60* modem, uint8_t mux = 0) {
|
||||
this->at = modem;
|
||||
this->mux = mux;
|
||||
sock_available = 0;
|
||||
sock_connected = false;
|
||||
|
||||
at->sockets[mux] = this;
|
||||
if (mux < TINY_GSM_MUX_COUNT) {
|
||||
this->mux = mux;
|
||||
} else {
|
||||
this->mux = (mux % TINY_GSM_MUX_COUNT);
|
||||
}
|
||||
at->sockets[this->mux] = this;
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -122,7 +126,7 @@ class TinyGsmMC60 : public TinyGsmModem<TinyGsmMC60>,
|
||||
public:
|
||||
GsmClientSecure() {}
|
||||
|
||||
GsmClientSecure(TinyGsmMC60& modem, uint8_t mux = 1)
|
||||
GsmClientSecure(TinyGsmMC60& modem, uint8_t mux = 0)
|
||||
: GsmClient(modem, mux)
|
||||
{}
|
||||
|
||||
|
@@ -74,13 +74,17 @@ class TinyGsmSim5360 : public TinyGsmModem<TinyGsmSim5360>,
|
||||
|
||||
bool init(TinyGsmSim5360* modem, uint8_t mux = 0) {
|
||||
this->at = modem;
|
||||
this->mux = mux;
|
||||
sock_available = 0;
|
||||
prev_check = 0;
|
||||
sock_connected = false;
|
||||
got_data = false;
|
||||
|
||||
at->sockets[mux] = this;
|
||||
if (mux < TINY_GSM_MUX_COUNT) {
|
||||
this->mux = mux;
|
||||
} else {
|
||||
this->mux = (mux % TINY_GSM_MUX_COUNT);
|
||||
}
|
||||
at->sockets[this->mux] = this;
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -122,7 +126,7 @@ class TinyGsmSim5360 : public TinyGsmModem<TinyGsmSim5360>,
|
||||
public:
|
||||
GsmClientSecureSim5360() {}
|
||||
|
||||
explicit GsmClientSecureSim5360(TinyGsmSim5360& modem, uint8_t mux = 1)
|
||||
explicit GsmClientSecureSim5360(TinyGsmSim5360& modem, uint8_t mux = 0)
|
||||
: GsmClientSim5360(modem, mux) {}
|
||||
|
||||
public:
|
||||
|
@@ -65,19 +65,23 @@ class TinyGsmSim7000 : public TinyGsmModem<TinyGsmSim7000>,
|
||||
public:
|
||||
GsmClientSim7000() {}
|
||||
|
||||
explicit GsmClientSim7000(TinyGsmSim7000& modem, uint8_t mux = 1) {
|
||||
explicit GsmClientSim7000(TinyGsmSim7000& modem, uint8_t mux = 0) {
|
||||
init(&modem, mux);
|
||||
}
|
||||
|
||||
bool init(TinyGsmSim7000* modem, uint8_t mux = 1) {
|
||||
bool init(TinyGsmSim7000* modem, uint8_t mux = 0) {
|
||||
this->at = modem;
|
||||
this->mux = mux;
|
||||
sock_available = 0;
|
||||
prev_check = 0;
|
||||
sock_connected = false;
|
||||
got_data = false;
|
||||
|
||||
at->sockets[mux] = this;
|
||||
if (mux < TINY_GSM_MUX_COUNT) {
|
||||
this->mux = mux;
|
||||
} else {
|
||||
this->mux = (mux % TINY_GSM_MUX_COUNT);
|
||||
}
|
||||
at->sockets[this->mux] = this;
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -119,7 +123,7 @@ class TinyGsmSim7000 : public TinyGsmModem<TinyGsmSim7000>,
|
||||
public:
|
||||
GsmClientSecure() {}
|
||||
|
||||
GsmClientSecure(TinyGsmSim7000& modem, uint8_t mux = 1)
|
||||
GsmClientSecure(TinyGsmSim7000& modem, uint8_t mux = 0)
|
||||
: public GsmClient(modem, mux)
|
||||
{}
|
||||
|
||||
|
@@ -77,13 +77,17 @@ class TinyGsmSim7600 : public TinyGsmModem<TinyGsmSim7600>,
|
||||
|
||||
bool init(TinyGsmSim7600* modem, uint8_t mux = 0) {
|
||||
this->at = modem;
|
||||
this->mux = mux;
|
||||
sock_available = 0;
|
||||
prev_check = 0;
|
||||
sock_connected = false;
|
||||
got_data = false;
|
||||
|
||||
at->sockets[mux] = this;
|
||||
if (mux < TINY_GSM_MUX_COUNT) {
|
||||
this->mux = mux;
|
||||
} else {
|
||||
this->mux = (mux % TINY_GSM_MUX_COUNT);
|
||||
}
|
||||
at->sockets[this->mux] = this;
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -120,12 +124,12 @@ class TinyGsmSim7600 : public TinyGsmModem<TinyGsmSim7600>,
|
||||
*/
|
||||
|
||||
/*TODO(?))
|
||||
class GsmClientSecureSIM7000 : public GsmClientSim7000
|
||||
class GsmClientSecureSIM7600 : public GsmClientSim7600
|
||||
{
|
||||
public:
|
||||
GsmClientSecure() {}
|
||||
|
||||
GsmClientSecure(TinyGsmSim7000& modem, uint8_t mux = 1)
|
||||
GsmClientSecure(TinyGsmSim7600& modem, uint8_t mux = 0)
|
||||
: public GsmClient(modem, mux)
|
||||
{}
|
||||
|
||||
|
@@ -71,19 +71,23 @@ class TinyGsmSim800 : public TinyGsmModem<TinyGsmSim800>,
|
||||
public:
|
||||
GsmClientSim800() {}
|
||||
|
||||
explicit GsmClientSim800(TinyGsmSim800& modem, uint8_t mux = 1) {
|
||||
explicit GsmClientSim800(TinyGsmSim800& modem, uint8_t mux = 0) {
|
||||
init(&modem, mux);
|
||||
}
|
||||
|
||||
bool init(TinyGsmSim800* modem, uint8_t mux = 1) {
|
||||
bool init(TinyGsmSim800* modem, uint8_t mux = 0) {
|
||||
this->at = modem;
|
||||
this->mux = mux;
|
||||
sock_available = 0;
|
||||
prev_check = 0;
|
||||
sock_connected = false;
|
||||
got_data = false;
|
||||
|
||||
at->sockets[mux] = this;
|
||||
if (mux < TINY_GSM_MUX_COUNT) {
|
||||
this->mux = mux;
|
||||
} else {
|
||||
this->mux = (mux % TINY_GSM_MUX_COUNT);
|
||||
}
|
||||
at->sockets[this->mux] = this;
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -123,7 +127,7 @@ class TinyGsmSim800 : public TinyGsmModem<TinyGsmSim800>,
|
||||
public:
|
||||
GsmClientSecureSim800() {}
|
||||
|
||||
explicit GsmClientSecureSim800(TinyGsmSim800& modem, uint8_t mux = 1)
|
||||
explicit GsmClientSecureSim800(TinyGsmSim800& modem, uint8_t mux = 0)
|
||||
: GsmClientSim800(modem, mux) {}
|
||||
|
||||
public:
|
||||
|
@@ -80,20 +80,24 @@ class TinyGsmSaraR4 : public TinyGsmModem<TinyGsmSaraR4>,
|
||||
|
||||
bool init(TinyGsmSaraR4* modem, uint8_t mux = 0) {
|
||||
this->at = modem;
|
||||
this->mux = mux;
|
||||
sock_available = 0;
|
||||
prev_check = 0;
|
||||
sock_connected = false;
|
||||
got_data = false;
|
||||
|
||||
at->sockets[mux] = this;
|
||||
if (mux < TINY_GSM_MUX_COUNT) {
|
||||
this->mux = mux;
|
||||
} else {
|
||||
this->mux = (mux % TINY_GSM_MUX_COUNT);
|
||||
}
|
||||
at->sockets[this->mux] = this;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public:
|
||||
virtual int connect(const char* host, uint16_t port, int timeout_s) {
|
||||
stop();
|
||||
// stop(); // DON'T stop!
|
||||
TINY_GSM_YIELD();
|
||||
rx.clear();
|
||||
|
||||
@@ -168,12 +172,12 @@ class TinyGsmSaraR4 : public TinyGsmModem<TinyGsmSaraR4>,
|
||||
public:
|
||||
GsmClientSecureR4() {}
|
||||
|
||||
explicit GsmClientSecureR4(TinyGsmSaraR4& modem, uint8_t mux = 1)
|
||||
explicit GsmClientSecureR4(TinyGsmSaraR4& modem, uint8_t mux = 0)
|
||||
: GsmClientSaraR4(modem, mux) {}
|
||||
|
||||
public:
|
||||
int connect(const char* host, uint16_t port, int timeout_s) override {
|
||||
stop();
|
||||
// stop(); // DON'T stop!
|
||||
TINY_GSM_YIELD();
|
||||
rx.clear();
|
||||
uint8_t oldMux = mux;
|
||||
|
@@ -85,7 +85,6 @@ class TinyGsmSequansMonarch
|
||||
|
||||
bool init(TinyGsmSequansMonarch* modem, uint8_t mux = 1) {
|
||||
this->at = modem;
|
||||
this->mux = mux;
|
||||
sock_available = 0;
|
||||
prev_check = 0;
|
||||
sock_connected = false;
|
||||
@@ -93,6 +92,11 @@ class TinyGsmSequansMonarch
|
||||
|
||||
// adjust for zero indexed socket array vs Sequans' 1 indexed mux numbers
|
||||
// using modulus will force 6 back to 0
|
||||
if (mux >= 1 && mux <= TINY_GSM_MUX_COUNT) {
|
||||
this->mux = mux;
|
||||
} else {
|
||||
this->mux = (mux % TINY_GSM_MUX_COUNT) + 1;
|
||||
}
|
||||
at->sockets[mux % TINY_GSM_MUX_COUNT] = this;
|
||||
|
||||
return true;
|
||||
|
@@ -80,20 +80,24 @@ class TinyGsmUBLOX : public TinyGsmModem<TinyGsmUBLOX>,
|
||||
|
||||
bool init(TinyGsmUBLOX* modem, uint8_t mux = 0) {
|
||||
this->at = modem;
|
||||
this->mux = mux;
|
||||
sock_available = 0;
|
||||
prev_check = 0;
|
||||
sock_connected = false;
|
||||
got_data = false;
|
||||
|
||||
at->sockets[mux] = this;
|
||||
if (mux < TINY_GSM_MUX_COUNT) {
|
||||
this->mux = mux;
|
||||
} else {
|
||||
this->mux = (mux % TINY_GSM_MUX_COUNT);
|
||||
}
|
||||
at->sockets[this->mux] = this;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public:
|
||||
virtual int connect(const char* host, uint16_t port, int timeout_s) {
|
||||
stop();
|
||||
// stop(); // DON'T stop!
|
||||
TINY_GSM_YIELD();
|
||||
rx.clear();
|
||||
|
||||
@@ -135,12 +139,12 @@ class TinyGsmUBLOX : public TinyGsmModem<TinyGsmUBLOX>,
|
||||
public:
|
||||
GsmClientSecureUBLOX() {}
|
||||
|
||||
explicit GsmClientSecureUBLOX(TinyGsmUBLOX& modem, uint8_t mux = 1)
|
||||
explicit GsmClientSecureUBLOX(TinyGsmUBLOX& modem, uint8_t mux = 0)
|
||||
: GsmClientUBLOX(modem, mux) {}
|
||||
|
||||
public:
|
||||
int connect(const char* host, uint16_t port, int timeout_s) override {
|
||||
stop();
|
||||
// stop(); // DON'T stop!
|
||||
TINY_GSM_YIELD();
|
||||
rx.clear();
|
||||
uint8_t oldMux = mux;
|
||||
@@ -288,7 +292,7 @@ class TinyGsmUBLOX : public TinyGsmModem<TinyGsmUBLOX>,
|
||||
protected:
|
||||
bool gprsConnectImpl(const char* apn, const char* user = NULL,
|
||||
const char* pwd = NULL) {
|
||||
gprsDisconnect();
|
||||
// gprsDisconnect();
|
||||
|
||||
sendAT(GF("+CGATT=1")); // attach to GPRS
|
||||
if (waitResponse(360000L) != 1) { return false; }
|
||||
|
@@ -97,12 +97,12 @@ class TinyGsmXBee : public TinyGsmModem<TinyGsmXBee>,
|
||||
init(&modem, mux);
|
||||
}
|
||||
|
||||
bool init(TinyGsmXBee* modem, uint8_t mux = 0) {
|
||||
bool init(TinyGsmXBee* modem, uint8_t) {
|
||||
this->at = modem;
|
||||
this->mux = mux;
|
||||
this->mux = 0;
|
||||
sock_connected = false;
|
||||
|
||||
at->sockets[mux] = this;
|
||||
at->sockets[0] = this;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@@ -47,7 +47,7 @@ class TinyGsmSSL {
|
||||
public:
|
||||
GsmClientSecureSim800() {}
|
||||
|
||||
explicit GsmClientSecureSim800(TinyGsmSim800& modem, uint8_t mux = 1)
|
||||
explicit GsmClientSecureSim800(TinyGsmSim800& modem, uint8_t mux = 0)
|
||||
: GsmClientSim800(modem, mux) {}
|
||||
|
||||
public:
|
||||
|
Reference in New Issue
Block a user