Skip to content

Commit 9795b39

Browse files
committed
Cellular: Add AT handler buffer size to configuration
1 parent 5aaf3a3 commit 9795b39

File tree

14 files changed

+23
-10
lines changed

14 files changed

+23
-10
lines changed

UNITTESTS/stubs/connectivity/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ target_compile_definitions(mbed-stubs-connectivity
1313
MBED_CONF_LORA_OVER_THE_AIR_ACTIVATION=true
1414
MBED_CONF_LORA_AUTOMATIC_UPLINK_MESSAGE=true
1515
MBED_CONF_LORA_TX_MAX_SIZE=255
16+
MBED_CONF_CELLULAR_AT_HANDLER_BUFFER_SIZE=32
1617
MDMTXD=NC
1718
MDMRXD=NC
1819
)

connectivity/cellular/include/cellular/framework/API/ATHandler.h

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,6 @@ class FileHandle;
5050
extern const char *OK;
5151
extern const char *CRLF;
5252

53-
#define BUFF_SIZE 32
54-
5553
/* AT Error types enumeration */
5654
enum DeviceErrorType {
5755
DeviceErrorTypeNoError = 0,
@@ -114,7 +112,7 @@ class ATHandler {
114112

115113
/** Set callback function for URC
116114
*
117-
* @param prefix URC text to look for, e.g. "+CMTI:". Maximum length is BUFF_SIZE.
115+
* @param prefix URC text to look for, e.g. "+CMTI:". Maximum length is MBED_CONF_CELLULAR_AT_HANDLER_BUFFER_SIZE.
118116
* @param callback function to call on prefix, or 0 to remove callback
119117
*/
120118
void set_urc_handler(const char *prefix, Callback<void()> callback);
@@ -601,7 +599,7 @@ class ATHandler {
601599
bool _is_fh_usable;
602600

603601
// should fit any prefix and int
604-
char _recv_buff[BUFF_SIZE];
602+
char _recv_buff[MBED_CONF_CELLULAR_AT_HANDLER_BUFFER_SIZE];
605603
// reading position
606604
size_t _recv_len;
607605
// reading length
@@ -630,7 +628,7 @@ class ATHandler {
630628
size_t _max_resp_length;
631629

632630
// prefix set during resp_start and used to try matching possible information responses
633-
char _info_resp_prefix[BUFF_SIZE];
631+
char _info_resp_prefix[MBED_CONF_CELLULAR_AT_HANDLER_BUFFER_SIZE];
634632
bool _debug_on;
635633
bool _cmd_start;
636634
bool _use_delimiter;
@@ -640,7 +638,7 @@ class ATHandler {
640638
// eventqueue event id
641639
int _event_id;
642640

643-
char _cmd_buffer[BUFF_SIZE];
641+
char _cmd_buffer[MBED_CONF_CELLULAR_AT_HANDLER_BUFFER_SIZE];
644642
};
645643

646644
} // namespace mbed

connectivity/cellular/mbed_lib.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,10 @@
4444
"plmn-fallback-auto" : {
4545
"help": "If manual PLMN is selected, use mode 4 manual/automatic in AT+COPS to try automatic mode if manual selection fails. Set to null to disable",
4646
"value": null
47+
},
48+
"at-handler-buffer-size" : {
49+
"help": "Size of the AT handler buffer",
50+
"value": 32
4751
}
4852
}
4953
}

connectivity/cellular/source/framework/device/ATHandler.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -683,7 +683,7 @@ int32_t ATHandler::read_int()
683683
return -1;
684684
}
685685

686-
char buff[BUFF_SIZE];
686+
char buff[MBED_CONF_CELLULAR_AT_HANDLER_BUFFER_SIZE];
687687
if (read_string(buff, sizeof(buff)) == 0) {
688688
return -1;
689689
}
@@ -960,7 +960,7 @@ void ATHandler::resp_start(const char *prefix, bool stop)
960960
(void)fill_buffer(false);
961961

962962
if (prefix) {
963-
MBED_ASSERT(strlen(prefix) < BUFF_SIZE);
963+
MBED_ASSERT(strlen(prefix) < MBED_CONF_CELLULAR_AT_HANDLER_BUFFER_SIZE);
964964
strcpy(_info_resp_prefix, prefix); // copy prefix so we can later use it without having to provide again for info_resp
965965
}
966966

@@ -1225,7 +1225,7 @@ void ATHandler::handle_start(const char *cmd, const char *cmd_chr)
12251225
if (cmd_chr) {
12261226
cmd_char_len = strlen(cmd_chr);
12271227
}
1228-
MBED_ASSERT((3 + strlen(cmd) + cmd_char_len) < BUFF_SIZE);
1228+
MBED_ASSERT((3 + strlen(cmd) + cmd_char_len) < MBED_CONF_CELLULAR_AT_HANDLER_BUFFER_SIZE);
12291229

