diff --git a/UNITTESTS/stubs/connectivity/CMakeLists.txt b/UNITTESTS/stubs/connectivity/CMakeLists.txt index faba2e38e2d..4f207f24e00 100644 --- a/UNITTESTS/stubs/connectivity/CMakeLists.txt +++ b/UNITTESTS/stubs/connectivity/CMakeLists.txt @@ -13,6 +13,7 @@ target_compile_definitions(mbed-stubs-connectivity MBED_CONF_LORA_OVER_THE_AIR_ACTIVATION=true MBED_CONF_LORA_AUTOMATIC_UPLINK_MESSAGE=true MBED_CONF_LORA_TX_MAX_SIZE=255 + MBED_CONF_CELLULAR_AT_HANDLER_BUFFER_SIZE=32 MDMTXD=NC MDMRXD=NC ) diff --git a/connectivity/cellular/include/cellular/framework/API/ATHandler.h b/connectivity/cellular/include/cellular/framework/API/ATHandler.h index 5010b9a0e14..6ba6562fbe4 100644 --- a/connectivity/cellular/include/cellular/framework/API/ATHandler.h +++ b/connectivity/cellular/include/cellular/framework/API/ATHandler.h @@ -50,8 +50,6 @@ class FileHandle; extern const char *OK; extern const char *CRLF; -#define BUFF_SIZE 32 - /* AT Error types enumeration */ enum DeviceErrorType { DeviceErrorTypeNoError = 0, @@ -114,7 +112,7 @@ class ATHandler { /** Set callback function for URC * - * @param prefix URC text to look for, e.g. "+CMTI:". Maximum length is BUFF_SIZE. + * @param prefix URC text to look for, e.g. "+CMTI:". Maximum length is MBED_CONF_CELLULAR_AT_HANDLER_BUFFER_SIZE. * @param callback function to call on prefix, or 0 to remove callback */ void set_urc_handler(const char *prefix, Callback callback); @@ -601,7 +599,7 @@ class ATHandler { bool _is_fh_usable; // should fit any prefix and int - char _recv_buff[BUFF_SIZE]; + char _recv_buff[MBED_CONF_CELLULAR_AT_HANDLER_BUFFER_SIZE]; // reading position size_t _recv_len; // reading length @@ -630,7 +628,7 @@ class ATHandler { size_t _max_resp_length; // prefix set during resp_start and used to try matching possible information responses - char _info_resp_prefix[BUFF_SIZE]; + char _info_resp_prefix[MBED_CONF_CELLULAR_AT_HANDLER_BUFFER_SIZE]; bool _debug_on; bool _cmd_start; bool _use_delimiter; @@ -640,7 +638,7 @@ class ATHandler { // eventqueue event id int _event_id; - char _cmd_buffer[BUFF_SIZE]; + char _cmd_buffer[MBED_CONF_CELLULAR_AT_HANDLER_BUFFER_SIZE]; }; } // namespace mbed diff --git a/connectivity/cellular/mbed_lib.json b/connectivity/cellular/mbed_lib.json index 616a052f20d..c8a24fc2cd4 100644 --- a/connectivity/cellular/mbed_lib.json +++ b/connectivity/cellular/mbed_lib.json @@ -44,6 +44,10 @@ "plmn-fallback-auto" : { "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", "value": null + }, + "at-handler-buffer-size" : { + "help": "Size of the AT handler buffer", + "value": 32 } } } diff --git a/connectivity/cellular/source/framework/device/ATHandler.cpp b/connectivity/cellular/source/framework/device/ATHandler.cpp index c504b1f038d..a3009e70fcd 100644 --- a/connectivity/cellular/source/framework/device/ATHandler.cpp +++ b/connectivity/cellular/source/framework/device/ATHandler.cpp @@ -683,7 +683,7 @@ int32_t ATHandler::read_int() return -1; } - char buff[BUFF_SIZE]; + char buff[MBED_CONF_CELLULAR_AT_HANDLER_BUFFER_SIZE]; if (read_string(buff, sizeof(buff)) == 0) { return -1; } @@ -960,7 +960,7 @@ void ATHandler::resp_start(const char *prefix, bool stop) (void)fill_buffer(false); if (prefix) { - MBED_ASSERT(strlen(prefix) < BUFF_SIZE); + MBED_ASSERT(strlen(prefix) < MBED_CONF_CELLULAR_AT_HANDLER_BUFFER_SIZE); strcpy(_info_resp_prefix, prefix); // copy prefix so we can later use it without having to provide again for info_resp } @@ -1225,7 +1225,7 @@ void ATHandler::handle_start(const char *cmd, const char *cmd_chr) if (cmd_chr) { cmd_char_len = strlen(cmd_chr); } - MBED_ASSERT((3 + strlen(cmd) + cmd_char_len) < BUFF_SIZE); + MBED_ASSERT((3 + strlen(cmd) + cmd_char_len) < MBED_CONF_CELLULAR_AT_HANDLER_BUFFER_SIZE); memcpy(_cmd_buffer + len, cmd, strlen(cmd)); len += strlen(cmd); @@ -1258,7 +1258,7 @@ void ATHandler::cmd_start_stop(const char *cmd, const char *cmd_chr, const char nsapi_error_t ATHandler::at_cmd_str(const char *cmd, const char *cmd_chr, char *resp_buf, size_t buf_size, const char *format, ...) { - MBED_ASSERT(strlen(cmd) < BUFF_SIZE); + MBED_ASSERT(strlen(cmd) < MBED_CONF_CELLULAR_AT_HANDLER_BUFFER_SIZE); lock(); handle_start(cmd, cmd_chr); diff --git a/connectivity/cellular/tests/UNITTESTS/framework/AT/at_cellularcontext/CMakeLists.txt b/connectivity/cellular/tests/UNITTESTS/framework/AT/at_cellularcontext/CMakeLists.txt index 5772d7cf458..0daa233d6c9 100644 --- a/connectivity/cellular/tests/UNITTESTS/framework/AT/at_cellularcontext/CMakeLists.txt +++ b/connectivity/cellular/tests/UNITTESTS/framework/AT/at_cellularcontext/CMakeLists.txt @@ -12,6 +12,7 @@ target_compile_definitions(${TEST_NAME} MBED_CONF_CELLULAR_USE_SMS=1 MBED_CONF_NSAPI_DEFAULT_CELLULAR_APN=NULL MBED_CONF_PLATFORM_DEFAULT_SERIAL_BAUD_RATE=115200 + MBED_CONF_CELLULAR_AT_HANDLER_BUFFER_SIZE=32 ) target_sources(${TEST_NAME} diff --git a/connectivity/cellular/tests/UNITTESTS/framework/AT/at_cellulardevice/CMakeLists.txt b/connectivity/cellular/tests/UNITTESTS/framework/AT/at_cellulardevice/CMakeLists.txt index bdf0e684142..e065e68a141 100644 --- a/connectivity/cellular/tests/UNITTESTS/framework/AT/at_cellulardevice/CMakeLists.txt +++ b/connectivity/cellular/tests/UNITTESTS/framework/AT/at_cellulardevice/CMakeLists.txt @@ -18,6 +18,7 @@ target_compile_definitions(${TEST_NAME} MDMRXD=NC MBED_CONF_PLATFORM_DEFAULT_SERIAL_BAUD_RATE=115200 MBED_CONF_CELLULAR_USE_SMS=1 + MBED_CONF_CELLULAR_AT_HANDLER_BUFFER_SIZE=32 ) target_sources(${TEST_NAME} diff --git a/connectivity/cellular/tests/UNITTESTS/framework/AT/at_cellularinformation/CMakeLists.txt b/connectivity/cellular/tests/UNITTESTS/framework/AT/at_cellularinformation/CMakeLists.txt index 6a28c2556d6..b7a6ec83f7d 100644 --- a/connectivity/cellular/tests/UNITTESTS/framework/AT/at_cellularinformation/CMakeLists.txt +++ b/connectivity/cellular/tests/UNITTESTS/framework/AT/at_cellularinformation/CMakeLists.txt @@ -10,6 +10,7 @@ target_compile_definitions(${TEST_NAME} DEVICE_SERIAL=1 DEVICE_INTERRUPTIN=1 MBED_CONF_PLATFORM_DEFAULT_SERIAL_BAUD_RATE=115200 + MBED_CONF_CELLULAR_AT_HANDLER_BUFFER_SIZE=32 ) target_sources(${TEST_NAME} diff --git a/connectivity/cellular/tests/UNITTESTS/framework/AT/at_cellularnetwork/CMakeLists.txt b/connectivity/cellular/tests/UNITTESTS/framework/AT/at_cellularnetwork/CMakeLists.txt index 459172dc62d..70d33ecdc02 100644 --- a/connectivity/cellular/tests/UNITTESTS/framework/AT/at_cellularnetwork/CMakeLists.txt +++ b/connectivity/cellular/tests/UNITTESTS/framework/AT/at_cellularnetwork/CMakeLists.txt @@ -10,6 +10,7 @@ target_compile_definitions(${TEST_NAME} DEVICE_SERIAL=1 DEVICE_INTERRUPTIN=1 MBED_CONF_PLATFORM_DEFAULT_SERIAL_BAUD_RATE=115200 + MBED_CONF_CELLULAR_AT_HANDLER_BUFFER_SIZE=32 ) target_sources(${TEST_NAME} diff --git a/connectivity/cellular/tests/UNITTESTS/framework/AT/at_cellularsms/CMakeLists.txt b/connectivity/cellular/tests/UNITTESTS/framework/AT/at_cellularsms/CMakeLists.txt index 3278e53bd1a..2f62b64f8d5 100644 --- a/connectivity/cellular/tests/UNITTESTS/framework/AT/at_cellularsms/CMakeLists.txt +++ b/connectivity/cellular/tests/UNITTESTS/framework/AT/at_cellularsms/CMakeLists.txt @@ -11,6 +11,7 @@ target_compile_definitions(${TEST_NAME} DEVICE_INTERRUPTIN=1 MBED_CONF_PLATFORM_DEFAULT_SERIAL_BAUD_RATE=115200 MBED_CONF_CELLULAR_USE_SMS=1 + MBED_CONF_CELLULAR_AT_HANDLER_BUFFER_SIZE=32 ) target_sources(${TEST_NAME} diff --git a/connectivity/cellular/tests/UNITTESTS/framework/AT/at_cellularstack/CMakeLists.txt b/connectivity/cellular/tests/UNITTESTS/framework/AT/at_cellularstack/CMakeLists.txt index ca26a782c4c..79c69ea85ae 100644 --- a/connectivity/cellular/tests/UNITTESTS/framework/AT/at_cellularstack/CMakeLists.txt +++ b/connectivity/cellular/tests/UNITTESTS/framework/AT/at_cellularstack/CMakeLists.txt @@ -10,6 +10,7 @@ target_compile_definitions(${TEST_NAME} DEVICE_SERIAL=1 DEVICE_INTERRUPTIN=1 MBED_CONF_PLATFORM_DEFAULT_SERIAL_BAUD_RATE=115200 + MBED_CONF_CELLULAR_AT_HANDLER_BUFFER_SIZE=32 ) target_sources(${TEST_NAME} diff --git a/connectivity/cellular/tests/UNITTESTS/framework/device/athandler/CMakeLists.txt b/connectivity/cellular/tests/UNITTESTS/framework/device/athandler/CMakeLists.txt index 3b0e7e6ba35..9ea7f085230 100644 --- a/connectivity/cellular/tests/UNITTESTS/framework/device/athandler/CMakeLists.txt +++ b/connectivity/cellular/tests/UNITTESTS/framework/device/athandler/CMakeLists.txt @@ -12,6 +12,7 @@ target_compile_definitions(${TEST_NAME} DEVICE_SERIAL=1 DEVICE_INTERRUPTIN=1 MBED_CONF_PLATFORM_DEFAULT_SERIAL_BAUD_RATE=115200 + MBED_CONF_CELLULAR_AT_HANDLER_BUFFER_SIZE=32 ) target_sources(${TEST_NAME} diff --git a/connectivity/cellular/tests/UNITTESTS/framework/device/cellularcontext/CMakeLists.txt b/connectivity/cellular/tests/UNITTESTS/framework/device/cellularcontext/CMakeLists.txt index b02db309e4b..c774d6ce2ef 100644 --- a/connectivity/cellular/tests/UNITTESTS/framework/device/cellularcontext/CMakeLists.txt +++ b/connectivity/cellular/tests/UNITTESTS/framework/device/cellularcontext/CMakeLists.txt @@ -18,6 +18,7 @@ target_compile_definitions(${TEST_NAME} DEVICE_SERIAL=1 DEVICE_INTERRUPTIN=1 MBED_CONF_PLATFORM_DEFAULT_SERIAL_BAUD_RATE=115200 + MBED_CONF_CELLULAR_AT_HANDLER_BUFFER_SIZE=32 ) target_sources(${TEST_NAME} diff --git a/connectivity/cellular/tests/UNITTESTS/framework/device/cellulardevice/CMakeLists.txt b/connectivity/cellular/tests/UNITTESTS/framework/device/cellulardevice/CMakeLists.txt index 609015a25ed..b903eb08683 100644 --- a/connectivity/cellular/tests/UNITTESTS/framework/device/cellulardevice/CMakeLists.txt +++ b/connectivity/cellular/tests/UNITTESTS/framework/device/cellulardevice/CMakeLists.txt @@ -16,6 +16,7 @@ target_compile_definitions(${TEST_NAME} DEVICE_SERIAL=1 DEVICE_INTERRUPTIN=1 MBED_CONF_PLATFORM_DEFAULT_SERIAL_BAUD_RATE=115200 + MBED_CONF_CELLULAR_AT_HANDLER_BUFFER_SIZE=32 ) target_sources(${TEST_NAME} diff --git a/connectivity/cellular/tests/UNITTESTS/framework/device/cellularstatemachine/CMakeLists.txt b/connectivity/cellular/tests/UNITTESTS/framework/device/cellularstatemachine/CMakeLists.txt index 21953781848..00d3b3bd42d 100644 --- a/connectivity/cellular/tests/UNITTESTS/framework/device/cellularstatemachine/CMakeLists.txt +++ b/connectivity/cellular/tests/UNITTESTS/framework/device/cellularstatemachine/CMakeLists.txt @@ -17,6 +17,7 @@ target_compile_definitions(${TEST_NAME} DEVICE_SERIAL=1 DEVICE_INTERRUPTIN=1 MBED_CONF_PLATFORM_DEFAULT_SERIAL_BAUD_RATE=115200 + MBED_CONF_CELLULAR_AT_HANDLER_BUFFER_SIZE=32 ) target_sources(${TEST_NAME} diff --git a/connectivity/netsocket/tests/UNITTESTS/netsocket/CellularNonIPSocket/CMakeLists.txt b/connectivity/netsocket/tests/UNITTESTS/netsocket/CellularNonIPSocket/CMakeLists.txt index 214d1abf448..cc1022d152f 100644 --- a/connectivity/netsocket/tests/UNITTESTS/netsocket/CellularNonIPSocket/CMakeLists.txt +++ b/connectivity/netsocket/tests/UNITTESTS/netsocket/CellularNonIPSocket/CMakeLists.txt @@ -11,7 +11,7 @@ target_compile_definitions(${TEST_NAME} DEVICE_SERIAL=1 DEVICE_INTERRUPTIN=1 MBED_CONF_PLATFORM_DEFAULT_SERIAL_BAUD_RATE=115200 - + MBED_CONF_CELLULAR_AT_HANDLER_BUFFER_SIZE=32 ) target_sources(${TEST_NAME}