Commit Graph

807 Commits (51f74bcda3a72fe921adef91b30f1ae90d2e18d1)

Author SHA1 Message Date
Alban Jeantheau b4b35c6a88 coding style 2021-06-11 10:35:47 +02:00
Robert Walton a0befae2d4 CMake: Only build unit tests if Mbed OS is the current project
Typically when adding a unit test directory to a CMake project a check
will be used to ensure the subdirectory is added only if the following
are true:

* The BUILD_TESTING option is set to ON.
* The current CMake project is the top-level project.

The reason being, if a downstream project includes our project they
generally don't want to build our unit tests.

In mbed-os, we do correctly specify the above condition before adding
the central UNITTEST subdirectory, which fetches googletest and adds the
"stub" libraries the unit tests depend on. However, we only check if
CMAKE_CROSSCOMPILING is OFF (or undefined) before actually adding the
unit tests. This mismatched logic would lead to unexpected build
failures in various scenarios. One likely case could be: a downstream
project including mbed-os happens to set CMAKE_CROSSCOMPILING to
OFF/undefined for any reason (possibly to build its own unit tests).
mbed-os would go ahead and attempt to build its tests without fetching
googletest or adding the required stub targets.

To fix the issue replace the check for CMAKE_CROSSCOMPILING in the unit
tests with the same BUILD_TESTING idiom we use for adding the central
UNITTESTS subdirectory.
2021-06-10 23:34:14 +01:00
Jaeden Amero 87d1992f4f mbedtls: Rename Mbed timing implementation
We get a linker warning with the recently added timing module
implementation for Mbed. This is because there is Mbed TLS also ships a
file called timing.c, which we are including in Mbed OS also. With CLI
1, we get an error about unique object files because of the similarly
named implementation files.

    Object file timing.o is not unique! It could be made from: mbed-os/connectivity/mbedtls/source/timing.c mbed-os/connectivity/mbedtls/platform/src/timing.cpp

Rename the Mbed timing module implementation to timing_mbed.cpp to avoid
this naming conflict.

Fixes: b8781e527b ("mbedtls: Add an alt implementation of timing")

Fixes #14759
2021-06-10 17:02:28 +01:00
Martin Kojtal aeaac0e70c
Merge pull request #14746 from jeromecoutant/PR_WB15CC
STM32WB: introduce STM32WB15CC NUCLEO
2021-06-10 14:16:10 +02:00
Martin Kojtal 7620120843
Merge pull request #14756 from Patater/tls-timing-alt
mbedtls: Add an alt implementation of timing
2021-06-10 12:11:39 +02:00
Paul Szczepanek afeb696d01 fix CORDIO not passing the conn id in param for adv stop event
the hci handle is different from host handle, this is how it's done in conn open event, we carry the conn id in the hdr.param
2021-06-09 18:50:17 +01:00
Paul Szczepanek 963657bfb0 translate hci conn handle to host handle for adv stop event 2021-06-09 18:50:17 +01:00
Paul Szczepanek 6b930d6449 translate adv set error codes and only act on successful stop 2021-06-09 18:50:17 +01:00
Paul Szczepanek 4fae828987 Fix process enable queue guard not being reset on failed runs 2021-06-09 18:50:17 +01:00
Paul Szczepanek 7b94f257dd fix CORDIO not handling all adv set stop events 2021-06-09 18:50:17 +01:00
Jaeden Amero b8781e527b mbedtls: Add an alt implementation of timing
Implement the MBEDTLS_TIMING_ALT interface for Mbed OS. This
implementation is sufficient to run the Mbed TLS benchmarking
application.
2021-06-09 17:43:18 +01:00
Martin Kojtal 0bbc3e225e
Merge pull request #14740 from chrisswinchatt-arm/fix-netsocket-dynalloc
Fix 'netsocket: several dynamic allocation results not checked' (#14210)

add_event_listener in NetworkInterface now returns an error if the method fails. Previous attempts to add the event listener would attempt to use an unchecked standard dynamically allocated ns_list_* item.

In other cases, the dynamically allocated items will now be checked, and if unsuccessful, will return after cleaning up any outstanding issues.

TCPSocket::accept will now check that its own internally allocated new TCPSocket call will succeed, and if not, will clean up the stack resources. This should help when memory is low but an incoming connection requests a connection when the TCPSocket is listening.
2021-06-09 16:39:02 +02:00
Martin Kojtal a8fd7b3f0e
Merge pull request #14693 from 16L-YT/master
Fix compilation errors with kvstore - TDB_INTERNAL option to store BLE bonding info
2021-06-09 16:35:56 +02:00
Tymoteusz Bloch 39e821db61 Increase SPI stack size to 2048 for BlueNrg driver
This is needed to avoid stack overflow due numerous calls and allocation.
2021-06-09 15:12:45 +02:00
Paul Szczepanek c4585b977d clarify documentation for adv stop event 2021-06-09 13:56:39 +01:00
Paul Szczepanek 88ede0002d new error codes needed for adv sets 2021-06-09 13:54:19 +01:00
Martin Kojtal e377383f6d
Merge pull request #14672 from paul-szczepanek-arm/fix-advertising-start
BLE: Fix advertising start and stop
2021-06-09 10:38:34 +02:00
Tymoteusz Bloch 580fd2c55a Add LWIP Broadcast option for UDP socket. 2021-06-09 01:44:51 +02:00
Alban Jeantheau 8187325560 Correct ufsi timing calculation
When calculating ufsi, the function was relying
on the slot processed by the unicast fhss timer
callback, which can be delayed. When it happens
the slot value is wrong, and the ufsi is incorrect.

The ufsi is then used by the peer to determined
the reply channel, so the devices are thus
unsynchronized until the next uplink packet.
2021-06-08 16:27:25 +02:00
Paul Szczepanek 2d9a781dd8 fix typos and traces 2021-06-08 09:48:45 +01:00
jeromecoutant 9f0ee46475 STM32WB15xC MCU support 2021-06-07 16:05:41 +02:00
Chris Swinchatt 053eb24ab0 Fix 'netsocket: several dynamic allocation results not checked' (#14210)
Incorporates PR #14223 + changes required for spellchecker
2021-06-07 14:54:37 +01:00
Bora Özgen eabc477f3c MbedTLS: Add definition checks for TRNG
The compiler gave redefinition warnings if
MBEDTLS_ENTROPY_HARDWARE_ALT is defined in the the compile
definitions. A check is added to prevent this warning.
2021-06-07 15:40:46 +02:00
Martin Kojtal 9fbb89e2d1
Merge pull request #14692 from jeromecoutant/PR_WB_HCI
STM32WB: improve FLASH size
2021-06-07 11:18:26 +02:00
Paul Szczepanek 0515408f21 add default BLE roles configuration in case no json present 2021-06-06 11:54:24 +01:00
jeromecoutant 777b2730bd STM32WL LORA: HW specific out of STM32WL_LoRaRadio class 2021-06-03 13:19:32 +02:00
Martin Kojtal be9850be53
Merge pull request #14701 from donatieng/utf-8-check
Add Travis test to make sure text files are UTF-8 encoded
2021-06-02 15:49:14 +02:00
Donatien Garnier decd7d0167 Convert shci.h from (presumably) latin1 encoding to UTF-8 2021-06-02 12:12:34 +01:00
Paul Szczepanek c51dc2f6cc set to pending only after issuing command 2021-06-02 12:06:43 +01:00
Paul Szczepanek b21ee6b0a0 add information about privacy refresh to config option 2021-06-02 12:06:12 +01:00
Paul Szczepanek 8ec7cfd820 start and stop adv sets in batches 2021-06-01 22:38:39 +01:00
Paul Szczepanek 0670470af6 add config for number of pending adv sets starting 2021-06-01 22:38:13 +01:00
Paul Szczepanek 8dedd43e7c add status to start and stop events 2021-06-01 22:37:43 +01:00
Paul Szczepanek e99741dd3d change function names 2021-06-01 15:45:08 +01:00
Martin Kojtal 0738aabb87
Merge pull request #14710 from noonfom/non-low-power-devices
BLE: support non-low power devices
2021-06-01 11:26:21 +02:00
Martin Kojtal da13755a9f
Merge pull request #14699 from jeromecoutant/PR_ASTYLE
STM32 astyle format
2021-06-01 10:02:34 +02:00
Martin Kojtal bfedc39f7c
Merge pull request #14471 from arduino/whd_patch
COMPONENT_WHD: make reusable code available for other targets
2021-05-31 15:49:25 +02:00
Martin Kojtal bc7fc2b2e7
Merge pull request #14708 from Patater/fix-test-function-return
test: Fix function does not return a value warnings
2021-05-31 12:20:00 +02:00
Martin Kojtal a2d62f9597
Merge pull request #14652 from Patater/upgrade-mbedtls-2.25.0
tls: Upgrade to Mbed TLS v2.25.0
2021-05-31 11:36:26 +02:00
Abbas Bracken Ziad 8ee7fb8642 BLE: support non-low power devices 2021-05-27 10:11:05 +01:00
Jaeden Amero 8ce03867c2 test: at: Remove dead code
Remove two expressions from at_cellularcontexttest that do nothing. This
fixes the following two warnings.

    connectivity/cellular/tests/UNITTESTS/framework/AT/at_cellularcontext/at_cellularcontexttest.cpp:61:67: warning: expression result unused [-Wunused-value]            ATHandler_stub::int_valid_count_table[kRead_int_table_size];                                                                                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~^
    connectivity/cellular/tests/UNITTESTS/framework/AT/at_cellularcontext/at_cellularcontexttest.cpp:64:66: warning: expression result unused [-Wunused-value]            ATHandler_stub::read_string_table[kRead_string_table_size];
2021-05-27 09:38:18 +01:00
Jaeden Amero 7f7571657e test: Fix function does not return a value warnings
Many test stub functions are meant to return a value, but weren't. Clang
would generate a warning for each instance where we weren't returning
anything in a function that was meant to return a value.

    warning: non-void function does not return a value [-Wreturn-type]

For a specific example, my_radio::time_on_air() is supposed to return a
uint32_t, but wasn't returning anything. We'll return a zero instead of
relying on undefined behavior.

Without this, clang 11.0.1 was generating a virtual function
implementation with a `ud2` instruction to abort at run-time, causing
some execution of some unit tests to abort.

    Running main() from gmock_main.cc
    [==========] Running 10 tests from 1 test suite.
    [----------] Global test environment set-up.
    [----------] 10 tests from Test_LoRaPHYUS915
    [ RUN      ] Test_LoRaPHYUS915.constructor
    [       OK ] Test_LoRaPHYUS915.constructor (0 ms)
    [ RUN      ] Test_LoRaPHYUS915.restore_default_channels
    [       OK ] Test_LoRaPHYUS915.restore_default_channels (0 ms)
    [ RUN      ] Test_LoRaPHYUS915.rx_config
    [       OK ] Test_LoRaPHYUS915.rx_config (0 ms)
    [ RUN      ] Test_LoRaPHYUS915.tx_config
    Process 35669 stopped
    * thread #1, name = 'lorawan-loraphy-', stop reason = signal SIGILL: privileged instruction
        frame #0: 0x0000000000276f73 lorawan-loraphy-us915-unittest`my_radio::time_on_air(this=0x0000000800c2b048, modem=MODEM_LORA, pkt_len='\0') at Test_LoRaPHYUS915.cpp:90:5
       87       };
       88
       89       virtual uint32_t time_on_air(radio_modems_t modem, uint8_t pkt_len)
    -> 90       {
       91       };
       92
       93       virtual bool perform_carrier_sense(radio_modems_t modem,
    (lldb) disassemble --pc
    lorawan-loraphy-us915-unittest`my_radio::time_on_air:
    ->  0x276f73 <+67>: ud2
        0x276f75:       int3
        0x276f76:       int3
        0x276f77:       int3
    (lldb)
2021-05-27 09:38:18 +01:00
Rajkumar Kanagaraj 50fc85dc44 CMake: Remove all unittest.cmake script from test suite
- Remove redundant cmake script as already added the CMake configuration file
- Remove redundant empty_baseline as it is no longer needed with the help of CMake configuration file
2021-05-26 07:09:14 -07:00
Anna Bridge ef0b31ab53
Merge pull request #14629 from artokin/phy_mode_and_channel_plan_master
Mesh api: Added PHY mode, channel plan IDs and configuration functions
2021-05-25 14:04:32 +01:00
jeromecoutant cfd86882d3 STM32H7 astyle 2021-05-25 14:45:52 +02:00
Anna Bridge 8b1cd98a8e
Merge pull request #14574 from noonfom/string-buffer-length
Fix string buffer length in UUID trace helper
2021-05-25 12:38:06 +01:00
jeromecoutant 645fed5393 STM32WB HCI driver: Add check for code size configuration 2021-05-25 12:06:55 +02:00
Yahya Tawil ae31d20904
Merge branch 'master' into master 2021-05-24 20:04:41 +03:00
Anna Bridge 77927d0c7a
Merge pull request #14684 from AGlass0fMilk/fix-kvstore-security-db
Fix missing `as_entry` method in KVStoreSecurityDb
2021-05-24 13:22:31 +01:00
Anna Bridge 39922228d6
Merge pull request #14683 from jeromecoutant/PR_WBBARE
Baremetal tests: enable BLE tests with NUCLEO_WB55RG
2021-05-24 13:20:55 +01:00
Anna Bridge ae62f9d02c
Merge pull request #14674 from anttiylitokola/master
Update mbed-coap to version v5.1.10
2021-05-24 13:18:53 +01:00
Anna Bridge 4e586a93d3
Merge pull request #14426 from ARMmbed/feature_unittest_refactor
CMake: Refactor UNITTESTS CMake
2021-05-24 13:04:22 +01:00
Yahya Tawil 6318e3a3b7
Solve the type error in one of the tracing msgs
Adapted from #14684
2021-05-22 11:49:49 +03:00
Yahya Tawil 997b523284
Add the missing definition for `as_entry` 2021-05-22 11:46:34 +03:00
Yahya Tawil 27e64a82b8
Add the missing mbed-storage libraries
Refer to #14660
2021-05-22 11:40:36 +03:00
Rajkumar Kanagaraj 6d4caad83d CMake: Move CMAKE_CROSSCOMPILING check inside library CMake 2021-05-20 06:26:10 -07:00
George Beckstein 2578c5356b Fix missing `as_entry` method in KVStoreSecurityDb
This commit introduces changes to fix a missing method, `as_entry`, and traces that were not updated properly to work with this new method.

Prior to this fix, it was not possible to use KVStoreSecurityDb as the build would fail since the `as_entry` method was not declared in the class header file.

This bug was introduced with commit 957486e0eb in PR ARMmbed/mbed-os#14198
2021-05-19 16:38:13 -04:00
jeromecoutant ba6d664ff2 Baremetal tests: enable BLE tests with NUCLEO_WB55RG 2021-05-19 17:52:48 +02:00
Paul Szczepanek 4767b7e1ac fix missing observer ifdefs 2021-05-18 20:58:26 +01:00
Antti Yli-Tokola 18728957b5 Update mbed-coap to version v5.1.10
- Fix regression from previous release concerning 1024 byte blocksize operations.
- Do not store ACK's into duplicate list.
- Code size optimizations
2021-05-18 13:24:20 +03:00
Paul Szczepanek 910b7a6438 clear the pal gap queue on reset 2021-05-18 10:39:20 +01:00
Paul Szczepanek 30cd6071cf remove stopping sets since controller resets them 2021-05-18 10:24:16 +01:00
Paul Szczepanek ab123d3e22 advertising start queued up waiting for completion 2021-05-17 19:37:26 +01:00
Jaeden Amero f275a83593 tls: Add fix for Mbed TLS configuration issue
Until we have a fix for https://github.com/ARMmbed/mbedtls/issues/4512,
we need to patch the fix during import time. Otherwise, we run into
linker errors when PSA attempts to use RSA key generation, which we've
excluded.

This patch is extracted from
https://github.com/ARMmbed/mbedtls/pull/4513
2021-05-14 10:51:04 +01:00
Abbas Bracken Ziad 0ec4a57a6c Fix string buffer length in UUID trace helper 2021-05-13 11:56:23 +01:00
Jaeden Amero 9360e0fe82 tls: Upgrade to Mbed TLS v2.25.0 2021-05-12 15:49:36 +01:00
Martin Kojtal 541ae06545
Merge pull request #14619 from debdeep-arm/ws-stats-nbr-table-master
Add API to get Wi-SUN Neighbor Table
2021-05-12 16:28:33 +02:00
Martin Kojtal 0f907d7620
Merge pull request #13791 from Patater/default-random-seed-experimental
mbedtls: Don't attempt to use default_random_seed
2021-05-12 11:03:52 +02:00
Robert Walton 31926c81e0 mbedtls_stub: Add missing include
mbedtls_stub uses memset but doesn't add the <string.h> include. This
causes build failures with clang.

Add the include so we can build unit tests using clang.
2021-05-11 12:47:51 +01:00
Rajkumar Kanagaraj f096b3b3c3 Fix missing newline 2021-05-11 04:22:26 -07:00
Rajkumar Kanagaraj a88f43f367 CMake: Update mbed os, unittest CMake and add CMAKE_CROSSCOMPILING guard
- Add a new MbedOS project in mbed os root CMake which can be used along with
  BUILD_TESTING conditional check for enabling the unittest build
- Update UNITTEST CMake for setting the CMake configuration like c, cxx flags etc.,
- Add if CMAKE_CROSSCOMPILING conditional check wherever target configuration check
  and toolchain configuration to avoid such configuration gets included for unittest build.
2021-05-11 02:49:03 -07:00
Martin Kojtal 125f58449d
Merge pull request #14497 from jarlamsa/no_duplicate_status_cb
Check for duplicate status callbacks before adding to the list
2021-05-11 11:41:06 +02:00
Rajkumar Kanagaraj 4ade0bdbea CMake: Fix DTLS socket unittest
- Binding the socket address into network stack to avoid socket connect API call hangs in the unittest
2021-05-11 02:29:56 -07:00
Paul Szczepanek 452c45b37a CMake: Update target_h stub headers
- Avoid using cmsis headers as it brings more redundant dependency into unittest build and for unittest build, all the required OS flags can provide from mbed rtos types header so replaced cmsis header with mbed os types header
2021-05-11 02:29:56 -07:00
Rajkumar Kanagaraj bf4ec4a290 CMake: Refactor lorawan unittest cmake
- Add CMakeLists.txt file to all lorawan test suite
2021-05-11 02:29:56 -07:00
Rajkumar Kanagaraj 37d4bc2d9e CMake: Refactore cellular framework unittest
- Add CMake configuration file into framework AT, device, common
unittest
2021-05-11 02:29:56 -07:00
Rajkumar Kanagaraj c5a4fecd28 CMake: Refactor netsocket unittest CMake
- Add Cmake configuration file
- Fix the header inclusion in DTLSSocketWrapper and TLSSocketWrapper test
2021-05-11 02:29:56 -07:00
Rajkumar Kanagaraj ba04c1cf76 CMake: Add add_subdirectory of unittests
- add every libraries unittest directory into respective CMake
  which allows to include unittest source into build based on
  MBED_BUILD_UNITTESTS flag
2021-05-11 02:29:56 -07:00
Martin Kojtal b80128ff77
Merge pull request #14626 from jeromecoutant/DEV_STM32WB_1_11_1
STM32WB update drivers version to CUBE V1.11.1
2021-05-11 10:55:14 +02:00
Debdeep Saha d963a9af4a Added API to get Wi-SUN Neighbor Table 2021-05-10 20:00:32 +05:30
Martin Kojtal 26c6b75d3b
Merge pull request #14625 from paul-szczepanek-arm/fix-read-auth
BLE: Fix overwriting attribute data from read auth callback
2021-05-10 11:25:55 +02:00
Martin Kojtal acb43441bb
Merge pull request #14627 from pan-/fix-stop-periodic-advertising
Dispatch Gap::stopPeriodicAdvertising to the right function.
2021-05-07 12:41:29 +02:00
Martin Kojtal b7b4ca72cc
Merge pull request #14605 from paul-szczepanek-arm/tracix
BLE: Fix traces
2021-05-07 11:44:25 +02:00
pennam 5475c0995d CMake add network subdirectory 2021-05-06 15:39:57 +02:00
pennam 665c83b3eb Moved targets/TARGET_Cypress/TARGET_PSOC6/common/COMPONENT_WHD in connectivity/drivers/wifi/COMPONENT_WHD/network 2021-05-06 15:39:42 +02:00
pennam 6a4fd9d5e6 CMake add COMPONENT_WHD folder 2021-05-06 15:39:42 +02:00
pennam a29ca0724c COMPONENT_WHD moved into connectivity/drivers/wifi 2021-05-06 15:39:19 +02:00
Martino Facchin 9686fb6ac2 Patch add #include "cy_utlis.h" 2021-05-06 14:45:26 +02:00
Martino Facchin ebbbcabb05 Patch add rtos namespace 2021-05-06 14:45:15 +02:00
pennam 7cdf97492a CMake remove COMPONENT_WHD from emac/TARGET_Cypress 2021-05-06 14:44:58 +02:00
pennam 0db6218dc6 CMake add COMPONENT_WHD in emac 2021-05-06 14:44:41 +02:00
Martino Facchin ead29d6b83 WHD EMAC moved out of TARGET_Cypress 2021-05-06 14:44:23 +02:00
Jarkko Paso 37e42fb1b7 Mesh API: Functions to set/get/validate FAN v1.1 domain configuration. 2021-05-06 09:27:04 +03:00
Jarkko Paso 6c7789e31e Fixed astyle issue 2021-05-06 09:24:33 +03:00
Jarkko Paso 2f4b3426cb Mesh api: Added PHY mode and channel plan IDs 2021-05-06 09:11:20 +03:00
Paul Szczepanek 2041cc6b57 don't copy data into attr if size too big 2021-05-05 19:01:13 +01:00
Paul Szczepanek 0155bce867 allow zero length attribute reads 2021-05-05 18:58:24 +01:00
Paul Szczepanek 17bf70989d ignore offset, replace whole value of attr in auth callback 2021-05-05 18:40:59 +01:00
Vincent Coubard cec8a9dc8c Dispatch Gap::stopPeriodicAdvertising to the right function. 2021-05-05 18:32:47 +01:00
jeromecoutant f904d10bd6 STM32WB : BLE update from STM32Cube_FW_WB_V1.11.1 2021-05-05 17:22:54 +02:00