12301230
memcpy(_cmd_buffer + len, cmd, strlen(cmd));
12311231
len += strlen(cmd);
@@ -1258,7 +1258,7 @@ void ATHandler::cmd_start_stop(const char *cmd, const char *cmd_chr, const char
12581258

12591259
nsapi_error_t ATHandler::at_cmd_str(const char *cmd, const char *cmd_chr, char *resp_buf, size_t buf_size, const char *format, ...)
12601260
{
1261-
MBED_ASSERT(strlen(cmd) < BUFF_SIZE);
1261+
MBED_ASSERT(strlen(cmd) < MBED_CONF_CELLULAR_AT_HANDLER_BUFFER_SIZE);
12621262
lock();
12631263

12641264
handle_start(cmd, cmd_chr);

connectivity/cellular/tests/UNITTESTS/framework/AT/at_cellularcontext/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ target_compile_definitions(${TEST_NAME}
1212
MBED_CONF_CELLULAR_USE_SMS=1
1313
MBED_CONF_NSAPI_DEFAULT_CELLULAR_APN=NULL
1414
MBED_CONF_PLATFORM_DEFAULT_SERIAL_BAUD_RATE=115200
15+
MBED_CONF_CELLULAR_AT_HANDLER_BUFFER_SIZE=32
1516
)
1617

1718
target_sources(${TEST_NAME}

connectivity/cellular/tests/UNITTESTS/framework/AT/at_cellulardevice/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ target_compile_definitions(${TEST_NAME}
1818
MDMRXD=NC
1919
MBED_CONF_PLATFORM_DEFAULT_SERIAL_BAUD_RATE=115200
2020
MBED_CONF_CELLULAR_USE_SMS=1
21+
MBED_CONF_CELLULAR_AT_HANDLER_BUFFER_SIZE=32
2122
)
2223

2324
target_sources(${TEST_NAME}

connectivity/cellular/tests/UNITTESTS/framework/AT/at_cellularinformation/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ target_compile_definitions(${TEST_NAME}
1010
DEVICE_SERIAL=1
1111
DEVICE_INTERRUPTIN=1
1212
MBED_CONF_PLATFORM_DEFAULT_SERIAL_BAUD_RATE=115200
13+
MBED_CONF_CELLULAR_AT_HANDLER_BUFFER_SIZE=32
1314
)
1415

1516
target_sources(${TEST_NAME}

connectivity/cellular/tests/UNITTESTS/framework/AT/at_cellularnetwork/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ target_compile_definitions(${TEST_NAME}
1010
DEVICE_SERIAL=1
1111
DEVICE_INTERRUPTIN=1
1212
MBED_CONF_PLATFORM_DEFAULT_SERIAL_BAUD_RATE=115200
13+
MBED_CONF_CELLULAR_AT_HANDLER_BUFFER_SIZE=32
1314
)
1415

1516
target_sources(${TEST_NAME}

connectivity/cellular/tests/UNITTESTS/framework/AT/at_cellularsms/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ target_compile_definitions(${TEST_NAME}
1111
DEVICE_INTERRUPTIN=1
1212
MBED_CONF_PLATFORM_DEFAULT_SERIAL_BAUD_RATE=115200
1313
MBED_CONF_CELLULAR_USE_SMS=1
14+
MBED_CONF_CELLULAR_AT_HANDLER_BUFFER_SIZE=32
1415
)
1516

1617
target_sources(${TEST_NAME}

connectivity/cellular/tests/UNITTESTS/framework/AT/at_cellularstack/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ target_compile_definitions(${TEST_NAME}
1010
DEVICE_SERIAL=1
1111
DEVICE_INTERRUPTIN=1
1212
MBED_CONF_PLATFORM_DEFAULT_SERIAL_BAUD_RATE=115200
13+
MBED_CONF_CELLULAR_AT_HANDLER_BUFFER_SIZE=32
1314
)
1415

1516
target_sources(${TEST_NAME}

connectivity/cellular/tests/UNITTESTS/framework/device/athandler/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ target_compile_definitions(${TEST_NAME}
1212
DEVICE_SERIAL=1
1313
DEVICE_INTERRUPTIN=1
1414
MBED_CONF_PLATFORM_DEFAULT_SERIAL_BAUD_RATE=115200
15+
MBED_CONF_CELLULAR_AT_HANDLER_BUFFER_SIZE=32
1516
)
1617

1718
target_sources(${TEST_NAME}

connectivity/cellular/tests/UNITTESTS/framework/device/cellularcontext/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ target_compile_definitions(${TEST_NAME}
1818
DEVICE_SERIAL=1
1919
DEVICE_INTERRUPTIN=1
2020
MBED_CONF_PLATFORM_DEFAULT_SERIAL_BAUD_RATE=115200
21+
MBED_CONF_CELLULAR_AT_HANDLER_BUFFER_SIZE=32
2122
)
2223

2324
target_sources(${TEST_NAME}

connectivity/cellular/tests/UNITTESTS/framework/device/cellulardevice/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ target_compile_definitions(${TEST_NAME}
1616
DEVICE_SERIAL=1
1717
DEVICE_INTERRUPTIN=1
1818
MBED_CONF_PLATFORM_DEFAULT_SERIAL_BAUD_RATE=115200
19+
MBED_CONF_CELLULAR_AT_HANDLER_BUFFER_SIZE=32
1920
)
2021

2122
target_sources(${TEST_NAME}

connectivity/cellular/tests/UNITTESTS/framework/device/cellularstatemachine/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ target_compile_definitions(${TEST_NAME}
1717
DEVICE_SERIAL=1
1818
DEVICE_INTERRUPTIN=1
1919
MBED_CONF_PLATFORM_DEFAULT_SERIAL_BAUD_RATE=115200
20+
MBED_CONF_CELLULAR_AT_HANDLER_BUFFER_SIZE=32
2021
)
2122

2223
target_sources(${TEST_NAME}

0 commit comments

Comments
 (0)