This commit adds Published Audio Capabilities Service/Prifile. In pair
ble_audio_codec module is added, that supports registering supported
codecs with their corresponding configurations.
This patch refactors BLE Audio library to conform to new directory tree
introduced in a9795706bea035d84d1577680e0814ceedc9dc58.
LE Audio related files present in host/include, host/src and
host/services were moved to corelated folders in host/audio.
Experimental system config BLE_AUDIO enabling LE Audio feature was introduced.
Naming convention for BLE Audio functions, structures and files was
unified - replaced `bcst` shorthand with `broadcast`. For example,
ble_audio_pub_bcst_announcement_feat was renamed to
ble_audio_pub_broadcast_announcement_feat.
Contents of host/include/ble_audio_common.h was incorporated into
host/audio/include/audio/ble_audio.h.
Apps and Auracast service were adjusted to new config and include paths.
BLE_MAX_BIG and BLE_MAX_BIS renamed to BLE_ISO_MAX_BIGS and
BLE_ISO_MAX_BISES, respectevaly.
This patch renames files, functions and configs from `broadcaster` to
`broadcast source` so new `broadcast sink` files and functions can be
created. Adds `BLE_ISO_BROADCAST_SINK` sysconfig
Since HCI socket was initialized by `ble_transport_ll_init` in LL side,
we should remove `ble_hci_sock_init` from example apps.
Signed-off-by: Hang Fan <fanhang8@gmail.com>
When using external controller, ble_transport_ll_init() was not
run because of NIMBLE_CFG_CONTROLLER was not defined.
But under current architecture ble_transport_ll_init() should also
be run to initialize the communication interface.
This is initial implementation of handling new GATT opcodes.
Gatt Client supports now:
ATT multi Variable read req
receiving ATT multi notifications
Gatt server supports now:
ATT multi Variable read rsp
The idea for EATT in Mynewt is as follow.
EATT is not exposed to the user i.e. GATT API stays the same. User can
define number of EATT channels supported by the host and it is host
managing those channels.
EATT will be fist choice channel for every ATT operation. In the future
we can make it smarted and make a choice based on the ATT data in the
packet
TODO:
* handle reading and setting client/server Supported features in the
stack instead of eatt code
* add test API to choose channel to use (needed by PTS)
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`.
New option allows to select if controller should initiate DLE update
automatically for connection. By default it is enabled to not change
existing controller behavior.
This leads to implicit include of unistd.h which provides link symbol
that collide with mesh internal symbols. If needed c files may include
it directly.
This rename makes it consistent with Core specification Vol. 3,
part C, 10.2.1 LE security mode 1. This level specifies security
requirements for both SC and legacy pairing, not only SC.
Updated description of this setting.