catch result of cipopen on 7600

Signed-off-by: Sara Damiano <sdamiano@stroudcenter.org>
This commit is contained in:
Sara Damiano
2020-08-07 16:08:19 -04:00
parent cddd356d0c
commit 31205166a7

View File

@@ -528,12 +528,9 @@ class TinyGsmSim7600 : public TinyGsmModem<TinyGsmSim7600>,
/** /**
* CGNSSMODE: <gnss_mode>,<dpo_mode> * CGNSSMODE: <gnss_mode>,<dpo_mode>
* This command is used to configure GPS, GLONASS, BEIDOU and QZSS support mode. * This command is used to configure GPS, GLONASS, BEIDOU and QZSS support
* 0 : GLONASS * mode. 0 : GLONASS 1 : BEIDOU 2 : GALILEO 3 : QZSS dpo_mode: 1 enable , 0
* 1 : BEIDOU * disable
* 2 : GALILEO
* 3 : QZSS
* dpo_mode: 1 enable , 0 disable
*/ */
String setGNSSModeImpl(uint8_t mode, bool dpo) { String setGNSSModeImpl(uint8_t mode, bool dpo) {
String res; String res;
@@ -617,8 +614,12 @@ class TinyGsmSim7600 : public TinyGsmModem<TinyGsmSim7600>,
uint32_t timeout_ms = ((uint32_t)timeout_s) * 1000; uint32_t timeout_ms = ((uint32_t)timeout_s) * 1000;
sendAT(GF("+CIPOPEN="), mux, ',', GF("\"TCP"), GF("\",\""), host, GF("\","), sendAT(GF("+CIPOPEN="), mux, ',', GF("\"TCP"), GF("\",\""), host, GF("\","),
port); port);
// The reply is +CIPOPEN: ## of socket created // The reply is OK followed by +CIPOPEN: <link_num>,<err> where <link_num>
// is the mux number and <err> should be 0 if there's no error
if (waitResponse(timeout_ms, GF(GSM_NL "+CIPOPEN:")) != 1) { return false; } if (waitResponse(timeout_ms, GF(GSM_NL "+CIPOPEN:")) != 1) { return false; }
uint8_t opened_mux = streamGetIntBefore(',');
uint8_t opened_result = streamGetIntBefore('\n');
if (opened_mux != mux || opened_result != 0) return false;
return true; return true;
} }
@@ -702,9 +703,7 @@ class TinyGsmSim7600 : public TinyGsmModem<TinyGsmSim7600>,
for (int muxNo = 0; muxNo < TINY_GSM_MUX_COUNT; muxNo++) { for (int muxNo = 0; muxNo < TINY_GSM_MUX_COUNT; muxNo++) {
// +CIPCLOSE:<link0_state>,<link1_state>,...,<link9_state> // +CIPCLOSE:<link0_state>,<link1_state>,...,<link9_state>
bool muxState = stream.parseInt(); bool muxState = stream.parseInt();
if (sockets[muxNo]) { if (sockets[muxNo]) { sockets[muxNo]->sock_connected = muxState; }
sockets[muxNo]->sock_connected = muxState;
}
} }
waitResponse(); // Should be an OK at the end waitResponse(); // Should be an OK at the end
if (!sockets[mux]) return false; if (!sockets[mux]) return false;