diff options
| author | jacqueline <me@jacqueline.id.au> | 2024-03-28 14:32:49 +1100 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2024-03-28 14:32:49 +1100 |
| commit | ee29c25b29eaa4fac4e897442634b69ecc8d8125 (patch) | |
| tree | 8c5f1a140463f20f104316fa3492984e191154e9 /lib/bt/controller/esp32c3/Kconfig.in | |
| parent | 239e6d89507a24c849385f4bfa93ac4ad58e5de5 (diff) | |
| download | tangara-fw-ee29c25b29eaa4fac4e897442634b69ecc8d8125.tar.gz | |
Fork ESP-IDF's bluetooth component
i want better sbc encoding, and no cla will stop me
Diffstat (limited to 'lib/bt/controller/esp32c3/Kconfig.in')
| -rw-r--r-- | lib/bt/controller/esp32c3/Kconfig.in | 477 |
1 files changed, 477 insertions, 0 deletions
diff --git a/lib/bt/controller/esp32c3/Kconfig.in b/lib/bt/controller/esp32c3/Kconfig.in new file mode 100644 index 00000000..078b215f --- /dev/null +++ b/lib/bt/controller/esp32c3/Kconfig.in @@ -0,0 +1,477 @@ +config BT_CTRL_MODE_EFF + int + default 1 + +config BT_CTRL_BLE_MAX_ACT + int "BLE Max Instances" + default 6 + range 1 10 + help + BLE maximum activities of bluetooth controller,both of connections, + scan , sync and adv(periodic adv, multi-adv). Each instance needs to + consume 828 bytes, you can save RAM by modifying the instance value + according to actual needs. + +config BT_CTRL_BLE_MAX_ACT_EFF + int + default BT_CTRL_BLE_MAX_ACT + default 0 + +config BT_CTRL_BLE_STATIC_ACL_TX_BUF_NB + int "BLE static ACL TX buffer numbers" + range 0 12 + default 0 + help + BLE ACL buffer have two methods to be allocated. One is persistent allocating + (alloate when controller initialise, never free until controller de-initialise) + another is dynamically allocating (allocate before TX and free after TX). + +choice BT_CTRL_PINNED_TO_CORE_CHOICE + prompt "The cpu core which bluetooth controller run" + depends on !FREERTOS_UNICORE + help + Specify the cpu core to run bluetooth controller. + Can not specify no-affinity. + + config BT_CTRL_PINNED_TO_CORE_0 + bool "Core 0 (PRO CPU)" + config BT_CTRL_PINNED_TO_CORE_1 + bool "Core 1 (APP CPU)" + depends on !FREERTOS_UNICORE +endchoice + +config BT_CTRL_PINNED_TO_CORE + int + default 0 if BT_CTRL_PINNED_TO_CORE_0 + default 1 if BT_CTRL_PINNED_TO_CORE_1 + default 0 + +choice BT_CTRL_HCI_MODE_CHOICE + prompt "HCI mode" + help + Specify HCI mode as VHCI or UART(H4) + + config BT_CTRL_HCI_MODE_VHCI + bool "VHCI" + help + Normal option. Mostly, choose this VHCI when bluetooth host run on ESP32S3 or ESP32C3. + + config BT_CTRL_HCI_MODE_UART_H4 + bool "UART(H4)" + help + If use external bluetooth host which run on other hardware and use UART as the HCI interface, + choose this option. +endchoice + +config BT_CTRL_HCI_TL + int + default 0 if BT_CTRL_HCI_MODE_UART_H4 + default 1 if BT_CTRL_HCI_M0DE_VHCI + default 1 + help + HCI mode as VHCI or UART(H4) + +config BT_CTRL_ADV_DUP_FILT_MAX + int "The maxinum number of 5.0 extend duplicate scan filter" + range 1 500 + default 30 + help + The maxinum number of suplicate scan filter + +choice BT_BLE_CCA_MODE + prompt "BLE CCA mode" + default BT_BLE_CCA_MODE_NONE + help + Define BT BLE CCA mode + + config BT_BLE_CCA_MODE_NONE + bool "NONE" + config BT_BLE_CCA_MODE_HW + bool "Hardware" + config BT_BLE_CCA_MODE_SW + bool "Software" +endchoice + +config BT_BLE_CCA_MODE + int + default 0 if BT_BLE_CCA_MODE_NONE + default 1 if BT_BLE_CCA_MODE_HW + default 2 if BT_BLE_CCA_MODE_SW + +config BT_CTRL_HW_CCA_VAL + int "CCA threshold value" + range 20 100 + default 20 + help + It is the threshold value of HW CCA, if the value is 30, it means CCA threshold is -30 dBm. + +config BT_CTRL_HW_CCA_EFF + int + default 1 if BT_CTRL_HW_CCA + default 0 + help + If other devices are sending packets in the air and the signal is strong, + the packet hw to be sent this time is cancelled. + +choice BT_CTRL_CE_LENGTH_TYPE + prompt "Connection event length determination method" + help + Specify connection event length determination + + config BT_CTRL_CE_LENGTH_TYPE_ORIG + bool "ORIGINAL" + config BT_CTRL_CE_LENGTH_TYPE_CE + bool "Use CE parameter for HCI command" + config BT_CTRL_CE_LENGTH_TYPE_SD + bool "Use Espressif self-defined method" +endchoice + +config BT_CTRL_CE_LENGTH_TYPE_EFF + int + default 0 if BT_CTRL_CE_LENGTH_TYPE_ORIG + default 1 if BT_CTRL_CE_LENGTH_TYPE_CE + default 2 if BT_CTRL_CE_LENGTH_TYPE_SD + +choice BT_CTRL_TX_ANTENNA_INDEX + prompt "default Tx anntena used" + help + Specify default Tx antenna used for bluetooth + + config BT_CTRL_TX_ANTENNA_INDEX_0 + bool "Antenna 0" + config BT_CTRL_TX_ANTENNA_INDEX_1 + bool "Antenna 1" +endchoice + +config BT_CTRL_TX_ANTENNA_INDEX_EFF + int + default 0 if BT_CTRL_TX_ANTENNA_INDEX_0 + default 1 if BT_CTRL_TX_ANTENNA_INDEX_1 + +choice BT_CTRL_RX_ANTENNA_INDEX + prompt "default Rx anntena used" + help + Specify default Rx antenna used for bluetooth + + config BT_CTRL_RX_ANTENNA_INDEX_0 + bool "Antenna 0" + config BT_CTRL_RX_ANTENNA_INDEX_1 + bool "Antenna 1" +endchoice + +config BT_CTRL_RX_ANTENNA_INDEX_EFF + int + default 0 if BT_CTRL_RX_ANTENNA_INDEX_0 + default 1 if BT_CTRL_RX_ANTENNA_INDEX_1 + +choice BT_CTRL_DFT_TX_POWER_LEVEL + prompt "BLE default Tx power level" + default BT_CTRL_DFT_TX_POWER_LEVEL_P9 + help + Specify default Tx power level + + config BT_CTRL_DFT_TX_POWER_LEVEL_N24 + bool "-24dBm" + config BT_CTRL_DFT_TX_POWER_LEVEL_N21 + bool "-21dBm" + config BT_CTRL_DFT_TX_POWER_LEVEL_N18 + bool "-18dBm" + config BT_CTRL_DFT_TX_POWER_LEVEL_N15 + bool "-15dBm" + config BT_CTRL_DFT_TX_POWER_LEVEL_N12 + bool "-12dBm" + config BT_CTRL_DFT_TX_POWER_LEVEL_N9 + bool "-9dBm" + config BT_CTRL_DFT_TX_POWER_LEVEL_N6 + bool "-6dBm" + config BT_CTRL_DFT_TX_POWER_LEVEL_N3 + bool "-3dBm" + config BT_CTRL_DFT_TX_POWER_LEVEL_N0 + bool "0dBm" + config BT_CTRL_DFT_TX_POWER_LEVEL_P3 + bool "+3dBm" + config BT_CTRL_DFT_TX_POWER_LEVEL_P6 + bool "+6dBm" + config BT_CTRL_DFT_TX_POWER_LEVEL_P9 + bool "+9dBm" + config BT_CTRL_DFT_TX_POWER_LEVEL_P12 + bool "+12dBm" + config BT_CTRL_DFT_TX_POWER_LEVEL_P15 + bool "+15dBm" + config BT_CTRL_DFT_TX_POWER_LEVEL_P18 + bool "+18dBm" + config BT_CTRL_DFT_TX_POWER_LEVEL_P21 + bool "+21dBm" +endchoice + +config BT_CTRL_DFT_TX_POWER_LEVEL_EFF + int + default 0 if BT_CTRL_DFT_TX_POWER_LEVEL_N24 + default 1 if BT_CTRL_DFT_TX_POWER_LEVEL_N21 + default 2 if BT_CTRL_DFT_TX_POWER_LEVEL_N18 + default 3 if BT_CTRL_DFT_TX_POWER_LEVEL_N15 + default 4 if BT_CTRL_DFT_TX_POWER_LEVEL_N12 + default 5 if BT_CTRL_DFT_TX_POWER_LEVEL_N9 + default 6 if BT_CTRL_DFT_TX_POWER_LEVEL_N6 + default 7 if BT_CTRL_DFT_TX_POWER_LEVEL_N3 + default 8 if BT_CTRL_DFT_TX_POWER_LEVEL_N0 + default 9 if BT_CTRL_DFT_TX_POWER_LEVEL_P3 + default 10 if BT_CTRL_DFT_TX_POWER_LEVEL_P6 + default 11 if BT_CTRL_DFT_TX_POWER_LEVEL_P9 + default 12 if BT_CTRL_DFT_TX_POWER_LEVEL_P12 + default 13 if BT_CTRL_DFT_TX_POWER_LEVEL_P15 + default 14 if BT_CTRL_DFT_TX_POWER_LEVEL_P18 + default 15 if BT_CTRL_DFT_TX_POWER_LEVEL_P21 + default 0 + +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_CTRL_BLE_SCAN_DUPL + bool "BLE Scan Duplicate Options" + default y + help + This select enables parameters setting of BLE scan duplicate. + +choice BT_CTRL_SCAN_DUPL_TYPE + prompt "Scan Duplicate Type" + default BT_CTRL_SCAN_DUPL_TYPE_DEVICE + depends on BT_CTRL_BLE_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_CTRL_SCAN_DUPL_TYPE_DEVICE + bool "Scan Duplicate By Device Address" + help + Advertising packets with the same address, address type, and advertising type are reported once. + + config BT_CTRL_SCAN_DUPL_TYPE_DATA + bool "Scan Duplicate By Advertising Data" + help + Advertising packets with identical advertising data, address type, and advertising type + are reported only once, even if they originate from different devices. + + config BT_CTRL_SCAN_DUPL_TYPE_DATA_DEVICE + bool "Scan Duplicate By Device Address And Advertising Data" + help + Advertising packets with the same address, advertising data, address type, + and advertising type are reported only once. +endchoice + +config BT_CTRL_SCAN_DUPL_TYPE + int + depends on BT_CTRL_BLE_SCAN_DUPL + default 0 if BT_CTRL_SCAN_DUPL_TYPE_DEVICE + default 1 if BT_CTRL_SCAN_DUPL_TYPE_DATA + default 2 if BT_CTRL_SCAN_DUPL_TYPE_DATA_DEVICE + default 0 + +config BT_CTRL_SCAN_DUPL_CACHE_SIZE + int "Maximum number of devices in scan duplicate filter" + depends on BT_CTRL_BLE_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_CTRL_DUPL_SCAN_CACHE_REFRESH_PERIOD + int "Duplicate scan list refresh period (seconds)" + depends on BT_CTRL_BLE_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_CTRL_BLE_MESH_SCAN_DUPL_EN + bool "Special duplicate scan mechanism for BLE Mesh scan" + depends on BT_CTRL_BLE_SCAN_DUPL + default n + help + This enables the BLE scan duplicate for special BLE Mesh scan. + +config BT_CTRL_MESH_DUPL_SCAN_CACHE_SIZE + int "Maximum number of Mesh adv packets in scan duplicate filter" + depends on BT_CTRL_BLE_MESH_SCAN_DUPL_EN + range 10 1000 + default 100 + help + Maximum number of adv packets which can be recorded in duplicate scan cache for BLE Mesh. + When the maximum amount of device in the filter is reached, the cache will be refreshed. + +choice BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM + prompt "Coexistence: limit on MAX Tx/Rx time for coded-PHY connection" + default BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_DIS + depends on ESP_COEX_SW_COEXIST_ENABLE + 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_CTRL_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_CTRL_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_CTRL_COEX_PHY_CODED_TX_RX_TLIM_EFF + int + default 0 if !ESP_COEX_SW_COEXIST_ENABLE + default 1 if BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_EN + default 0 if BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_DIS + +menu "MODEM SLEEP Options" + visible if BT_ENABLED + + config BT_CTRL_MODEM_SLEEP + bool "Bluetooth modem sleep" + depends on !BT_CTRL_HCI_MODE_UART_H4 + default n + help + Enable/disable bluetooth controller low power mode. + Modem sleep is not supported to be used with UART HCI. + + config BT_CTRL_MODEM_SLEEP_MODE_1 + bool "Bluetooth Modem sleep Mode 1" + depends on BT_CTRL_MODEM_SLEEP + default y + help + Mode 1 is the currently supported sleep mode. In this mode, + bluetooth controller sleeps between and BLE events. A low + power clock is used to maintain bluetooth reference clock. + + choice BT_CTRL_LOW_POWER_CLOCK + prompt "Bluetooth low power clock" + depends on BT_CTRL_MODEM_SLEEP_MODE_1 + help + Select the low power clock source for bluetooth controller + + config BT_CTRL_LPCLK_SEL_MAIN_XTAL + bool "Main crystal" + help + Main crystal can be used as low power clock for bluetooth modem sleep. If this option is + selected, bluetooth modem sleep can work under Dynamic Frequency Scaling(DFS) enabled, and + bluetooth can work under light sleep enabled. Main crystal has a relatively better performance + than other bluetooth low power clock sources. + config BT_CTRL_LPCLK_SEL_EXT_32K_XTAL + bool "External 32kHz crystal" + depends on RTC_CLK_SRC_EXT_CRYS + help + External 32kHz crystal has a nominal frequency of 32.768kHz and provides good frequency + stability. If used as Bluetooth low power clock, External 32kHz can support Bluetooth + modem sleep to be used with both DFS and light sleep. + + config BT_CTRL_LPCLK_SEL_RTC_SLOW + bool "Internal 150kHz RC oscillator" + depends on RTC_CLK_SRC_INT_RC + help + Internal 150kHz RC oscillator. The accuracy of this clock is a lot larger than 500ppm which is required + in Bluetooth communication, so don't select this option in scenarios such as BLE connection state. + endchoice + + config BT_CTRL_MAIN_XTAL_PU_DURING_LIGHT_SLEEP + bool "power up main XTAL during light sleep" + depends on (BT_CTRL_LPCLK_SEL_MAIN_XTAL || BT_CTRL_LPCLK_SEL_EXT_32K_XTAL) && FREERTOS_USE_TICKLESS_IDLE + default n + help + If this option is selected, the main crystal will power up during light sleep when the low power clock + selects an external 32kHz crystal but the external 32kHz crystal does not exist or the low power clock + selects the main crystal. + +endmenu + +config BT_CTRL_SLEEP_MODE_EFF + int + default 1 if BT_CTRL_MODEM_SLEEP_MODE_1 + default 0 + +config BT_CTRL_SLEEP_CLOCK_EFF + int + default 1 if BT_CTRL_LPCLK_SEL_MAIN_XTAL + default 2 if BT_CTRL_LPCLK_SEL_EXT_32K_XTAL + default 3 if BT_CTRL_LPCLK_SEL_RTC_SLOW + + default 0 + +config BT_CTRL_HCI_TL_EFF + int + default 0 if BT_CTRL_HCI_MODE_UART_H4 + default 1 if BT_CTRL_HCI_M0DE_VHCI + default 1 + +config BT_CTRL_AGC_RECORRECT_EN + bool "Enable HW AGC recorrect" + default n + help + Enable uncoded phy AGC recorrect + +config BT_CTRL_CODED_AGC_RECORRECT_EN + bool "Enable coded phy AGC recorrect" + depends on BT_CTRL_AGC_RECORRECT_EN + default n + help + Enable coded phy AGC recorrect + +config BT_CTRL_SCAN_BACKOFF_UPPERLIMITMAX + bool "Disable active scan backoff" + default n + help + Disable active scan backoff. The bluetooth spec requires that scanners should run a backoff procedure to + minimize collision of scan request PDUs from nultiple scanners. If scan backoff is disabled, in active + scanning, scan request PDU will be sent every time when HW receives scannable ADV PDU. + +config BT_BLE_ADV_DATA_LENGTH_ZERO_AUX + bool "Enable aux packet when ext adv data length is zero" + default n + 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. |
