diff --git a/features/cellular/framework/targets/QUECTEL/EC2X/QUECTEL_EC2X.cpp b/features/cellular/framework/targets/QUECTEL/EC2X/QUECTEL_EC2X.cpp index bace87723c8..b9f27756c7b 100644 --- a/features/cellular/framework/targets/QUECTEL/EC2X/QUECTEL_EC2X.cpp +++ b/features/cellular/framework/targets/QUECTEL/EC2X/QUECTEL_EC2X.cpp @@ -46,6 +46,11 @@ using namespace events; #define MBED_CONF_QUECTEL_EC2X_POLARITY 1 // active high #endif +#if !defined(MBED_CONF_QUECTEL_EC2X_START_TIMEOUT) +#define MBED_CONF_QUECTEL_EC2X_START_TIMEOUT 15000 +#endif + + static const intptr_t cellular_properties[AT_CellularDevice::PROPERTY_MAX] = { AT_CellularNetwork::RegistrationModeLAC, // C_EREG AT_CellularNetwork::RegistrationModeLAC, // C_GREG @@ -128,7 +133,7 @@ nsapi_error_t QUECTEL_EC2X::soft_power_on() _at.lock(); - _at.set_at_timeout(5000); + _at.set_at_timeout(MBED_CONF_QUECTEL_EC2X_START_TIMEOUT); _at.resp_start(); _at.set_stop_tag("RDY"); bool rdy = _at.consume_to_stop_tag(); diff --git a/features/cellular/framework/targets/QUECTEL/EC2X/mbed_lib.json b/features/cellular/framework/targets/QUECTEL/EC2X/mbed_lib.json index ca0d1c735e0..224ca0a592e 100644 --- a/features/cellular/framework/targets/QUECTEL/EC2X/mbed_lib.json +++ b/features/cellular/framework/targets/QUECTEL/EC2X/mbed_lib.json @@ -33,6 +33,10 @@ "help": "Serial connection baud rate", "value": 115200 }, + "start-timeout": { + "help": "How long to wait for modem to start after reset (milliseconds)", + "value": 15000 + }, "provide-default": { "help": "Provide as default CellularDevice [true/false]", "value": false