Commit Graph

555 Commits (ba1e7b53d0cfc9dc8a1be33fea336a75090276f7)

Author SHA1 Message Date
Kevin Bracey 355b45ade1 Cellular: Convert to Chrono
Note that documentation for random_max_start_delay config setting has
been changed to indicate that the setting is in seconds, and always has
been. No functional change.
2020-05-11 14:18:04 +03:00
Michal Paszta 56ede3aa91 Fix unittests after ExhaustibleBlockDevice adjustments for wear leveling test 2020-05-05 12:10:41 +03:00
Darryl Green 0d16ca4d8a Remove references to mbed-crypto
Signed-off-by: Darryl Green <darryl.green@arm.com>
2020-04-30 11:28:20 +01:00
Martin Kojtal d1ae0d570c
Merge pull request #12425 from kjbracey-arm/chrono
C++ Chrono support
2020-04-30 11:41:43 +02:00
Martin Kojtal 1ddfa59ea7
Merge pull request #12463 from kjbracey-arm/sockstats
Clean up and optimise socket statistics
2020-04-29 22:16:54 +02:00
Martin Kojtal 4f9d21b16a
Merge pull request #12694 from kivaisan/remove_netsocket_icetea_and_tcpserver
Remove netsocket icetea tests and TCPServer
2020-04-29 13:46:44 +02:00
Rajkumar Kanagaraj c71c980ccd Fix the CI build and unit test issue 2020-04-27 10:19:08 +03:00
Arto Kinnunen 329c5d8538 Add unittests for added methods
Add unit tests for added methods:
 -get_rtt_estimate_to_address
 -get_stagger_estimate_to_address
2020-04-23 11:58:51 +03:00
Martin Kojtal 8926ea0983
Merge pull request #12763 from kivaisan/fix_athandler_read_string
Cellular: Fix ATHandler::read_string to handle delimiter inside string
2020-04-15 09:27:40 +02:00
Kimmo Vaisanen 236054175b Netsocket: Remove deprecated TCPServer
TCPSocket should be used instead.
2020-04-14 12:13:08 +03:00
Kimmo Vaisanen e776a9bb72 Netsocket: Add get_dns_server API for NetworkInterface
With get_dns_server DNS servers can be queried from NetworkInterface object
2020-04-14 12:04:03 +03:00
Martin Kojtal 7fce7f552c
Merge pull request #12572 from rajkan01/waitapi_remove_deprecated
Remove mbed wait deprecated APIs
2020-04-09 14:57:46 +02:00
Martin Kojtal d089c86f09
Merge pull request #12581 from kjbracey-arm/hard_noncopy
Fully enforce NonCopyable
2020-04-09 10:13:37 +02:00
Martin Kojtal 149235f731
Merge pull request #12589 from u-blox/disconnect
Cellular: Add deativation of context associated with profile
2020-04-09 09:39:27 +02:00
Rajkumar Kanagaraj 83be3f24a5 Remove mbed wait deprecated APIs 2020-04-08 10:35:07 +01:00
Kimmo Vaisanen 584d54e955 Cellular: Fix ATHandler::read_string to handle delimiter inside string
For example if input buffer includes:
+CCLK: "20/04/05,15:38:57+12"

read_string return "20/04/05,15:38:57+12" instead of "20/04/05"
2020-04-06 16:28:04 +03:00
Kevin Bracey 874e36e05a Fully enforce NonCopyable
Make NonCopyable fully operational so it gives compile errors in all
build profiles.
2020-03-31 19:01:42 +03:00
Martin Kojtal dba3962f16
Merge pull request #12570 from kjbracey-arm/nsapics
Improve nsapi_create_stack
2020-03-31 16:34:20 +02:00
Martin Kojtal 8b929726e1
Merge pull request #12609 from rajkan01/semwait_remove_deprecation
Remove Semaphore deprecated APIs
2020-03-31 10:36:43 +02:00
Martin Kojtal 4c6e59d714
Merge pull request #11629 from kyle-cypress/pr/tdb-bounds-refactor
Refactor TDB internal bounds computation
2020-03-30 09:39:15 +02:00
Anna Bridge 009ff7adf3
Merge pull request #12036 from kjbracey-arm/callback_fiddle
Callback extension and optimisation
2020-03-27 14:07:20 +00:00
Anna Bridge 2736896fb9
Merge pull request #12706 from hugueskamba/hk_remove_armc5_support_tests
Tests: Remove support for ARM Compiler 5
2020-03-27 14:05:26 +00:00
Hugues Kamba 4318a0747f Tests: Remove support for ARM Compiler 5
ARM Compiler 5 is no longer actively supported and was superseded in
Mbed OS by ARM Compiler 6.
2020-03-25 18:22:00 +00:00
Syed Fahimuddin Alavi c6b6efc456 Added deativation of context associated with profile
Added emt method in At cellular context stub file
2020-03-25 16:02:18 +05:00
Kyle Kearney 85d2e8f2f2 Add kvstore/conf to unittest includes
The unittests compile DirectAccessDeviceKey.cpp which depends on
kv_config.h, which lives in features/storage/kvstore/conf
2020-03-24 12:36:36 -07:00
Kimmo Vaisanen 62170dd721 Netsocket: Fix SocketAddress stub for new API 2020-03-24 11:05:58 +02:00
Martin Kojtal 4fa9ccacf6
Merge pull request #12652 from jarlamsa/moduletest_filesystemstore
Add moduletests for FileSystemStore
2020-03-19 14:46:03 +01:00
Jarno Lamsa e19cd14ced Add moduletests for FileSystemStore
Baseline for the tests is similar to the TDBStore.
Differing from TDBStore moduletests, FileSystemStore doesn't include
tests for reserved data or corrupting the blockdevice, as it corrupts
the filesystem also.
2020-03-19 12:56:45 +02:00
Jarno Lamsa 6abb58c98b Add new unittests for TDBStore
Add tests for iterators and reserved data.
2020-03-17 08:23:23 +02:00
Jarno Lamsa 8e6b9eebe2 Minor fixes to TDBStore moduletests 2020-03-17 08:21:24 +02:00
Rajkumar Kanagaraj a6b78c6429 Remove Semaphore deprecated APIs 2020-03-16 09:37:45 -07:00
Kevin Bracey bb733f1ee8 Callback updates
* Optimise clearing by adding `nullptr` overload. This overload means
  `Callback(NULL)` or `Callback(0)` will no longer work; users must
  use `Callback(nullptr)` or `Callback()`.
* Optimise clearing by not clearing storage - increases code size of
  comparison, but that is extremely rare.
* Reduce ROM used by trivial functors - share copy/destroy code.
* Config option to force trivial functors - major ROM saving by
  eliminating the "operations" table.
* Config option to eliminate comparison altogether - minor ROM saving by
  eliminating zero padding.
* Conform more to `std::function` API.
2020-03-11 15:46:03 +02:00
Anna Bridge d5f034b637
Merge pull request #12319 from maciejbocianski/fix_userallocatedevent_imp
Fix userallocatedevent imp
2020-03-11 12:43:17 +00:00
Rajkumar Kanagaraj 3674bd1842 Remove Mutex deprecated API 2020-03-06 09:39:30 -08:00
Kevin Bracey 0cf1fd7811 Remove unnecessary NetworkStack casts 2020-03-05 16:45:36 +02:00
Kevin Bracey 70a6701006 Improve nsapi_create_stack
Use tag dispatch to better handle both NetworkInterface and NetworkStack
pointers.

The previous design was intended to avoid ambiguities when presented
with a scenario like

    class MyDevice : public NetworkInterface, public NetworkStack {
    };

    TCPSocket(&MyDevice);
    // Need NetworkStack *: use NetworkInterface::get_stack or
    // cast to NetworkStack?

But the previous solution didn't actually work as intended. The overload
pair

    nsapi_create_stack(NetworkStack *);
    // versus
    template <class IF>
    nsapi_create_stack(IF *);

would only select the first form if passed an exact match -
`NetworkStack *`. If passed a derived class pointer, like `MyDevice *`,
it would select the template.

This meant that an ambiguity for MyDevice was at least avoided, but
in the wrong direction, potentially increasing code size.

But in other cases, the system just didn't work at all - you couldn't
pass a `MyStack *` pointer, unless you cast it to `NetworkStack *`.
Quite a few bits of test code do this.

