Commit Graph

242 Commits (455015daf58222a365a7e6e1727927ad01776798)

Author SHA1 Message Date
Volodymyr Medvid b0a33273ff Correctly include EventQueue.h
There are two EventQueue.h in mbed-os codebase:
events/EventQueue.h
features/FEATURE_BLE/ble/pal/EventQueue.h

By accident, `mbed compile` generates includes.txt with the correct
order of include search paths. This is not the case for the CMake
exporter: targets with FEATURE_BLE enables fail to compile with errors:

mbed-os/features/cellular/framework/AT/ATHandler.h:99:60: error:
'events' has not been declared

Update all places to always include either "events/EventQueue.h"
or "ble/pal/EventQueue.h": to always find the correct header.
2019-02-21 17:59:05 +02:00
Martin Kojtal dbd92c746b
Merge pull request #9387 from tymoteuszblochmobica/Sockets
Multihoming initial release
2019-02-21 13:50:03 +01:00
Cruz Monrreal b088bd493a
Merge pull request #9759 from michalpasztamobica/memory_handling_fixes
Multiple memory handling fixes
2019-02-20 12:07:45 -06:00
Tymoteusz Bloch 641189c357 Multihoming change parameter orded in gethostbyname 2019-02-20 14:37:33 +02:00
Michal Paszta b241943c12 Multiple memory handling fixes
Correct memory clean-ups in multiple tests and a stub.
2019-02-20 10:50:55 +01:00
Cruz Monrreal feae56eea1
Merge pull request #9493 from RonEld/add_platform_initialization_in_trng_test
Initialize platform in trng test
2019-02-19 15:27:40 -06:00
Tymoteusz Bloch 49141376ee Multihoming initial release
Added Multihoming feature to LWIP (ability to use more than one network interfaces) for increasing networking reliability.
This involves:

    LWIP interface
    LWIP IP routing
    DNS storage
    Sockets (bind to interface name possibility)
    possibility to add non default network interface
    cellular middleware modifications if cellular connection is used
2019-02-19 17:39:46 +02:00
Ari Parkkila 605a42d38f Cellular: Fix Gemalto/Cinterion socket open defer 2019-02-18 06:24:42 -08:00
Ron Eldor c94b5861e4 Add mbedtls platform setup and teardown to modules
Add calls to `mbedtls_platform_setup()`
and `mbedtls_platform_teardown()` to all modules and tests using Mbed TLS.
2019-02-18 11:43:32 +02:00
Cruz Monrreal fdd2a9402a
Merge pull request #9728 from AriParkkila/at-handler-clear-sigio
Cellular: Fix sigio to be released in ATHandler destructor
2019-02-15 12:41:44 -06:00
Cruz Monrreal 7f248970ec
Merge pull request #9660 from blind-owl/clean_cellular_trace
Cellular: clean sensitive information from trace
2019-02-15 12:28:25 -06:00
Ari Parkkila 0c697f4421 Cellular: Fix sigio to be released in ATHandler destructor 2019-02-15 05:07:36 -08:00
Hasnain Virk a14acfad14 Updating unit tests
Updating unit test in response to the change in the link ADR related
APIs.
2019-02-14 17:15:47 +02:00
Hasnain Virk d257d7287f Including CTest explicitly
enable_test() seems to include CTest framework in the CMakeLists.txt but
that would result in inconsistencies and CTest framework will not be
able to find DartConfiguration file or MemCheck tool.

Including CTest framework explicitely in the CMakeLists.txt seems to
solve the issue.
2019-02-14 17:15:22 +02:00
Jari Poyhonen b6a0892e86 Cellular: clean sensitive information from trace
Information removed from the cellular subsystem trace log:
* SIM pin
* APN username and password

Added get_debug() to ATHandler.h to get the current trace state in order
to support suspend/resume of trace output.
2019-02-14 09:22:54 +02:00
Cruz Monrreal 709e6ff795
Merge pull request #9600 from kjbracey-arm/atomic_exchange_64
Atomic extensions: 64-bit, bool, exchange
2019-02-12 20:28:00 -06:00
Martin Kojtal 10bb66a053
Merge pull request #9424 from SeppoTakalo/ONME-4125
Allows multiple network status listeners
2019-02-11 10:41:35 +01:00
Nir Sonnenschein 8c2ad14ace
Merge pull request #9568 from ARMmbed/feature-cellular-refactor
Merge feature cellular refactor
2019-02-07 18:17:32 +02:00
Martin Kojtal a0ec77d9a8
Merge pull request #9378 from oscarh/master
Add get_connection_status() override in CellularContext
2019-02-05 10:39:00 +01:00
Kevin Bracey 694adaae8b Add atomic exchange 2019-02-05 10:53:30 +02:00
Kevin Bracey f8e3f5dc2c Add 64-bit atomics 2019-02-05 10:45:40 +02:00
Oscar Hellström 0ff91c1d5c Add unit test stub for get_connection_status() 2019-01-31 20:56:21 +01:00
Seppo Takalo 86019af7eb Add unittest to verify removal of last event listener 2019-01-31 15:11:48 +02:00
Seppo Takalo 9c98d1572b Allow multiple network status listeners
Allow more than one callback to be register to NetworkInterfaces.
This introduces new APIs:
void NetworkInterface::add_event_listener(...);
void NetworkInterface::remove_event_listener(...);

