diff --git a/UNITTESTS/features/cellular/framework/AT/at_cellulardevice/at_cellulardevicetest.cpp b/UNITTESTS/features/cellular/framework/AT/at_cellulardevice/at_cellulardevicetest.cpp index 338f975a5c..d94240b35e 100644 --- a/UNITTESTS/features/cellular/framework/AT/at_cellulardevice/at_cellulardevicetest.cpp +++ b/UNITTESTS/features/cellular/framework/AT/at_cellulardevice/at_cellulardevicetest.cpp @@ -423,6 +423,6 @@ TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_set_ready_cb) FileHandle_stub fh1; AT_CellularDevice *dev = new AT_CellularDevice(&fh1); - EXPECT_TRUE(NSAPI_ERROR_UNSUPPORTED == dev->set_ready_cb(&device_ready_cb)); - EXPECT_TRUE(NSAPI_ERROR_UNSUPPORTED == dev->set_ready_cb(0)); + dev->set_ready_cb(&device_ready_cb); + dev->set_ready_cb(0); } diff --git a/UNITTESTS/features/cellular/framework/AT/at_cellularsms/at_cellularsmstest.cpp b/UNITTESTS/features/cellular/framework/AT/at_cellularsms/at_cellularsmstest.cpp index a21b7098de..fb8eeef021 100644 --- a/UNITTESTS/features/cellular/framework/AT/at_cellularsms/at_cellularsmstest.cpp +++ b/UNITTESTS/features/cellular/framework/AT/at_cellularsms/at_cellularsmstest.cpp @@ -71,14 +71,14 @@ TEST_F(TestAT_CellularSMS, test_AT_CellularSMS_initialize) AT_CellularSMS sms(at); ATHandler_stub::nsapi_error_value = NSAPI_ERROR_AUTH_FAILURE; - EXPECT_TRUE(NSAPI_ERROR_NO_MEMORY == sms.initialize(CellularSMS::CellularSMSMmodeText)); + EXPECT_EQ(NSAPI_ERROR_AUTH_FAILURE, sms.initialize(CellularSMS::CellularSMSMmodeText)); ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - EXPECT_TRUE(NSAPI_ERROR_OK == sms.initialize(CellularSMS::CellularSMSMmodeText)); + EXPECT_EQ(NSAPI_ERROR_OK, sms.initialize(CellularSMS::CellularSMSMmodeText)); sms.set_sms_callback(&my_callback); ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - EXPECT_TRUE(NSAPI_ERROR_OK == sms.initialize(CellularSMS::CellularSMSMmodeText)); + EXPECT_EQ(NSAPI_ERROR_OK, sms.initialize(CellularSMS::CellularSMSMmodeText)); ATHandler_stub::call_immediately = false; } diff --git a/UNITTESTS/features/cellular/framework/AT/athandler/athandlertest.cpp b/UNITTESTS/features/cellular/framework/AT/athandler/athandlertest.cpp index fb06161bb7..a7ee8227bd 100644 --- a/UNITTESTS/features/cellular/framework/AT/athandler/athandlertest.cpp +++ b/UNITTESTS/features/cellular/framework/AT/athandler/athandlertest.cpp @@ -160,7 +160,7 @@ TEST_F(TestATHandler, test_ATHandler_set_urc_handler) at.set_urc_handler(ch, cb); //THIS IS NOT same callback in find_urc_handler??? - EXPECT_TRUE(NSAPI_ERROR_OK == at.set_urc_handler(ch, cb)); + at.set_urc_handler(ch, cb); } TEST_F(TestATHandler, test_ATHandler_remove_urc_handler) diff --git a/UNITTESTS/stubs/ATHandler_stub.cpp b/UNITTESTS/stubs/ATHandler_stub.cpp index 5ae5d4fca6..a1ee341604 100644 --- a/UNITTESTS/stubs/ATHandler_stub.cpp +++ b/UNITTESTS/stubs/ATHandler_stub.cpp @@ -121,7 +121,7 @@ void ATHandler::set_file_handle(FileHandle *fh) { } -nsapi_error_t ATHandler::set_urc_handler(const char *urc, mbed::Callback cb) +void ATHandler::set_urc_handler(const char *urc, mbed::Callback cb) { if (ATHandler_stub::urc_amount < kATHandler_urc_table_max_size) { ATHandler_stub::callback[ATHandler_stub::urc_amount] = cb; @@ -138,7 +138,6 @@ nsapi_error_t ATHandler::set_urc_handler(const char *urc, mbed::Callback if (ATHandler_stub::call_immediately) { cb(); } - return ATHandler_stub::nsapi_error_value; } void ATHandler::remove_urc_handler(const char *prefix) diff --git a/UNITTESTS/stubs/AT_CellularDevice_stub.cpp b/UNITTESTS/stubs/AT_CellularDevice_stub.cpp index 9b62965795..77dc761dd5 100644 --- a/UNITTESTS/stubs/AT_CellularDevice_stub.cpp +++ b/UNITTESTS/stubs/AT_CellularDevice_stub.cpp @@ -156,9 +156,8 @@ nsapi_error_t AT_CellularDevice::is_ready() return NSAPI_ERROR_OK; } -nsapi_error_t AT_CellularDevice::set_ready_cb(mbed::Callback callback) +void AT_CellularDevice::set_ready_cb(mbed::Callback callback) { - return NSAPI_ERROR_UNSUPPORTED; } nsapi_error_t AT_CellularDevice::set_power_save_mode(int periodic_time, int active_time) diff --git a/UNITTESTS/target_h/myCellularDevice.h b/UNITTESTS/target_h/myCellularDevice.h index ffd5a8819b..301f2a1466 100644 --- a/UNITTESTS/target_h/myCellularDevice.h +++ b/UNITTESTS/target_h/myCellularDevice.h @@ -129,9 +129,8 @@ public: return NSAPI_ERROR_OK; } - virtual nsapi_error_t set_ready_cb(Callback callback) + virtual void set_ready_cb(Callback callback) { - return NSAPI_ERROR_UNSUPPORTED; } nsapi_error_t set_power_save_mode(int periodic_time, int active_time) diff --git a/features/cellular/TESTS/api/cellular_power/main.cpp b/features/cellular/TESTS/api/cellular_power/main.cpp index ac5ab953d2..5990c5200d 100644 --- a/features/cellular/TESTS/api/cellular_power/main.cpp +++ b/features/cellular/TESTS/api/cellular_power/main.cpp @@ -52,11 +52,10 @@ static void urc_callback() static void wait_for_power(CellularPower *pwr) { - nsapi_error_t err = cellular_device->set_ready_cb(&urc_callback); - TEST_ASSERT(err == NSAPI_ERROR_OK || err == NSAPI_ERROR_UNSUPPORTED); + cellular_device->set_ready_cb(&urc_callback); int sanity_count = 0; - err = cellular_device->init(); + nsapi_error_t err = cellular_device->init(); while (err != NSAPI_ERROR_OK) { sanity_count++; wait(1); @@ -65,8 +64,7 @@ static void wait_for_power(CellularPower *pwr) } TEST_ASSERT(cellular_device->is_ready() == NSAPI_ERROR_OK); - - TEST_ASSERT(cellular_device->set_ready_cb(0) == NSAPI_ERROR_OK); + cellular_device->set_ready_cb(0); } static void test_power_interface() diff --git a/features/cellular/framework/API/CellularDevice.h b/features/cellular/framework/API/CellularDevice.h index d3b57873b4..35c46eb27e 100644 --- a/features/cellular/framework/API/CellularDevice.h +++ b/features/cellular/framework/API/CellularDevice.h @@ -287,12 +287,8 @@ public: /** Set callback function to listen when device is ready. * * @param callback function to call on device ready, or NULL to remove callback. - * - * @return NSAPI_ERROR_OK on success - * NSAPI_ERROR_NO_MEMORY on memory failure - * NSAPI_ERROR_UNSUPPORTED if not overridden by the target modem */ - virtual nsapi_error_t set_ready_cb(Callback callback) = 0; + virtual void set_ready_cb(Callback callback) = 0; /** Set power save mode * diff --git a/features/cellular/framework/AT/ATHandler.cpp b/features/cellular/framework/AT/ATHandler.cpp index 93ff0a9e6e..4371f4ddaa 100644 --- a/features/cellular/framework/AT/ATHandler.cpp +++ b/features/cellular/framework/AT/ATHandler.cpp @@ -90,11 +90,7 @@ ATHandler::ATHandler(FileHandle *fh, EventQueue &queue, uint32_t timeout, const if (output_delimiter) { _output_delimiter = new char[strlen(output_delimiter) + 1]; - if (!_output_delimiter) { - MBED_ASSERT(0); - } else { - memcpy(_output_delimiter, output_delimiter, strlen(output_delimiter) + 1); - } + memcpy(_output_delimiter, output_delimiter, strlen(output_delimiter) + 1); } else { _output_delimiter = NULL; } @@ -160,38 +156,32 @@ void ATHandler::set_is_filehandle_usable(bool usable) _is_fh_usable = usable; } -nsapi_error_t ATHandler::set_urc_handler(const char *prefix, Callback callback) +void ATHandler::set_urc_handler(const char *prefix, Callback callback) { if (!callback) { remove_urc_handler(prefix); - return NSAPI_ERROR_OK; + return; } if (find_urc_handler(prefix)) { tr_warn("URC already added with prefix: %s", prefix); - return NSAPI_ERROR_OK; + return; } struct oob_t *oob = new struct oob_t; - if (!oob) { - return NSAPI_ERROR_NO_MEMORY; - } else { - size_t prefix_len = strlen(prefix); - if (prefix_len > _oob_string_max_length) { - _oob_string_max_length = prefix_len; - if (_oob_string_max_length > _max_resp_length) { - _max_resp_length = _oob_string_max_length; - } + size_t prefix_len = strlen(prefix); + if (prefix_len > _oob_string_max_length) { + _oob_string_max_length = prefix_len; + if (_oob_string_max_length > _max_resp_length) { + _max_resp_length = _oob_string_max_length; } - - oob->prefix = prefix; - oob->prefix_len = prefix_len; - oob->cb = callback; - oob->next = _oobs; - _oobs = oob; } - return NSAPI_ERROR_OK; + oob->prefix = prefix; + oob->prefix_len = prefix_len; + oob->cb = callback; + oob->next = _oobs; + _oobs = oob; } void ATHandler::remove_urc_handler(const char *prefix) diff --git a/features/cellular/framework/AT/ATHandler.h b/features/cellular/framework/AT/ATHandler.h index dd76b98ba8..0be1809567 100644 --- a/features/cellular/framework/AT/ATHandler.h +++ b/features/cellular/framework/AT/ATHandler.h @@ -124,9 +124,8 @@ public: * * @param prefix URC text to look for, e.g. "+CMTI:" * @param callback function to call on prefix, or 0 to remove callback - * @return NSAPI_ERROR_OK or NSAPI_ERROR_NO_MEMORY if no memory */ - nsapi_error_t set_urc_handler(const char *prefix, Callback callback); + void set_urc_handler(const char *prefix, Callback callback); ATHandler *_nextATHandler; // linked list diff --git a/features/cellular/framework/AT/AT_CellularDevice.cpp b/features/cellular/framework/AT/AT_CellularDevice.cpp index 9c504d1eda..b60673ae17 100644 --- a/features/cellular/framework/AT/AT_CellularDevice.cpp +++ b/features/cellular/framework/AT/AT_CellularDevice.cpp @@ -169,26 +169,22 @@ CellularContext *AT_CellularDevice::get_context_list() const CellularContext *AT_CellularDevice::create_context(FileHandle *fh, const char *apn) { - ATHandler *atHandler = get_at_handler(fh); - if (atHandler) { - AT_CellularContext *ctx = create_context_impl(*atHandler, apn); - AT_CellularContext *curr = _context_list; + AT_CellularContext *ctx = create_context_impl(*get_at_handler(fh), apn); + AT_CellularContext *curr = _context_list; - if (_context_list == NULL) { - _context_list = ctx; - return ctx; - } - - AT_CellularContext *prev; - while (curr) { - prev = curr; - curr = (AT_CellularContext *)curr->_next; - } - - prev->_next = ctx; + if (_context_list == NULL) { + _context_list = ctx; return ctx; } - return NULL; + + AT_CellularContext *prev; + while (curr) { + prev = curr; + curr = (AT_CellularContext *)curr->_next; + } + + prev->_next = ctx; + return ctx; } AT_CellularContext *AT_CellularDevice::create_context_impl(ATHandler &at, const char *apn) @@ -223,56 +219,36 @@ void AT_CellularDevice::delete_context(CellularContext *context) CellularNetwork *AT_CellularDevice::open_network(FileHandle *fh) { if (!_network) { - ATHandler *atHandler = get_at_handler(fh); - if (atHandler) { - _network = open_network_impl(*atHandler); - } - } - if (_network) { - _network_ref_count++; + _network = open_network_impl(*get_at_handler(fh)); } + _network_ref_count++; return _network; } CellularSMS *AT_CellularDevice::open_sms(FileHandle *fh) { if (!_sms) { - ATHandler *atHandler = get_at_handler(fh); - if (atHandler) { - _sms = open_sms_impl(*atHandler); - } - } - if (_sms) { - _sms_ref_count++; + _sms = open_sms_impl(*get_at_handler(fh)); } + _sms_ref_count++; return _sms; } CellularPower *AT_CellularDevice::open_power(FileHandle *fh) { if (!_power) { - ATHandler *atHandler = get_at_handler(fh); - if (atHandler) { - _power = open_power_impl(*atHandler); - } - } - if (_power) { - _power_ref_count++; + _power = open_power_impl(*get_at_handler(fh)); } + _power_ref_count++; return _power; } CellularInformation *AT_CellularDevice::open_information(FileHandle *fh) { if (!_information) { - ATHandler *atHandler = get_at_handler(fh); - if (atHandler) { - _information = open_information_impl(*atHandler); - } - } - if (_information) { - _info_ref_count++; + _information = open_information_impl(*get_at_handler(fh)); } + _info_ref_count++; return _information; } @@ -419,9 +395,8 @@ nsapi_error_t AT_CellularDevice::is_ready() return _at->unlock_return_error(); } -nsapi_error_t AT_CellularDevice::set_ready_cb(Callback callback) +void AT_CellularDevice::set_ready_cb(Callback callback) { - return NSAPI_ERROR_UNSUPPORTED; } nsapi_error_t AT_CellularDevice::set_power_save_mode(int periodic_time, int active_time) diff --git a/features/cellular/framework/AT/AT_CellularDevice.h b/features/cellular/framework/AT/AT_CellularDevice.h index 64db7a4da5..1412676461 100644 --- a/features/cellular/framework/AT/AT_CellularDevice.h +++ b/features/cellular/framework/AT/AT_CellularDevice.h @@ -78,7 +78,7 @@ public: virtual nsapi_error_t is_ready(); - virtual nsapi_error_t set_ready_cb(Callback callback); + virtual void set_ready_cb(Callback callback); virtual nsapi_error_t set_power_save_mode(int periodic_time, int active_time = 0); diff --git a/features/cellular/framework/AT/AT_CellularSMS.cpp b/features/cellular/framework/AT/AT_CellularSMS.cpp index 3dc7125e7e..fe5ff6d7e5 100644 --- a/features/cellular/framework/AT/AT_CellularSMS.cpp +++ b/features/cellular/framework/AT/AT_CellularSMS.cpp @@ -248,10 +248,8 @@ nsapi_error_t AT_CellularSMS::set_csdh(int show_header) nsapi_error_t AT_CellularSMS::initialize(CellularSMSMmode mode) { - if (NSAPI_ERROR_OK != _at.set_urc_handler("+CMTI:", callback(this, &AT_CellularSMS::cmti_urc)) || - NSAPI_ERROR_OK != _at.set_urc_handler("+CMT:", callback(this, &AT_CellularSMS::cmt_urc))) { - return NSAPI_ERROR_NO_MEMORY; - } + _at.set_urc_handler("+CMTI:", callback(this, &AT_CellularSMS::cmti_urc)); + _at.set_urc_handler("+CMT:", callback(this, &AT_CellularSMS::cmt_urc)); _at.lock(); set_cnmi(); //set new SMS indication @@ -1047,11 +1045,6 @@ nsapi_error_t AT_CellularSMS::list_messages() _at.resp_start("+CMGL:"); while (_at.info_resp()) { info = new sms_info_t(); - if (!info) { - _at.resp_stop(); - return NSAPI_ERROR_NO_MEMORY; - } - if (_mode == CellularSMSMmodePDU) { //+CMGL: ,,[],[ // +CMGL:,,[], @@ -1062,11 +1055,6 @@ nsapi_error_t AT_CellularSMS::list_messages() length = length * 2 + 20; // *2 as it's hex encoded and +20 as service center number is not included in size given by CMGL pdu = new char[length]; memset(pdu, 0, length); - if (!pdu) { - delete info; - _at.resp_stop(); - return NSAPI_ERROR_NO_MEMORY; - } _at.read_string(pdu, length, true); if (_at.get_last_error() == NSAPI_ERROR_OK) { info->msg_size = get_data_from_pdu(pdu, info, &part_number); @@ -1194,9 +1182,6 @@ uint16_t AT_CellularSMS::pack_7_bit_gsm_and_hex(const char *str, uint16_t len, c } // convert to 7bit gsm first char *gsm_str = new char[len]; - if (!gsm_str) { - return 0; - } for (uint16_t y = 0; y < len; y++) { for (int x = 0; x < GSM_TO_ASCII_TABLE_SIZE; x++) { if (gsm_to_ascii[x] == str[y]) { diff --git a/features/cellular/framework/AT/AT_CellularStack.cpp b/features/cellular/framework/AT/AT_CellularStack.cpp index a43e2ebd89..333a88cb84 100644 --- a/features/cellular/framework/AT/AT_CellularStack.cpp +++ b/features/cellular/framework/AT/AT_CellularStack.cpp @@ -116,11 +116,6 @@ nsapi_error_t AT_CellularStack::socket_open(nsapi_socket_t *handle, nsapi_protoc } _socket = new CellularSocket*[max_socket_count]; - if (!_socket) { - tr_error("No memory to open socket!"); - _socket_mutex.unlock(); - return NSAPI_ERROR_NO_SOCKET; - } _socket_count = max_socket_count; for (int i = 0; i < max_socket_count; i++) { _socket[i] = 0; diff --git a/features/cellular/framework/common/CellularList.h b/features/cellular/framework/common/CellularList.h index d8ee8660fc..37f4177447 100644 --- a/features/cellular/framework/common/CellularList.h +++ b/features/cellular/framework/common/CellularList.h @@ -50,9 +50,6 @@ public: T *add_new() { T *temp = new T; - if (!temp) { - return NULL; - } temp->next = NULL; if (_head == NULL) { _head = temp; diff --git a/features/cellular/framework/targets/QUECTEL/BG96/QUECTEL_BG96.cpp b/features/cellular/framework/targets/QUECTEL/BG96/QUECTEL_BG96.cpp index 89494eb1f2..35007ba96a 100644 --- a/features/cellular/framework/targets/QUECTEL/BG96/QUECTEL_BG96.cpp +++ b/features/cellular/framework/targets/QUECTEL/BG96/QUECTEL_BG96.cpp @@ -61,3 +61,12 @@ AT_CellularContext *QUECTEL_BG96::create_context_impl(ATHandler &at, const char return new QUECTEL_BG96_CellularContext(at, this, apn); } +AT_CellularInformation *QUECTEL_BG96::open_information_impl(ATHandler &at) +{ + return new QUECTEL_BG96_CellularInformation(at); +} + +void QUECTEL_BG96::set_ready_cb(Callback callback) +{ + _at->set_urc_handler(DEVICE_READY_URC, callback); +} diff --git a/features/cellular/framework/targets/QUECTEL/BG96/QUECTEL_BG96.h b/features/cellular/framework/targets/QUECTEL/BG96/QUECTEL_BG96.h index 956803edf4..8bab3b34a2 100644 --- a/features/cellular/framework/targets/QUECTEL/BG96/QUECTEL_BG96.h +++ b/features/cellular/framework/targets/QUECTEL/BG96/QUECTEL_BG96.h @@ -32,7 +32,7 @@ protected: // AT_CellularDevice virtual AT_CellularPower *open_power_impl(ATHandler &at); virtual AT_CellularContext *create_context_impl(ATHandler &at, const char *apn); virtual AT_CellularInformation *open_information_impl(ATHandler &at); - virtual nsapi_error_t set_ready_cb(Callback callback); + virtual void set_ready_cb(Callback callback); public: void handle_urc(FileHandle *fh);