Add a small bit of tag dispatch to prioritise the cast whenever the
supplied pointer is convertible to `NetworkStack *`.
2020-03-05 16:45:36 +02:00
Kevin Bracey eb10cc18c5 Optimise SocketStats
* Remove unnecessary virtual destructor.
* Use inline empty functions when disabled.
* Remove pointless `const`s from declarations.
2020-03-04 14:54:17 +02:00
Martin Kojtal eaac84be72
Merge pull request #12467 from kjbracey-arm/nsapics
Inline nsapi_create_stack(NetworkStack)
2020-03-03 14:13:28 +00:00
Martin Kojtal a937d30501
Merge pull request #12511 from paul-szczepanek-arm/patch-1
allow reconfiguring a running watchdog
2020-03-03 13:00:45 +00:00
Martin Kojtal f4df4e75ea
Merge pull request #12487 from kjbracey-arm/override_nsapi
C++11-ify virtualisation in netsocket
2020-03-03 09:57:57 +00:00
Paul Szczepanek 59f0acb7b1
drop expected failure from reconfiguring watchdog 2020-03-02 10:53:36 +00:00
Kevin Bracey d8d35eda9f C++11-ify virtualisation in netsocket
Use `override` and `final` where appropriate, and eliminate unnecessary
`virtual`.

Some other C++11 simplifications.

Reduces code size.
2020-02-28 13:34:18 +02:00
Veijo Pesonen b575df072f Removes RSPIF block device driver
The driver is not needed by the bootloader anymore.
2020-02-24 16:01:14 +02:00
Anna Bridge 8c17270306
Merge pull request #12480 from 0xc0170/fix_spdx
Fix SPDX identifiers and licenses (excluding features and targets)
2020-02-21 16:34:30 +00:00
Kevin Bracey f40c5616e1 Inline nsapi_create_stack(NetworkStack)
The rather fiddly `nsapi_create_stack` template + overloads used during
socket formation don't inline their core, which is the identity operation
for `NetworkStack *` itself. Make code generation easier by having that
core be inline.
2020-02-21 15:13:14 +02:00
Martin Kojtal 8f1bf967d3
Merge pull request #11942 from michalpasztamobica/remove_deprecated_apis
IPCore String-based API removal
2020-02-21 12:14:06 +00:00
Martin Kojtal 2d7e1ba943 unittest: fix missing licenses + spdx 2020-02-21 07:01:00 +00:00
Seppo Takalo b8361e43bd Fix license headers. 2020-02-20 16:56:30 +02:00
Seppo Takalo b013bc9563 Add EmulatedSD stubs that allow using files as a BlockDevice 2020-02-20 12:22:16 +02:00
Seppo Takalo 35410a9b53 Add module tests for TDBStore 2020-02-20 12:22:16 +02:00
Martin Kojtal bac5ffec85
Merge pull request #12398 from michalpasztamobica/block_device_unittests
Add BlockDevice unittests and fix issues they revealed
2020-02-14 08:23:06 +00:00
Michal Paszta 34eb432b70 unittests: Fix memory leak in FlashSimBD test 2020-02-13 08:59:39 +02:00
Maciej Bocianski 784393a919 equeue tests update
- test periodic user allocated events
- test user allocated events re-posting
- test unnecessary cancels of user allocated events
2020-02-12 14:41:17 +01:00
Michal Paszta 31ce76487f unittests: BlockDevice unittests improvements
Moved the existing BufferedBlockDevice to features/storage unittests and switched it to gmock.
Added gmock-based unit tests to all other BlockDevice classes.
SlicingBlockDevice test left as a module test.
2020-02-10 19:36:52 +02:00
Martin Kojtal da7c641f17
Merge pull request #12386 from jamesbeyond/unittest-fix
TEST: fix a bug in ATCmdParser test
2020-02-10 13:17:51 +00:00
Kimmo Vaisanen a66f15dc4b Testing: Fix buffer overflow in ATHandler_read_bytes UT test
Fixes issue #12390
2020-02-10 09:52:39 +02:00
Martin Kojtal d847f9f164
Merge pull request #12305 from kivaisan/remove_multi_athandler_support_v2
Cellular: Remove support for multiple ATHandlers
2020-02-07 11:00:41 +00:00
Martin Kojtal e68915392b
Merge pull request #12287 from maciejbocianski/fix_unittests_on_windows
Fix unittests on windows(mingw)
2020-02-07 11:00:24 +00:00
Qinghao Shi 115f1cc9c8 TEST: fix a bug in ATCmdParser test 2020-02-07 00:44:00 +00:00
Michal Paszta d9e37e7212 Unittests fixed not to use deprecated string-based API 2020-02-06 11:27:50 +02:00
Michal Paszta 458957d399 IPCore deprecated string-based API removal
String-based functions should be replaced with an explicit DNS hostname resolution and a SocketAddress-based API.
2020-02-06 11:27:49 +02:00
Martin Kojtal 8dc15ee6e1
Merge pull request #12293 from mirelachirica/remove_empty_api
Cellular: Remove API's empty default implemetations
2020-02-06 09:05:40 +00:00
Maciej Bocianski a2e5a34df6 unittests: fix windows build
- set equeue platform to posix for MINGW
 - enable PRIx formatting globally
 - remove redundant Semaphore implementation
