|
|
@ -61,6 +61,11 @@ public: |
|
|
|
prev_check = 0; |
|
|
|
sock_connected = false; |
|
|
|
got_data = false; |
|
|
|
|
|
|
|
// at->sockets[mux] = this; |
|
|
|
// ^^ TODO: attach the socket here at init? Or later at connect? |
|
|
|
// Currently done inconsistently between modems |
|
|
|
|
|
|
|
return true; |
|
|
|
} |
|
|
|
|
|
|
@ -81,8 +86,11 @@ public: |
|
|
|
} |
|
|
|
TINY_GSM_YIELD(); |
|
|
|
rx.clear(); |
|
|
|
// sock_connected = at->modemConnect(host, port, mux); |
|
|
|
sock_connected = at->modemConnect(host, port, &mux); |
|
|
|
at->sockets[mux] = this; |
|
|
|
// ^^ TODO: attach the socet after attempting connection or above at init? |
|
|
|
// Currently done inconsistently between modems |
|
|
|
at->maintain(); |
|
|
|
return sock_connected; |
|
|
|
} |
|
|
@ -109,7 +117,7 @@ public: |
|
|
|
rx.clear(); |
|
|
|
at->maintain(); |
|
|
|
while (sock_available > 0) { |
|
|
|
sock_available -= at->modemRead(TinyGsmMin((uint16_t)rx.free(), sock_available), mux); |
|
|
|
at->modemRead(TinyGsmMin((uint16_t)rx.free(), sock_available), mux); |
|
|
|
rx.clear(); |
|
|
|
at->maintain(); |
|
|
|
} |
|
|
@ -229,8 +237,10 @@ public: |
|
|
|
stop(); |
|
|
|
TINY_GSM_YIELD(); |
|
|
|
rx.clear(); |
|
|
|
// sock_connected = at->modemConnect(host, port, mux, true); |
|
|
|
sock_connected = at->modemConnect(host, port, &mux, true); |
|
|
|
at->sockets[mux] = this; |
|
|
|
// TODO: When is the socket attached? |
|
|
|
at->maintain(); |
|
|
|
return sock_connected; |
|
|
|
} |
|
|
@ -809,6 +819,7 @@ protected: |
|
|
|
} |
|
|
|
streamSkipUntil(','); // Skip mux |
|
|
|
size_t len = stream.readStringUntil(',').toInt(); |
|
|
|
sockets[mux]->sock_available = len; |
|
|
|
streamSkipUntil('\"'); |
|
|
|
|
|
|
|
for (size_t i=0; i<len; i++) { |
|
|
@ -895,7 +906,7 @@ public: |
|
|
|
TINY_GSM_YIELD(); |
|
|
|
while (stream.available() > 0) { |
|
|
|
int a = stream.read(); |
|
|
|
if (a < 0) continue; |
|
|
|
if (a <= 0) continue; // Skip 0x00 bytes, just in case |
|
|
|
data += (char)a; |
|
|
|
if (r1 && data.endsWith(r1)) { |
|
|
|
index = 1; |
|
|
@ -926,7 +937,7 @@ public: |
|
|
|
sockets[mux]->sock_connected = false; |
|
|
|
} |
|
|
|
data = ""; |
|
|
|
DBG("### Closed:", mux); |
|
|
|
DBG("### Closed: ", mux); |
|
|
|
} |
|
|
|
} |
|
|
|
} while (millis() - startMillis < timeout); |
|
|
|