The Babblesim test for eatt for reconfiguration of MTU is not
foolproof. Central actually generates two mtu update events.
This is fixed by only setting the reconfigured flag when the MTU actually
changes to the new values
In the Babblesim test for eatt for collision the peripheral
needs to sync with central to ensure collisions occur.
Signed-off-by: Andries Kruithof <andries.kruithof@nordicsemi.no>
The def command Indicates that a comment block contains documentation
for a #define macro. This is useful if the comment block documents a
macro not adjacent to it, e.g.
```c
/**
* @def MAX(x,y)
* @brief Computes the maximum of @a x and @a y.
*/
#ifdef XXX
#define MAX(x,y) ...
#endif
```
However, it is not necessary if the comment is adjacent to the
definition, e.g.
```c
/**
* @brief Computes the maximum of @a x and @a y.
*/
#define MAX(x,y) ...
```
This patch removes all unnecessary def entries in-tree.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Enabled Multiple Notifications and added command for
bt_gatt_notify_multiple().
Increased possible number of connections to execute GATT/SR/GAN/BV-02-C
Signed-off-by: Krzysztof Kopyściński <krzysztof.kopyscinski@codecoup.pl>
Refactor DF implementation to add aux offset in the aux
pointer field of the parent PDU when chain PDU is added
and/or is duplicated when PDU contents are updated.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Rename Kconfig BT_CTLR_ADV_PDU_BACK2BACK to
BT_CTLR_ADV_AUX_PDU_BACK2BACK to represent use of
back-to-back for Extended Advertising PDU chaining support
similar to BT_CTLR_ADV_SYNC_PDU_BACK2BACK that is used to
represent the use of back-to-back for Periodic Advertising
PDU chaining support.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Add a bunch of missing "zephyr/" prefixes to #include statements in
various test and test framework files.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Mesh Profile Specification errata 11310
Section 4.4.4.1
"This model shall support model publication, as defined in Section
4.2.2 of the Mesh Profile specification and model subscription,
as defined in section 4.2.3 of the Mesh Profile specification."
Signed-off-by: Michal Narajowski <michal.narajowski@codecoup.pl>
According Mesh Spec 1.0.1:
Upon receiving and successfully authenticating to
Secure Network beacon for a primary subnet whose
IV Index is 1 or more higher than the current known IV
Index, the node shall set its current IV Index and its
current IV Update procedure state from the values in
this Secure Network beacon.
Look like test_iv_index.c:81
``` C
(bt_mesh_net_iv_update(TEST_IV_IDX + 1, BCN_IV_IN_IDLE));
```
This test case already exists, but the wrong testcase
to test wrong code.
Move `is_iv_recovery` into `bt_mesh_net_iv_update`.
First check whether it is IV recovery, and then carry out
the subsequent IV normal update procedure.
Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
Due to added call to ull_cp_tx_nrf call in common function event_done,
encryption test test_encryption_start_periph_rem_no_ltk failed with
assert caused by unexpected number of free control procedure contexts.
That is caused by internal call to rr_check_done and lr_check_done
in the ull_cp_tx_nrf that frees last unreleased context.
Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
Unit tests reposnsible for verification of collisions mitigation
didn't have handling for delayed completion of PHY Update control
procedure. The PHY Update is completed on event generated when
"at-instant" connection event is on air.
Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
The PHY Update control procedure completion is delayed to event
"instant-on-air". That has to be handled in CTE Request control
procedure unit test.
The changes required are:
- Added handling of event done for "at-instant" connection event.
This is required to call ull_cp_tx_ntf function to send an
envet "instant-on-air" to PHY Update procedure state machine.
This is the delayed completion of PHY Update procedure.
- Remote requested PHY Update completion is also delayed and completed
on "instant-on-air" event, hence the local CTE Request is not executed
at the same connection event as PHY Update completion. This caused
changes to check_phy_update_and_cte_req_complete function. The functin
does not hanle CTE Request completion anymore. This also implies
changes to run_phy_update_central and run_phy_update_peripheral.
These function do not need to get CTE request argument anymore
because it was just passed to check_phy_update_and_cte_req_complete.
The check_phy_update_cte_req_complete was renamed to check_phy_update.
The test test_cte_req_wait_for_remote_phy_update_complete was changed
to execute and verify local CTE request procedure explicitly after
completion of PHY Update.
Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
The test_phy_update_central_rem_collision didn't have processing
of an "at-instant" connection event. Thas causes the remote requesed
PHY update to hand in waiting for instant on air state and whole
test to fail.
To fix the problem, proper processing of "at-instant" connection evnet
has to be added. In consequence the local PHY update procedure, that
as waiting for end of the remote procedure is delayed by one connection
event.
Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
Unit tests does not maintain connection events hence there is no
notification to PHY upodate state machine about instant on air
event. That has to be simulated by explicit call to ull_cp_tx_nrf.
In unit tests the event_done function is responsible for handling
all steps done at end of connection event, so it is the best place
to simulate the instant on air event and send it to LLCP state machine.
Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
Migrate the BT tests for host_long_adv_recv to use FFF instead of
ztest mock which is being deprecated.
Signed-off-by: Yuval Peress <peress@google.com>
The BT test ctrl_sw_privacy_unit was enabling mocking but never using
it. Clean it up and remove the Kconfig.
Signed-off-by: Yuval Peress <peress@google.com>
The unicast client will now read the PACS location value
during the discovery procedure, as well as subscribing to
it.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Sometimes there is a need to interrupt mesh babblesim tests when
debugging or implementing new tests. Calling Ctrl-C doesn't work as it
only aborts the test script, but not the executables. This fix adds a
trap for Ctrl-C to kill all test instances run by the script.
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
Any project with Kconfig option CONFIG_LEGACY_INCLUDE_PATH set to n
couldn't be built because some files were missing zephyr/ prefix in
includes
Re-run the migrate_includes.py script to fix all legacy include paths
Signed-off-by: Tomislav Milkovic <milkovic@byte-lab.com>
`bt_gatt_unsubscribe` was pending a write to the CCC and then immediately
canceling it.
Fixes#47682 .
Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
This change makes the optional procedures in the TBS Client optional
and configurable through Kconfig.
Signed-off-by: Fredrik Danebjer <fredrik@danebjer.com>
Migrate tests in connectionless_cte_tx to new ZTEST API.
Remove main.c source file because is unncessary when automatic
unit tests registration is available. Also former use of
predicate to select unit tests for execution is removed
because the tests are split into two distinct tests suites
that has its't own setup and teardown phases.
Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
Migrate tests in connectionless_cte_rx to new ZTEST API.
Remove main.c source file because is unncessary when automatic
unit tests registration is available.
Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
Migrate tests in connectionless_cte_chains to new ZTEST API.
Remove main.c source file because is unncessary when automatic
unit tests registration is available.
Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
Migrate tests in connection_cte_tx_params to new ZTEST API.
Remove main.c source file because is unncessary when automatic
unit tests registration is available.
Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
Migrate tests in connected_cte_req to new ZTEST API.
Remove main.c source file because is unncessary when automatic
unit tests registration is available.
Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
One sometimes forgets files can be distributed outside of git..
Added a concise usage example of the command above the config.
Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
In the broadcast sink `scan_recv` which is called when we
scan for broadcast source, we now also provide the entire
AD struct to the application.
The reason for this is that the advertising data may
contain other information that is useful for the application
like the broadcaster device name or any other
vendor/application specific data.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Modify how the ISO channels are allocated for the audio streams,
as well as how the CIG is allocated for the unicast group.
This fixes an issue where the unicast group could not be
fully allocated before _after_ the bt_audio_streams had been
configured by bt_audio_stream_config, thus making it impossible
to create a unicast group before the connections have been established.
This leaves us with 3 basic data types:
1) Streams allocated by the application
2) Endpoints that represent ASEs
3) Audio_iso which is used to couple streams and ISO channels.
The Unicast Group for the unicast client will now have the same
lifetime as the ISO CIG for the central.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Use `kernel log-level modulename severity`
Also enable it for the Bluetooth Shell.
Then one can compile-in a lot of BT modules like so:
CONFIG_BT_DEBUG_HCI_CORE=y
CONFIG_BT_DEBUG_L2CAP=y
CONFIG_BT_DEBUG_ATT=y
CONFIG_BT_DEBUG_GATT=y
And at runtime select only, e.g. GATT
kernel log-level bt_hci_core 0
kernel log-level bt_l2cap 0
kernel log-level bt_att 0
And then re-enable L2CAP if needed later
kernel log-level bt_l2cap 4
And so on..
Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
Instead of rejecting metadata at the BAP layer, we now
expect the higher layer to provide the verification.
The reason for this is that the higher layer may be better
equiped at determining which metadata it supports.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The CAP acceptor can now be a set member. This allows
the CAP acceptor to register a CSIS instance and include
it in the CAS.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Enable the CAP acceptor for the audio shell configuration
and the babblesim test cases.
Enabling CAP does add some additional requirements, and if
a BAP unicast client attempts to use it without conforming to
those requirement, it won't be able to update the metadata.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Implements PDU flow and unittest of CIS Create on Peripheral
Hooks CIS Create into the controller and fixes a few minor
things in ull to allow for running with NEW LLCP
Also handles CONFIG based comilation of CIS Create
Signed-off-by: Erik Brockhoff <erbr@oticon.com>
Hooks the CIS terminate into the controller and fixes a few minor
things in ull_conn(_iso).c
Also handles CONFIG based comilation of CIS_TERMINATE
also fixes a minor issue in helpers_pdu
Signed-off-by: Erik Brockhoff <erbr@oticon.com>