2020-02-05 14:20:06 +01:00
Martin Kojtal 5165559a2c
Merge pull request #12142 from kjbracey-arm/thread_rm510
Thread: remove methods deprecated in 5.10
2020-02-03 15:09:34 +00:00
Michal Paszta 03fcc3a6f7 Unittests: DNS - use the real getaddrinfo function
This was recently added to NetworkInterface. Earlier a temporary function was put into the test to mimic that behavior.
2020-01-31 09:23:00 +02:00
Michal Paszta 6d71addc40 Unittests: DNS - fix path and filename 2020-01-31 09:22:45 +02:00
Kimmo Vaisanen bd0f939277 Cellular: Remove support for multiple ATHandlers
Major changes:
- Dependency to FileHandle removed from base classes
- AT_CellularDevice owns the default FileHandle and shares it with AT -classes
- Hang-up -detection moved as CellularContext::configure_hup(). Cannot be configured via CellularDevice any more.

Result on NRF52840_DK + BG96:
GCC:
Total Static RAM memory (data + bss): 29360(+296) bytes
Total Flash memory (text + data): 130660(-832) bytes

ARM:
Total Static RAM memory (data + bss): 261554(+8) bytes
Total Flash memory (text + data): 127573(-1193) bytes

IAR:
Total Static RAM memory (data + bss): 25479(+296) bytes
Total Flash memory (text + data): 102418(-527) bytes

RAM increase is because now ATHandler is no longer created with new -operator but is now member of AT_CellularDevice,
so image tool is able to count it. Actually total RAM consumption has decreased due to removed variables.
2020-01-23 09:27:44 +02:00
David Lin b49dac2de0
optimize the code of array set to zero
1. replace  'char buf[8];    memset(buf, 0, 8);' with 'char buf[8] = {0};'.
2020-01-21 20:23:55 +08:00
Mirela Chirica e2048b06b2 Cellular: Remove API's empty default implemetations 2020-01-21 10:45:09 +02:00
Ari Parkkila 2871721e08 Cellular: Refactor socket_stack_init() from generic to modem specific 2020-01-20 00:56:09 -08:00
Martin Kojtal b08dc22e27
Merge pull request #12273 from maciejbocianski/disable_coverage_filtering
unittests: disable coverage report filtering
2020-01-20 07:29:52 +00:00
Martin Kojtal ecf4d62dc5
Merge pull request #12265 from AriParkkila/cell-fea-refactor
Refactor unnecessary functions from cellular driver
2020-01-17 13:57:06 +00:00
Maciej Bocianski 38d1868ff0 unittests: disable coverage report filtering
Disable coverage report filtering because of poor results.
Test name filtering pattern (-r) was used to filter coverage
report causing wrong results when filtered test name wasn't
matching the implementation source file name
2020-01-17 13:01:39 +01:00
Ari Parkkila f9eef97ead Cellular Refactor get_send_delay() into CellularProperty 2020-01-17 00:28:41 -08:00
Hugues Kamba 9e11e5b43d Cellular: Replace UARTSerial references with BufferedSerial
`BufferedSerial` is `UARTSerial` renamed to convey the original purpose
of the class. It is the recommended buffered I/O serial class.
2020-01-16 16:22:07 +00:00
Ari Parkkila ceea992b40 Cellular: Refactor is_protocol_supported() into CellularProperty 2020-01-15 23:04:00 -08:00
Ari Parkkila e2cb18061e Cellular: Refactor get_max_socket_count() into CellularProperty 2020-01-15 23:04:00 -08:00
Martin Kojtal b96d3ad5be
Merge pull request #12263 from maciejbocianski/fix_unittests_coverage_filtering
unittest: fix coverage filtering
2020-01-15 17:57:21 +00:00
Maciej Bocianski 2768300ada unittest: fix coverage filtering
change coverage filter pattern from ^pattern* to *pattern*
2020-01-15 13:29:05 +01:00
Martin Kojtal 631b581ee7
Merge pull request #12254 from maciejbocianski/fix_unittest_ATCmdParser_segfault
unittest: fix ATCmdParser test segfault
2020-01-15 13:06:48 +01:00
Maciej Bocianski 455b846bc1 unittest: fix ATCmdParser test segfault 2020-01-14 13:15:50 +01:00
Kimmo Vaisanen 0d525fff29 Cellular: Remove deprecated CellularDevice::stop()
CellularDevice::shutdown() should be used instead.
2020-01-14 10:47:05 +02:00
Martin Kojtal 1fb9dd7ddd
Merge pull request #12122 from AnttiKauppila/visibility_fixes
ATHandler refactoring
2020-01-09 12:05:08 +01:00
Martin Kojtal 8d94d4ce92
Merge pull request #12214 from kivaisan/move_string_to_pdp_type_to_cellularcontext
Cellular: Move string_to_pdp_type method to CellularContext
2020-01-08 16:59:58 +01:00
Kevin Bracey a0197dba49 Thread: remove methods deprecated in 5.10 2020-01-08 16:47:18 +02:00
Roman Volosatovs 21b0463653
Fix dl_channel tests 2020-01-08 11:54:05 +01:00
Kimmo Vaisanen 0d7cc428b1 Cellular: Move string_to_pdp_type method to CellularContext
string_to_pdp_type is only used in CellularContext classes and by having
the conversion method in CellularContext it can be used to check also
the non-standard Non-IP PDP type string.
2020-01-08 12:15:51 +02:00
Antti Kauppila 5553d0acd3 ATHandler class refactor
Refactored ATHandler class to have clear private and public elements
Also removed virtuality from ATHandler
Unittests updated to reflect changes
2020-01-07 17:15:27 +02:00
Antti Kauppila 36ca4d6516 ATHandler relocated
ATHandler is part of our API so header file was moved under API folder and .cpp file was moved under device/ folder
ATHandler is used in both AT and PPP mode so it has been in slightly wrong place at the beginning.
2020-01-07 17:15:27 +02:00
Martin Kojtal 3e790cc9ab
Merge pull request #12065 from AriParkkila/cell-fea-nidd
Non-IP socket implementation for NIDD over CP
2020-01-07 15:55:15 +01:00
Martin Kojtal 9d16a17e7e
Merge pull request #11653 from tymoteuszblochmobica/multiple
Add  Getaddrinfo interface for multiple DNS adresses
2020-01-07 14:53:36 +01:00
Ari Parkkila 7899fead59 Cellular: Refactor CellularBase from AT_ControlPlane_netif 2020-01-07 04:03:33 -08:00
Ari Parkkila 913cbd96a6 Cellular: Change 3GPP TS 27.007 NIDD to async
Add a missing license header.
Remove semaphores and add +CRTDCP to support async operation.
Fix delete context and disconnect to execute just once.
Add support for NONIP PPD type.
Change CellularNetwork::clear() to virtual so it can be overridden.
2020-01-06 22:35:18 -08:00
Kimmo Vaisanen 6c647104c7 Cellular: Move cellular event queue thread ownership to CellularDevice
Earlier CellularDevice has owned event queue used by cellular (state machine and ATHandler for example),
but the thread used to dispatch the queue has been owned by state machine.

This commit moves the event queue thread to CellularDevice so now the ownership of cellular event queue
is in one place.
2020-01-07 08:28:30 +02:00
Kimmo Vaisanen f7cc3db70b Cellular: Refactor cellular variable visibilities
- Earlier some variables were public even though used only internally
- Also refactored variables to the end of class definitions
- Removed duplicate _property_array from CellularDevice
- Changed _impl methods as protected
2019-12-30 10:00:24 +02:00
Kevin Bracey 5f495db06b Robustify equeue multithread test
Rather than wait 10ms before breaking the other thread, and expecting at
least one event to have been run, wait for one event to be run, then
break.

Should avoid some spurious failures that have been seen.
2019-12-27 16:05:02 +01:00
Antti Kauppila 814ba5ab4d Fixed Non-IP cellular socket unittest 2019-12-27 16:04:10 +01:00
Antti Kauppila 48cf631456 relocated NonIP related files to netsocket root folder 2019-12-27 16:04:10 +01:00
Anna Bridge 81d4a72359
Merge pull request #12120 from mtomczykmobica/ONME-4433
ONME-4433 SocketAddress::operator== should also check port
2019-12-17 16:43:19 +00:00
Anna Bridge 9209b98478
Merge pull request #12064 from AnttiKauppila/valgrind_for_unittest
Valgrind support added for unittests
2019-12-17 16:22:45 +00:00