Sending messages in 8 bit mode works too
This commit is contained in:
parent
6def336bd9
commit
5988a39a43
@ -494,11 +494,11 @@ int gsm_modem_send_message(GSMModem * gsmm, char const * number,
|
|||||||
return gsm_event(gsmm->gsm, GSM_EVENT_TYPE_ERROR,
|
return gsm_event(gsmm->gsm, GSM_EVENT_TYPE_ERROR,
|
||||||
GSM_ERROR_MESSAGE_SEND_FAILED, NULL);
|
GSM_ERROR_MESSAGE_SEND_FAILED, NULL);
|
||||||
}
|
}
|
||||||
fprintf(stderr, "DEBUG: len2=%lu\n", len2);
|
|
||||||
if(number[0] == '+')
|
if(number[0] == '+')
|
||||||
number++;
|
number++;
|
||||||
snprintf(buf2, len2, "%s%02lX%s%s%s%s%02lX%s\x1a", cmd2, strlen(number),
|
snprintf(buf2, len2, "%s%02lX%s%s%s%s%02lX%s\x1a", cmd2, strlen(number),
|
||||||
addr, pid, dcs, vp, length, data);
|
addr, pid, dcs, vp, length, data);
|
||||||
|
len2 = strlen(buf2);
|
||||||
snprintf(buf1, len1, "%s%lu", cmd1, (len2 - 1) / 2);
|
snprintf(buf1, len1, "%s%lu", cmd1, (len2 - 1) / 2);
|
||||||
free(addr);
|
free(addr);
|
||||||
free(data);
|
free(data);
|
||||||
@ -566,8 +566,8 @@ static char * _text_to_data(char const * text, size_t length)
|
|||||||
return NULL;
|
return NULL;
|
||||||
for(i = 0; i < length; i++)
|
for(i = 0; i < length; i++)
|
||||||
{
|
{
|
||||||
buf[i * 2] = tab[text[i] & 0x0f];
|
buf[(i * 2) + 1] = tab[text[i] & 0x0f];
|
||||||
buf[(i * 2) + 1] = tab[((text[i] & 0xf0) >> 4) & 0x0f];
|
buf[i * 2] = tab[((text[i] & 0xf0) >> 4) & 0x0f];
|
||||||
}
|
}
|
||||||
buf[i * 2] = '\0';
|
buf[i * 2] = '\0';
|
||||||
return buf;
|
return buf;
|
||||||
|
Loading…
Reference in New Issue
Block a user