nrfxlib API 3.3.99
Loading...
Searching...
No Matches

LE Extended Advertising Report. More...

#include <sdc_hci_cmd_le.h>

Data Fields

uint8_t num_reports
 
uint8_t reports []
 

Detailed Description

LE Extended Advertising Report.

The description below is extracted from Core_v6.3, Vol 4, Part E, Section 7.7.65.13

This event indicates that one or more Bluetooth devices have responded to an active scan or have broadcast advertisements that were received during a passive scan. The Controller may coalesce multiple advertising reports from the same or different advertisers into a single HCI_LE_Extended_Advertising_Report event, provided all the parameters from all the advertising reports fit in a single HCI event.

This event shall only be generated if scanning was enabled using the HCI_LE_Set_- Extended_Scan_Enable command. It reports advertising events using either legacy or extended advertising PDUs.

The Controller may split the data from a single advertisement or scan response (whether one PDU or several) into several reports. If so, each report except the last shall have an Event_Type with a data status field of "incomplete, more data to come", while the last shall have the value "complete"; the Address_Type, Address, Advertising_SID, Primary_PHY, and Secondary_PHY fields shall be the same in all the reports. No further reports shall be sent for a given advertisement or scan response after one with a Data_Status other than "incomplete, more data to come".

When a scan response is received, bits 0 to 2 and 4 of the event type shall indicate the properties of the original advertising event and the Advertising_SID field should be set to the value in the original scannable advertisement. An Event_Type with a data status field of "incomplete, data truncated" shall indicate that the Controller attempted to receive an AUX_CHAIN_IND PDU but was not successful or received it but was unable to store the data.

Where the event being reported used a legacy advertising PDU, the Controller shall set the Event_Type to the value specified in Table 7.1.

PDU Type Event_Type ADV_IND 0b0010011 ADV_DIRECT_IND 0b0010101 ADV_SCAN_IND 0b0010010 ADV_NONCONN_IND 0b0010000 SCAN_RSP to an ADV_IND 0b0011011 SCAN_RSP to an ADV_SCAN_IND 0b0011010 Table 7.1: Event_Type values for legacy PDUs

If the Event_Type indicates a legacy PDU (bit 4 = 1), the Primary_PHY parameter shall indicate the LE 1M PHY and the Secondary_PHY parameter shall be set to 0x00. Otherwise, the Primary_PHY parameter shall indicate the PHY used to send the advertising PDU on the primary advertising physical channel and the Secondary_PHY parameter shall indicate the PHY used to send the advertising PDU(s), if any, on the secondary advertising physical channel. If the Advertising Coding Selection (Host Support) Link Layer feature bit is set (see [Vol 6] Part B, Section 4.6) and the Primary_PHY or Secondary_PHY parameter indicates that the LE Coded PHY was used, then the parameter shall also indicate which coding was used.

The Periodic_Advertising_Interval parameter shall be set to zero when no periodic advertising exists as part of the advertising set.

The Direct_Address_Type and Direct_Address parameters shall contain the TargetA address in the advertising PDU for directed advertising event types (bit 2 = 1). These parameters shall be ignored for undirected advertising event types (bit 2 = 0). If the TargetA address is a resolvable private address that the Controller successfully resolved, then the value of Direct_Address_Type shall depend on the value of the Own_Address_Type parameter of the command that set the extended scan parameters. Direct_Address shall be set as follows:

• If Direct_Address_Type equals 0x02, then Direct_Address shall be set to either the TargetA field in the received advertisement or to the public device address of the scanning device. • If Direct_Address_Type equals 0x03, then Direct_Address shall be set to either the TargetA field in the received advertisement or to the address set by the HCI_LE_Set_Random_Address command. • Otherwise Direct_Address shall be set to the TargetA field in the received advertisement.

When multiple advertising packets are used to complete a single advertising report (e.g., a packet containing an ADV_EXT_IND PDU combined with one containing an AUX_ADV_IND PDU), the RSSI parameter shall be set based on the last packet received and the TX_Power parameter shall be based on the last packet of the current advertisement or scan response received that contains a TxPower field. If there is no packet containing a TxPower field, then TX_Power shall be set to 0x7F. However, if an event has been sent with a TX_Power value other than 0x7F and a Data_Status of "incomplete, more data to come", and if no subsequent PDU with a TxPower field has been received, then subsequent events may instead have a TX_Power value of 0x7F.

If the Controller receives an AUX_CHAIN_IND with no AdvData, it should send the report (or the last report if it has split the data) immediately without waiting for any subsequent AUX_CHAIN_IND PDUs.


The documentation for this struct was generated from the following file: