Files
esp-idf/components/bt/porting_btdm/controller/ble/Kconfig.in
T
ShenWeilong b9ba3ea3ad feat(bt): updated libble and libbtdm
1. Added strong function for btdm_compressed_assert.
          2. Fixed some berdr hci issues
          3. Updated ble config params structure
2026-08-13 11:07:18 +08:00

859 lines
31 KiB
Plaintext

menu "Connection vendor/Optimization Options"
config BT_LE_CTRL_CHECK_CONNECT_IND_ACCESS_ADDRESS
bool "Enable enhanced Access Address check in CONNECT_IND"
default n
help
Enabling this option will add stricter verification of the Access Address in the CONNECT_IND PDU.
This improves security by ensuring that only connection requests with valid Access Addresses are accepted.
If disabled, only basic checks are applied, improving compatibility.
config BT_LE_CTRL_CHAN_ASS_EN
bool "Enable channel assessment(Experimental)"
default n
help
If this option is enabled, The Controller will records the communication quality
for each channel and then start a timer to check and update the channel map every 4 seconds.
menu "BLE disconnects when Instant Passed (0x28) occurs"
config BT_LE_CTRL_LLCP_CONN_UPDATE
bool "BLE ACL connection update procedure"
default n
help
If this option is enabled, Controller will terminate the connection
when Instant Passed (0x28) error occurs during connection update procedure.
config BT_LE_CTRL_LLCP_CHAN_MAP_UPDATE
bool "BLE ACL channel map update procedure"
default n
help
If this option is enabled, Controller will terminate the connection
when Instant Passed (0x28) error occurs in channel map update procedure.
config BT_LE_CTRL_LLCP_PHY_UPDATE
bool "BLE ACL PHY update procedure"
default n
help
If this option is enabled, Controller will terminate the connection
when Instant Passed (0x28) error occurs in PHY update procedure.
endmenu # "BLE disconnects when Instant Passed (0x28) occurs"
config BT_LE_CONN_RESERVED_MEMORY_COUNT
int "The value of reserved CONN memory count at initialization"
range 0 70
default 2
help
This value sets the number the Controller will allocate for connection instances
at the initialization process. If more connection instances are enabled, those
memory will be dynamically allocated.
Using reduced amount of reserved memory will save heap size at the cost of extra
time consumption at connection establishment process and possible connection
establishment failure due to memory shortage.
The actual reserved memory count will be the minimum value between the maximum
connection instances and the BT_LE_CONN_RESERVED_MEMORY_COUNT.
config BT_LE_CTRL_SLV_FAST_RX_CONN_DATA_EN
bool "Enable Peripheral fast PDU reception during latency"
default n
help
When this option is enabled, the Controller continues receiving PDUs
In the next connection event instead of entering latency
After a data packet is received.
config BT_LE_CTRL_DL_ITVL_PHY_SYNC_EN
bool "Enables the automatic initiation of a data length update (Experimental)."
default n
help
When this option is enabled, the Controller automatically initiates a data length update
Using the appropriate data length parameters
When a PHY update or a connection interval update occurs.
endmenu # "Connection vendor/Optimization Options"
menu "Scanning vendor/Optimization Options"
config BT_CTRL_SCAN_BACKOFF_UPPERLIMITMAX
int "The value of upperlimitmax during scan backoff procedure"
range 1 256
default 32
help
The value of upperlimitmax needs to be a power of 2.
endmenu # "Scanning vendor/Optimization Options"
menu "Advertising vendor/Optimization Options"
config BT_LE_CTRL_ADV_DATA_LENGTH_ZERO_AUX
bool "Enable aux packet when ext adv data length is zero(Experimental)"
default y
help
When this option is enabled, auxiliary packets will be present in the events of
'Non-Connectable and Non-Scannable' regardless of whether the advertising length is 0.
If this option is not enabled, auxiliary packets will only be present when the advertising length is not 0.
config BT_LE_CTRL_ADV_EVENT_INC_ON_FULL_TX_EN
bool "Increment advertising event count only on full PDU TX success"
default n
help
When enabled, the advertising event count is incremented only
if all PDUs in an advertising event are transmitted successfully.
If disabled, the event count is incremented regardless of transmission success.
config BT_LE_CTRL_ADV_CH38_39_TX_AVOID_CONFLICT_EN
bool "Delay advertising TX on channels 38/39 to avoid scheduling conflicts"
default n
help
When enabled, advertising transmissions on channels 38 and 39
are delayed if a scheduling conflict occurs.
config BT_LE_ADV_CH39_TXPWR_CONFIG_SEPARATELY_EN
bool "(Unsupported !!) Enable separate TX power for advertising on channel 39"
default n
help
When enabled, the TX power for advertising transmissions
on channel 39 can be configured independently of other channels.
config BT_LE_DFT_CH39_TX_POWER_LEVEL_DBM_EFF
int "Tx power for advertising on channel 39 (dBm)"
depends on BT_LE_ADV_CH39_TXPWR_CONFIG_SEPARATELY_EN
range -15 20
default 0
config BT_LE_CTRL_ADV_TX_CONTINUE_WHEN_EXCEED_ITVL_EN
bool "Allow advertising TX to continue if data TX exceeds interval"
default n
help
When enabled, advertising transmission continues even if the
TX duration for advertising data exceeds the configured advertising interval.
config BT_LE_CTRL_ADV_RAND_CH_IDX_EN
bool "Enable Randomized Advertising Channel Indexing"
default n
help
When enabled, the advertising channel sequence is randomized
according to the Randomized Advertising Channel Indexing feature.
If disabled, the standard channel sequence is used.
config BT_LE_CTRL_FAST_CONN_DATA_TX_EN
bool "Enable fast sending of connection data"
default y
help
If this option is enabled, The Controller will continue to
Send an empty PDU after sending valid connection data within an interval.
config BT_LE_EXT_ADV_RESERVED_MEMORY_COUNT
int "The value of reserved EXT ADV memory count at initialization"
range 0 4
default 2
help
This value sets the number the Controller will allocate for extended advertisement
instances at initialization process. If more extended advertisement instances are
enabled, those memory will be dynamically allocated.
Using reduced amount of reserved memory will save heap size at the cost of extra
time consumption at advertising start process and possible advertising start failure
due to memory shortage.
The actual reserved memory count will be the minimum value between the maximum
extended advertisement instances and the BT_LE_EXT_ADV_RESERVED_MEMORY_COUNT.
endmenu # "Advertising vendor/Optimization Options"
menu "Scheduling Priority Level Config"
choice BT_LE_ADV_SCHED_PRIO_LEVEL
prompt "The Adv scheduling priority level"
default BT_LE_ADV_SCHED_PRIO_LOW_LEVEL
help
The Adv scheduling priority level is used for arbitration when internal scheduling conflicts.
config BT_LE_ADV_SCHED_PRIO_LOW_LEVEL
bool "low priority level"
config BT_LE_ADV_SCHED_PRIO_MID_LEVEL
bool "medium priority level"
config BT_LE_ADV_SCHED_PRIO_HIGH_LEVEL
bool "high priority level"
endchoice
config BT_LE_DFT_ADV_SCHED_PRIO_LEVEL
int
default 0 if BT_LE_ADV_SCHED_PRIO_LOW_LEVEL
default 1 if BT_LE_ADV_SCHED_PRIO_MID_LEVEL
default 2 if BT_LE_ADV_SCHED_PRIO_HIGH_LEVEL
default 0
choice BT_LE_PERIODIC_ADV_SCHED_PRIO_LEVEL
prompt "The Periodic Adv scheduling priority level"
default BT_LE_PERIODIC_ADV_SCHED_PRIO_MID_LEVEL
help
The Periodic Adv scheduling priority level is used for arbitration when internal scheduling conflicts.
config BT_LE_PERIODIC_ADV_SCHED_PRIO_LOW_LEVEL
bool "low priority level"
config BT_LE_PERIODIC_ADV_SCHED_PRIO_MID_LEVEL
bool "medium priority level"
config BT_LE_PERIODIC_ADV_SCHED_PRIO_HIGH_LEVEL
bool "high priority level"
endchoice
config BT_LE_DFT_PERIODIC_ADV_SCHED_PRIO_LEVEL
int
default 0 if BT_LE_PERIODIC_ADV_SCHED_PRIO_LOW_LEVEL
default 1 if BT_LE_PERIODIC_ADV_SCHED_PRIO_MID_LEVEL
default 2 if BT_LE_PERIODIC_ADV_SCHED_PRIO_HIGH_LEVEL
default 1
choice BT_LE_SYNC_SCHED_PRIO_LEVEL
prompt "The Sync scheduling priority level"
default BT_LE_SYNC_SCHED_PRIO_MID_LEVEL
help
The SYNC scheduling priority level is used for arbitration when internal scheduling conflicts.
config BT_LE_SYNC_SCHED_PRIO_LOW_LEVEL
bool "low priority level"
config BT_LE_SYNC_SCHED_PRIO_MID_LEVEL
bool "medium priority level"
config BT_LE_SYNC_SCHED_PRIO_HIGH_LEVEL
bool "high priority level"
endchoice
config BT_LE_DFT_SYNC_SCHED_PRIO_LEVEL
int
default 0 if BT_LE_SYNC_SCHED_PRIO_LOW_LEVEL
default 1 if BT_LE_SYNC_SCHED_PRIO_MID_LEVEL
default 2 if BT_LE_SYNC_SCHED_PRIO_HIGH_LEVEL
default 1
endmenu
menuconfig BT_LE_50_FEATURE_SUPPORT
bool "Enable BLE 5 feature"
depends on !BT_NIMBLE_ENABLED
default y
help
Enable BLE 5 feature
config BT_LE_LL_CFG_FEAT_LE_2M_PHY
bool "Enable 2M Phy"
depends on BT_LE_50_FEATURE_SUPPORT
default y
help
Enable 2M-PHY
config BT_LE_LL_CFG_FEAT_LE_CODED_PHY
bool "Enable coded Phy"
depends on BT_LE_50_FEATURE_SUPPORT
default y
help
Enable coded-PHY
config BT_LE_EXT_ADV
bool "Enable extended advertising"
depends on BT_LE_50_FEATURE_SUPPORT
default y
help
Enable this option to do extended advertising. Extended advertising
will be supported from BLE 5.0 onwards.
if BT_LE_EXT_ADV
config BT_LE_MAX_EXT_ADV_INSTANCES
int "Maximum number of extended advertising instances."
range 0 4
default 1
depends on BT_LE_EXT_ADV
help
Change this option to set maximum number of extended advertising
instances. Minimum there is always one instance of
advertising. Enter how many more advertising instances you
want.
Each extended advertising instance will take about 0.5k DRAM.
config BT_LE_EXT_ADV_MAX_SIZE
int "Maximum length of the advertising data."
range 0 1650
default 1650
depends on BT_LE_EXT_ADV
help
Defines the length of the extended adv data. The value should not
exceed 1650.
config BT_LE_ENABLE_PERIODIC_ADV
bool "Enable periodic advertisement."
default y
depends on BT_LE_EXT_ADV
help
Enable this option to start periodic advertisement.
config BT_LE_PERIODIC_ADV_SYNC_TRANSFER
bool "Enable Transfer Sync Events"
depends on BT_LE_ENABLE_PERIODIC_ADV
default y
help
This enables controller transfer periodic sync events to host
config BT_LE_PERIODIC_ADV_WITH_RESPONSE_ENABLED
bool "Enable BLE periodic advertising with response"
depends on BT_LE_ENABLE_PERIODIC_ADV && SOC_BLE_PERIODIC_ADV_WITH_RESPONSE
default n
help
This enables BLE periodic advertising with response feature
config BT_LE_PERIODIC_SYNC_WITH_RESPONSE_ENABLED
bool "Enable BLE periodic sync with response"
depends on BT_LE_ENABLE_PERIODIC_ADV && SOC_BLE_PERIODIC_ADV_WITH_RESPONSE
default n
help
This enables BLE periodic sync with response feature
endif
config BT_LE_MAX_PERIODIC_SYNCS
int "Maximum number of periodic advertising syncs"
depends on BT_LE_50_FEATURE_SUPPORT && !BT_NIMBLE_ENABLED
range 0 8
default 1 if BT_LE_ENABLE_PERIODIC_ADV
default 0
help
Set this option to set the upper limit for number of periodic sync
connections. This should be less than maximum connections allowed by
controller.
config BT_LE_MAX_PERIODIC_ADVERTISER_LIST
int "Maximum number of periodic advertiser list"
depends on BT_LE_50_FEATURE_SUPPORT && !BT_NIMBLE_ENABLED
range 1 5
default 5
help
Set this option to set the upper limit for number of periodic advertiser list.
config BT_LE_POWER_CONTROL_ENABLED
bool "Enable controller support for BLE Power Control"
depends on BT_LE_50_FEATURE_SUPPORT && !BT_NIMBLE_ENABLED
default n
help
Set this option to enable the Power Control feature on controller
config BT_LE_SUBRATE_ENABLED
bool "Enable BLE connection subrating"
depends on BT_LE_50_FEATURE_SUPPORT && SOC_BLE_SUBRATE_SUPPORTED
default n
help
Set this option to enable the Connection Subrating feature on controller
config BT_LE_CTE_FEATURE_ENABLED
bool "Enable Bluetooth LE Direction Finding (AoA/AoD)"
depends on BT_LE_50_FEATURE_SUPPORT && SOC_BLE_CTE_SUPPORTED
default n
help
Enable this option to activate Bluetooth LE Direction Finding (AoA/AoD) feature.
Note:
This feature allows devices to determine the direction of a Bluetooth CTE signal,
enabling Angle of Arrival (AoA) and Angle of Departure (AoD) functionality.
menuconfig BT_LE_ISO_SUPPORT
bool "Enable BLE ISO feature"
default n
help
Support BLE 5.2 ISO feature
config BT_LE_ISO_FRA_UNSEG
bool "Enable Unsegmented mode for Framed PDU"
depends on BT_LE_ISO_SUPPORT
help
Enable this to support the Framed Unsegmented mode.
config BT_LE_ISO_NSFC_EN
bool "Enable Non-standard Flow Control (NSFC) mode"
depends on BT_LE_ISO_SUPPORT
default y
help
Enable this to support ISO non-standard flow control.
Note:
If non-standard flow control mode is used, no Number of
Completed Packets event will be posted from Controller.
Instead before transmitting an ISO packet, Host needs to
invoke an API provided by Controller to make sure that
the ISO packet could be accommodated by Controller.
config BT_LE_ISO_NSFC_NUM
int "Maximum number of ISO packets for NSFC mode"
depends on BT_LE_ISO_SUPPORT && BT_LE_ISO_NSFC_EN
range 1 255
default 12
help
Maximum number of ISO packets could be accommodated by
Controller while using non-standard flow control mode.
config BT_LE_ISO_BUF_COUNT
int "Number of allocated ISO buffers"
depends on BT_LE_ISO_SUPPORT
range 1 255
default 12
help
Number of ISO buffers allocated in Controller.
config BT_LE_ISO_BUF_SIZE
int "Size of each allocated ISO buffer"
depends on BT_LE_ISO_SUPPORT
range 1 65535
default 251
help
Size of each allocated ISO buffer in Controller.
And the allocated ISO buffers will be used to hold
ISO Data PDUs for transmission.
Currently a larger value is meaningless, which only
increase memory consumption.
config BT_LE_ISO_BIG
int "Maximum number of BIGs"
depends on BT_LE_ISO_SUPPORT
range 1 2
default 1
help
Maximum number of BIGs.
config BT_LE_ISO_BIS
int "Maximum number of BISes"
depends on BT_LE_ISO_SUPPORT
range 1 6
default 2
help
Maximum number of BISes.
config BT_LE_ISO_BIS_PER_BIG
int "Maximum number of BISes per BIG"
depends on BT_LE_ISO_SUPPORT
range 1 BT_LE_ISO_BIS
default BT_LE_ISO_BIS
help
Maximum number of BISes per BIG.
config BT_LE_ISO_CIG
int "Maximum number of CIGs"
depends on BT_LE_ISO_SUPPORT
range 1 2
default 1
help
Maximum number of CIGs.
config BT_LE_ISO_CIS
int "Maximum number of CISes"
depends on BT_LE_ISO_SUPPORT
range 1 6
default 2
help
Maximum number of CISes.
config BT_LE_ISO_CIS_PER_CIG
int "Maximum number of CISes per CIG"
depends on BT_LE_ISO_SUPPORT
range 1 BT_LE_ISO_CIS
default BT_LE_ISO_CIS
help
Maximum number of CISes per CIG.
menu "Memory Settings"
depends on !BT_NIMBLE_ENABLED
config BT_LE_MSYS_1_BLOCK_COUNT
int "MSYS_1 Block Count"
default 12
help
MSYS is a system level mbuf registry. For prepare write & prepare
responses MBUFs are allocated out of msys_1 pool. For NIMBLE_MESH
enabled cases, this block count is increased by 8 than user defined
count.
config BT_LE_MSYS_1_BLOCK_SIZE
int "MSYS_1 Block Size"
default 256
help
Dynamic memory size of block 1
config BT_LE_MSYS_2_BLOCK_COUNT
int "MSYS_2 Block Count"
default 24
help
Dynamic memory count
config BT_LE_MSYS_2_BLOCK_SIZE
int "MSYS_2 Block Size"
default 320
help
Dynamic memory size of block 2
config BT_LE_MSYS_BUF_FROM_HEAP
bool "Get Msys Mbuf from heap"
default y
depends on BT_LE_MSYS_INIT_IN_CONTROLLER
help
This option sets the source of the shared msys mbuf memory between
the Host and the Controller. Allocate the memory from the heap if
this option is sets, from the mempool otherwise.
config BT_LE_ACL_BUF_COUNT
int "ACL Buffer count"
default 10
help
The number of ACL data buffers.
config BT_LE_ACL_BUF_SIZE
int "ACL Buffer size"
default 517
help
This is the maximum size of the data portion of HCI ACL data packets.
It does not include the HCI data header (of 4 bytes)
config BT_LE_HCI_EVT_BUF_SIZE
int "HCI Event Buffer size"
default 257 if BT_LE_EXT_ADV
default 70
help
This is the size of each HCI event buffer in bytes. In case of
extended advertising, packets can be fragmented. 257 bytes is the
maximum size of a packet.
config BT_LE_HCI_EVT_HI_BUF_COUNT
int "High Priority HCI Event Buffer count"
default 30
help
This is the high priority HCI events' buffer size. High-priority
event buffers are for everything except advertising reports. If there
are no free high-priority event buffers then host will try to allocate a
low-priority buffer instead
config BT_LE_HCI_EVT_LO_BUF_COUNT
int "Low Priority HCI Event Buffer count"
default 8
help
This is the low priority HCI events' buffer size. Low-priority event
buffers are only used for advertising reports. If there are no free
low-priority event buffers, then an incoming advertising report will
get dropped
endmenu
menu "Controller debug features"
config BT_LE_ERROR_SIM_ENABLED
bool "Enable controller features for internal testing"
default n
config BT_LE_ASSERT_WHEN_ABNORMAL_DISCONN_ENABLED
bool "When ACL disconnects abnormally, assertion processing is performed(Experimental)"
default n
config BT_LE_DEBUG_REMAIN_SCENE_ENABLED
bool "Remain scene with GDB to capture relevant status info(Experimental)"
default n
help
Retain scene with GDB to capture info, requires disabling WDT (CONFIG_ESP_INT_WDT, CONFIG_ESP_TASK_WDT_EN).
config BT_LE_PTR_CHECK_ENABLED
bool "Enable boundary check for internal memory"
default n
config BT_LE_MEM_CHECK_ENABLED
bool "Enable memory allocation check"
default n
help
Used in internal tests only. Enable the memory allocation check.
endmenu
config BT_LE_LL_RESOLV_LIST_SIZE
int "BLE LL Resolving list size"
range 1 5
default 4
help
Configure the size of resolving list used in link layer.
menuconfig BT_LE_SECURITY_ENABLE
bool "Enable BLE SM feature"
depends on !BT_NIMBLE_ENABLED
default y
help
Enable BLE sm feature
config BT_LE_SM_LEGACY
bool "Security manager legacy pairing"
depends on BT_LE_SECURITY_ENABLE
default y
help
Enable security manager legacy pairing
config BT_LE_SM_SC
bool "Security manager secure connections (4.2)"
depends on BT_LE_SECURITY_ENABLE
default y
help
Enable security manager secure connections
config BT_LE_SM_SC_DEBUG_KEYS
bool "Use predefined public-private key pair"
default n
depends on BT_LE_SECURITY_ENABLE && BT_LE_SM_SC
help
If this option is enabled, SM uses predefined DH key pair as described
in Core Specification, Vol. 3, Part H, 2.3.5.6.1. This allows to
decrypt air traffic easily and thus should only be used for debugging.
config BT_LE_LL_CFG_FEAT_LE_ENCRYPTION
bool "Enable LE encryption"
depends on BT_LE_SECURITY_ENABLE
default y
help
Enable encryption connection
config BT_LE_CRYPTO_STACK_MBEDTLS
bool "Override TinyCrypt with mbedTLS for crypto computations"
default n
depends on !BT_NIMBLE_ENABLED
select MBEDTLS_CMAC_C
help
Enable this option to choose mbedTLS instead of TinyCrypt for crypto
computations.
config BT_LE_WHITELIST_SIZE
int "BLE white list size"
range 1 15
default 12
depends on !BT_NIMBLE_ENABLED
help
BLE list size
config BT_LE_LL_DUP_SCAN_LIST_COUNT
int "BLE duplicate scan list count"
range 1 100
default 20
help
config the max count of duplicate scan list
config BT_LE_LL_SCA
int "BLE Sleep clock accuracy"
range 0 500
default 60
help
Sleep clock accuracy of our device (in ppm)
config BT_LE_MAX_CONNECTIONS
int "Maximum number of concurrent connections"
depends on !BT_NIMBLE_ENABLED
range 1 70
default 3
help
Defines maximum number of concurrent BLE connections.
Each connection will take about 1k DRAM.
choice BT_LE_COEX_PHY_CODED_TX_RX_TLIM
prompt "Coexistence: limit on MAX Tx/Rx time for coded-PHY connection"
default BT_LE_COEX_PHY_CODED_TX_RX_TLIM_DIS
help
When using PHY-Coded in BLE connection, limitation on max tx/rx time can be applied to
better avoid dramatic performance deterioration of Wi-Fi.
config BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EN
bool "Force Enable"
help
Always enable the limitation on max tx/rx time for Coded-PHY connection
config BT_LE_COEX_PHY_CODED_TX_RX_TLIM_DIS
bool "Force Disable"
help
Disable the limitation on max tx/rx time for Coded-PHY connection
endchoice
config BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EFF
int
default 1 if BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EN
default 0 if BT_LE_COEX_PHY_CODED_TX_RX_TLIM_DIS
config BT_LE_USE_ESP_TIMER
bool "Enable Esp Timer for Callout"
depends on !BT_NIMBLE_ENABLED
default y
help
Set this option to use Esp Timer which has higher priority timer
instead of FreeRTOS timer
config BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP
bool "BLE adv report flow control supported"
default y
help
The function is mainly used to enable flow control for advertising reports. When it is enabled,
advertising reports will be discarded by the controller if the number of unprocessed advertising
reports exceeds the size of BLE adv report flow control.
config BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM
int "BLE adv report flow control number"
depends on BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP
range 50 1000
default 100
help
The number of unprocessed advertising report that bluetooth host can save.If you set
`BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM` to a small value, this may cause adv packets lost.
If you set `BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM` to a large value, bluetooth host may cache a
lot of adv packets and this may cause system memory run out. For example, if you set
it to 50, the maximum memory consumed by host is 35 * 50 bytes. Please set
`BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM` according to your system free memory and handle adv
packets as fast as possible, otherwise it will cause adv packets lost.
config BT_CTRL_BLE_ADV_REPORT_DISCARD_THRSHOLD
int "BLE adv lost event threshold value"
depends on BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP
range 1 1000
default 20
help
When adv report flow control is enabled, The ADV lost event will be generated when the number
of ADV packets lost in the controller reaches this threshold. It is better to set a larger value.
If you set `BT_CTRL_BLE_ADV_REPORT_DISCARD_THRSHOLD` to a small value or printf every adv lost event, it
may cause adv packets lost more.
config BT_LE_SCAN_DUPL
bool "BLE Scan Duplicate Options"
default y
help
This select enables parameters setting of BLE scan duplicate.
choice BT_LE_SCAN_DUPL_TYPE
prompt "Scan Duplicate Type"
default BT_LE_SCAN_DUPL_TYPE_DEVICE
depends on BT_LE_SCAN_DUPL
help
Scan duplicate have three ways. one is "Scan Duplicate By Device Address", This way is to use
advertiser address filtering. The adv packet of the same address is only allowed to be reported once.
Another way is "Scan Duplicate By Device Address And Advertising Data". This way is to use advertising
data and device address filtering. All different adv packets with the same address are allowed to be
reported. The last way is "Scan Duplicate By Advertising Data". This way is to use advertising data
filtering. All same advertising data only allow to be reported once even though they are from
different devices.
config BT_LE_SCAN_DUPL_TYPE_DEVICE
bool "Scan Duplicate By Device Address"
help
This way is to use advertiser address filtering. The adv packet of the same address is only
allowed to be reported once
config BT_LE_SCAN_DUPL_TYPE_DATA
bool "Scan Duplicate By Advertising Data"
help
This way is to use advertising data filtering. All same advertising data only allow to be reported
once even though they are from different devices.
config BT_LE_SCAN_DUPL_TYPE_DATA_DEVICE
bool "Scan Duplicate By Device Address And Advertising Data"
help
This way is to use advertising data and device address filtering. All different adv packets with
the same address are allowed to be reported.
endchoice
config BT_LE_SCAN_DUPL_TYPE
int
depends on BT_LE_SCAN_DUPL
default 0 if BT_LE_SCAN_DUPL_TYPE_DEVICE
default 1 if BT_LE_SCAN_DUPL_TYPE_DATA
default 2 if BT_LE_SCAN_DUPL_TYPE_DATA_DEVICE
default 0
config BT_LE_SCAN_DUPL_CACHE_SIZE
int "Maximum number of devices in scan duplicate filter"
depends on BT_LE_SCAN_DUPL
range 10 1000
default 100
help
Maximum number of devices which can be recorded in scan duplicate filter.
When the maximum amount of device in the filter is reached, the cache will be refreshed.
config BT_LE_SCAN_DUPL_CACHE_REFRESH_PERIOD
int "Duplicate scan list refresh period (seconds)"
depends on BT_LE_SCAN_DUPL
range 0 1000
default 0
help
If the period value is non-zero, the controller will periodically clear the device information
stored in the scan duuplicate filter. If it is 0, the scan duuplicate filter will not be cleared
until the scanning is disabled. Duplicate advertisements for this period should not be sent to the
Host in advertising report events.
There are two scenarios where the ADV packet will be repeatedly reported:
1. The duplicate scan cache is full, the controller will delete the oldest device information and
add new device information.
2. When the refresh period is up, the controller will clear all device information and start filtering
again.
config BT_LE_MSYS_INIT_IN_CONTROLLER
bool "Msys Mbuf Init in Controller"
default y
config BT_LE_TX_CCA_ENABLED
bool "Enable TX CCA feature"
default n
help
Enable CCA feature to cancel sending the packet if the signal power is stronger than CCA threshold.
config BT_LE_CCA_RSSI_THRESH
int "CCA RSSI threshold value"
depends on BT_LE_TX_CCA_ENABLED
range 20 100
default 20
help
Power threshold of CCA in unit of -1 dBm.
choice BT_LE_DFT_TX_POWER_LEVEL_DBM
prompt "BLE default Tx power level(dBm)"
default BT_LE_DFT_TX_POWER_LEVEL_P9
help
Specify default Tx power level(dBm).
config BT_LE_DFT_TX_POWER_LEVEL_N15
bool "-15dBm"
config BT_LE_DFT_TX_POWER_LEVEL_N12
bool "-12dBm"
config BT_LE_DFT_TX_POWER_LEVEL_N9
bool "-9dBm"
config BT_LE_DFT_TX_POWER_LEVEL_N6
bool "-6dBm"
config BT_LE_DFT_TX_POWER_LEVEL_N3
bool "-3dBm"
config BT_LE_DFT_TX_POWER_LEVEL_N0
bool "0dBm"
config BT_LE_DFT_TX_POWER_LEVEL_P3
bool "+3dBm"
config BT_LE_DFT_TX_POWER_LEVEL_P6
bool "+6dBm"
config BT_LE_DFT_TX_POWER_LEVEL_P9
bool "+9dBm"
config BT_LE_DFT_TX_POWER_LEVEL_P12
bool "+12dBm"
config BT_LE_DFT_TX_POWER_LEVEL_P15
bool "+15dBm"
config BT_LE_DFT_TX_POWER_LEVEL_P18
bool "+18dBm"
config BT_LE_DFT_TX_POWER_LEVEL_P20
bool "+20dBm"
endchoice
config BT_LE_DFT_TX_POWER_LEVEL_DBM_EFF
int
default -15 if BT_LE_DFT_TX_POWER_LEVEL_N15
default -12 if BT_LE_DFT_TX_POWER_LEVEL_N12
default -9 if BT_LE_DFT_TX_POWER_LEVEL_N9
default -6 if BT_LE_DFT_TX_POWER_LEVEL_N6
default -3 if BT_LE_DFT_TX_POWER_LEVEL_N3
default 0 if BT_LE_DFT_TX_POWER_LEVEL_N0
default 3 if BT_LE_DFT_TX_POWER_LEVEL_P3
default 6 if BT_LE_DFT_TX_POWER_LEVEL_P6
default 9 if BT_LE_DFT_TX_POWER_LEVEL_P9
default 12 if BT_LE_DFT_TX_POWER_LEVEL_P12
default 15 if BT_LE_DFT_TX_POWER_LEVEL_P15
default 18 if BT_LE_DFT_TX_POWER_LEVEL_P18
default 20 if BT_LE_DFT_TX_POWER_LEVEL_P20
default 0
config BT_LE_DTM_ENABLED
bool "Enable Direct Test Mode (DTM) feature"
default n
menuconfig BT_CTRL_LE_VS_CMD_EVT_ENABLED
bool "Enable vendor-specific HCI commands"
default n if BT_CONTROLLER_ONLY
default y
help
Enable controller's vendor-specific HCI commands
config BT_CTRL_LE_VS_ADI_FILTER_ENABLED
depends on BT_CTRL_LE_VS_CMD_EVT_ENABLED && !BT_NIMBLE_ENABLED
bool "Use ADI to failter adv reports"
default n
help
ADI can be utilized to filter advertisement reports,
which will help to reduce time consumption on the secondary channel.
config BT_CTRL_LE_VS_CONST_EXT_ADV_DID
default n
depends on BT_CTRL_LE_VS_CMD_EVT_ENABLED && !BT_NIMBLE_ENABLED
bool "Allow setting constant extended advertisement DID"