Which internally calls interfaces attach() functions.
2019-01-31 15:04:24 +02:00
Ari Parkkila 47a8f24b1e Cellular: Fix astyle 2019-01-31 04:15:01 -08:00
Martin Kojtal 2cd83b45a4
Merge pull request #9392 from michalpasztamobica/tlssocket_documentation_update
Documentation of TLSSocket behavior on AUTH_FAILURE
2019-01-23 14:20:43 +01:00
Jari Poyhonen 626935f331 Fix valgrind error in cellular athandler unit test 2019-01-23 09:43:03 +02:00
Jari Poyhonen b16d8dbf3b cellular unit test updates due valgrind run 2019-01-23 09:43:02 +02:00
Michal Paszta 2cda5d28b8 Documentation of TLSSocket behavior on AUTH_FAILURE 2019-01-22 12:40:42 +01:00
Ari Parkkila 007caa0235 Cellular: Update modem drivers with get_default and other new APIs 2019-01-22 02:24:45 -08:00
Ari Parkkila c4de2f2f0e Cellular: Power API updated to match onboard_modem_api 2019-01-22 02:24:45 -08:00
Ari Parkkila 75caa75a96 Cellular: Add get_target_default_instance in CellularDevice 2019-01-22 02:24:45 -08:00
Ari Parkkila 139d506a24 Cellular: Move power on/off to device and remove CellularPower 2019-01-22 02:24:45 -08:00
Mirela Chirica 55b54f7c97 Cellular: Added API for setting default parameters to a network interface 2019-01-22 02:24:45 -08:00
Mirela Chirica ba3727b4e8 Cellular: Unit tests for Non-IP socket 2019-01-22 02:24:45 -08:00
Mirela Chirica d301e13610 Cellular: Non-IP socket and PDP context for EPS control plane data delivery 2019-01-22 02:24:44 -08:00
Teppo Järvelin 84e5013a2d Cellular: added setting of data carrier support for UART. 2019-01-22 02:23:04 -08:00
Teppo Järvelin 725e14d15f Cellular: Add State machine unit tests. 2019-01-22 02:23:04 -08:00
Teppo Järvelin 0c9130efeb Cellular: change stack_type_supported to get_property
Change usage of AT_CellularContext::stack_type_supported to
AT_CellularBase::get_property. This way we can rid of
targets overriding stack_type_supported and delete
unnecessary classes and simplify new targets.
2019-01-22 02:23:04 -08:00
Teppo Järvelin 7c9f9d47ec Cellular: Remove target files inheriting from AT_CellularNetwork
After AT_CellularNetwork::has_registration was replaced with
CellularProperties and better
AT_CellularNetwork::set_access_technology_impl default
implementation we can delete most of the target specific classes
that inherit AT_CellularNetwork.
2019-01-22 02:23:04 -08:00
Teppo Järvelin 9a72c221d8 Cellular: Change AT_CellularNetwork to use CellularProperties.
This change enables removing function has_registration from
class AT_CellularNetwork and all targets inheriting
AT_CellularNetwork.
2019-01-22 02:23:04 -08:00
Teppo Järvelin b0d37ebec4 Cellular: Removed unnecessary checks after new
After this change we were able to change methods
ATHandler::set_urc_handler and CellularDevice::set_ready_cb to void
and simplify error handling.
2019-01-22 02:23:04 -08:00
Teppo Järvelin 8fcd2e0401 Cellular: changed support features to CellularProperty array. 2019-01-22 02:23:04 -08:00
Ari Parkkila c7486b2a0d Cellular: Added shutdown() 2019-01-22 02:23:04 -08:00
Ari Parkkila bdddb445a6 Cellular: Moved reset from power to device 2019-01-22 02:23:03 -08:00
Ari Parkkila 1bc84404b2 Cellular: Removed set_power_level() 2019-01-22 02:23:03 -08:00
Ari Parkkila 0813b969f7 Cellular: Unify set_at_mode and init_module into init() 2019-01-22 02:23:03 -08:00
Ari Parkkila 2dde5a4376 Cellular: Move ready_cb from power to device 2019-01-22 02:23:03 -08:00
Ari Parkkila 19b24946df Cellular: AT remove_urc_handler changed to set_urc_handler(prefix, 0) 2019-01-22 02:23:03 -08:00
Ari Parkkila e49f90fb0b Cellular: Move device_ready from power to device 2019-01-22 02:23:03 -08:00
Ari Parkkila 38f79a9b65 Cellular: Move PSM setting from power to device 2019-01-22 02:23:03 -08:00
Ari Parkkila 36292a4f14 Cellular: Move eDRX setting from power to network 2019-01-22 02:23:03 -08:00
Teemu Kultala 22a536a78a cellular: eps ciot optimization network support check astyle fix 2019-01-22 02:23:03 -08:00
Teemu Kultala f94117559b cellular: eps ciot optimization network support check
-added an API for checking network eps ciot optimization support
-renamed the API for getting the UE parameters
-the API for setting the UE parameters includes now a callback, which
will be called once network support for eps ciot optimization is known
2019-01-22 02:23:03 -08:00
Teppo Järvelin 22d9105318 Removed CellularSIM interface.
Moved methods to classes CellularDevice and CellularInformation.
SIM interface was removed to simplify cellular usage and
methods better suite new classes.
Updated greentea and unit tests.
2019-01-22 02:23:03 -08:00
Ari Parkkila 235c2bc00d Cellular: Removed get_extended_signal_quality and changed get_signal_quality 2019-01-22 02:23:03 -08:00
Volodymyr Medvid af56cd8b87 Fix links to documentation on https://os.mbed.com 2019-01-21 14:56:40 -08:00
Martin Kojtal a23a850a42
Merge pull request #9247 from kjbracey-arm/atomic_load_store
Add atomic loads and stores and barriers
2019-01-21 13:39:00 +01:00
Kevin Bracey ab037c6f69 InternetSocket: better protect _callback
sigio callbacks can be triggered from interrupt, so changing _callback
needs critical section protection, not just a mutex.
2019-01-18 15:37:11 +02:00
Kevin Bracey 0f6a4cd0bd InternetSocket: Use atomics, not volatile
Use a better tool for the job.
2019-01-18 15:37:11 +02:00
Kevin Bracey 703e44031c Add atomic loads and stores and barriers
Add atomic load and store functions, and add barriers to the existing atomic
functions.

File currently has no explicit barriers - we don't support SMP, so don't
need CPU barriers.

But we do need to worry about compiler barriers - particularly if link time
optimisation is activated so that the compiler can see inside these
functions. The assembler or intrinsics that access PRIMASK for
enter/exit critical act as barriers, but LDREX, STREX and simple
volatile pointer loads and stores do not.
2019-01-18 09:32:04 +02:00
Kevin Bracey 6f757a5824 LoRAWAN: volatile bool -> atomic_flag
Now we have a proper atomic flag API, use it rather than a volatile
cheat.
2019-01-14 11:59:25 +02:00
Martin Kojtal ad76c94369
Merge pull request #9066 from deepikabhavnani/equeue_chain_fixed
Equeue chaining bug fixes
2019-01-02 09:16:19 +00:00
Deepika 14606b5e08 Update the unit test stubs as per API changes 2018-12-27 15:44:32 -06:00
Anna Bridge 1d230c1d37
Merge pull request #9168 from JuhPuur/unittest_logging_fix
Fix to unit test losing process output due to timing issue
2018-12-24 12:49:26 +00:00
Juhani Puurula 039fbe7e26 Fix to unit test losing process output due to timing issue 2018-12-21 10:24:13 +02:00
Teemu Kultala b87b52a45c cellular: AT Handler API changes after review 2018-12-14 13:19:03 +02:00
Teemu Kultala dbdbae3632 cellular: AT Handler API 2018-12-14 13:19:03 +02:00
Cruz Monrreal ecd1133baf
Merge pull request #8819 from lorjala/unittests-docs
Improve the unit testing documentation
2018-12-13 18:17:12 -06:00
Mel W b71391040b
Editorial changes 2018-12-13 09:44:13 +02:00
Hasnain Virk 138fd740b7 Unit test fix
A missing macro definition is added to the unit-test cmake file for
LoRaPHY class.
2018-12-10 08:53:30 +02:00
Hasnain Virk ca083671ff Updating get_rx_window_params() API in stubs
Unittest stubs needed to be updated for the API change.
Although this API is private and internal to LoRaPHY, somehow it
appeared in the LoRaPHYStub. Updating it for consistency.
2018-12-10 08:53:30 +02:00
Martin Kojtal b9927e5f27
Merge pull request #8795 from TeemuKultala/cellular_connect_status_fix
cellular: registration status change fix
2018-11-30 14:32:34 +01:00
Deepika 09f4d0bb85 Add stats stub functions to rest of the cmake files 2018-11-26 11:04:37 -06:00
deepikabhavnani c272377a81 Make sure no memory overhead if statistics are disabled 2018-11-26 09:42:45 -06:00
deepikabhavnani 117eb0bc87 Add socketstats stub functions for unittest and addressed reviews 2018-11-26 09:42:50 -06:00
Teemu Kultala e767255093 cellular: registration status change unit test fix 2018-11-26 11:58:54 +02:00
Teemu Kultala af534f592e cellular: registration status change astyle fix 2018-11-26 11:20:21 +02:00
Teemu Kultala a1b1d7c4bd cellular: registration status change fix 2018-11-26 11:20:21 +02:00
Martin Kojtal b9ea30abf1 Merge branch 'socket_open_deprecated' of https://github.com/michalpasztamobica/mbed-os into dev_rollup 2018-11-23 18:38:02 +00:00
Martin Kojtal 61c7947b47 Merge branch 'cell-trace' of https://github.com/AriParkkila/mbed-os into dev_rollup 2018-11-23 18:37:40 +00:00
Lari-Matias Orjala 2ac557bcb1 update unittesting documentation 2018-11-20 13:04:51 +02:00
Seppo Takalo 8e41cac583 Add license headers into TLSSocket unittests 2018-11-20 11:47:29 +02:00
Seppo Takalo bdc355f873 Astyle fixes 2018-11-19 15:31:31 +02:00
Seppo Takalo 6192ed1480 Compare the intermediate timestamps as well 2018-11-19 15:19:50 +02:00
Michal Paszta 392bccf835 Add unit tests for TLSSocket and TLSSocketWrapper
This also includes their Datagram counterparts: DTLSSocket and DTLSSocketWrapper.
Coverage missing for timer-related functionality, but this would require more advanced stub development.
The extra (d)tls_test_config.h is necessary for successful compilation without HW support for the mbedtls features in unittests.
I reused the mbedtls stub found in features/nanostack/coap-service/test/coap-service/unittest/stub/mbedtls_stub.c and amended it slightly with a few missing functions.
2018-11-19 15:19:49 +02:00
Michal Paszta 42940fab3c Deprecate TCP/UDPSocket open-calling constructors
Updated Doxygen, removed the only one call of the deprecated constructor from the tests.
2018-11-19 12:19:52 +01:00
Ari Parkkila 9bdeb68e74 Cellular: Updated debug prints, and network registration return value
Updated cellular debug trace prints:
 - Removed unnecessary prints.
 - Tracing more in DEBUG level.
 - Read/write bytes not printed on big packets.
 - Signal quality (RSSI) traced to log network problems.
 - Dismissed AT data is traced.
 - Modem type and firmware version are traced.

