Commit graph

9523 commits

Author SHA1 Message Date
Vinayak Kariappa Chettimada
322561c6bb Bluetooth: controller: split: Disable all adv sets unsupported
Added comments and code to make note that disabling all
advertising sets is not yet implemented.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
95d3d5be2a Bluetooth: controller: Refactor pdu.h defines
Refactor pdu.h defined in anticipation of reused in
Advertising Extensions implementation. To reuse in
calculating ticks_slots etc.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
a682fe63eb Bluetooth: controller: added Kconfig for max adv data length
Added a Kconfig for maximum advertising data length.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
dc55e08ce6 Bluetooth: controller: split: Fix crash due to incorrect no. of tickers
Fix segmentation fault detected by BabbleSim test due to
incorrect number of tickers being allocated.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
688ddc4db6 Bluetooth: controller: split: Fix directed adv addr type returned
Fix HCI LE Directed Advertising Report event to return
correct directed advertiser's address type.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
0d6476248a Bluetooth: controller: split: Fix auxiliary channel scan window width
Fix the calculation of auxiliary channel scan window width.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
c2b7f15556 Bluetooth: controller: split: Avoid ticker null pointer dereferencing
Avoid ticker from null pointer dereferencing when storing
operation callback functions to be called during collision
resolution.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
af90f17758 Bluetooth: controller: split: Fix conditional compile of ticker ids
Fix conditional compile of ticker ids for auxiliary sets and
periodic sets.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
516bae9536 Bluetooth: controller: split: Fix scan set allocation
Fix scan set allocation using BT_CTLR_SCAN_SET instead of
an incorrect duplicate BT_CTLR_SCAN_MAX.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
18995306f1 Bluetooth: controller: split: Fix Ext Scanning when coded PHY unsupported
Fix implementation from starting coded PHY scan window.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
1aa9ca244f Bluetooth: controller: split: Fix compile error in periodic adv code
Fix copy-paste compile error in the implementation of the
periodic advertising.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
8eebc2e926 Bluetooth: controller: Integrate extended adv report into HCI
Integrate the generated extended adv report PDU list into
HCI layer to generate the HCI LE Extended Advertising Report
event.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
0c058badf2 Bluetooth: controller: split: Change the extended scan PDU rx list
Change the implementation of extended scan PDU rx list to use
the extra pointer as the next field in the linked list node.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
fbf91da922 Bluetooth: controller: split: Extended scanning Rx list
Added implementation to enqueue received auxiliary PDUs in
the ULL.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
97355e4799 Bluetooth: controller: split: Fix for missing Aux PDU
Fix missing Auxiliary PDU when primary PDU is calculating
the offset. Schedule the auxiliary PDU ticker before primary
PDU ticker is scheduled.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
23ef75f6d9 Bluetooth: controller: split: Fix Low Latency Prepare Done
Fix the Low Latency Prepare Done that disables ULL_LOW
context executions inside a radio event, so that
ticker_job_idle_get is invoked from ULL_LOW instead of LLL
context so that its enqueued alongwith others scheduled
in ULL_LOW. This is avoid premature disable of ULL_LOW
context executions.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
e9bee3b070 Bluetooth: controller: split: Updated HCI BT_INFO of scanned PDU
Updated HCI BT_INFO of printing the parsed extended PDU.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
45231fd071 Bluetooth: controller: split: Fix missing enh conn complete HCI event
When Privacy is not supported in the build and Advertising
Extensions is enabled, HCI LE Enhanced Connection Complete
event was missing. This is fixed now.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
fa91a80f28 Bluetooth: controller: split: Port openisa files
Port OpenISA LLL files to reflect some of the changes done
in Nordic LLL.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
e51167b787 Bluetooth: controller: split: Fix to stop preempt ticker
Fixed premature abort of events due to stale preempt ticker
expiry.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
4702d9cead Bluetooth: controller: split: Minor refactor return variable
Minor refactor return variable name and fix return value
type.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
ef97208eeb Bluetooth: controller: split: Fix DID increment
Fix missing DID increment when AD data changed to zero len.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
cc2cb6a347 Bluetooth: controller: split: Fix incorrect adv_addr type
Fix incorrect adv_addr type in auxiliary PDU when address
is removed from primary and added to auxiliary PDU.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
e099cfd6d7 Bluetooth: controller: split: Add correct aux scan ticks slot
Implemented the missing ticks_slot calculation for the
auxiliary channel PDU scanning window.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
cb3024fe86 Bluetooth: controller: split: Fix slave HCTO calculation
Fix missing sleep clock accuracy related jitter in the
header complete timeout calculation.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
746ffdc194 Bluetooth: controller: split: Add Extended Scanning window widening
Added implementation to calculate the window widening for
the reception of auxiliary PDU.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
e9c80f8534 Bluetooth: controller: split: Initial extended scanning code
Initial extended scanning code added.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
6a86307ad4 Bluetooth: controller: split: Abort auxiliary LLL if aux_ptr missing
Abort Auxiliary LLL prepare if current primary PDU is
missing the aux_ptr.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
29f26bac24 Bluetooth: controller: split: Schedule auxiliary after primary PDU
Fix to avoid a crash due to missing aux_ptr in current
primary PDU constructed by LE Set Extended Advertising
Parameter Set, while aux_ptr was populated by LE Set
Extended Advertising Data Set in the latest double buffered
PDU.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
9a82f38435 Bluetooth: controller: split: Fix extended event properties changes
Added implementation to handle updates to adv mode and event
properties of an already created advertising set.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
6c2bccfb09 Bluetooth: controller: split: Refactor PKT_US for Adv. Ext. use
Refactor the PKT_US for reuse with Extended Scanning.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
e0bd57901f Bluetooth: controller: split: Use uint8_t for advertising handles
Refactor to use uint8_t for advertising handles.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
d6cc180168 Bluetooth: controller: Fix collision resolution for single-shot ticker
Fix collision resolution to consider single-shot ticker,
current single-shot with ticks_slot as older that a next
periodic or single-shot ticker with ticks_slot.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
35d9933597 Bluetooth: controller: Fix single-short ticker operation failure
Fix ticker to correctly generate the operation callback if
single-shot ticker fails to be scheduled and does not
expire.

