Commit Graph

4900 Commits

Author SHA1 Message Date
Szymon Janc df0718d7ea Prepare for NimBLE 1.6.0 release nimble_1_6_0_rc1_tag nimble_1_6_0_tag 2023-08-10 14:49:50 +02:00
Szymon Janc 3ea8edd45e ci: Fix build after nrfx and mbedtls updates 2023-08-10 08:59:08 +02:00
Szymon Janc 25439ada84 Update missing licenses and rat excludes 2023-08-08 16:28:02 +02:00
Szymon Janc fa5cc4702b ci: Enable BLE_LL_HCI_LLCP_TRACE when building blehci
nordic_pca10056_blehci_all_enabled was missing BLE_LL_HCI_LLCP_TRACE setting.
2023-08-07 15:19:24 +02:00
Szymon Janc 74517c7e76 nimble/ll: Fix build with BLE_LL_HCI_LLCP_TRACE enabled
This was not updated after HCI VS event sending cleanup.
2023-08-07 15:19:24 +02:00
Jakub Rotkiewicz ebae7a2252 nimble/host/test: Added unit tests for UUID from string 2023-08-07 09:02:56 +02:00
Jakub Rotkiewicz 5812f7d982 host: Added function to parse UUID from string 2023-08-07 09:02:56 +02:00
Szymon Janc 68447ea14d ci: Fix build due to nrfx update
We should move to using "newt upgrade" eventually.
2023-08-04 14:08:42 +02:00
Wojciech Pietraszewski 99e6c0e8fa host/hs: add doxygen comments for the header file
Adds missing macros and structures documentation.
2023-08-04 08:52:51 +02:00
Wojciech Pietraszewski 765f9d97ba host/l2cap: add doxygen comments for the header file
Adds missing macros, structures and functions documentation.
2023-08-04 08:52:14 +02:00
Krzysztof Kopyściński 4cf74c3bf5 apps/bttester: remove unstalled_cb from btp_l2cap.c
Response to BTP_L2CAP_SEND_DATA command is already sent in command
handler (`send_data()`). Sending further responses to already answered
command is confusing - we cannot fail successful procedure
retroactively. Data sending is already confirmed to be started
successfully and no further responses are expected - more so, it appears
to break `available_queue` management and further commands cannot be
processed correctly.

Similar callback may be proposed in the future if confirmation of
sending data is needed, but not in form of BTP response, but BTP event.
2023-08-03 15:39:23 +02:00
Wojciech Pietraszewski 601b1056aa host/gatt: add and update doxygen comments for the header file
Adds missing macros and structures documentation. Corrects arguments names in functions documentation.
2023-08-03 15:35:31 +02:00
yuzhigang84@gmail.com e718a2fb22 porting/npl/linux: support C library (for example:musl) which didn't have PTHREAD_MUTEX_RECURSIVE_NP 2023-08-02 21:29:37 +02:00
Krzysztof Kopyściński 338cb747f0 apps/bttester: fix check for address type in advertising_start()
Encapsulated cases in correct configuration check
(BTTESTER_PRIVACY_MODE). Used simple bit comparison, as glue module was
dropped.
2023-08-02 21:26:06 +02:00
Krzysztof Kopyściński 3c4bc60cae apps/bttester: copy whole buffer to response of get_attr_val
Characteristic values can be long and not fit into single os_mbuf - copy
whole chain instead.
2023-08-02 21:25:26 +02:00
Szymon Janc 6ccf8208e0 nimble/phy/nrf5x: Fix compilation with nrfx 2.11
This release change NRF_FICR_NS->TRIMCNF[index].ADDR from (uint32_t *)
to uint32_t.
2023-08-01 16:26:36 +02:00
Andrzej Kaczmarek 6081de3754 nimble/ll: Fix assert on scan start
LL_STATE_BIG was not handled properly when trying to start scan window.
2023-08-01 10:07:40 +02:00
Krzysztof Kopyściński 8da39bc40e apps/bttester: fix start_direct_adv command
high_duty_cycle is defined in flags field that is 2 octet long, as first
bit.
2023-08-01 08:54:02 +02:00
Krzysztof Kopyściński b4cf7fe978 apps/bttester: fix preprocessor directive for registering Mesh service
If statements encapsulates GATT_CL too.
2023-08-01 08:50:28 +02:00
Petro Karashchenko 3720e7656c porting/examples/linux: update steps in README.md
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2023-08-01 08:44:18 +02:00
Krzysztof Kopyściński 7585a01e43 apps/bttester: copy whole mbuf chain in get_attrs
Whole GATT database can be big and data may be missing from rsp.
2023-07-28 14:04:44 +02:00
Krzysztof Kopyściński c8743c683a apps/bttester: fix get_attrs response buffer
Assigning rsp pointer to new value caused wrong behavior and corrupted
response. Data should be copied into buffer instead.
2023-07-27 17:41:18 +02:00
Alexey Lapshin 65f32e5f87 nimble/host: fix gcc 13 warnings 2023-07-26 19:38:47 +02:00
Krzysztof Kopyściński e2065a6016 bluetooth: tester: Use define for variable length BTP commands
This makes code a bit easier to follow.
2023-07-26 19:38:24 +02:00
Krzysztof Kopyściński 6871cec5f6 bluetooth: tester: Add explicit functions for event and response
This make is easier to verify if proper use of BTP is maintained.
tester_rsp and tester_rsp_full will be removed eventually when
BTP is fully async.
2023-07-26 19:38:24 +02:00
Krzysztof Kopyściński e88212a5da apps/bttester: Keep BTP command in buffer for delayed response
This allows to avoid copying data for async callbacks.
2023-07-26 19:38:24 +02:00
Krzysztof Kopyściński 7d25c1c718 apps/bttester: refactor GATT Client service
Accomodated to new API.
2023-07-26 19:38:24 +02:00
Krzysztof Kopyściński 8abb2ecef8 apps/bttester: refactor Mesh service
Accomodate to new API.
2023-07-26 19:38:24 +02:00
Krzysztof Kopyściński 2210018c04 apps/bttester: refactor L2CAP service
Accomodated to new API.
2023-07-26 19:38:24 +02:00
Krzysztof Kopyściński 6f34f7c923 apps/bttester: refactor GATT service
Accomodated to new API.
2023-07-26 19:38:24 +02:00
Krzysztof Kopyściński acf9f156fe apps/bttester: use ble_addr_t whenever possible
We should use ble_addr_t instead of pair {address_type, address}
whenever possible, as suggested in 35c71a4dcd

