Ignore received Extended Advertising PDU with RFU field set
in the Common Extended Advertising Payload Format of the
PDU.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Use defines to access hdr_data fields used by interfaces to
populate the Common Extended Advertising Payload Format in
the PDUs.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Use defines for event instant and event instant latency
maximum values of 65536 and 32767 respectively.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Added implementation in Periodic Advertising Synchronization
to support Channel Map Update Indications present in the
ACAD fields of the AUX_SYNC_IND PDUs.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Make the block of code that is used to release node rx with
type NODE_RX_TYPE_RELEASE to be conditionally available for
other Kconfig selectable features like Extended Scanning.
Previously it was only available for CONFIG_BT_CONN, but now
Extended Scanning with LLL scheduling releases node rx when
radio event is closed due to failure to receive an auxiliary
PDU.
Relates to commit 2feffaf719 ("Bluetooth: Controller:
Release LLL scheduling aux on incomplete data").
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix missing reset of connection handle in the LLL context.
During a central connection, if LL reset is called, then
disabled connection context's handle has to be reset
otherwise new connection creation will fail by detecting
that there exists a connection to same peer.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Add implementation to initiator to check and reject
connection requests to already connected peer.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
ULL reference count is checked in ULL_LOW context to decide
if LLL events are pending, but the reference count can be
decremented by the ULL HIGH execution context which can
prevent the set `disabled_cb` function not being called due
to no pending event to produce the done events.
Fixed by checking the reference count in the ULL HIGH
execution context using a mayfly to schedule the check.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
This ensures that all mesh settings were removed from persistent storage
after node reset.
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
Fix maximum radio packet size configuration to use 255 bytes
for Extended Scanning and Periodic Synchronization.
Add a Kconfig option so that application can reduce RAM
usage if a specific user scenario can live with smaller PDU
receptions.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
In the calculation of auxiliary PDU offset for periodic advertising
AUX_CHAIN_IND PDUs there were used old macro that was removed.
The code didn't compile.
Also there were no support for S2 Coded PHY in the offset calculation.
Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
The channels list were originally meant to be used
for multiple bt_iso_chan per iso connect (bt_conn), but
that is not the case for the current API, and won't be
going forward, so the use of the list has been removed.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Add support for setting initial values in bt_vcs_register_param
when registering a VCS service
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
In case that creating a BIG fails due to missing
ISO channel, cleanup_big would try to access a
NULL pointer.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Do not include ULL header in LLL, instead values and fields
required in LLL shall be declared in LLL contexts.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Removed implementation that used memcpy of received PDUs and
instead using the free Rx buffers; use the scratch PDU for
transmitting scan requests and connection requests.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Add the lll_prof_reserve and lll_prof_reserve_send profiling
functions to use when profiling active scanning and
initiator.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
llcp.conn_param.ack was reset on tx of conn param rsp, however this
should only be done once the expected conn update ind is received
and sets the cu.ack flag to indicate cu procedure 'takes over'.
Signed-off-by: Erik Brockhoff <erbr@oticon.com>
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix missing implementation to release Auxiliary PDU chains
and then resume back to scanning on primary channel.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Add PDU time calculation macro for S2 and S8 Coded PHY.
Rename PKT_AC_US to PDU_AC_MAX_US.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Add missing range delay value when calculating the header
complete timeout value for the reception of extended scan
response PDU.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Use the received coding scheme when scanning for correctly
calculating the receive chain delay and on-air PDU time.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
After 31045c7 was merged, it was possible to use broadcast
iso without CONFIG_BT_CONN, but it did not properly handle
TX as there were missing support to read the buffer
size from the controller, as well as missing support
for handling the number of completed packets event.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Change so that num_completed_packets event handling is also
enabled for broadcast ISO only builds. This is because sending
data on a broadcast ISO still generates this event.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Move the function out of the ACL group as it may be used
for broadcast ISO only builds.
er 31045c7 was merged, it was possible to use broadcast
iso without CONFIG_BT_CONN, but it did not properly handle
TX and RX as there were missing support to read the buffer
size from the controller, as well as missing support
for handling the number of completed packets event.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Follow up on commit bfd45e5b8c
("drivers: remove Kconfig option CONFIG_UART_CONSOLE_ON_DEV_NAME")
Remove Kconfig options
CONFIG_BT_UART_ON_DEV_NAME and CONFIG_BT_MONITOR_ON_DEV_NAME
since all UART drivers are converted to devicetree and we can just use
DEVICE_DT_GET(DT_CHOSEN(zephyr_bt_uart)) and
DEVICE_DT_GET(DT_CHOSEN(zephyr_bt_mon_uart)).
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
There were missing commands in local supported commands list that
are related with connectionless direction finding.
The commands are implemented but they haven't been added
to HCI_Read_Local_Supported_Commands list.
The commit fixes that.
Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
Move the implementation of scan trains after call to LLL
prepare, so that LLL prepare executes without any latency.
To increase radio utilization, LLL prepare should be
scheduled as early in the `ticker_cb` of the radio event.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix the return value use to indicate unassigned auxiliary
context when scanning is using LLL scheduling. This can
happen only under LLL scheduling where in LLL auxiliary
channel PDU reception has been spawn from LLL primary
channel scanning and on completion will join back to resume
primary channel PDU scanning.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Keep the default AD Data length to Bluetooth Specification
defined minimum of 31 octets.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>