Commit Graph

246 Commits (78b7a05426c15e346254c395a7da88c67d5560cb)

Author SHA1 Message Date
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
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
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
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 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
Jari Poyhonen b16d8dbf3b cellular unit test updates due valgrind run 2019-01-23 09:43:02 +02: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 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 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
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
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
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
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 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
Seppo Takalo bdc355f873 Astyle fixes 2018-11-19 15:31:31 +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
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
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
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
Teppo Järvelin 1a047efade Cellular: review fixes, added missing fixes from master. 2018-11-11 14:13:05 +02:00
Teppo Järvelin 9fb83024ea Changed CellularContext to inherit from CellularBase instead of NetworkInterface. \n Changed Device constructor to take Filehandle instead of eventqueue. 2018-11-11 14:13:05 +02:00
Teppo Järvelin 43e08a0adf Cellular: fixing unit test after refactor. 2018-11-11 14:12:49 +02:00
Mirela Chirica c8f2ed3d30 Cellular: ATHandler to reset match URC generated errors and continue response handling 2018-10-29 13:33:11 +02:00
Mirela Chirica f016d1126f Cellular: AT handler to support only one callback per URC/prefix 2018-10-29 13:32:15 +02:00
Martin Kojtal 6efa4f293c unittest: fix style for empty functions 2018-10-25 09:58:19 +01:00
Martin Kojtal 3a5ef5ee24 unittests: fix astyle 2018-10-25 09:58:18 +01:00
Kimmo Vaisanen 963bf8146d Cellular: Refactor basic AT command stop and response reading into own method
This reduces ROM usage by few hundred bytes.
2018-10-22 09:44:12 +03:00
Hasnain Virk 9c3f73b8ed Unit test fix for cancel_send()
PR 8299 went in but correct unit tests were not there.
This commit is adding proper unittests for 8299.
2018-10-16 19:14:51 +03:00
Hasnain Virk 3bfef7f43f Unit Test Fixes for LoRaWAN
Missing methods are added.
Logic was broken at various places which needed to be fixed.
2018-10-16 12:23:21 +03:00
Kevin Bracey 1ef213ec89 Clean up Thread deprecation warnings
Static Thread methods and signal methods have been deprecated. Remove
all references in the main code, and most of the tests. Some tests of
the deprecated APIs themselves remain.
2018-10-12 14:57:13 +03:00
Mirela Chirica ffb9cdb4b3 Cellular: Registration parameters as struct 2018-10-09 10:49:47 +03:00
Cruz Monrreal b15d09173e
Merge pull request #8315 from kivaisan/fix_cellular_unittests
Fix cellular unittests
2018-10-08 10:24:31 -05:00
Kimmo Vaisanen b57bc3d044 Cellular: Fix ATHandler_stub compiler warnings 2018-10-03 14:46:45 +03:00
Antti Kauppila 48e2ccd006 equeue_stub updated and code fixed accordingly 2018-09-27 12:26:48 +03:00
Antti Kauppila f6ecb319d0 LoRaMac unittested 2018-09-27 11:30:52 +03:00
Antti Kauppila bd9066431f LoRaWANStack unit tested 2018-09-27 11:30:52 +03:00
Antti Kauppila e07940d5e7 LoRaMacCrypto unittested 2018-09-27 10:49:07 +03:00
Antti Kauppila f3d402f70e LoRaPHY unittested, small fixed done during tests 2018-09-27 10:49:07 +03:00
Antti Kauppila 0f8cfd8631 LoRa regions unittested, stubs licences revisited 2018-09-27 10:49:07 +03:00
Antti Kauppila b6848c4ea4 Unit test for LorawanInterface 2018-09-27 10:49:07 +03:00
Antti Kauppila 595caf6699 LorawanInterface unit test added 2018-09-27 10:49:07 +03:00
Antti Kauppila 0f83f08043 More lorawan unit tests added 2018-09-27 10:49:07 +03:00
Antti Kauppila b6465340b5 Lorawan unittests 2018-09-27 10:49:07 +03:00
Michal Paszta 72233b01dd unittests: Add tests for NetworkStack class.
Improved the stubs for event queue and nsapi_dns, to allow checking if callback are handled correctly. This involves some memory allocation and deallocation.
The NetworkStackWrapper is not covered as it seems to be deprecated code.
2018-09-21 14:23:06 +03:00
Michal Paszta 5a74481a2a unittests: improved coverage for UDPSocket and TCPSocket
Add functional and line coverage for UDPSocket and TCPSocket. The EventFlagsstub and NetworkStackstub classes are allowed to store multiple return values to allow running internal loops multiple times.
2018-09-21 14:23:05 +03:00
Antti Kauppila 4f97eaee67 CellularDevice_stub added 2018-09-19 10:30:43 +03:00
Antti Kauppila 2b7a087849 Rebased & fixed 2018-09-17 12:07:43 +03:00
Antti Kauppila a6b4938844 Small improvements for test cases 2018-09-17 12:07:43 +03:00
Antti Kauppila adc4ce4385 Old Cellular UNITTESTS removed 2018-09-17 12:07:43 +03:00
Antti Kauppila 9f9aa4a210 cellular unittests ported to googletest framework 2018-09-17 12:07:43 +03:00
Lari-Matias Orjala 4b042271d6 fix mutex stub for unit tests 2018-09-05 13:41:35 +03:00
Lari-Matias Orjala 4dde13db6d Add unit testing framework 2018-08-27 14:32:35 +03:00