Skip to content

Commit 14f8d15

Browse files
author
Marcin Radomski
committed
Add option to set up SMS encoding
1 parent 033fffe commit 14f8d15

File tree

3 files changed

+13
-3
lines changed

3 files changed

+13
-3
lines changed

features/cellular/framework/API/CellularSMS.h

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,14 +62,20 @@ class CellularSMS {
6262
CellularSMSMmodeText
6363
};
6464

65+
enum CellularSMSEncoding {
66+
CellularSMSEncoding7Bit,
67+
CellularSMSEncoding8Bit,
68+
};
69+
6570
/** Does all the necessary initializations needed for receiving and sending SMS.
6671
*
6772
* @param mode enumeration for choosing the correct mode: text/pdu
6873
* @return NSAPI_ERROR_OK on success
6974
* NSAPI_ERROR_NO_MEMORY on memory failure
7075
* NSAPI_ERROR_DEVICE_ERROR on other failures
7176
*/
72-
virtual nsapi_error_t initialize(CellularSMSMmode mode) = 0;
77+
virtual nsapi_error_t initialize(CellularSMSMmode mode,
78+
CellularSMSEncoding encoding = CellularSMSEncoding::CellularSMSEncoding7Bit) = 0;
7379

7480
/** Send the SMS with the given parameters
7581
*

features/cellular/framework/AT/AT_CellularSMS.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,8 +245,11 @@ nsapi_error_t AT_CellularSMS::set_csdh(int show_header)
245245
return _at.at_cmd_discard("+CSDH", "=", "%d", show_header);
246246
}
247247

248-
nsapi_error_t AT_CellularSMS::initialize(CellularSMSMmode mode)
248+
nsapi_error_t AT_CellularSMS::initialize(CellularSMSMmode mode,
249+
CellularSMSEncoding encoding)
249250
{
251+
_use_8bit_encoding = (encoding == CellularSMSEncoding8Bit);
252+
250253
_at.set_urc_handler("+CMTI:", callback(this, &AT_CellularSMS::cmti_urc));
251254
_at.set_urc_handler("+CMT:", callback(this, &AT_CellularSMS::cmt_urc));
252255

features/cellular/framework/AT/AT_CellularSMS.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@ class AT_CellularSMS: public CellularSMS, public AT_CellularBase {
3939
public:
4040
// from CellularSMS
4141

42-
virtual nsapi_error_t initialize(CellularSMSMmode mode);
42+
virtual nsapi_error_t initialize(CellularSMSMmode mode,
43+
CellularSMSEncoding encoding = CellularSMSEncoding7Bit);
4344

4445
virtual nsapi_size_or_error_t send_sms(const char *phone_number, const char *message, int msg_len);
4546

0 commit comments

Comments
 (0)