arduino-libraries / GSM

GSM Library for Arduino
http://arduino.cc/
44 stars 38 forks source link

GSM SMS encoding problem #16

Open szelinskip opened 4 years ago

szelinskip commented 4 years ago

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

}

Br

Abhishek-1228 commented 3 years ago

Plz. assign this issue to me so that I can try to fix it.