Bluetooth: controller: Introduce ULL LLL architecture
This is a squash merge of commits introducing the new split Upper Link Layer and Lower Link Layer architecture of the Bluetooth Low Energy controller. This introduces a new, improved Link Layer based on the concept of split responsibilities; The Upper Link Layer (ULL) is in charge of control procedures, inter-event scheduling and overall role management. The code for the ULL is shared among all hardware implementations. The Lower Link Layer (LLL) is responsible for the intra-event scheduling and vendor specific radio hardware access. The communication between ULL and LLL is achieved through a set of FIFOs that contain both control and data packets. Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no> Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com> Signed-off-by: Wolfgang Puffitsch <wopu@oticon.com> Signed-off-by: Morten Priess <mtpr@oticon.com>
This commit is contained in:
parent
254a97af93
commit
1475402d41
57 changed files with 16899 additions and 6 deletions
|
@ -20,6 +20,13 @@
|
|||
#if defined(CONFIG_BT_LL_SW)
|
||||
#include <misc/slist.h>
|
||||
#include "ctrl.h"
|
||||
#define ull_adv_is_enabled ll_adv_is_enabled
|
||||
#define ull_scan_is_enabled ll_scan_is_enabled
|
||||
#elif defined(CONFIG_BT_LL_SW_SPLIT)
|
||||
#include "lll_scan.h"
|
||||
#include "ull_scan_types.h"
|
||||
#include "ull_adv_internal.h"
|
||||
#include "ull_scan_internal.h"
|
||||
#endif
|
||||
|
||||
static u8_t pub_addr[BDADDR_SIZE];
|
||||
|
@ -49,12 +56,12 @@ u8_t *ll_addr_get(u8_t addr_type, u8_t *bdaddr)
|
|||
u32_t ll_addr_set(u8_t addr_type, u8_t const *const bdaddr)
|
||||
{
|
||||
if (IS_ENABLED(CONFIG_BT_BROADCASTER) &&
|
||||
ll_adv_is_enabled(0)) {
|
||||
ull_adv_is_enabled(0)) {
|
||||
return BT_HCI_ERR_CMD_DISALLOWED;
|
||||
}
|
||||
|
||||
if (IS_ENABLED(CONFIG_BT_OBSERVER) &&
|
||||
(ll_scan_is_enabled(0) & (BIT(1) | BIT(2)))) {
|
||||
(ull_scan_is_enabled(0) & (BIT(1) | BIT(2)))) {
|
||||
return BT_HCI_ERR_CMD_DISALLOWED;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue