Reducing the heap requirement for the hci_ipc sample from
8KiB to 4KiB. It has been tested in various configurations to
work with 2300, but 4KiB was used to provide some leeway for
future updates.
The heap requirement is not documented, and it is unclear why
values lower than 2300 (not exact number) won't boot, and should
be investigated further.
Memory has become a very scarce resource for especially the ISO
builds for the nRF5340, which is why this is getting reduced.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Update the connection and advertising intervals of the
broadcast and connected ISO samples (including benchmark
samples) to work better with the selected SDU intervals
and the resulting ISO intervals.
For the ISO connected benchmark the order of CIG and ACl
has changed, so that we create the CIG before connecting
the ACL for the purpose of providing as much information
as possible to the controller.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The required ISO Tx buffers have to match the Read Buffer
Size values, otherwise the difference in the value cause a
similar amount of buffers to be stalled in the IPC driver.
Use reduced HEAP size to make room for increase in RAM
usage.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Add implementation for Extended Advertising Auxiliary PDUs
to use ticks slot window feature.
This will allow the periodic scheduling of AUX_ADV_IND PDUs
to drift upto 10 ms advertising delay minus the ticks_slot
time reservation of the AUX_ADV_IND PDU when overlapping
with other states/roles that cannot be moved around, to
avoid skipping them.
Having an active Extended Advertising simultaneously with
an ISO Synchronized Receiver or Connected ISO connection
will now have less ISO SDU loss when using 10 ms ISO
intervals.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Change the select to a depends on for the Kconfig options
for HAS and HAS_CLIENT.
This is an effort to reduce the number of selects used by
LE Audio.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Change the select of BT_PER_ADV_SYNC and BT_EXT_ADV to
depends on. This is an effort to reduce the use of
select for Kconfig options.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Modify ASCS and BAP Broadcast sink to depend on the PAC options
instead of selecting them.
Since Kconfig does not support "depends on X if Y",
a select for PAC_{SRC,SNK} is used depending on
ASCS_ASE_{SRC,SNK}.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The BAP Kconfigs option now depends on
BT_ISO_BROADCASTER instead of selecting it.
This is an effort to reduce the use of select in LE Audio.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The BAP_BROADCAST_SOURCE Kconfig option now depends on
BT_ISO_BROADCASTER instead of selecting it.
This is an effort to reduce the use of select in LE Audio.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Modify the Kconfig options to depend on the GATT
features rather than selecting them.
This is part of an effort to reduce the amount of
selects we use in LE Audio.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
These samples demonstrate how to use the bluetooth 6.0 channel
sounding APIs. A basic distance estimation algorithm is included.
Signed-off-by: Olivier Lesage <olivier.lesage@nordicsemi.no>
The sample had a few off-by-ones in the code, which caused access
to invalid data.
Fixed by setting the right buffer sizes and the right AD length
fields.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Add conversion macros from milliseconds to various units.
The purpose of these macros is to make it more clear/easier
for users to set and read values using milliseconds rather
than the various BT units which may be in 0.625, 1.25 or 10ms
units.
This is especially useful when comparing related values using
different units, such as advertising interval (0.625ms units)
and periodic advertising interval units (1.25ms units).
Users will have to be aware that these macros can provide slightly
different values than what is provided, if the provided values
do not match the units.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
In preparation of adding a check for dead references, this commit fixes
currently broken zehpyr_file: links.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Updates to project configuration extras to build with
Zephyr Controller.
Configure for 2 broadcast audio sources in 2 groups,
2 unicast audio source in 1 group and, 2 audio sinks
for 1 group for both broadcast and unicast usecases.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Enabled Periodic Advertising Sync Transfer feature in the
Bluetooth Low Energy HCI Controller samples.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Align Kconfig values used with bt-ll-sw-split Controller as
same used in hci_uart sample.
Relates to commit 2c6306d099 ("Bluetooth: Controller:
BT_CTLR_ISO_TX_BUFFER_SIZE from BT_ISO_TX_MTU")'.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Refactor the sample so that multiple advertising setup can
be reused in other sample if required. Bluetooth enable can
be in the sample that reuses the advertising setup.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix buf alloc timeout to 20 millisecond as the sent callback
can have a latency that is upto twice the ISO interval.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Restrict possible maximum stream synchronization to
implementation defined 2 stream, as structure declarations
in the implementation is limited to 2.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Zephyr 3.7.0 has been released and it is time to remove the migration
code added in 9cf07bbdb5 (bluetooth:
Rename rpmsg HCI driver and sample to ipc).
Signed-off-by: Reto Schneider <reto.schneider@husqvarnagroup.com>
Removed the LE Audio specific definition and instead
refer to the value defined by iso.h as it is ISO/Core
that defines this size, and not BAP/Audio.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Removed the generation of broadcast id inside the stack. It is now up
to the application to generate this by itself. The CAP sample has
been modified to allow either a static broadcast, or a random one.
All of this is handled in the application.
Signed-off-by: Fredrik Danebjer <frdn@demant.com>
To improve broadcast sink sample robostness the max codec meta data
size configuration is increased to reflect the meta codec data sizes
seen for sources in market.
Signed-off-by: Jens Rehhoff Thomsen <jthm@demant.com>
When ever `unack_queue_len` changed, should raise signal
`tx_queue_change` to let's tx_thread known queue changed.
Fixed the situation where the TX thread may no longer be sent out
Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
There's no need to add conditions to CONFIG_PWM_NRF_SW, because it is
already conditioned to DT status. Right now, if any system uses both
normal PWM and "SW PWM", it needs to manually enable the driver
Kconfig.
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Changed dependency of the BT_BAP_SCAN_DELEGATOR to GATT_DYNAMIC_DB
from 'select' to 'depends on' and solved all loop dependencies
caused by this change.
Fixes#79108
Signed-off-by: Babak Arisian <bbaa@demant.com>
Add call to Z_SPIN_DELAY() to avoid issue in bsim where
time does not progress in loop causing other threads to
starve.
Signed-off-by: Johan Stridkvist <johan.stridkvist@nordicsemi.no>
Use EXTRA_CONF_FILE in documentation .rst/.md files,
that replaced deprecated OVERLAY_CONFIG since the Zephyr v3.4 release.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
- Fixes bug where the sample would only look at the first name type
and skip the rest.
Signed-off-by: Alexander Svensen <alexander.svensen@nordicsemi.no>
If the Broadcast ID is initially set to 0x000000,
which is valid, comparison logic on add of an
actual Broadcast ID of 0x000000 fails.
Likewise for SID.
Moving INVALID_BROADCAST_ID define to bap.h
Signed-off-by: Lars Knudsen <LAKD@demant.com>
Introduce BT_CTLR_PERIPHERAL_ISO_RESERVE_MAX Kconfig option
so that disabling this option will use minimum time
reservation and exercise the peripheral ISO connection event
continuation using is_abort_cb mechanism.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Introduce BT_CTLR_PERIPHERAL_RESERVE_MAX Kconfig option so
that disabling this option will use minimum time reservation
and exercise the peripheral connection event continuation
using is_abort_cb mechanism.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
The host-based adv auto-resume function has both a problematic
implementation and disagreement in the community around how it should
behave. See the issue linked resolved below for details.
This patch makes the deprecation visible to the user. The user will be
better served by a auto-resume tailored their applications use case,
based on more primitive host API like `conn_cb.recycled`, which has
obvious behavior that is unlikely to change.
Resolves: https://github.com/zephyrproject-rtos/zephyr/issues/72567
Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
The QoS structure is not related to a codec, but rather a
stream, and should thus not use the "Codec" name.
The BAP and ASCS specs refer to the QoS as
"QoS configuration" several places, so it is an obvious
choice for a name.
Since the structure is defined and used by BAP, the prefix
was changed from bt_audio to bt_bap.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
strncasecmp()'s prototype is provided in strings.h
let's include it to avoid a build warning.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Several samples used K_FOREVER when allocating buffers in the
system workqueue thread, which is prohibited.
The samples should rather retry later if TX fails.
This is not the ideal solution for the samples, but
fixes a bug. Ideally the samples would use a dedicated thread
to handle TX, instead of the system workqueue.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Due to the update of function bt_br_discovery_start,
register discovery callback by calling
bt_br_discovery_cb_register.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Remove unused nRF21 FEM SPI CSN control as the Zephyr
Controller does not implementation SPI control for Tx/Rx
nor for Tx gain settings.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>