This simplifies code to single memcpy.
2023-07-26 19:38:24 +02:00
Krzysztof Kopyściński d878934794 apps/bttester: drop atomic.h
There is no need of porting extra atomic API in tester.
2023-07-26 19:38:24 +02:00
Krzysztof Kopyściński ba8a946fba apps/bttester: drop glue module
There is no need to be dependent on `glue` module and it can be dropped
from application. Mesh part of bttester can still use one from
`"mesh/glue.h"`
2023-07-26 19:38:24 +02:00
Krzysztof Kopyściński 2d4c591e27 apps/bttester: refactor BTP handling
This commit refactors BTP handling to new model, where API is provided for
registration of handlers for BTP commands as callbacks. New API provides also
size check and common buffer for response.

Removes Controlle Index validation from BTP handlers, as these are always 0.

Corrected some formatting for variable declarations.

This refactors only core and GAP service into new API, rest of services will
not work but are compiled. They will be refactored in following commits.
2023-07-26 19:38:24 +02:00
Krzysztof Kopyściński 32e39750d6 apps/bttester: split bttester.h and add btp_ prefixes
Splits `bttester.h` into seperate files, one for each BTP
service. Adds BTP_ prefix for defines and btp_ prefix for
structs.
2023-07-26 19:38:24 +02:00
Krzysztof Kopyściński dc60f90a37 host/ble_l2cap_coc: coc_rx.sdus index should not exceed BLE_L2CAP_SDU_BUFF_CNT
Multiple calls to `ble_l2cap_coc_recv_ready` with
`BLE_L2CAP_SDU_BUFF_CNT == 1` will lead to assigning coc_rx.sdus outside
array range - so this will (most likely) overwrite rest of stucture.
This will lead to either undefined behavior or crash when structure
members are accessed.
2023-07-25 15:02:20 +02:00
Michal Gorecki ef0fb14f99 native: Change pointer type casting to uintptr_t
This is necessary to build native target on 64-bit architecture
2023-07-21 09:23:21 +02:00
Deomid "rojer" Ryabkov 064f050919 porting/npl/linux: PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP is a GNU extension
Need to provide `__USE_GNU` hint to pthread.h
2023-07-20 21:57:23 +02:00
Szymon Janc e6e583e523 ci: Add linux power NPL test to CI
Make sure Linux NPL tests pass.
2023-07-20 21:56:27 +02:00
Szymon Janc fd20c10596 porting/npl: Fix linux tests build
For now build with -m32 flag.
2023-07-20 21:56:27 +02:00
Szymon Janc 9bf905ffd5 porting/npl: Fix linux tests makefile clean target
clean target was failing if there was incomplete build.
2023-07-20 21:56:27 +02:00
Deomid "rojer" Ryabkov 188256f1ef porting/npl/linux: Replace pthread_yield() with sched_yield()
Per `pthread_yield(3)`:
```
  This call is nonstandard, but present on several other systems.
  Use the standardized sched_yield(2) instead.
```
2023-07-20 18:47:20 +02:00
Deomid "rojer" Ryabkov 18738b2743 if MYNEWT -> ifdef MYNEWT
Currently there's a mix of `#if MYNEWT` and `#ifdef MYNEWT` used
in the codebase to check if the environment is Mynewt or not.
This is incompatible with `-Wundef`, so switch common parts of the code to
uniformly use `#ifdef`.
2023-07-20 15:15:07 +02:00
Wojciech Pietraszewski ea64b64356 host/hs_log: add doxygen comments for the header file
Add missing macros and functions documentation.
2023-07-19 17:56:51 +02:00
Wojciech Pietraszewski dd2083a549 host/hs_stop: add doxygen comments for the header file
Add missing structure members documentation.
2023-07-19 17:55:52 +02:00
Alexey Lapshin b521e22267 nimble/host: fix gcc 13 warnings 2023-07-19 17:43:43 +02:00
Mingjie Shen cc556e97f4 porting: Add missing return statement 2023-07-19 13:54:20 +02:00
Mingjie Shen 28649933ad porting/examples: Fix implicit function declaration 2023-07-19 13:53:55 +02:00
Wojciech Pietraszewski 37697bbc74 host/uuid: add doxygen comments for the header file
Adds missing macros and structures documentation.
2023-07-18 09:33:57 +02:00
Szymon Janc 98d972d220 ci: Add DTM application target
Adds target for building DTM application.
2023-07-12 15:29:30 +02:00