Implement the advanced scheduling for Extended Initiator to
group central connections established to Extended
Advertisements.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
To be consistent in how order header flags are handled when
updating the common header format fields, explicit check
for ADI flag in previous auxiliary PDU buffer.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Remember last used DID for each SID, so that DID value used,
when updating the advertising PDU fields, change between
consecutive changes to PDU fields.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Make the Extended Advertising DID value updated to be unique
for every new advertising set created.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix corrupt AD data used after directed advertising by
storing a backup of the AD data before switching to directed
advertising. Restore back the AD data with switching to non-
directed advertising.
The fix also addresses AD data backup when switching between
Legacy and Extended Advertising.
Fixes#18850.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Add implementation to resolve AdvA in the received
AUX_CONNECT_RSP PDU before generating the connection
complete.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
If BT_ISO is enabled we now compile conn.c which contains a
lot of functionality used by BT_ISO, even for broadcast-iso
builds, i.e. builds that do not require BT_CONN.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Change the guard such that the iso_mtu and iso_pkts are
not guarded by BT_CONN as they should be available for
iso broadcast-only builds.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Add the bt_acl_recv function that works similar to
bt_iso_recv but for ACL data only, simplying the
generic bt_conn_recv function.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Move the bt_conn_disconnect and conn_disconnect functions
to the ACL group.
Also adds a guard in the iso.c file for connected ISO.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Move the notify_le_phy_updated, notify_le_data_len_updated,
notify_le_param_updated, notify_remote_info,
notify_disconnected and notify_connected functions
to the ACL group.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Move the deferred_work callback function to the ACL group.
This also moves the static function conn_lookup_iso
which is only called form deferred_work.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Move the bt_conn_lookup_state_le, bt_conn_lookup_addr_le and
bt_conn_is_peer_addr_le functions to the ACL group.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Move the bt_conn_get_tx_power_level and
bt_conn_le_get_tx_power_level functions to the ACL group.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Start a group of functions guarded by CONFIG_BT_CONN
that are for connected-only functions. This is a
preparation step for allowing compilation and usage of
conn.c for ISO broadcast-only builds.
Moving all connected-only functionality into a single
group will also allow a possible move of all those
functions into an connected (ACL) only file.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Add missing API:
- Delete all group addresses in a SIG model's subscription list
- Update a network key
- Update an application key
- Get/Set Node Identity parameters
- Set virtual addtess for a SIG model
- Get/Set Key Refresh Procedures
Signed-off-by: Agata Ponitka <agata.ponitka@codecoup.pl>
The functions to check advertising and target address in a
PDU are used only inside the same file, hence make them file
static functions.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Add target address check to extended scanning implementation
to detect invalid target address present in primary and
auxiliary channel PDU. Implementation is reuse of the check
used in the initiator after refactoring to pass parameter to
differentiate, its use for primary or auxiliary channel, and
for scanning or initiating.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Added bt_mesh_msg_send() which can be used by the application to
directly send model layer messages without local instantiation of
related models. Also added bt_mesh_msg_cb_set() which allows the
application to recieve mesh model layer messages without local
instantiation of related models.
Added bt_mesh_has_addr() which returns a bool. For unicast addresses,
this returns whether or not bt_mesh_elem_find() was successfull. If the
above mentioned bt_mesh_msg_cb_set() has been used by the application to
set a message callback, this returns true so that the stack attempts to
push every model message up to the application via the callback. If no
callback has been set, group addresses are searched to see if the stack
should pass the message up the stack to an instantiated model.
These changes allow applications that do not or can not instantiate
models to interface with models in a mesh network. This is applicable to
applications which act as a Bluetooth mesh gateway, sniffer, debugger,
network monitoring, non-mesh relay/extender, etc.
In app_keys.c friend.c net.c bt_mesh_elem_find() is used only to
determine the existance of an address. The full return value of
bt_mesh_elem_find() is unecessary and so was replaced by the above
mentioned bt_mesh_has_addr() function in these instances.
Simplified bt_mesh_elem_find() by removing the search through group
address. Since the above mentioned bt_mesh_has_addr() function handles
instances where group addresses must be searched, it was no longer
necessary to preform this search in this function.
Signed-off-by: Bud Wandinger <bud@budkoembedded.ca>