As the collision resolution is deferred to the worker, if
a single-shot ticker is cancelled, then appropriately call
the operation callback with failure status. This is allow
the user to take necessary actions, like release resources
allocated that need to be release on the failure to schedule
the single-shot ticker expiry.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
ba9b065c13 Bluetooth: controller: split: Move PKT_US into pdu.h
Move the definition of PKT_US into pdu.h so that it can be used
by Advertising Extensions implementations too.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
5d6c4a6cb5 Bluetooth: controller: split: Refactor node_rx_ftr
Remove us_radio_rdy field in the footer structure as its always
a constant value which can be obtained using a functional
interface to HAL.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
0681c80573 Bluetooth: controller: Fix to use advertiser random address
Fix legacy advertising started using Extended Advertising
sets to use the set advertising random address.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
c89c94f940 Bluetooth: controller: split: Workaround succeed on zero len scan rsp set
Added a workaround to succeed setting a zero length Extended
Scan Response Data.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
3527778c41 Bluetooth: controller: split: Fix extended scan param set
Fix missing reset of phy struct member for scan set that is
not being enabled by use of LE Extended Scan Parameter Set
command.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
281fa4c4a9 Bluetooth: controller: split: Allow set rand addr when using ext cmds
Allow use of HCI LE Set Random Address cmd when advertising
is enabled using Extended Advertising commands.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
eb102d7822 Bluetooth: controller: split: Fix missing coded PHY scanning
Fix, use phy variable instead of type to determine if
scanning on Coded PHY is to be enabled.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
a40b1e9212 Bluetooth: controller: hci: Integrate LE Ext. Create Connection
Integrate the support for HCI LE Extended Create Connection.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
a74276e1bd Bluetooth: controller: split: Added LE Ext. Create Connection
Added implementation of LE Extended Create Connection.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
b87cae97bb Bluetooth: controller: split: Add generate of ext adv legacy report
Added implementation to generate LE Extended Advertising
Report for received legacy PDUs.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
d9523c5005 Bluetooth: controller: split: SCAN_RSP for ADV_IND or SCAN_IND
Added implementation to differentiate SCAN_RSP received for
ADV_IND or SCAN_IND PDU.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
60a117c6ca Bluetooth: controller: split: Add the missing enable of dup filtering
Add implementation to enable duplicate filtering for extended
scanning.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
24e3fd521e Bluetooth: controller: split: Fix missing reset of scanner state
Fix missing reset of scanner state which could cause a
spurious SCAN_RSP packet without a prior SCAN_REQ being sent
to be reported.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
608063b3ec Bluetooth: controller: hci: Indent BT_INFO of extended header
Indent when logging out the field value of common extended
advertising header format.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
561354dde2 Bluetooth: controller: hci: Integrate Adv Extensions commands
Integrate Advertising Extensions related Extended Advertising
and Extended Scan HCI commands.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00
Vinayak Kariappa Chettimada
e941e72092 Bluetooth: controller: split: Added Extended Scan Support
Updated implementation to support Extended Scan Parameters
and Extended Scan Enable.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-06-12 15:50:34 +02:00