Network registration returns NotRegistered instead of StatusNotAvailable,
because that's not in 3GPP TS 27.007.
2018-11-19 02:55:43 -08:00
Teppo Järvelin 24213b4601 astyles fixes for UNITESTS. 2018-11-16 13:14:38 +02:00
Teppo Järvelin e5c3024849 Cellular: adding unit tests for new class CellularContext and changed classes. 2018-11-16 13:14:38 +02:00
Cruz Monrreal II 5c1c7bf71f Merge branch 'fix_astyle_error' of ssh://github.com/0xc0170/mbed-os into rollup-b.1 2018-11-15 18:26:09 -06:00
Cruz Monrreal II 8cbd310858 Merge branch 'Lora_compliance' of ssh://github.com/AnttiKauppila/mbed-os into rollup-b.1 2018-11-15 18:26:06 -06:00
Martin Kojtal a2bced7db5 Merge branch 'lora_ut_fix' of https://github.com/AnttiKauppila/mbed-os into dev_rollup 2018-11-15 14:05:00 +00:00
Martin Kojtal 3f289c217f unittest: fix stubs coding style 2018-11-15 10:47:14 +00:00
Martin Kojtal 53c427735c filehandle test: fix coding style 2018-11-15 07:20:12 +00:00
Anna Bridge 4d07bcbd6e
Merge pull request #8579 from jarvte/cellular_context
Major refactoring: changing Network inheritance from CellularNetwork to new class CellularContext
2018-11-14 14:37:19 +00:00
Antti Kauppila cf53494f2e Compliance test errors fixed 2018-11-14 09:46:38 +02:00
Teppo Järvelin 14f3740c13 Cellular: fixed cellular greentea tests after major refactoring. 2018-11-13 18:33:55 +02:00
Antti Kauppila 077777163e LoRaWANTimer UT fixed 2018-11-13 13:58:31 +02:00
Seppo Takalo 619bcb5b4e Implement Socket::getpeername() API
This is equivalent of POSIX getpeername() function. It allows to
get remote address associated with the socket.
For example:
socket *s = server.accept();
SocketAddress remote;
s->getpeername(&remote);
2018-11-13 11:02:51 +02:00