Hi,
GSM library can't handle messages with underscore '_' in message body. '_' is 95 dec (0x5F hex) in ASCII code and 17 dec (0x11 hex). When message with underscore encoded as 0x11 is tried to be sent it actually gets treated as special character, so resulting message has some garbage in place of underline. I think problem lays in GSM3SoftSerial implementation
size_t GSM3SoftSerial::write(uint8_t c)
{
if (_tx_delay == 0)
return 0;
// Characters to be escaped under XON/XOFF control with Quectel
if(c==0x11)
{
this->finalWrite(0x77);
return this->finalWrite(0xEE);
}
if(c==0x13)
{
this->finalWrite(0x77);
return this->finalWrite(0xEC);
}
if(c==0x77)
{
this->finalWrite(0x77);
return this->finalWrite(0x88);
}
return this->finalWrite(c);
Hi, GSM library can't handle messages with underscore '_' in message body. '_' is 95 dec (0x5F hex) in ASCII code and 17 dec (0x11 hex). When message with underscore encoded as 0x11 is tried to be sent it actually gets treated as special character, so resulting message has some garbage in place of underline. I think problem lays in GSM3SoftSerial implementation
size_t GSM3SoftSerial::write(uint8_t c) { if (_tx_delay == 0) return 0;
}
Br