Browse Source

TinyGsmClientSequansMonarch.h: use data mode

Use data mode instead of text mode to be able to send any content such
as raw binary. This will allow us to use TinyGSM with ArduinoBearSSL and
ArduinoMqtt.

It should be noted that for an unclear reason GSM_NL must be set to '\n'
instead of '\r\n' to avoid "CME ERROR: operation not supported" in this
mode with the Monarch GMS01Q.

Signed-off-by: Fabrice Fontaine <fabrice.fontaine@orange.com>
dependabot/github_actions/actions/checkout-4
Fabrice Fontaine 3 years ago
parent
commit
38a712500e
1 changed files with 11 additions and 4 deletions
  1. +11
    -4
      src/TinyGsmClientSequansMonarch.h

+ 11
- 4
src/TinyGsmClientSequansMonarch.h View File

@ -467,8 +467,8 @@ class TinyGsmSequansMonarch
// <recvDataMode1> = Receive data mode = 0 - data as text (1 for hex)
// <keepalive1> = unused = 0
// <listenAutoRsp1> = Listen auto-response mode = 0 - deactivated
// <sendDataMode1> = Send data mode = 0 - data as text (1 for hex)
sendAT(GF("+SQNSCFGEXT="), mux, GF(",1,0,0,0,0"));
// <sendDataMode1> = Send data mode = 1 - data as hex (0 for text)
sendAT(GF("+SQNSCFGEXT="), mux, GF(",1,0,0,0,1"));
waitResponse(5000L);
// Socket dial
@ -508,7 +508,13 @@ class TinyGsmSequansMonarch
sendAT(GF("+SQNSSENDEXT="), mux, ',', (uint16_t)len);
waitResponse(10000L, GF(GSM_NL "> "));
stream.write(reinterpret_cast<const uint8_t*>(buff), len);
// Translate bytes into char to be able to send them as an hex string
char char_command[2];
for (int i=0; i<len; i++) {
memset(&char_command, 0, sizeof(char_command));
sprintf(&char_command[0], "%02X", reinterpret_cast<const uint8_t*>(buff)[i]);
stream.write(char_command, sizeof(char_command));
}
stream.flush();
if (waitResponse() != 1) {
DBG("### no OK after send");
@ -720,7 +726,8 @@ class TinyGsmSequansMonarch
protected:
GsmClientSequansMonarch* sockets[TINY_GSM_MUX_COUNT];
const char* gsmNL = GSM_NL;
// GSM_NL (\r\n) is not accepted with SQNSSENDEXT in data mode so use \n
const char* gsmNL = "\n";
};
#endif // SRC_TINYGSMCLIENTSEQUANSMONARCH_H_

Loading…
Cancel
Save