Browse Source

Check possible mux numbers

Signed-off-by: Sara Damiano <sdamiano@stroudcenter.org>
v_master
Sara Damiano 5 years ago
parent
commit
7b40ee2f33
15 changed files with 120 additions and 68 deletions
  1. +14
    -10
      examples/AllFunctions/AllFunctions.ino
  2. +10
    -6
      src/TinyGsmClientBG96.h
  3. +9
    -5
      src/TinyGsmClientESP8266.h
  4. +8
    -4
      src/TinyGsmClientM590.h
  5. +9
    -5
      src/TinyGsmClientM95.h
  6. +9
    -5
      src/TinyGsmClientMC60.h
  7. +7
    -3
      src/TinyGsmClientSIM5360.h
  8. +9
    -5
      src/TinyGsmClientSIM7000.h
  9. +8
    -4
      src/TinyGsmClientSIM7600.h
  10. +9
    -5
      src/TinyGsmClientSIM800.h
  11. +9
    -5
      src/TinyGsmClientSaraR4.h
  12. +5
    -1
      src/TinyGsmClientSequansMonarch.h
  13. +10
    -6
      src/TinyGsmClientUBLOX.h
  14. +3
    -3
      src/TinyGsmClientXBee.h
  15. +1
    -1
      src/TinyGsmSSL.tpp

+ 14
- 10
examples/AllFunctions/AllFunctions.ino View File

@ -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();


+ 10
- 6
src/TinyGsmClientBG96.h View File

@ -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;


+ 9
- 5
src/TinyGsmClientESP8266.h View File

@ -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:


+ 8
- 4
src/TinyGsmClientM590.h View File

@ -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;
}


+ 9
- 5
src/TinyGsmClientM95.h View File

@ -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)
{}


+ 9
- 5
src/TinyGsmClientMC60.h View File

@ -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)
{}


+ 7
- 3
src/TinyGsmClientSIM5360.h View File

@ -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:


+ 9
- 5
src/TinyGsmClientSIM7000.h View File

@ -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)
{}


+ 8
- 4
src/TinyGsmClientSIM7600.h View File

@ -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)
{}


+ 9
- 5
src/TinyGsmClientSIM800.h View File

@ -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:


+ 9
- 5
src/TinyGsmClientSaraR4.h View File

@ -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;


+ 5
- 1
src/TinyGsmClientSequansMonarch.h View File

@ -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;


+ 10
- 6
src/TinyGsmClientUBLOX.h View File

@ -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; }


+ 3
- 3
src/TinyGsmClientXBee.h View File

@ -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;
}


+ 1
- 1
src/TinyGsmSSL.tpp View File

@ -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:


Loading…
Cancel
Save