mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-04 21:24:32 +02:00
Merge branch 'feature/esp32c2_eco1_bluetooth_update_0525_for_MR' into 'master'
Support bluetooth for esp32c2 chip See merge request espressif/esp-idf!18243
This commit is contained in:
4
.gitmodules
vendored
4
.gitmodules
vendored
@@ -90,3 +90,7 @@
|
|||||||
[submodule "components/bt/controller/lib_esp32h2/esp32h2-bt-lib"]
|
[submodule "components/bt/controller/lib_esp32h2/esp32h2-bt-lib"]
|
||||||
path = components/bt/controller/lib_esp32h2/esp32h2-bt-lib
|
path = components/bt/controller/lib_esp32h2/esp32h2-bt-lib
|
||||||
url = ../../espressif/esp32h2-bt-lib.git
|
url = ../../espressif/esp32h2-bt-lib.git
|
||||||
|
|
||||||
|
[submodule "components/bt/controller/lib_esp32c2/esp32c2-bt-lib"]
|
||||||
|
path = components/bt/controller/lib_esp32c2/esp32c2-bt-lib
|
||||||
|
url = ../../espressif/esp32c2-bt-lib.git
|
||||||
|
@@ -1,44 +1,33 @@
|
|||||||
if(CONFIG_BT_ENABLED)
|
if(CONFIG_BT_ENABLED)
|
||||||
|
|
||||||
|
set(srcs "")
|
||||||
|
set(include_dirs "")
|
||||||
|
|
||||||
if(CONFIG_IDF_TARGET_ESP32)
|
if(CONFIG_IDF_TARGET_ESP32)
|
||||||
set(srcs "controller/esp32/bt.c"
|
list(APPEND srcs "controller/esp32/bt.c"
|
||||||
"controller/esp32/hli_api.c"
|
"controller/esp32/hli_api.c"
|
||||||
"controller/esp32/hli_vectors.S")
|
"controller/esp32/hli_vectors.S")
|
||||||
elseif(CONFIG_IDF_TARGET_ESP32C3)
|
|
||||||
set(srcs "controller/esp32c3/bt.c")
|
|
||||||
elseif(CONFIG_IDF_TARGET_ESP32S3)
|
|
||||||
set(srcs "controller/esp32s3/bt.c")
|
|
||||||
elseif(CONFIG_IDF_TARGET_ESP32H2)
|
|
||||||
set(srcs "controller/esp32h2/bt.c")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(CONFIG_NIMBLE_USE_UART_HCI)
|
|
||||||
set(srcs
|
|
||||||
"porting/nimble/src/hal_uart.c"
|
|
||||||
)
|
|
||||||
else()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(include_dirs common/osi/include)
|
|
||||||
|
|
||||||
if(CONFIG_IDF_TARGET_ESP32)
|
|
||||||
list(APPEND include_dirs include/esp32/include)
|
list(APPEND include_dirs include/esp32/include)
|
||||||
|
|
||||||
elseif(CONFIG_IDF_TARGET_ESP32C3)
|
elseif(CONFIG_IDF_TARGET_ESP32C3)
|
||||||
|
list(APPEND srcs "controller/esp32c3/bt.c")
|
||||||
list(APPEND include_dirs include/esp32c3/include)
|
list(APPEND include_dirs include/esp32c3/include)
|
||||||
|
|
||||||
elseif(CONFIG_IDF_TARGET_ESP32S3)
|
elseif(CONFIG_IDF_TARGET_ESP32S3)
|
||||||
|
list(APPEND srcs "controller/esp32s3/bt.c")
|
||||||
list(APPEND include_dirs include/esp32s3/include)
|
list(APPEND include_dirs include/esp32s3/include)
|
||||||
|
|
||||||
elseif(CONFIG_IDF_TARGET_ESP32H2)
|
elseif(CONFIG_IDF_TARGET_ESP32H2)
|
||||||
if(CONFIG_BT_BLUEDROID_ENABLED)
|
list(APPEND srcs "controller/esp32h2/bt.c")
|
||||||
list(APPEND include_dirs
|
|
||||||
host/nimble/nimble/porting/nimble/include
|
|
||||||
host/nimble/nimble/nimble/include
|
|
||||||
host/nimble/nimble/porting/npl/freertos/include
|
|
||||||
host/nimble/nimble/nimble/transport/ram/include
|
|
||||||
host/nimble/port/include
|
|
||||||
include/esp32h2/include)
|
|
||||||
else()
|
|
||||||
list(APPEND include_dirs include/esp32h2/include)
|
list(APPEND include_dirs include/esp32h2/include)
|
||||||
|
|
||||||
|
elseif(CONFIG_IDF_TARGET_ESP32C2)
|
||||||
|
list(APPEND srcs "controller/esp32c2/bt.c")
|
||||||
|
list(APPEND include_dirs include/esp32c2/include)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
|
||||||
|
# Common
|
||||||
|
list(APPEND include_dirs common/osi/include)
|
||||||
|
|
||||||
list(APPEND priv_include_dirs
|
list(APPEND priv_include_dirs
|
||||||
common/btc/include
|
common/btc/include
|
||||||
@@ -48,6 +37,7 @@ if(CONFIG_BT_ENABLED)
|
|||||||
common/btc/profile/esp/blufi/include
|
common/btc/profile/esp/blufi/include
|
||||||
common/btc/profile/esp/include)
|
common/btc/profile/esp/include)
|
||||||
|
|
||||||
|
|
||||||
list(APPEND srcs "common/btc/core/btc_alarm.c"
|
list(APPEND srcs "common/btc/core/btc_alarm.c"
|
||||||
"common/api/esp_blufi_api.c"
|
"common/api/esp_blufi_api.c"
|
||||||
"common/btc/core/btc_manage.c"
|
"common/btc/core/btc_manage.c"
|
||||||
@@ -68,6 +58,7 @@ if(CONFIG_BT_ENABLED)
|
|||||||
"common/osi/osi.c"
|
"common/osi/osi.c"
|
||||||
"common/osi/semaphore.c")
|
"common/osi/semaphore.c")
|
||||||
|
|
||||||
|
# Host Bluedroid
|
||||||
if(CONFIG_BT_BLUEDROID_ENABLED)
|
if(CONFIG_BT_BLUEDROID_ENABLED)
|
||||||
|
|
||||||
list(APPEND priv_include_dirs
|
list(APPEND priv_include_dirs
|
||||||
@@ -361,16 +352,15 @@ if(CONFIG_BT_ENABLED)
|
|||||||
"host/bluedroid/stack/smp/smp_l2c.c"
|
"host/bluedroid/stack/smp/smp_l2c.c"
|
||||||
"host/bluedroid/stack/smp/smp_main.c"
|
"host/bluedroid/stack/smp/smp_main.c"
|
||||||
"host/bluedroid/stack/smp/smp_utils.c")
|
"host/bluedroid/stack/smp/smp_utils.c")
|
||||||
if(CONFIG_IDF_TARGET_ESP32H2)
|
if(CONFIG_IDF_TARGET_ESP32H2 OR CONFIG_IDF_TARGET_ESP32C2)
|
||||||
if(CONFIG_BT_BLUEDROID_ENABLED)
|
|
||||||
list(APPEND srcs
|
list(APPEND srcs
|
||||||
"host/nimble/nimble/porting/npl/freertos/src/npl_os_freertos.c"
|
"host/nimble/nimble/porting/npl/freertos/src/npl_os_freertos.c"
|
||||||
"host/nimble/nimble/porting/nimble/src/os_msys_init.c"
|
"host/nimble/nimble/porting/nimble/src/os_msys_init.c"
|
||||||
"host/nimble/port/src/esp_nimble_mem.c")
|
"host/nimble/port/src/esp_nimble_mem.c")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
|
||||||
|
|
||||||
list(APPEND srcs "common/btc/profile/esp/blufi/bluedroid_host/esp_blufi.c")
|
list(APPEND srcs "common/btc/profile/esp/blufi/bluedroid_host/esp_blufi.c")
|
||||||
|
|
||||||
if(CONFIG_BLE_MESH)
|
if(CONFIG_BLE_MESH)
|
||||||
list(APPEND srcs "esp_ble_mesh/mesh_core/bluedroid_host/mesh_bearer_adapt.c")
|
list(APPEND srcs "esp_ble_mesh/mesh_core/bluedroid_host/mesh_bearer_adapt.c")
|
||||||
endif()
|
endif()
|
||||||
@@ -475,28 +465,30 @@ endif()
|
|||||||
"esp_ble_mesh/mesh_models/server/time_scene_server.c")
|
"esp_ble_mesh/mesh_models/server/time_scene_server.c")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CONFIG_BT_NIMBLE_ENABLED)
|
|
||||||
|
# Nimble
|
||||||
|
# Nimble common
|
||||||
|
if(CONFIG_BT_NIMBLE_ENABLED OR
|
||||||
|
(CONFIG_BT_CONTROLLER_ENABLED AND (CONFIG_IDF_TARGET_ESP32C2 OR CONFIG_IDF_TARGET_ESP32H2)))
|
||||||
|
list(APPEND srcs
|
||||||
|
"host/nimble/nimble/porting/npl/freertos/src/nimble_port_freertos.c"
|
||||||
|
"host/nimble/nimble/porting/npl/freertos/src/npl_os_freertos.c"
|
||||||
|
"host/nimble/nimble/porting/nimble/src/os_cputime_pwr2.c"
|
||||||
|
"host/nimble/nimble/porting/nimble/src/hal_timer.c"
|
||||||
|
"host/nimble/nimble/porting/nimble/src/os_msys_init.c"
|
||||||
|
"host/nimble/nimble/porting/nimble/src/nimble_port.c"
|
||||||
|
"host/nimble/port/src/esp_nimble_mem.c"
|
||||||
|
"host/nimble/esp-hci/src/esp_nimble_hci.c"
|
||||||
|
"host/nimble/nimble/porting/nimble/src/os_cputime.c"
|
||||||
|
)
|
||||||
|
|
||||||
list(APPEND include_dirs
|
list(APPEND include_dirs
|
||||||
host/nimble/nimble/porting/nimble/include
|
host/nimble/nimble/porting/nimble/include
|
||||||
host/nimble/port/include
|
host/nimble/port/include
|
||||||
host/nimble/nimble/nimble/include
|
host/nimble/nimble/nimble/include
|
||||||
host/nimble/nimble/nimble/host/include
|
|
||||||
host/nimble/nimble/nimble/host/services/ans/include
|
|
||||||
host/nimble/nimble/nimble/host/services/bas/include
|
|
||||||
host/nimble/nimble/nimble/host/services/dis/include
|
|
||||||
host/nimble/nimble/nimble/host/services/gap/include
|
|
||||||
host/nimble/nimble/nimble/host/services/gatt/include
|
|
||||||
host/nimble/nimble/nimble/host/services/ias/include
|
|
||||||
host/nimble/nimble/nimble/host/services/ipss/include
|
|
||||||
host/nimble/nimble/nimble/host/services/lls/include
|
|
||||||
host/nimble/nimble/nimble/host/services/tps/include
|
|
||||||
host/nimble/nimble/nimble/host/util/include
|
|
||||||
host/nimble/nimble/nimble/host/store/ram/include
|
|
||||||
host/nimble/nimble/nimble/host/store/config/include
|
|
||||||
host/nimble/nimble/porting/npl/freertos/include
|
host/nimble/nimble/porting/npl/freertos/include
|
||||||
host/nimble/nimble/nimble/transport/ram/include
|
host/nimble/esp-hci/include
|
||||||
host/nimble/esp-hci/include)
|
)
|
||||||
|
|
||||||
if(NOT CONFIG_BT_NIMBLE_CRYPTO_STACK_MBEDTLS)
|
if(NOT CONFIG_BT_NIMBLE_CRYPTO_STACK_MBEDTLS)
|
||||||
|
|
||||||
@@ -520,6 +512,41 @@ endif()
|
|||||||
"host/nimble/nimble/ext/tinycrypt/src/cbc_mode.c")
|
"host/nimble/nimble/ext/tinycrypt/src/cbc_mode.c")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(CONFIG_BT_LE_HCI_INTERFACE_USE_UART)
|
||||||
|
list(APPEND srcs
|
||||||
|
"host/nimble/nimble/porting/nimble/src/hal_uart.c"
|
||||||
|
)
|
||||||
|
list(APPEND include_dirs
|
||||||
|
host/nimble/nimble/nimble/transport/uart/include
|
||||||
|
)
|
||||||
|
else()
|
||||||
|
list(APPEND include_dirs
|
||||||
|
host/nimble/nimble/nimble/transport/ram/include
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if(CONFIG_BT_NIMBLE_ENABLED)
|
||||||
|
|
||||||
|
list(APPEND include_dirs
|
||||||
|
|
||||||
|
host/nimble/nimble/nimble/host/include
|
||||||
|
host/nimble/nimble/nimble/host/services/ans/include
|
||||||
|
host/nimble/nimble/nimble/host/services/bas/include
|
||||||
|
host/nimble/nimble/nimble/host/services/dis/include
|
||||||
|
host/nimble/nimble/nimble/host/services/gap/include
|
||||||
|
host/nimble/nimble/nimble/host/services/gatt/include
|
||||||
|
host/nimble/nimble/nimble/host/services/ias/include
|
||||||
|
host/nimble/nimble/nimble/host/services/ipss/include
|
||||||
|
host/nimble/nimble/nimble/host/services/lls/include
|
||||||
|
host/nimble/nimble/nimble/host/services/tps/include
|
||||||
|
host/nimble/nimble/nimble/host/util/include
|
||||||
|
host/nimble/nimble/nimble/host/store/ram/include
|
||||||
|
host/nimble/nimble/nimble/host/store/config/include
|
||||||
|
)
|
||||||
|
|
||||||
list(APPEND srcs "host/nimble/nimble/nimble/host/util/src/addr.c"
|
list(APPEND srcs "host/nimble/nimble/nimble/host/util/src/addr.c"
|
||||||
"host/nimble/nimble/nimble/host/services/gatt/src/ble_svc_gatt.c"
|
"host/nimble/nimble/nimble/host/services/gatt/src/ble_svc_gatt.c"
|
||||||
"host/nimble/nimble/nimble/host/services/tps/src/ble_svc_tps.c"
|
"host/nimble/nimble/nimble/host/services/tps/src/ble_svc_tps.c"
|
||||||
@@ -577,15 +604,7 @@ endif()
|
|||||||
"host/nimble/nimble/nimble/host/store/ram/src/ble_store_ram.c"
|
"host/nimble/nimble/nimble/host/store/ram/src/ble_store_ram.c"
|
||||||
"host/nimble/nimble/nimble/host/store/config/src/ble_store_config.c"
|
"host/nimble/nimble/nimble/host/store/config/src/ble_store_config.c"
|
||||||
"host/nimble/nimble/nimble/host/store/config/src/ble_store_nvs.c"
|
"host/nimble/nimble/nimble/host/store/config/src/ble_store_nvs.c"
|
||||||
"host/nimble/nimble/porting/npl/freertos/src/nimble_port_freertos.c"
|
)
|
||||||
"host/nimble/nimble/porting/npl/freertos/src/npl_os_freertos.c"
|
|
||||||
"host/nimble/nimble/porting/nimble/src/os_cputime_pwr2.c"
|
|
||||||
"host/nimble/nimble/porting/nimble/src/hal_timer.c"
|
|
||||||
"host/nimble/nimble/porting/nimble/src/os_msys_init.c"
|
|
||||||
"host/nimble/nimble/porting/nimble/src/nimble_port.c"
|
|
||||||
"host/nimble/port/src/esp_nimble_mem.c"
|
|
||||||
"host/nimble/esp-hci/src/esp_nimble_hci.c"
|
|
||||||
"host/nimble/nimble/porting/nimble/src/os_cputime.c")
|
|
||||||
|
|
||||||
if(CONFIG_IDF_TARGET_ESP32)
|
if(CONFIG_IDF_TARGET_ESP32)
|
||||||
list(APPEND srcs
|
list(APPEND srcs
|
||||||
@@ -610,6 +629,7 @@ endif()
|
|||||||
|
|
||||||
list(APPEND srcs
|
list(APPEND srcs
|
||||||
"common/btc/profile/esp/blufi/nimble_host/esp_blufi.c")
|
"common/btc/profile/esp/blufi/nimble_host/esp_blufi.c")
|
||||||
|
|
||||||
if(CONFIG_BLE_MESH)
|
if(CONFIG_BLE_MESH)
|
||||||
list(APPEND srcs "esp_ble_mesh/mesh_core/nimble_host/mesh_bearer_adapt.c")
|
list(APPEND srcs "esp_ble_mesh/mesh_core/nimble_host/mesh_bearer_adapt.c")
|
||||||
endif()
|
endif()
|
||||||
@@ -681,7 +701,10 @@ if(CONFIG_BT_ENABLED)
|
|||||||
"-L${CMAKE_CURRENT_LIST_DIR}/controller/lib_esp32c3_family/esp32s3")
|
"-L${CMAKE_CURRENT_LIST_DIR}/controller/lib_esp32c3_family/esp32s3")
|
||||||
target_link_libraries(${COMPONENT_LIB} PUBLIC btdm_app)
|
target_link_libraries(${COMPONENT_LIB} PUBLIC btdm_app)
|
||||||
elseif(CONFIG_IDF_TARGET_ESP32H2)
|
elseif(CONFIG_IDF_TARGET_ESP32H2)
|
||||||
add_prebuilt_library(nimblelib "controller/lib_esp32h2/esp32h2-bt-lib/libcontroller_5p0_seq.a")
|
add_prebuilt_library(nimblelib "controller/lib_esp32h2/esp32h2-bt-lib/libble_app.a")
|
||||||
|
target_link_libraries(${COMPONENT_LIB} PRIVATE nimblelib)
|
||||||
|
elseif(CONFIG_IDF_TARGET_ESP32C2)
|
||||||
|
add_prebuilt_library(nimblelib "controller/lib_esp32c2/esp32c2-bt-lib/libble_app.a")
|
||||||
target_link_libraries(${COMPONENT_LIB} PRIVATE nimblelib)
|
target_link_libraries(${COMPONENT_LIB} PRIVATE nimblelib)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@@ -7,20 +7,8 @@ menu "Bluetooth"
|
|||||||
help
|
help
|
||||||
Select this option to enable Bluetooth and show the submenu with Bluetooth configuration choices.
|
Select this option to enable Bluetooth and show the submenu with Bluetooth configuration choices.
|
||||||
|
|
||||||
config BT_SOC_SUPPORT_5_0
|
|
||||||
bool
|
|
||||||
depends on BT_ENABLED && (IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3)
|
|
||||||
default y if BT_ENABLED && (IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3)
|
|
||||||
default n
|
|
||||||
|
|
||||||
menu "Bluetooth controller"
|
|
||||||
depends on BT_ENABLED
|
|
||||||
|
|
||||||
source "$IDF_PATH/components/bt/controller/$IDF_TARGET/Kconfig.in"
|
|
||||||
endmenu
|
|
||||||
|
|
||||||
choice BT_HOST
|
choice BT_HOST
|
||||||
prompt "Bluetooth Host"
|
prompt "Host"
|
||||||
depends on BT_ENABLED
|
depends on BT_ENABLED
|
||||||
default BT_BLUEDROID_ENABLED
|
default BT_BLUEDROID_ENABLED
|
||||||
help
|
help
|
||||||
@@ -38,7 +26,7 @@ menu "Bluetooth"
|
|||||||
This option is recommended for BLE only usecases to save on memory
|
This option is recommended for BLE only usecases to save on memory
|
||||||
|
|
||||||
config BT_CONTROLLER_ONLY
|
config BT_CONTROLLER_ONLY
|
||||||
bool "Controller Only"
|
bool "Disabled"
|
||||||
help
|
help
|
||||||
This option is recommended when you want to communicate directly with the
|
This option is recommended when you want to communicate directly with the
|
||||||
controller (without any host) or when you are using any other host stack
|
controller (without any host) or when you are using any other host stack
|
||||||
@@ -46,17 +34,41 @@ menu "Bluetooth"
|
|||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
menu "Bluedroid Options"
|
choice BT_CONTROLLER
|
||||||
depends on BT_BLUEDROID_ENABLED && SOC_BLUEDROID_SUPPORTED
|
prompt "Controller"
|
||||||
|
depends on BT_ENABLED
|
||||||
|
default BT_CONTROLLER_ENABLED
|
||||||
|
help
|
||||||
|
This helps to choose Bluetooth controller stack
|
||||||
|
|
||||||
|
config BT_CONTROLLER_ENABLED
|
||||||
|
bool "Enabled"
|
||||||
|
help
|
||||||
|
This option is recommended for Bluetooth controller usecases
|
||||||
|
This option is recommended for Bluetooth controller usecases
|
||||||
|
|
||||||
|
config BT_CONTROLLER_DISABLED
|
||||||
|
bool "Disabled"
|
||||||
|
help
|
||||||
|
This option is recommended for Bluetooth Host only usecases
|
||||||
|
|
||||||
|
endchoice
|
||||||
|
|
||||||
|
menu "Bluedroid Options"
|
||||||
|
depends on BT_BLUEDROID_ENABLED
|
||||||
source "$IDF_PATH/components/bt/host/bluedroid/Kconfig.in"
|
source "$IDF_PATH/components/bt/host/bluedroid/Kconfig.in"
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
menu "NimBLE Options"
|
menu "NimBLE Options"
|
||||||
depends on BT_NIMBLE_ENABLED
|
depends on BT_NIMBLE_ENABLED
|
||||||
|
|
||||||
source "$IDF_PATH/components/bt/host/nimble/Kconfig.in"
|
source "$IDF_PATH/components/bt/host/nimble/Kconfig.in"
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
|
menu "Controller Options"
|
||||||
|
depends on BT_CONTROLLER_ENABLED
|
||||||
|
source "$IDF_PATH/components/bt/controller/$IDF_TARGET/Kconfig.in"
|
||||||
|
endmenu
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
menuconfig BLE_MESH
|
menuconfig BLE_MESH
|
||||||
|
@@ -0,0 +1,332 @@
|
|||||||
|
|
||||||
|
menu "HCI Config"
|
||||||
|
|
||||||
|
choice BT_LE_HCI_INTERFACE
|
||||||
|
prompt "Select HCI interface"
|
||||||
|
default BT_LE_HCI_INTERFACE_USE_RAM
|
||||||
|
|
||||||
|
config BT_LE_HCI_INTERFACE_USE_RAM
|
||||||
|
bool "ram"
|
||||||
|
help
|
||||||
|
Use RAM as HCI interface
|
||||||
|
config BT_LE_HCI_INTERFACE_USE_UART
|
||||||
|
bool "uart"
|
||||||
|
help
|
||||||
|
Use UART as HCI interface
|
||||||
|
endchoice
|
||||||
|
|
||||||
|
config BT_LE_HCI_UART_PORT
|
||||||
|
int "HCI UART port"
|
||||||
|
depends on BT_LE_HCI_INTERFACE_USE_UART
|
||||||
|
default 1
|
||||||
|
help
|
||||||
|
Set the port number of HCI UART
|
||||||
|
|
||||||
|
config BT_LE_HCI_UART_TX_PIN
|
||||||
|
int "HCI uart Tx gpio"
|
||||||
|
depends on BT_LE_HCI_INTERFACE_USE_UART
|
||||||
|
default 19
|
||||||
|
|
||||||
|
config BT_LE_HCI_UART_RX_PIN
|
||||||
|
int "HCI uart Rx gpio"
|
||||||
|
depends on BT_LE_HCI_INTERFACE_USE_UART
|
||||||
|
default 10
|
||||||
|
|
||||||
|
config BT_LE_HCI_UART_TASK_STACK_SIZE
|
||||||
|
int "HCI uart task stack size"
|
||||||
|
depends on BT_LE_HCI_INTERFACE_USE_UART
|
||||||
|
default 1000
|
||||||
|
help
|
||||||
|
Set the size of uart task stack
|
||||||
|
|
||||||
|
config BT_LE_HCI_UART_BAUD
|
||||||
|
int "HCI uart baudrate"
|
||||||
|
depends on BT_LE_HCI_INTERFACE_USE_UART
|
||||||
|
default 921600
|
||||||
|
help
|
||||||
|
HCI uart baud rate 115200 ~ 1000000
|
||||||
|
|
||||||
|
endmenu
|
||||||
|
|
||||||
|
config BT_LE_CONTROLLER_TASK_STACK_SIZE
|
||||||
|
int "Controller task stack size"
|
||||||
|
default 5120 if BLE_MESH
|
||||||
|
default 4096
|
||||||
|
help
|
||||||
|
This configures stack size of NimBLE controller task
|
||||||
|
|
||||||
|
config BT_LE_LL_RESOLV_LIST_SIZE
|
||||||
|
int "BLE LL Resolving list size"
|
||||||
|
range 1 5 if IDF_TARGET_ESP32C2
|
||||||
|
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
|
||||||
|
|
||||||
|
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_ACL_BUF_COUNT
|
||||||
|
int "ACL Buffer count"
|
||||||
|
default 24
|
||||||
|
help
|
||||||
|
The number of ACL data buffers.
|
||||||
|
|
||||||
|
config BT_LE_ACL_BUF_SIZE
|
||||||
|
int "ACL Buffer size"
|
||||||
|
default 255
|
||||||
|
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
|
||||||
|
|
||||||
|
config BT_LE_CRYPTO_STACK_MBEDTLS
|
||||||
|
bool "Override TinyCrypt with mbedTLS for crypto computations"
|
||||||
|
default y
|
||||||
|
depends on !BT_NIMBLE_ENABLED
|
||||||
|
select MBEDTLS_ECP_RESTARTABLE
|
||||||
|
select MBEDTLS_CMAC_C
|
||||||
|
help
|
||||||
|
Enable this option to choose mbedTLS instead of TinyCrypt for crypto
|
||||||
|
computations.
|
||||||
|
|
||||||
|
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 n
|
||||||
|
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 if BT_LE_EXT_ADV
|
||||||
|
default 0
|
||||||
|
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.
|
||||||
|
|
||||||
|
config BT_LE_EXT_ADV_MAX_SIZE
|
||||||
|
int "Maximum length of the advertising data."
|
||||||
|
range 0 1650
|
||||||
|
default 1650 if BT_LE_EXT_ADV
|
||||||
|
default 0
|
||||||
|
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 Transer Sync Events"
|
||||||
|
depends on BT_LE_ENABLE_PERIODIC_ADV
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
This enables controller transfer periodic sync events to host
|
||||||
|
|
||||||
|
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 if !IDF_TARGET_ESP32C2
|
||||||
|
range 0 3 if IDF_TARGET_ESP32C2
|
||||||
|
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 && IDF_TARGET_ESP32C2 && !BT_NIMBLE_ENABLED
|
||||||
|
range 1 5
|
||||||
|
default 5 if BT_LE_50_FEATURE_SUPPORT
|
||||||
|
help
|
||||||
|
Set this option to set the upper limit for number of periodic advertiser list.
|
||||||
|
|
||||||
|
config BT_LE_WHITELIST_SIZE
|
||||||
|
int "BLE white list size"
|
||||||
|
range 1 5 if IDF_TARGET_ESP32C2
|
||||||
|
default 5 if IDF_TARGET_ESP32C2
|
||||||
|
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 8 if IDF_TARGET_ESP32H2
|
||||||
|
default 3 if IDF_TARGET_ESP32H2
|
||||||
|
range 1 2 if IDF_TARGET_ESP32C2
|
||||||
|
default 2 if IDF_TARGET_ESP32C2
|
||||||
|
help
|
||||||
|
Defines maximum number of concurrent BLE connections. For ESP32, user
|
||||||
|
is expected to configure BTDM_CTRL_BLE_MAX_CONN from controller menu
|
||||||
|
along with this option. Similarly for ESP32-C3 or ESP32-S3, user is expected to
|
||||||
|
configure BT_CTRL_BLE_MAX_ACT from controller menu.
|
||||||
|
|
||||||
|
|
||||||
|
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
|
||||||
|
depends on !BT_NIMBLE_ENABLED
|
||||||
|
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 0 if !BT_NIMBLE_ENABLED
|
||||||
|
default 1 if BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EN
|
||||||
|
default 0 if BT_LE_COEX_PHY_CODED_TX_RX_TLIM_DIS
|
||||||
|
1001
components/bt/controller/esp32c2/bt.c
Normal file
1001
components/bt/controller/esp32c2/bt.c
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,304 @@
|
|||||||
|
|
||||||
|
menu "HCI Config"
|
||||||
|
|
||||||
|
choice BT_LE_HCI_INTERFACE
|
||||||
|
prompt "Select HCI interface"
|
||||||
|
default BT_LE_HCI_INTERFACE_USE_RAM
|
||||||
|
|
||||||
|
config BT_LE_HCI_INTERFACE_USE_RAM
|
||||||
|
bool "ram"
|
||||||
|
help
|
||||||
|
Use RAM as HCI interface
|
||||||
|
config BT_LE_HCI_INTERFACE_USE_UART
|
||||||
|
bool "uart"
|
||||||
|
help
|
||||||
|
Use UART as HCI interface
|
||||||
|
endchoice
|
||||||
|
|
||||||
|
config BT_LE_HCI_UART_PORT
|
||||||
|
int "HCI UART port"
|
||||||
|
depends on BT_LE_HCI_INTERFACE_USE_UART
|
||||||
|
default 1
|
||||||
|
help
|
||||||
|
Set the port number of HCI UART
|
||||||
|
|
||||||
|
config BT_LE_HCI_UART_TX_PIN
|
||||||
|
int "HCI uart Tx gpio"
|
||||||
|
depends on BT_LE_HCI_INTERFACE_USE_UART
|
||||||
|
default 19
|
||||||
|
|
||||||
|
config BT_LE_HCI_UART_RX_PIN
|
||||||
|
int "HCI uart Rx gpio"
|
||||||
|
depends on BT_LE_HCI_INTERFACE_USE_UART
|
||||||
|
default 10
|
||||||
|
|
||||||
|
config BT_LE_HCI_UART_TASK_STACK_SIZE
|
||||||
|
int "HCI uart task stack size"
|
||||||
|
depends on BT_LE_HCI_INTERFACE_USE_UART
|
||||||
|
default 1000
|
||||||
|
help
|
||||||
|
Set the size of uart task stack
|
||||||
|
|
||||||
|
config BT_LE_HCI_UART_BAUD
|
||||||
|
int "HCI uart baudrate"
|
||||||
|
depends on BT_LE_HCI_INTERFACE_USE_UART
|
||||||
|
default 921600
|
||||||
|
help
|
||||||
|
HCI uart baud rate 115200 ~ 1000000
|
||||||
|
|
||||||
|
endmenu
|
||||||
|
|
||||||
|
config BT_LE_CONTROLLER_TASK_STACK_SIZE
|
||||||
|
int "Controller task stack size"
|
||||||
|
default 5120 if BLE_MESH
|
||||||
|
default 4096
|
||||||
|
help
|
||||||
|
This configures stack size of NimBLE controller task
|
||||||
|
|
||||||
|
config BT_LE_LL_RESOLV_LIST_SIZE
|
||||||
|
int "BLE LL Resolving list size"
|
||||||
|
range 1 5 if IDF_TARGET_ESP32C2
|
||||||
|
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
|
||||||
|
|
||||||
|
menu "Memory Settings"
|
||||||
|
depends on !BT_NIMBLE_ENABLED
|
||||||
|
config BT_LE_ACL_BUF_COUNT
|
||||||
|
int "ACL Buffer count"
|
||||||
|
default 24
|
||||||
|
help
|
||||||
|
The number of ACL data buffers.
|
||||||
|
|
||||||
|
config BT_LE_ACL_BUF_SIZE
|
||||||
|
int "ACL Buffer size"
|
||||||
|
default 255
|
||||||
|
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
|
||||||
|
|
||||||
|
config BT_LE_CRYPTO_STACK_MBEDTLS
|
||||||
|
bool "Override TinyCrypt with mbedTLS for crypto computations"
|
||||||
|
default y
|
||||||
|
depends on !BT_NIMBLE_ENABLED
|
||||||
|
select MBEDTLS_ECP_RESTARTABLE
|
||||||
|
select MBEDTLS_CMAC_C
|
||||||
|
help
|
||||||
|
Enable this option to choose mbedTLS instead of TinyCrypt for crypto
|
||||||
|
computations.
|
||||||
|
|
||||||
|
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 n
|
||||||
|
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 if BT_LE_EXT_ADV
|
||||||
|
default 0
|
||||||
|
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.
|
||||||
|
|
||||||
|
config BT_LE_EXT_ADV_MAX_SIZE
|
||||||
|
int "Maximum length of the advertising data."
|
||||||
|
range 0 1650
|
||||||
|
default 1650 if BT_LE_EXT_ADV
|
||||||
|
default 0
|
||||||
|
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 Transer Sync Events"
|
||||||
|
depends on BT_LE_ENABLE_PERIODIC_ADV
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
This enables controller transfer periodic sync events to host
|
||||||
|
|
||||||
|
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 if !IDF_TARGET_ESP32C2
|
||||||
|
range 0 3 if IDF_TARGET_ESP32C2
|
||||||
|
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 && IDF_TARGET_ESP32C2 && !BT_NIMBLE_ENABLED
|
||||||
|
range 1 5
|
||||||
|
default 5 if BT_LE_50_FEATURE_SUPPORT
|
||||||
|
help
|
||||||
|
Set this option to set the upper limit for number of periodic advertiser list.
|
||||||
|
|
||||||
|
config BT_LE_WHITELIST_SIZE
|
||||||
|
int "BLE white list size"
|
||||||
|
range 1 5 if IDF_TARGET_ESP32C2
|
||||||
|
default 5 if IDF_TARGET_ESP32C2
|
||||||
|
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 8 if IDF_TARGET_ESP32H2
|
||||||
|
default 3 if IDF_TARGET_ESP32H2
|
||||||
|
range 1 2 if IDF_TARGET_ESP32C2
|
||||||
|
default 2 if IDF_TARGET_ESP32C2
|
||||||
|
help
|
||||||
|
Defines maximum number of concurrent BLE connections. For ESP32, user
|
||||||
|
is expected to configure BTDM_CTRL_BLE_MAX_CONN from controller menu
|
||||||
|
along with this option. Similarly for ESP32-C3 or ESP32-S3, user is expected to
|
||||||
|
configure BT_CTRL_BLE_MAX_ACT from controller menu.
|
||||||
|
|
||||||
|
|
||||||
|
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
|
||||||
|
depends on !BT_NIMBLE_ENABLED
|
||||||
|
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 0 if !BT_NIMBLE_ENABLED
|
||||||
|
default 1 if BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EN
|
||||||
|
default 0 if BT_LE_COEX_PHY_CODED_TX_RX_TLIM_DIS
|
||||||
|
@@ -27,7 +27,7 @@
|
|||||||
#include "esp_coexist_internal.h"
|
#include "esp_coexist_internal.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_BT_NIMBLE_CONTROL_USE_UART_HCI
|
#ifdef CONFIG_BT_LE_HCI_INTERFACE_USE_UART
|
||||||
#include "transport/uart/ble_hci_uart.h"
|
#include "transport/uart/ble_hci_uart.h"
|
||||||
#else
|
#else
|
||||||
#include "transport/ram/ble_hci_ram.h"
|
#include "transport/ram/ble_hci_ram.h"
|
||||||
@@ -91,11 +91,6 @@ struct ext_funcs_t {
|
|||||||
uint32_t magic;
|
uint32_t magic;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ble_ll_trace_func_t {
|
|
||||||
void (*_ble_ll_trace_u32_func)(uint32_t id, uint32_t p1);
|
|
||||||
void (*_ble_ll_trace_u32x2_func)(uint32_t id, uint32_t p1, uint32_t p2);
|
|
||||||
void (*_ble_ll_trace_u32x3_func)(uint32_t id, uint32_t p1, uint32_t p2, uint32_t p3);
|
|
||||||
};
|
|
||||||
|
|
||||||
/* External functions or variables
|
/* External functions or variables
|
||||||
************************************************************************
|
************************************************************************
|
||||||
@@ -117,7 +112,6 @@ extern void npl_freertos_mempool_deinit(void);
|
|||||||
/* TX power */
|
/* TX power */
|
||||||
int ble_txpwr_set(int power_type, int power_level);
|
int ble_txpwr_set(int power_type, int power_level);
|
||||||
int ble_txpwr_get(int power_type);
|
int ble_txpwr_get(int power_type);
|
||||||
extern void coex_pti_v2(void);
|
|
||||||
extern void bt_bb_v2_init_cmplx(uint8_t i);
|
extern void bt_bb_v2_init_cmplx(uint8_t i);
|
||||||
extern int os_msys_buf_alloc(void);
|
extern int os_msys_buf_alloc(void);
|
||||||
extern uint32_t r_os_cputime_get32(void);
|
extern uint32_t r_os_cputime_get32(void);
|
||||||
@@ -236,7 +230,7 @@ bool esp_vhci_host_check_send_available(void)
|
|||||||
if (ble_controller_status != ESP_BT_CONTROLLER_STATUS_ENABLED) {
|
if (ble_controller_status != ESP_BT_CONTROLLER_STATUS_ENABLED) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return 1;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -282,16 +276,14 @@ void esp_vhci_host_send_packet(uint8_t *data, uint16_t len)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (*(data) == DATA_TYPE_COMMAND)
|
if (*(data) == DATA_TYPE_COMMAND) {
|
||||||
{
|
|
||||||
struct ble_hci_cmd *cmd = NULL;
|
struct ble_hci_cmd *cmd = NULL;
|
||||||
cmd = (void *) ble_hci_trans_buf_alloc(BLE_HCI_TRANS_BUF_CMD);
|
cmd = (struct ble_hci_cmd *) ble_hci_trans_buf_alloc(BLE_HCI_TRANS_BUF_CMD);
|
||||||
memcpy((uint8_t *)cmd, data + 1, len - 1);
|
memcpy((uint8_t *)cmd, data + 1, len - 1);
|
||||||
ble_hci_trans_hs_cmd_tx(cmd);
|
ble_hci_trans_hs_cmd_tx((uint8_t *)cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (*(data) == DATA_TYPE_ACL)
|
if (*(data) == DATA_TYPE_ACL) {
|
||||||
{
|
|
||||||
struct os_mbuf *om = os_msys_get_pkthdr(0, 0);
|
struct os_mbuf *om = os_msys_get_pkthdr(0, 0);
|
||||||
assert(om);
|
assert(om);
|
||||||
memcpy(om->om_data, &data[1], len - 1);
|
memcpy(om->om_data, &data[1], len - 1);
|
||||||
@@ -326,7 +318,7 @@ static void task_delete_wrapper(void *task_handle)
|
|||||||
|
|
||||||
static void hal_uart_start_tx_wrapper(int uart_no)
|
static void hal_uart_start_tx_wrapper(int uart_no)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_BT_NIMBLE_CONTROL_USE_UART_HCI
|
#ifdef CONFIG_BT_LE_HCI_INTERFACE_USE_UART
|
||||||
hal_uart_start_tx(uart_no);
|
hal_uart_start_tx(uart_no);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@@ -335,7 +327,7 @@ static int hal_uart_init_cbs_wrapper(int uart_no, hal_uart_tx_char tx_func,
|
|||||||
hal_uart_tx_done tx_done, hal_uart_rx_char rx_func, void *arg)
|
hal_uart_tx_done tx_done, hal_uart_rx_char rx_func, void *arg)
|
||||||
{
|
{
|
||||||
int rc = -1;
|
int rc = -1;
|
||||||
#ifdef CONFIG_BT_NIMBLE_CONTROL_USE_UART_HCI
|
#ifdef CONFIG_BT_LE_HCI_INTERFACE_USE_UART
|
||||||
rc = hal_uart_init_cbs(uart_no, tx_func, tx_done, rx_func, arg);
|
rc = hal_uart_init_cbs(uart_no, tx_func, tx_done, rx_func, arg);
|
||||||
#endif
|
#endif
|
||||||
return rc;
|
return rc;
|
||||||
@@ -345,7 +337,7 @@ static int hal_uart_config_wrapper(int uart_no, int32_t speed, uint8_t databits,
|
|||||||
enum hal_uart_parity parity, enum hal_uart_flow_ctl flow_ctl)
|
enum hal_uart_parity parity, enum hal_uart_flow_ctl flow_ctl)
|
||||||
{
|
{
|
||||||
int rc = -1;
|
int rc = -1;
|
||||||
#ifdef CONFIG_BT_NIMBLE_CONTROL_USE_UART_HCI
|
#ifdef CONFIG_BT_LE_HCI_INTERFACE_USE_UART
|
||||||
rc = hal_uart_config(uart_no, speed, databits, stopbits, parity, flow_ctl);
|
rc = hal_uart_config(uart_no, speed, databits, stopbits, parity, flow_ctl);
|
||||||
#endif
|
#endif
|
||||||
return rc;
|
return rc;
|
||||||
@@ -354,7 +346,7 @@ static int hal_uart_config_wrapper(int uart_no, int32_t speed, uint8_t databits,
|
|||||||
static int hal_uart_close_wrapper(int uart_no)
|
static int hal_uart_close_wrapper(int uart_no)
|
||||||
{
|
{
|
||||||
int rc = -1;
|
int rc = -1;
|
||||||
#ifdef CONFIG_BT_NIMBLE_CONTROL_USE_UART_HCI
|
#ifdef CONFIG_BT_LE_HCI_INTERFACE_USE_UART
|
||||||
rc = hal_uart_close(uart_no);
|
rc = hal_uart_close(uart_no);
|
||||||
#endif
|
#endif
|
||||||
return rc;
|
return rc;
|
||||||
@@ -362,7 +354,7 @@ static int hal_uart_close_wrapper(int uart_no)
|
|||||||
|
|
||||||
static void hal_uart_blocking_tx_wrapper(int port, uint8_t data)
|
static void hal_uart_blocking_tx_wrapper(int port, uint8_t data)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_BT_NIMBLE_CONTROL_USE_UART_HCI
|
#ifdef CONFIG_BT_LE_HCI_INTERFACE_USE_UART
|
||||||
hal_uart_blocking_tx(port, data);
|
hal_uart_blocking_tx(port, data);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@@ -370,7 +362,7 @@ static void hal_uart_blocking_tx_wrapper(int port, uint8_t data)
|
|||||||
static int hal_uart_init_wrapper(int uart_no, void *cfg)
|
static int hal_uart_init_wrapper(int uart_no, void *cfg)
|
||||||
{
|
{
|
||||||
int rc = -1;
|
int rc = -1;
|
||||||
#ifdef CONFIG_BT_NIMBLE_CONTROL_USE_UART_HCI
|
#ifdef CONFIG_BT_LE_HCI_INTERFACE_USE_UART
|
||||||
rc = hal_uart_init(uart_no, cfg);
|
rc = hal_uart_init(uart_no, cfg);
|
||||||
#endif
|
#endif
|
||||||
return rc;
|
return rc;
|
||||||
@@ -531,10 +523,10 @@ error:
|
|||||||
esp_timer_delete(s_btdm_slp_tmr);
|
esp_timer_delete(s_btdm_slp_tmr);
|
||||||
s_btdm_slp_tmr = NULL;
|
s_btdm_slp_tmr = NULL;
|
||||||
}
|
}
|
||||||
#endif // CONFIG_NIMBLE_WAKEUP_SOURCE_CPU_RTC_TIMER
|
#endif // CONFIG_BT_NIMBLE_WAKEUP_SOURCE_CPU_RTC_TIMER
|
||||||
#ifdef CONFIG_BT_NIMBLE_WAKEUP_SOURCE_BLE_RTC_TIMER
|
#ifdef CONFIG_BT_NIMBLE_WAKEUP_SOURCE_BLE_RTC_TIMER
|
||||||
esp_sleep_disable_bt_wakeup();
|
esp_sleep_disable_bt_wakeup();
|
||||||
#endif // CONFIG_NIMBLE_WAKEUP_SOURCE_BLE_RTC_TIMER
|
#endif // CONFIG_BT_NIMBLE_WAKEUP_SOURCE_BLE_RTC_TIMER
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -623,7 +615,7 @@ esp_err_t esp_bt_controller_init(struct esp_bt_controller_config_t *cfg)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#if CONFIG_SW_COEXIST_ENABLE
|
#if CONFIG_SW_COEXIST_ENABLE
|
||||||
coex_enable();
|
coex_init();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (ble_controller_init(cfg) != 0) {
|
if (ble_controller_init(cfg) != 0) {
|
||||||
@@ -754,6 +746,11 @@ esp_err_t esp_bt_controller_enable(esp_bt_mode_t mode)
|
|||||||
ESP_LOGW(NIMBLE_PORT_LOG_TAG, "invalid controller state");
|
ESP_LOGW(NIMBLE_PORT_LOG_TAG, "invalid controller state");
|
||||||
return ESP_FAIL;
|
return ESP_FAIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if CONFIG_SW_COEXIST_ENABLE
|
||||||
|
coex_enable();
|
||||||
|
#endif
|
||||||
|
|
||||||
if (ble_controller_enable(mode) != 0) {
|
if (ble_controller_enable(mode) != 0) {
|
||||||
return ESP_FAIL;
|
return ESP_FAIL;
|
||||||
}
|
}
|
||||||
|
Submodule components/bt/controller/lib_esp32c2/esp32c2-bt-lib added at 5f1b106c75
Submodule components/bt/controller/lib_esp32h2/esp32h2-bt-lib updated: b595381e3c...4956cf810c
@@ -26,245 +26,6 @@ config BT_BLUEDROID_PINNED_TO_CORE
|
|||||||
default 1 if BT_BLUEDROID_PINNED_TO_CORE_1
|
default 1 if BT_BLUEDROID_PINNED_TO_CORE_1
|
||||||
default 0
|
default 0
|
||||||
|
|
||||||
config BT_BLE_CONTROLLER_ENABLED
|
|
||||||
bool "Enable BLE controller"
|
|
||||||
depends on SOC_ESP_NIMBLE_CONTROLLER
|
|
||||||
default y
|
|
||||||
help
|
|
||||||
Enable or Disable NimBLE controller
|
|
||||||
|
|
||||||
choice BT_BLE_SELECT_HCI_INTERFACE
|
|
||||||
prompt "Select HCI interface"
|
|
||||||
depends on SOC_ESP_NIMBLE_CONTROLLER
|
|
||||||
default BT_BLE_CONTROL_USE_RAM_HCI
|
|
||||||
|
|
||||||
config BT_BLE_CONTROL_USE_RAM_HCI
|
|
||||||
bool "ram"
|
|
||||||
help
|
|
||||||
Use RAM as HCI interface
|
|
||||||
config BT_BLE_CONTROL_USE_UART_HCI
|
|
||||||
bool "uart"
|
|
||||||
help
|
|
||||||
Use UART as HCI interface
|
|
||||||
endchoice
|
|
||||||
|
|
||||||
config BT_BLE_HCI_EVT_BUF_SIZE
|
|
||||||
int "HCI Event Buffer size"
|
|
||||||
depends on BT_BLUEDROID_ENABLED && SOC_ESP_NIMBLE_CONTROLLER
|
|
||||||
default 257 if BT_BLE_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.
|
|
||||||
|
|
||||||
menuconfig BT_BLE_MEMORY_SETTINGS
|
|
||||||
bool "OS Memory Settings"
|
|
||||||
depends on SOC_ESP_NIMBLE_CONTROLLER
|
|
||||||
default y
|
|
||||||
help
|
|
||||||
Settings memory blocks
|
|
||||||
|
|
||||||
config BT_BLE_MSYS_1_BLOCK_COUNT
|
|
||||||
int "MSYS_1 Block Count"
|
|
||||||
depends on BT_BLE_MEMORY_SETTINGS
|
|
||||||
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_BLE_MSYS_1_BLOCK_SIZE
|
|
||||||
int "MSYS_1 Block Size"
|
|
||||||
depends on BT_BLE_MEMORY_SETTINGS
|
|
||||||
default 256
|
|
||||||
help
|
|
||||||
Dynamic memory size of block 1
|
|
||||||
|
|
||||||
config BT_BLE_MSYS_2_BLOCK_COUNT
|
|
||||||
int "MSYS_2 Block Count"
|
|
||||||
depends on BT_BLE_MEMORY_SETTINGS
|
|
||||||
default 24
|
|
||||||
help
|
|
||||||
Dynamic memory count
|
|
||||||
|
|
||||||
config BT_BLE_MSYS_2_BLOCK_SIZE
|
|
||||||
int "MSYS_2 Block Size"
|
|
||||||
depends on BT_BLE_MEMORY_SETTINGS
|
|
||||||
default 320
|
|
||||||
help
|
|
||||||
Dynamic memory size of block 2
|
|
||||||
|
|
||||||
config BT_BLE_LL_RESOLV_LIST_SIZE
|
|
||||||
int "BLE LL Resolving list size"
|
|
||||||
range 1 5
|
|
||||||
default 5
|
|
||||||
depends on SOC_ESP_NIMBLE_CONTROLLER
|
|
||||||
help
|
|
||||||
Configure the size of resolving list used in link layer.
|
|
||||||
|
|
||||||
|
|
||||||
config BT_BLE_HCI_EVT_HI_BUF_COUNT
|
|
||||||
int "High Priority HCI Event Buffer count"
|
|
||||||
depends on BT_BLUEDROID_ENABLED && SOC_ESP_NIMBLE_CONTROLLER
|
|
||||||
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_BLE_HCI_EVT_LO_BUF_COUNT
|
|
||||||
int "Low Priority HCI Event Buffer count"
|
|
||||||
depends on BT_BLUEDROID_ENABLED && SOC_ESP_NIMBLE_CONTROLLER
|
|
||||||
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
|
|
||||||
|
|
||||||
config BT_BLE_LL_DUP_SCAN_LIST_COUNT
|
|
||||||
int "BLE duplicate scan list count"
|
|
||||||
range 1 20
|
|
||||||
default 10
|
|
||||||
depends on SOC_ESP_NIMBLE_CONTROLLER
|
|
||||||
help
|
|
||||||
config the max count of duplicate scan list
|
|
||||||
|
|
||||||
config BT_BLE_MAX_CONNECTIONS
|
|
||||||
int "Maximum number of concurrent connections"
|
|
||||||
range 1 2 if ( SOC_ESP_NIMBLE_CONTROLLER)
|
|
||||||
default 2
|
|
||||||
depends on BT_BLUEDROID_ENABLED && SOC_ESP_NIMBLE_CONTROLLER
|
|
||||||
help
|
|
||||||
Defines maximum number of concurrent BLE connections. For ESP32, user
|
|
||||||
is expected to configure BTDM_CTRL_BLE_MAX_CONN from controller menu
|
|
||||||
along with this option. Similarly for ESP32-C3 or ESP32-S3, user is expected to
|
|
||||||
configure BT_CTRL_BLE_MAX_ACT from controller menu.
|
|
||||||
|
|
||||||
config BT_BLE_ACL_BUF_COUNT
|
|
||||||
int "ACL Buffer count"
|
|
||||||
depends on BT_BLUEDROID_ENABLED && SOC_ESP_NIMBLE_CONTROLLER
|
|
||||||
default 24
|
|
||||||
help
|
|
||||||
The number of ACL data buffers.
|
|
||||||
|
|
||||||
config BT_BLE_ACL_BUF_SIZE
|
|
||||||
int "ACL Buffer size"
|
|
||||||
depends on BT_BLUEDROID_ENABLED && SOC_ESP_NIMBLE_CONTROLLER
|
|
||||||
default 251
|
|
||||||
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_BLE_HCI_UART_PORT
|
|
||||||
int "HCI UART port"
|
|
||||||
depends on BT_BLE_USE_UART_HCI
|
|
||||||
default 1
|
|
||||||
help
|
|
||||||
Set the port number of HCI UART
|
|
||||||
|
|
||||||
config BT_BLE_HCI_UART_BAUD
|
|
||||||
int "HCI uart baudrate"
|
|
||||||
depends on BT_BLE_USE_UART_HCI
|
|
||||||
default 921600
|
|
||||||
help
|
|
||||||
HCI uart baud rate 115200 ~ 1000000
|
|
||||||
|
|
||||||
config BT_BLE_SLEEP_ENABLE
|
|
||||||
bool "Enable BLE sleep"
|
|
||||||
depends on BT_BLUEDROID_ENABLED && SOC_ESP_NIMBLE_CONTROLLER
|
|
||||||
default n
|
|
||||||
help
|
|
||||||
Enable BLE sleep
|
|
||||||
|
|
||||||
|
|
||||||
choice BT_BLE_COEX_PHY_CODED_TX_RX_TLIM
|
|
||||||
prompt "Coexistence: limit on MAX Tx/Rx time for coded-PHY connection"
|
|
||||||
default BT_BLE_COEX_PHY_CODED_TX_RX_TLIM_DIS
|
|
||||||
depends on ESP32_WIFI_SW_COEXIST_ENABLE && (BT_BLUEDROID_ENABLED && SOC_ESP_NIMBLE_CONTROLLER)
|
|
||||||
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_BLE_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_BLE_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_BLE_COEX_PHY_CODED_TX_RX_TLIM_EFF
|
|
||||||
int
|
|
||||||
default 0 if !(ESP32_WIFI_SW_COEXIST_ENABLE && (BT_BLUEDROID_ENABLED || BT_NIMBLE_ENABLED))
|
|
||||||
default 1 if BT_BLE_COEX_PHY_CODED_TX_RX_TLIM_EN
|
|
||||||
default 0 if BT_BLE_COEX_PHY_CODED_TX_RX_TLIM_DIS
|
|
||||||
|
|
||||||
config BT_BLE_MAX_BONDS
|
|
||||||
int "Maximum number of bonds to save across reboots"
|
|
||||||
default 3
|
|
||||||
depends on BT_BLUEDROID_ENABLED && SOC_ESP_NIMBLE_CONTROLLER
|
|
||||||
help
|
|
||||||
Defines maximum number of bonds to save for peer security and our security
|
|
||||||
|
|
||||||
|
|
||||||
config BT_BLE_WHITELIST_SIZE
|
|
||||||
int "BLE white list size"
|
|
||||||
depends on BT_BLUEDROID_ENABLED && SOC_ESP_NIMBLE_CONTROLLER
|
|
||||||
range 1 5
|
|
||||||
default 5
|
|
||||||
help
|
|
||||||
BLE list size
|
|
||||||
|
|
||||||
config BT_BLE_CONTROLLER_TASK_STACK_SIZE
|
|
||||||
int "NimBLE Controller task stack size"
|
|
||||||
depends on (BT_BLUEDROID_ENABLED) && SOC_ESP_NIMBLE_CONTROLLER
|
|
||||||
default 5120 if BLE_MESH
|
|
||||||
default 4096
|
|
||||||
help
|
|
||||||
This configures stack size of NimBLE controller task
|
|
||||||
|
|
||||||
choice BT_BLE_MEM_ALLOC_MODE
|
|
||||||
prompt "Memory allocation strategy"
|
|
||||||
default BT_BLE_MEM_ALLOC_MODE_INTERNAL
|
|
||||||
depends on SOC_ESP_NIMBLE_CONTROLLER
|
|
||||||
help
|
|
||||||
Allocation strategy for NimBLE host stack, essentially provides ability to
|
|
||||||
allocate all required dynamic allocations from,
|
|
||||||
|
|
||||||
- Internal DRAM memory only
|
|
||||||
- External SPIRAM memory only
|
|
||||||
- Either internal or external memory based on default malloc()
|
|
||||||
behavior in ESP-IDF
|
|
||||||
- Internal IRAM memory wherever applicable else internal DRAM
|
|
||||||
|
|
||||||
config BT_BLE_MEM_ALLOC_MODE_INTERNAL
|
|
||||||
bool "Internal memory"
|
|
||||||
|
|
||||||
config BT_BLE_MEM_ALLOC_MODE_EXTERNAL
|
|
||||||
bool "External SPIRAM"
|
|
||||||
depends on SPIRAM_USE_CAPS_ALLOC || SPIRAM_USE_MALLOC
|
|
||||||
|
|
||||||
config BT_BLE_MEM_ALLOC_MODE_DEFAULT
|
|
||||||
bool "Default alloc mode"
|
|
||||||
|
|
||||||
config BT_BLE_MEM_ALLOC_MODE_IRAM_8BIT
|
|
||||||
bool "Internal IRAM"
|
|
||||||
depends on ESP32_IRAM_AS_8BIT_ACCESSIBLE_MEMORY
|
|
||||||
help
|
|
||||||
Allows to use IRAM memory region as 8bit accessible region.
|
|
||||||
|
|
||||||
Every unaligned (8bit or 16bit) access will result in an exception
|
|
||||||
and incur penalty of certain clock cycles per unaligned read/write.
|
|
||||||
|
|
||||||
endchoice #BT_BLE_MEM_ALLOC_MODE
|
|
||||||
|
|
||||||
config BT_BTU_TASK_STACK_SIZE
|
config BT_BTU_TASK_STACK_SIZE
|
||||||
int "Bluetooth Bluedroid Host Stack task stack size"
|
int "Bluetooth Bluedroid Host Stack task stack size"
|
||||||
depends on BT_BLUEDROID_ENABLED
|
depends on BT_BLUEDROID_ENABLED
|
||||||
@@ -1323,7 +1084,7 @@ config BT_BLE_50_FEATURES_SUPPORTED
|
|||||||
|
|
||||||
config BT_BLE_42_FEATURES_SUPPORTED
|
config BT_BLE_42_FEATURES_SUPPORTED
|
||||||
bool "Enable BLE 4.2 features"
|
bool "Enable BLE 4.2 features"
|
||||||
depends on (BT_BLUEDROID_ENABLED && (IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3))
|
depends on (BT_BLUEDROID_ENABLED && (IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3 || SOC_ESP_NIMBLE_CONTROLLER))
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
This enables BLE 4.2 features.
|
This enables BLE 4.2 features.
|
||||||
|
@@ -1,32 +1,3 @@
|
|||||||
config BT_NIMBLE_CONTROLLER_ENABLED
|
|
||||||
bool "Enable NimBLE controller"
|
|
||||||
depends on BT_NIMBLE_ENABLED && IDF_TARGET_ESP32H2
|
|
||||||
default y
|
|
||||||
help
|
|
||||||
Enable or Disable NimBLE controller
|
|
||||||
|
|
||||||
config BT_NIMBLE_CONTROL_SEQUENCE_MODE_ENABLED
|
|
||||||
bool "Enable controller in sequence mode"
|
|
||||||
depends on BT_NIMBLE_CONTROLLER_ENABLED
|
|
||||||
default y
|
|
||||||
help
|
|
||||||
Enable or Disable controller sequence mode
|
|
||||||
|
|
||||||
choice
|
|
||||||
prompt "Select HCI interface"
|
|
||||||
depends on BT_NIMBLE_ENABLED && IDF_TARGET_ESP32H2
|
|
||||||
default BT_NIMBLE_CONTROL_USE_RAM_HCI
|
|
||||||
|
|
||||||
config BT_NIMBLE_CONTROL_USE_RAM_HCI
|
|
||||||
bool "ram"
|
|
||||||
help
|
|
||||||
Use RAM as HCI interface
|
|
||||||
config BT_NIMBLE_CONTROL_USE_UART_HCI
|
|
||||||
bool "uart"
|
|
||||||
help
|
|
||||||
Use UART as HCI interface
|
|
||||||
endchoice
|
|
||||||
|
|
||||||
|
|
||||||
choice BT_NIMBLE_MEM_ALLOC_MODE
|
choice BT_NIMBLE_MEM_ALLOC_MODE
|
||||||
prompt "Memory allocation strategy"
|
prompt "Memory allocation strategy"
|
||||||
@@ -91,55 +62,13 @@ config BT_NIMBLE_LOG_LEVEL
|
|||||||
default 3 if BT_NIMBLE_LOG_LEVEL_ERROR
|
default 3 if BT_NIMBLE_LOG_LEVEL_ERROR
|
||||||
default 4 if BT_NIMBLE_LOG_LEVEL_NONE
|
default 4 if BT_NIMBLE_LOG_LEVEL_NONE
|
||||||
|
|
||||||
|
|
||||||
config BT_NIMBLE_HCI_UART_PORT
|
|
||||||
int "HCI UART port"
|
|
||||||
depends on BT_NIMBLE_USE_UART_HCI
|
|
||||||
default 1
|
|
||||||
help
|
|
||||||
Set the port number of HCI UART
|
|
||||||
|
|
||||||
config BT_NIMBLE_HCI_UART_TX_PIN
|
|
||||||
int "HCI uart Tx gpio"
|
|
||||||
depends on BT_NIMBLE_USE_UART_HCI
|
|
||||||
default 19
|
|
||||||
|
|
||||||
config BT_NIMBLE_HCI_UART_RX_PIN
|
|
||||||
int "HCI uart Rx gpio"
|
|
||||||
depends on BT_NIMBLE_USE_UART_HCI
|
|
||||||
default 10
|
|
||||||
|
|
||||||
config BT_NIMBLE_HCI_UART_TASK_STACK_SIZE
|
|
||||||
int "HCI uart task stack size"
|
|
||||||
depends on BT_NIMBLE_USE_UART_HCI
|
|
||||||
default 1000
|
|
||||||
help
|
|
||||||
Set the size of uart task stack
|
|
||||||
|
|
||||||
config BT_NIMBLE_HCI_UART_BAUD
|
|
||||||
int "HCI uart baudrate"
|
|
||||||
depends on BT_NIMBLE_USE_UART_HCI
|
|
||||||
default 921600
|
|
||||||
help
|
|
||||||
HCI uart baud rate 115200 ~ 1000000
|
|
||||||
|
|
||||||
config BT_NIMBLE_RUN_QA_TEST
|
|
||||||
bool "Run QA test"
|
|
||||||
default y
|
|
||||||
help
|
|
||||||
Enable this option to run QA test.
|
|
||||||
|
|
||||||
config BT_NIMBLE_RUN_BQB_TEST
|
|
||||||
bool "Run BQB test"
|
|
||||||
default n
|
|
||||||
help
|
|
||||||
Enable this option to run BQB test.
|
|
||||||
|
|
||||||
config BT_NIMBLE_MAX_CONNECTIONS
|
config BT_NIMBLE_MAX_CONNECTIONS
|
||||||
int "Maximum number of concurrent connections"
|
int "Maximum number of concurrent connections"
|
||||||
range 1 8 if (IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32H2)
|
range 1 8 if (IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32H2)
|
||||||
|
range 1 2 if IDF_TARGET_ESP32C2
|
||||||
range 1 9 if IDF_TARGET_ESP32
|
range 1 9 if IDF_TARGET_ESP32
|
||||||
default 3
|
default 3 if (IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32H2)
|
||||||
|
default 2 if IDF_TARGET_ESP32C2
|
||||||
depends on BT_NIMBLE_ENABLED
|
depends on BT_NIMBLE_ENABLED
|
||||||
help
|
help
|
||||||
Defines maximum number of concurrent BLE connections. For ESP32, user
|
Defines maximum number of concurrent BLE connections. For ESP32, user
|
||||||
@@ -226,21 +155,6 @@ config BT_NIMBLE_ROLE_OBSERVER
|
|||||||
help
|
help
|
||||||
Enables observer role
|
Enables observer role
|
||||||
|
|
||||||
config BT_NIMBLE_CONTROLLER_TASK_STACK_SIZE
|
|
||||||
int "NimBLE Controller task stack size"
|
|
||||||
depends on BT_NIMBLE_ENABLED && IDF_TARGET_ESP32H2
|
|
||||||
default 5120 if BLE_MESH
|
|
||||||
default 4096
|
|
||||||
help
|
|
||||||
This configures stack size of NimBLE controller task
|
|
||||||
|
|
||||||
config BT_NIMBLE_CONTROLLER_TASK_PRIORITY
|
|
||||||
int "NimBLE Controller task priority"
|
|
||||||
depends on BT_NIMBLE_ENABLED
|
|
||||||
default 23
|
|
||||||
help
|
|
||||||
This configures priority of NimBLE controller task
|
|
||||||
|
|
||||||
config BT_NIMBLE_NVS_PERSIST
|
config BT_NIMBLE_NVS_PERSIST
|
||||||
bool "Persist the BLE Bonding keys in NVS"
|
bool "Persist the BLE Bonding keys in NVS"
|
||||||
depends on BT_NIMBLE_ENABLED
|
depends on BT_NIMBLE_ENABLED
|
||||||
@@ -269,13 +183,14 @@ config BT_NIMBLE_SM_SC
|
|||||||
help
|
help
|
||||||
Enable security manager secure connections
|
Enable security manager secure connections
|
||||||
|
|
||||||
config BT_NIMBLE_DEBUG
|
config BT_NIMBLE_SM_SC_DEBUG_KEYS
|
||||||
bool "Enable extra runtime asserts and host debugging"
|
bool "Use predefined public-private key pair"
|
||||||
default n
|
default n
|
||||||
depends on BT_NIMBLE_ENABLED
|
depends on BT_NIMBLE_SECURITY_ENABLE && BT_NIMBLE_SM_SC
|
||||||
help
|
help
|
||||||
This enables extra runtime asserts and host debugging
|
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_NIMBLE_LL_CFG_FEAT_LE_ENCRYPTION
|
config BT_NIMBLE_LL_CFG_FEAT_LE_ENCRYPTION
|
||||||
bool "Enable LE encryption"
|
bool "Enable LE encryption"
|
||||||
@@ -284,14 +199,12 @@ config BT_NIMBLE_LL_CFG_FEAT_LE_ENCRYPTION
|
|||||||
help
|
help
|
||||||
Enable encryption connection
|
Enable encryption connection
|
||||||
|
|
||||||
config BT_NIMBLE_SM_SC_DEBUG_KEYS
|
config BT_NIMBLE_DEBUG
|
||||||
bool "Use predefined public-private key pair"
|
bool "Enable extra runtime asserts and host debugging"
|
||||||
default n
|
default n
|
||||||
depends on BT_NIMBLE_SM_SC
|
depends on BT_NIMBLE_ENABLED
|
||||||
help
|
help
|
||||||
If this option is enabled, SM uses predefined DH key pair as described
|
This enables extra runtime asserts and host debugging
|
||||||
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_NIMBLE_SVC_GAP_DEVICE_NAME
|
config BT_NIMBLE_SVC_GAP_DEVICE_NAME
|
||||||
string "BLE GAP default device name"
|
string "BLE GAP default device name"
|
||||||
@@ -323,14 +236,43 @@ config BT_NIMBLE_SVC_GAP_APPEARANCE
|
|||||||
help
|
help
|
||||||
Standard BLE GAP Appearance value in HEX format e.g. 0x02C0
|
Standard BLE GAP Appearance value in HEX format e.g. 0x02C0
|
||||||
|
|
||||||
config BT_NIMBLE_ACL_BUF_COUNT
|
|
||||||
|
menu "Memory Settings"
|
||||||
|
config BT_NIMBLE_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_NIMBLE_MSYS_1_BLOCK_SIZE
|
||||||
|
int "MSYS_1 Block Size"
|
||||||
|
default 256
|
||||||
|
help
|
||||||
|
Dynamic memory size of block 1
|
||||||
|
|
||||||
|
config BT_NIMBLE_MSYS_2_BLOCK_COUNT
|
||||||
|
int "MSYS_2 Block Count"
|
||||||
|
default 24
|
||||||
|
help
|
||||||
|
Dynamic memory count
|
||||||
|
|
||||||
|
config BT_NIMBLE_MSYS_2_BLOCK_SIZE
|
||||||
|
int "MSYS_2 Block Size"
|
||||||
|
default 320
|
||||||
|
help
|
||||||
|
Dynamic memory size of block 2
|
||||||
|
|
||||||
|
config BT_NIMBLE_ACL_BUF_COUNT
|
||||||
int "ACL Buffer count"
|
int "ACL Buffer count"
|
||||||
depends on BT_NIMBLE_ENABLED
|
depends on BT_NIMBLE_ENABLED
|
||||||
default 24
|
default 24
|
||||||
help
|
help
|
||||||
The number of ACL data buffers.
|
The number of ACL data buffers.
|
||||||
|
|
||||||
config BT_NIMBLE_ACL_BUF_SIZE
|
config BT_NIMBLE_ACL_BUF_SIZE
|
||||||
int "ACL Buffer size"
|
int "ACL Buffer size"
|
||||||
depends on BT_NIMBLE_ENABLED
|
depends on BT_NIMBLE_ENABLED
|
||||||
default 255
|
default 255
|
||||||
@@ -338,7 +280,7 @@ config BT_NIMBLE_ACL_BUF_SIZE
|
|||||||
This is the maximum size of the data portion of HCI ACL data packets.
|
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)
|
It does not include the HCI data header (of 4 bytes)
|
||||||
|
|
||||||
config BT_NIMBLE_HCI_EVT_BUF_SIZE
|
config BT_NIMBLE_HCI_EVT_BUF_SIZE
|
||||||
int "HCI Event Buffer size"
|
int "HCI Event Buffer size"
|
||||||
depends on BT_NIMBLE_ENABLED
|
depends on BT_NIMBLE_ENABLED
|
||||||
default 257 if BT_NIMBLE_EXT_ADV
|
default 257 if BT_NIMBLE_EXT_ADV
|
||||||
@@ -348,7 +290,7 @@ config BT_NIMBLE_HCI_EVT_BUF_SIZE
|
|||||||
extended advertising, packets can be fragmented. 257 bytes is the
|
extended advertising, packets can be fragmented. 257 bytes is the
|
||||||
maximum size of a packet.
|
maximum size of a packet.
|
||||||
|
|
||||||
config BT_NIMBLE_HCI_EVT_HI_BUF_COUNT
|
config BT_NIMBLE_HCI_EVT_HI_BUF_COUNT
|
||||||
int "High Priority HCI Event Buffer count"
|
int "High Priority HCI Event Buffer count"
|
||||||
depends on BT_NIMBLE_ENABLED
|
depends on BT_NIMBLE_ENABLED
|
||||||
default 30
|
default 30
|
||||||
@@ -358,7 +300,7 @@ config BT_NIMBLE_HCI_EVT_HI_BUF_COUNT
|
|||||||
are no free high-priority event buffers then host will try to allocate a
|
are no free high-priority event buffers then host will try to allocate a
|
||||||
low-priority buffer instead
|
low-priority buffer instead
|
||||||
|
|
||||||
config BT_NIMBLE_HCI_EVT_LO_BUF_COUNT
|
config BT_NIMBLE_HCI_EVT_LO_BUF_COUNT
|
||||||
int "Low Priority HCI Event Buffer count"
|
int "Low Priority HCI Event Buffer count"
|
||||||
depends on BT_NIMBLE_ENABLED
|
depends on BT_NIMBLE_ENABLED
|
||||||
default 8
|
default 8
|
||||||
@@ -368,42 +310,7 @@ config BT_NIMBLE_HCI_EVT_LO_BUF_COUNT
|
|||||||
low-priority event buffers, then an incoming advertising report will
|
low-priority event buffers, then an incoming advertising report will
|
||||||
get dropped
|
get dropped
|
||||||
|
|
||||||
menuconfig BT_NIMBLE_MEMORY_SETTINGS
|
endmenu
|
||||||
bool "OS Memory Settings"
|
|
||||||
default y
|
|
||||||
help
|
|
||||||
Settings memory blocks
|
|
||||||
|
|
||||||
config BT_NIMBLE_MSYS_1_BLOCK_COUNT
|
|
||||||
int "MSYS_1 Block Count"
|
|
||||||
depends on BT_NIMBLE_MEMORY_SETTINGS
|
|
||||||
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_NIMBLE_MSYS_1_BLOCK_SIZE
|
|
||||||
int "MSYS_1 Block Size"
|
|
||||||
depends on BT_NIMBLE_MEMORY_SETTINGS
|
|
||||||
default 256
|
|
||||||
help
|
|
||||||
Dynamic memory size of block 1
|
|
||||||
|
|
||||||
config BT_NIMBLE_MSYS_2_BLOCK_COUNT
|
|
||||||
int "MSYS_2 Block Count"
|
|
||||||
depends on BT_NIMBLE_MEMORY_SETTINGS
|
|
||||||
default 24
|
|
||||||
help
|
|
||||||
Dynamic memory count
|
|
||||||
|
|
||||||
config BT_NIMBLE_MSYS_2_BLOCK_SIZE
|
|
||||||
int "MSYS_2 Block Size"
|
|
||||||
depends on BT_NIMBLE_MEMORY_SETTINGS
|
|
||||||
default 320
|
|
||||||
help
|
|
||||||
Dynamic memory size of block 2
|
|
||||||
|
|
||||||
config BT_NIMBLE_HS_FLOW_CTRL
|
config BT_NIMBLE_HS_FLOW_CTRL
|
||||||
bool "Enable Host Flow control"
|
bool "Enable Host Flow control"
|
||||||
@@ -567,7 +474,7 @@ config BT_NIMBLE_HOST_BASED_PRIVACY
|
|||||||
|
|
||||||
config BT_NIMBLE_ENABLE_CONN_REATTEMPT
|
config BT_NIMBLE_ENABLE_CONN_REATTEMPT
|
||||||
bool "Enable connection reattempts on connection establishment error"
|
bool "Enable connection reattempts on connection establishment error"
|
||||||
default y if (IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32H2 )
|
default y if (IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32H2 || IDF_TARGET_ESP32C2)
|
||||||
default n if IDF_TARGET_ESP32
|
default n if IDF_TARGET_ESP32
|
||||||
help
|
help
|
||||||
Enable to make the NimBLE host to reattempt GAP connection on connection
|
Enable to make the NimBLE host to reattempt GAP connection on connection
|
||||||
@@ -582,30 +489,93 @@ config BT_NIMBLE_MAX_CONN_REATTEMPT
|
|||||||
Defines maximum number of connection reattempts.
|
Defines maximum number of connection reattempts.
|
||||||
|
|
||||||
menuconfig BT_NIMBLE_50_FEATURE_SUPPORT
|
menuconfig BT_NIMBLE_50_FEATURE_SUPPORT
|
||||||
bool "Enable BLE v5.0 feature"
|
bool "Enable BLE 5 feature"
|
||||||
depends on BT_NIMBLE_ENABLED
|
depends on BT_NIMBLE_ENABLED
|
||||||
default y
|
default y
|
||||||
help
|
help
|
||||||
Enable BLE v5.0 feature
|
Enable BLE 5 feature
|
||||||
|
|
||||||
|
config BT_NIMBLE_LL_CFG_FEAT_LE_2M_PHY
|
||||||
|
bool "Enable 2M Phy"
|
||||||
|
depends on BT_NIMBLE_50_FEATURE_SUPPORT
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
Enable 2M-PHY
|
||||||
|
|
||||||
|
config BT_NIMBLE_LL_CFG_FEAT_LE_CODED_PHY
|
||||||
|
bool "Enable coded Phy"
|
||||||
|
depends on BT_NIMBLE_50_FEATURE_SUPPORT
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
Enable coded-PHY
|
||||||
|
|
||||||
config BT_NIMBLE_EXT_ADV
|
config BT_NIMBLE_EXT_ADV
|
||||||
bool "Enable extended advertising"
|
bool "Enable extended advertising"
|
||||||
depends on BT_NIMBLE_ENABLED && BT_NIMBLE_50_FEATURE_SUPPORT
|
depends on BT_NIMBLE_50_FEATURE_SUPPORT
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Enable this option to do extended advertising. Extended advertising
|
Enable this option to do extended advertising. Extended advertising
|
||||||
will be supported from BLE 5.0 onwards.
|
will be supported from BLE 5.0 onwards.
|
||||||
|
|
||||||
if BT_NIMBLE_EXT_ADV
|
if BT_NIMBLE_EXT_ADV
|
||||||
config BT_NIMBLE_EXT_ADV_MAX_SIZE
|
config BT_NIMBLE_MAX_EXT_ADV_INSTANCES
|
||||||
int "set ext adv maximum paket size"
|
int "Maximum number of extended advertising instances."
|
||||||
depends on BT_NIMBLE_50_FEATURE_SUPPORT
|
range 0 4
|
||||||
default 1650
|
default 1 if BT_NIMBLE_EXT_ADV
|
||||||
|
default 0
|
||||||
|
depends on BT_NIMBLE_EXT_ADV
|
||||||
help
|
help
|
||||||
Ext ADV packet size
|
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.
|
||||||
|
|
||||||
|
config BT_NIMBLE_EXT_ADV_MAX_SIZE
|
||||||
|
int "Maximum length of the advertising data."
|
||||||
|
range 0 1650
|
||||||
|
default 1650 if BT_NIMBLE_EXT_ADV
|
||||||
|
default 0
|
||||||
|
depends on BT_NIMBLE_EXT_ADV
|
||||||
|
help
|
||||||
|
Defines the length of the extended adv data. The value should not
|
||||||
|
exceed 1650.
|
||||||
|
|
||||||
|
config BT_NIMBLE_ENABLE_PERIODIC_ADV
|
||||||
|
bool "Enable periodic advertisement."
|
||||||
|
default y
|
||||||
|
depends on BT_NIMBLE_EXT_ADV
|
||||||
|
help
|
||||||
|
Enable this option to start periodic advertisement.
|
||||||
|
|
||||||
|
config BT_NIMBLE_PERIODIC_ADV_SYNC_TRANSFER
|
||||||
|
bool "Enable Transer Sync Events"
|
||||||
|
depends on BT_NIMBLE_ENABLE_PERIODIC_ADV
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
This enables controller transfer periodic sync events to host
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
config BT_NIMBLE_MAX_PERIODIC_SYNCS
|
||||||
|
int "Maximum number of periodic advertising syncs"
|
||||||
|
depends on BT_NIMBLE_50_FEATURE_SUPPORT
|
||||||
|
range 0 8 if !IDF_TARGET_ESP32C2
|
||||||
|
range 0 3 if IDF_TARGET_ESP32C2
|
||||||
|
default 1 if BT_NIMBLE_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_NIMBLE_MAX_PERIODIC_ADVERTISER_LIST
|
||||||
|
int "Maximum number of periodic advertiser list"
|
||||||
|
depends on BT_NIMBLE_50_FEATURE_SUPPORT && IDF_TARGET_ESP32C2
|
||||||
|
range 1 5
|
||||||
|
default 5 if BT_NIMBLE_50_FEATURE_SUPPORT
|
||||||
|
help
|
||||||
|
Set this option to set the upper limit for number of periodic advertiser list.
|
||||||
|
|
||||||
choice BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM
|
choice BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM
|
||||||
prompt "Coexistence: limit on MAX Tx/Rx time for coded-PHY connection"
|
prompt "Coexistence: limit on MAX Tx/Rx time for coded-PHY connection"
|
||||||
default BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM_DIS
|
default BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM_DIS
|
||||||
@@ -635,100 +605,19 @@ config BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM_EFF
|
|||||||
config BT_NIMBLE_WHITELIST_SIZE
|
config BT_NIMBLE_WHITELIST_SIZE
|
||||||
int "BLE white list size"
|
int "BLE white list size"
|
||||||
depends on BT_NIMBLE_ENABLED
|
depends on BT_NIMBLE_ENABLED
|
||||||
range 1 15
|
range 1 15 if !IDF_TARGET_ESP32C2
|
||||||
default 12
|
default 12 if !IDF_TARGET_ESP32C2
|
||||||
|
range 1 5 if IDF_TARGET_ESP32C2
|
||||||
|
default 5 if IDF_TARGET_ESP32C2
|
||||||
help
|
help
|
||||||
BLE list size
|
BLE list size
|
||||||
|
|
||||||
|
|
||||||
config BT_NIMBLE_MAX_EXT_ADV_INSTANCES
|
|
||||||
int "Maximum number of extended advertising instances."
|
|
||||||
range 0 4
|
|
||||||
default 1 if BT_NIMBLE_EXT_ADV
|
|
||||||
default 0
|
|
||||||
depends on BT_NIMBLE_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.
|
|
||||||
|
|
||||||
config BT_NIMBLE_MAX_EXT_ADV_DATA_LEN
|
|
||||||
int "Maximum length of the advertising data."
|
|
||||||
range 0 1650
|
|
||||||
default 1650 if BT_NIMBLE_EXT_ADV
|
|
||||||
default 0
|
|
||||||
depends on BT_NIMBLE_EXT_ADV
|
|
||||||
help
|
|
||||||
Defines size of extended advertising data. Size should not increase
|
|
||||||
1650.
|
|
||||||
|
|
||||||
config BT_NIMBLE_ENABLE_PERIODIC_ADV
|
|
||||||
bool "Enable periodic advertisement."
|
|
||||||
default y
|
|
||||||
depends on BT_NIMBLE_EXT_ADV
|
|
||||||
help
|
|
||||||
Enable this option to start periodic advertisement.
|
|
||||||
|
|
||||||
config BT_NIMBLE_PERIODIC_ADV_SYNC_TRANSFER
|
|
||||||
bool "Enable Transer Sync Events"
|
|
||||||
depends on BT_NIMBLE_EXT_ADV
|
|
||||||
default y
|
|
||||||
help
|
|
||||||
This enables controller transfer periodic sync events to host
|
|
||||||
|
|
||||||
|
|
||||||
config BT_NIMBLE_MAX_PERIODIC_SYNCS
|
|
||||||
int "Maximum number of periodic advertising syncs."
|
|
||||||
default 1 if BT_NIMBLE_ENABLE_PERIODIC_ADV
|
|
||||||
default 0
|
|
||||||
depends on BT_NIMBLE_ENABLE_PERIODIC_ADV
|
|
||||||
range 1 8
|
|
||||||
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_NIMBLE_LL_CFG_FEAT_LE_2M_PHY
|
|
||||||
bool "Enable 2M Phy"
|
|
||||||
depends on BT_NIMBLE_50_FEATURE_SUPPORT
|
|
||||||
default y
|
|
||||||
help
|
|
||||||
Enable 2M-PHY
|
|
||||||
|
|
||||||
config BT_NIMBLE_LL_CFG_FEAT_LE_CODED_PHY
|
|
||||||
bool "Enable coded Phy"
|
|
||||||
depends on BT_NIMBLE_50_FEATURE_SUPPORT
|
|
||||||
default y
|
|
||||||
help
|
|
||||||
Enable coded-PHY
|
|
||||||
|
|
||||||
config BT_NIMBLE_HARDWARE_BLE_ONLY
|
|
||||||
bool "Run example on Ble Only Hardware"
|
|
||||||
default y
|
|
||||||
help
|
|
||||||
Run example on Ble Only Hardware
|
|
||||||
|
|
||||||
config BT_NIMBLE_TEST_THROUGHPUT_TEST
|
config BT_NIMBLE_TEST_THROUGHPUT_TEST
|
||||||
bool "Throughput Test Mode enable"
|
bool "Throughput Test Mode enable"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Enable the throughput test mode
|
Enable the throughput test mode
|
||||||
|
|
||||||
|
|
||||||
config BT_NIMBLE_LL_RESOLV_LIST_SIZE
|
|
||||||
int "BLE LL Resolving list size"
|
|
||||||
default 4
|
|
||||||
help
|
|
||||||
Configure the size of resolving list used in link layer.
|
|
||||||
|
|
||||||
config BT_NIMBLE_LL_DUP_SCAN_LIST_COUNT
|
|
||||||
int "BLE duplicate scan list count"
|
|
||||||
range 1 100
|
|
||||||
default 8
|
|
||||||
help
|
|
||||||
config the max count of duplicate scan list
|
|
||||||
|
|
||||||
config BT_NIMBLE_SLEEP_ENABLE
|
config BT_NIMBLE_SLEEP_ENABLE
|
||||||
bool "Enable BLE sleep"
|
bool "Enable BLE sleep"
|
||||||
depends on BT_NIMBLE_ENABLED
|
depends on BT_NIMBLE_ENABLED
|
||||||
@@ -736,7 +625,7 @@ config BT_NIMBLE_SLEEP_ENABLE
|
|||||||
help
|
help
|
||||||
Enable BLE sleep
|
Enable BLE sleep
|
||||||
|
|
||||||
choice
|
choice BT_NIMBLE_WAKEUP_SOURCE
|
||||||
prompt "BLE light sleep wakeup source"
|
prompt "BLE light sleep wakeup source"
|
||||||
depends on BT_NIMBLE_SLEEP_ENABLE
|
depends on BT_NIMBLE_SLEEP_ENABLE
|
||||||
default BT_NIMBLE_WAKEUP_SOURCE_CPU_RTC_TIMER
|
default BT_NIMBLE_WAKEUP_SOURCE_CPU_RTC_TIMER
|
||||||
|
@@ -7,7 +7,9 @@
|
|||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include "sysinit/sysinit.h"
|
#include "sysinit/sysinit.h"
|
||||||
#include "nimble/hci_common.h"
|
#include "nimble/hci_common.h"
|
||||||
|
#if CONFIG_BT_NIMBLE_ENABLED
|
||||||
#include "host/ble_hs.h"
|
#include "host/ble_hs.h"
|
||||||
|
#endif //CONFIG_BT_NIMBLE_ENABLED
|
||||||
#include "nimble/nimble_port.h"
|
#include "nimble/nimble_port.h"
|
||||||
#include "nimble/nimble_port_freertos.h"
|
#include "nimble/nimble_port_freertos.h"
|
||||||
#include "esp_nimble_hci.h"
|
#include "esp_nimble_hci.h"
|
||||||
|
Submodule components/bt/host/nimble/nimble updated: 3c2e1d4b5b...f547144fe4
@@ -22,12 +22,6 @@
|
|||||||
#define IRAM_ATTR_64MCPU IRAM_ATTR
|
#define IRAM_ATTR_64MCPU IRAM_ATTR
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_BT_NIMBLE_RUN_QA_TEST
|
|
||||||
#define RUN_QA_TEST_N (CONFIG_BT_NIMBLE_RUN_QA_TEST)
|
|
||||||
#else
|
|
||||||
#define RUN_QA_TEST_N (0)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define BLE_LL_CTRL_PROC_TIMEOUT_MS_N (40000) /* ms */
|
#define BLE_LL_CTRL_PROC_TIMEOUT_MS_N (40000) /* ms */
|
||||||
|
|
||||||
#define BLE_LL_CFG_NUM_HCI_CMD_PKTS_N (1)
|
#define BLE_LL_CFG_NUM_HCI_CMD_PKTS_N (1)
|
||||||
@@ -54,14 +48,10 @@
|
|||||||
|
|
||||||
#define BLE_LL_TX_PWR_DBM_N (0)
|
#define BLE_LL_TX_PWR_DBM_N (0)
|
||||||
|
|
||||||
#define BLE_LL_SYNC_CNT_N (7)
|
#if CONFIG_IDF_TARGET_ESP32 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32S3
|
||||||
|
|
||||||
#define BLE_LL_SYNC_LIST_CNT_N (7)
|
|
||||||
|
|
||||||
#ifndef CONFIG_BT_NIMBLE_CONTROLLER_ENABLED
|
|
||||||
#define NIMBLE_CFG_CONTROLLER 0
|
#define NIMBLE_CFG_CONTROLLER 0
|
||||||
#else
|
#else
|
||||||
#define NIMBLE_CFG_CONTROLLER CONFIG_BT_NIMBLE_CONTROLLER_ENABLED
|
#define NIMBLE_CFG_CONTROLLER CONFIG_BT_CONTROLLER_ENABLED
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*** kernel/os */
|
/*** kernel/os */
|
||||||
@@ -144,6 +134,11 @@
|
|||||||
#define MYNEWT_VAL_BLE_MAX_PERIODIC_SYNCS (CONFIG_BT_NIMBLE_MAX_PERIODIC_SYNCS)
|
#define MYNEWT_VAL_BLE_MAX_PERIODIC_SYNCS (CONFIG_BT_NIMBLE_MAX_PERIODIC_SYNCS)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef CONFIG_BT_NIMBLE_MAX_PERIODIC_ADVERTISER_LIST
|
||||||
|
#define MYNEWT_VAL_BLE_MAX_PERIODIC_ADVERTISER_LIST (0)
|
||||||
|
#else
|
||||||
|
#define MYNEWT_VAL_BLE_MAX_PERIODIC_ADVERTISER_LIST (CONFIG_BT_NIMBLE_MAX_PERIODIC_ADVERTISER_LIST)
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef CONFIG_BT_NIMBLE_MAX_EXT_ADV_INSTANCES
|
#ifndef CONFIG_BT_NIMBLE_MAX_EXT_ADV_INSTANCES
|
||||||
#define MYNEWT_VAL_BLE_MULTI_ADV_INSTANCES (1)
|
#define MYNEWT_VAL_BLE_MULTI_ADV_INSTANCES (1)
|
||||||
@@ -193,7 +188,7 @@
|
|||||||
/*** @apache-mynewt-nimble/nimble/controller */
|
/*** @apache-mynewt-nimble/nimble/controller */
|
||||||
/*** @apache-mynewt-nimble/nimble/controller */
|
/*** @apache-mynewt-nimble/nimble/controller */
|
||||||
#ifndef MYNEWT_VAL_BLE_CONTROLLER
|
#ifndef MYNEWT_VAL_BLE_CONTROLLER
|
||||||
#if CONFIG_IDF_TARGET_ESP32H2
|
#if NIMBLE_CFG_CONTROLLER
|
||||||
#define MYNEWT_VAL_BLE_CONTROLLER (1)
|
#define MYNEWT_VAL_BLE_CONTROLLER (1)
|
||||||
#else
|
#else
|
||||||
#define MYNEWT_VAL_BLE_CONTROLLER (0)
|
#define MYNEWT_VAL_BLE_CONTROLLER (0)
|
||||||
@@ -284,10 +279,6 @@
|
|||||||
#define MYNEWT_VAL_BLE_LL_CFG_FEAT_LE_ENCRYPTION (CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_ENCRYPTION)
|
#define MYNEWT_VAL_BLE_LL_CFG_FEAT_LE_ENCRYPTION (CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_ENCRYPTION)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef MYNEWT_VAL_BLE_LL_CFG_FEAT_LE_PING
|
|
||||||
#define MYNEWT_VAL_BLE_LL_CFG_FEAT_LE_PING (MYNEWT_VAL_BLE_LL_CFG_FEAT_LE_ENCRYPTION)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Value copied from BLE_LL_OUR_SCA */
|
/* Value copied from BLE_LL_OUR_SCA */
|
||||||
#ifndef MYNEWT_VAL_BLE_LL_SCA
|
#ifndef MYNEWT_VAL_BLE_LL_SCA
|
||||||
#define MYNEWT_VAL_BLE_LL_SCA (60)
|
#define MYNEWT_VAL_BLE_LL_SCA (60)
|
||||||
@@ -330,11 +321,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef MYNEWT_VAL_BLE_HCI_UART_PARITY
|
#ifndef MYNEWT_VAL_BLE_HCI_UART_PARITY
|
||||||
#if CONFIG_IDF_TARGET_ESP32H2
|
#define MYNEWT_VAL_BLE_HCI_UART_PARITY (0) // HAL_UART_PARITY_NONE
|
||||||
#define MYNEWT_VAL_BLE_HCI_UART_PARITY 0
|
|
||||||
#else
|
|
||||||
#define MYNEWT_VAL_BLE_HCI_UART_PARITY (HAL_UART_PARITY_NONE)
|
|
||||||
#endif
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef CONFIG_BT_NIMBLE_HCI_UART_PORT
|
#ifndef CONFIG_BT_NIMBLE_HCI_UART_PORT
|
||||||
@@ -360,12 +347,6 @@
|
|||||||
#define MYNEWT_VAL_BLE_LL_CFG_FEAT_LL_EXT_ADV (MYNEWT_VAL_BLE_EXT_ADV)
|
#define MYNEWT_VAL_BLE_LL_CFG_FEAT_LL_EXT_ADV (MYNEWT_VAL_BLE_EXT_ADV)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if MYNEWT_VAL_BLE_LL_CFG_FEAT_LL_EXT_ADV
|
|
||||||
#define BLE_LL_SCAN_PHY_NUMBER_N (2)
|
|
||||||
#else
|
|
||||||
#define BLE_LL_SCAN_PHY_NUMBER_N (1)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Value copied from BLE_PERIODIC_ADV */
|
/* Value copied from BLE_PERIODIC_ADV */
|
||||||
#ifndef MYNEWT_VAL_BLE_LL_CFG_FEAT_LL_PERIODIC_ADV
|
#ifndef MYNEWT_VAL_BLE_LL_CFG_FEAT_LL_PERIODIC_ADV
|
||||||
#define MYNEWT_VAL_BLE_LL_CFG_FEAT_LL_PERIODIC_ADV (CONFIG_BT_NIMBLE_ENABLE_PERIODIC_ADV)
|
#define MYNEWT_VAL_BLE_LL_CFG_FEAT_LL_PERIODIC_ADV (CONFIG_BT_NIMBLE_ENABLE_PERIODIC_ADV)
|
||||||
@@ -431,7 +412,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef MYNEWT_VAL_BLE_LL_RESOLV_LIST_SIZE
|
#ifndef MYNEWT_VAL_BLE_LL_RESOLV_LIST_SIZE
|
||||||
#define MYNEWT_VAL_BLE_LL_RESOLV_LIST_SIZE (CONFIG_BT_NIMBLE_LL_RESOLV_LIST_SIZE)
|
#define MYNEWT_VAL_BLE_LL_RESOLV_LIST_SIZE (4)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef MYNEWT_VAL_BLE_LL_RNG_BUFSIZE
|
#ifndef MYNEWT_VAL_BLE_LL_RNG_BUFSIZE
|
||||||
|
469
components/bt/include/esp32c2/include/esp_bt.h
Normal file
469
components/bt/include/esp32c2/include/esp_bt.h
Normal file
@@ -0,0 +1,469 @@
|
|||||||
|
/*
|
||||||
|
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __ESP_BT_H__
|
||||||
|
#define __ESP_BT_H__
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <stdbool.h>
|
||||||
|
#include "esp_err.h"
|
||||||
|
#include "sdkconfig.h"
|
||||||
|
#include "esp_task.h"
|
||||||
|
|
||||||
|
#include "nimble/nimble_npl.h"
|
||||||
|
#include "syscfg/syscfg.h"
|
||||||
|
#include "esp_nimble_cfg.h"
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if (SOC_ESP_NIMBLE_CONTROLLER)
|
||||||
|
#define NIMBLE_LL_STACK_SIZE CONFIG_BT_LE_CONTROLLER_TASK_STACK_SIZE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Bluetooth mode for controller enable/disable
|
||||||
|
*/
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
ESP_BT_MODE_IDLE = 0x00, /*!< Bluetooth is not running */
|
||||||
|
ESP_BT_MODE_BLE = 0x01, /*!< Run BLE mode */
|
||||||
|
ESP_BT_MODE_CLASSIC_BT = 0x02, /*!< Run Classic BT mode */
|
||||||
|
ESP_BT_MODE_BTDM = 0x03, /*!< Run dual mode */
|
||||||
|
} esp_bt_mode_t;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Bluetooth controller enable/disable/initialised/de-initialised status
|
||||||
|
*/
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
ESP_BT_CONTROLLER_STATUS_IDLE = 0, /*!< Controller is in idle state */
|
||||||
|
ESP_BT_CONTROLLER_STATUS_INITED, /*!< Controller is in initialising state */
|
||||||
|
ESP_BT_CONTROLLER_STATUS_ENABLED, /*!< Controller is in enabled state */
|
||||||
|
ESP_BT_CONTROLLER_STATUS_NUM, /*!< Controller is in disabled state */
|
||||||
|
} esp_bt_controller_status_t;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief BLE tx power type
|
||||||
|
* ESP_BLE_PWR_TYPE_CONN_HDL0-8: for each connection, and only be set after connection completed.
|
||||||
|
* when disconnect, the correspond TX power is not effected.
|
||||||
|
* ESP_BLE_PWR_TYPE_ADV : for advertising/scan response.
|
||||||
|
* ESP_BLE_PWR_TYPE_SCAN : for scan.
|
||||||
|
* ESP_BLE_PWR_TYPE_DEFAULT : if each connection's TX power is not set, it will use this default value.
|
||||||
|
* if neither in scan mode nor in adv mode, it will use this default value.
|
||||||
|
* If none of power type is set, system will use ESP_PWR_LVL_P3 as default for ADV/SCAN/CONN0-9.
|
||||||
|
*/
|
||||||
|
typedef enum {
|
||||||
|
ESP_BLE_PWR_TYPE_CONN_HDL0 = 0, /*!< For connection handle 0 */
|
||||||
|
ESP_BLE_PWR_TYPE_CONN_HDL1 = 1, /*!< For connection handle 1 */
|
||||||
|
ESP_BLE_PWR_TYPE_CONN_HDL2 = 2, /*!< For connection handle 2 */
|
||||||
|
ESP_BLE_PWR_TYPE_CONN_HDL3 = 3, /*!< For connection handle 3 */
|
||||||
|
ESP_BLE_PWR_TYPE_CONN_HDL4 = 4, /*!< For connection handle 4 */
|
||||||
|
ESP_BLE_PWR_TYPE_CONN_HDL5 = 5, /*!< For connection handle 5 */
|
||||||
|
ESP_BLE_PWR_TYPE_CONN_HDL6 = 6, /*!< For connection handle 6 */
|
||||||
|
ESP_BLE_PWR_TYPE_CONN_HDL7 = 7, /*!< For connection handle 7 */
|
||||||
|
ESP_BLE_PWR_TYPE_CONN_HDL8 = 8, /*!< For connection handle 8 */
|
||||||
|
ESP_BLE_PWR_TYPE_ADV = 9, /*!< For advertising */
|
||||||
|
ESP_BLE_PWR_TYPE_SCAN = 10, /*!< For scan */
|
||||||
|
ESP_BLE_PWR_TYPE_DEFAULT = 11, /*!< For default, if not set other, it will use default value */
|
||||||
|
ESP_BLE_PWR_TYPE_NUM = 12, /*!< TYPE numbers */
|
||||||
|
} esp_ble_power_type_t;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Bluetooth TX power level(index), it's just a index corresponding to power(dbm).
|
||||||
|
*/
|
||||||
|
typedef enum {
|
||||||
|
ESP_PWR_LVL_N27 = 0, /*!< Corresponding to -27dbm */
|
||||||
|
ESP_PWR_LVL_N24 = 1, /*!< Corresponding to -24dbm */
|
||||||
|
ESP_PWR_LVL_N21 = 2, /*!< Corresponding to -21dbm */
|
||||||
|
ESP_PWR_LVL_N18 = 3, /*!< Corresponding to -18dbm */
|
||||||
|
ESP_PWR_LVL_N15 = 4, /*!< Corresponding to -15dbm */
|
||||||
|
ESP_PWR_LVL_N12 = 5, /*!< Corresponding to -12dbm */
|
||||||
|
ESP_PWR_LVL_N9 = 6, /*!< Corresponding to -9dbm */
|
||||||
|
ESP_PWR_LVL_N6 = 7, /*!< Corresponding to -6dbm */
|
||||||
|
ESP_PWR_LVL_N3 = 8, /*!< Corresponding to -3dbm */
|
||||||
|
ESP_PWR_LVL_N0 = 9, /*!< Corresponding to 0dbm */
|
||||||
|
ESP_PWR_LVL_P3 = 10, /*!< Corresponding to +3dbm */
|
||||||
|
ESP_PWR_LVL_P6 = 11, /*!< Corresponding to +6dbm */
|
||||||
|
ESP_PWR_LVL_P9 = 12, /*!< Corresponding to +9dbm */
|
||||||
|
ESP_PWR_LVL_P12 = 13, /*!< Corresponding to +12dbm */
|
||||||
|
ESP_PWR_LVL_P15 = 14, /*!< Corresponding to +15dbm */
|
||||||
|
ESP_PWR_LVL_P18 = 15, /*!< Corresponding to +18dbm */
|
||||||
|
ESP_PWR_LVL_INVALID = 0xFF, /*!< Indicates an invalid value */
|
||||||
|
} esp_power_level_t;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
uint8_t type;
|
||||||
|
uint8_t val[6];
|
||||||
|
} esp_ble_addr_t;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Set BLE TX power
|
||||||
|
* Connection Tx power should only be set after connection created.
|
||||||
|
* @param power_type : The type of which tx power, could set Advertising/Connection/Default and etc
|
||||||
|
* @param power_level: Power level(index) corresponding to absolute value(dbm)
|
||||||
|
* @return ESP_OK - success, other - failed
|
||||||
|
*/
|
||||||
|
esp_err_t esp_ble_tx_power_set(esp_ble_power_type_t power_type, esp_power_level_t power_level);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Get BLE TX power
|
||||||
|
* Connection Tx power should only be get after connection created.
|
||||||
|
* @param power_type : The type of which tx power, could set Advertising/Connection/Default and etc
|
||||||
|
* @return >= 0 - Power level, < 0 - Invalid
|
||||||
|
*/
|
||||||
|
esp_power_level_t esp_ble_tx_power_get(esp_ble_power_type_t power_type);
|
||||||
|
|
||||||
|
|
||||||
|
#define CONFIG_VERSION 0x20220105
|
||||||
|
#define CONFIG_MAGIC 0x5A5AA5A5
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Controller config options, depend on config mask.
|
||||||
|
* Config mask indicate which functions enabled, this means
|
||||||
|
* some options or parameters of some functions enabled by config mask.
|
||||||
|
*/
|
||||||
|
|
||||||
|
struct esp_bt_controller_config_t{
|
||||||
|
uint32_t config_version;
|
||||||
|
uint16_t ble_ll_resolv_list_size;
|
||||||
|
uint16_t ble_hci_evt_hi_buf_count;
|
||||||
|
uint16_t ble_hci_evt_lo_buf_count;
|
||||||
|
uint8_t ble_ll_sync_list_cnt;
|
||||||
|
uint8_t ble_ll_sync_cnt;
|
||||||
|
uint16_t ble_ll_rsp_dup_list_count;
|
||||||
|
uint16_t ble_ll_adv_dup_list_count;
|
||||||
|
uint8_t ble_ll_tx_pwr_dbm;
|
||||||
|
uint64_t rtc_freq;
|
||||||
|
uint16_t ble_ll_sca;
|
||||||
|
uint8_t ble_ll_scan_phy_number;
|
||||||
|
uint16_t ble_ll_conn_def_auth_pyld_tmo;
|
||||||
|
uint8_t ble_ll_jitter_usecs;
|
||||||
|
uint16_t ble_ll_sched_max_adv_pdu_usecs;
|
||||||
|
uint16_t ble_ll_sched_direct_adv_max_usecs;
|
||||||
|
uint16_t ble_ll_sched_adv_max_usecs;
|
||||||
|
uint16_t ble_scan_rsp_data_max_len;
|
||||||
|
uint8_t ble_ll_cfg_num_hci_cmd_pkts;
|
||||||
|
uint32_t ble_ll_ctrl_proc_timeout_ms;
|
||||||
|
uint16_t nimble_max_connections;
|
||||||
|
uint8_t ble_whitelist_size;
|
||||||
|
uint16_t ble_acl_buf_size;
|
||||||
|
uint16_t ble_acl_buf_count;
|
||||||
|
uint16_t ble_hci_evt_buf_size;
|
||||||
|
uint16_t ble_multi_adv_instances;
|
||||||
|
uint16_t ble_ext_adv_max_size;
|
||||||
|
uint16_t controller_task_stack_size;
|
||||||
|
uint8_t controller_task_prio;
|
||||||
|
uint8_t controller_run_cpu;
|
||||||
|
uint8_t enable_qa_test;
|
||||||
|
uint8_t enable_bqb_test;
|
||||||
|
uint8_t enable_uart_hci;
|
||||||
|
uint8_t ble_hci_uart_port;
|
||||||
|
uint32_t ble_hci_uart_baud;
|
||||||
|
uint8_t ble_hci_uart_data_bits;
|
||||||
|
uint8_t ble_hci_uart_stop_bits;
|
||||||
|
uint8_t ble_hci_uart_flow_ctrl;
|
||||||
|
uint8_t ble_hci_uart_uart_parity;
|
||||||
|
uint8_t enable_tx_cca;
|
||||||
|
uint8_t cca_rssi_thresh;
|
||||||
|
uint8_t sleep_en;
|
||||||
|
uint8_t coex_phy_coded_tx_rx_time_limit;
|
||||||
|
uint8_t dis_scan_backoff;
|
||||||
|
uint8_t esp_scan_filter_en;
|
||||||
|
uint32_t config_magic;
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct esp_bt_controller_config_t esp_bt_controller_config_t;
|
||||||
|
|
||||||
|
#define RUN_BQB_TEST 0
|
||||||
|
#define RUN_QA_TEST 0
|
||||||
|
#define NIMBLE_DISABLE_SCAN_BACKOFF 0
|
||||||
|
|
||||||
|
#ifdef CONFIG_BT_LE_HCI_INTERFACE_USE_UART
|
||||||
|
#define HCI_UART_EN CONFIG_BT_LE_HCI_INTERFACE_USE_UART
|
||||||
|
#else
|
||||||
|
#define HCI_UART_EN 0 // hci ram mode
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if CONFIG_BT_LE_LL_CFG_FEAT_LE_CODED_PHY
|
||||||
|
#define BLE_LL_SCAN_PHY_NUMBER_N (2)
|
||||||
|
#else
|
||||||
|
#define BLE_LL_SCAN_PHY_NUMBER_N (1)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_BT_NIMBLE_SLEEP_ENABLE
|
||||||
|
#define NIMBLE_SLEEP_ENABLE CONFIG_BT_NIMBLE_SLEEP_ENABLE
|
||||||
|
#else
|
||||||
|
#define NIMBLE_SLEEP_ENABLE 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#if CONFIG_BT_NIMBLE_ENABLED
|
||||||
|
|
||||||
|
#define DEFAULT_BT_LE_MAX_PERIODIC_ADVERTISER_LIST MYNEWT_VAL(BLE_MAX_PERIODIC_ADVERTISER_LIST)
|
||||||
|
#define DEFAULT_BT_LE_MAX_PERIODIC_SYNCS MYNEWT_VAL(BLE_MAX_PERIODIC_SYNCS)
|
||||||
|
#define DEFAULT_BT_LE_MAX_CONNECTIONS MYNEWT_VAL(BLE_MAX_CONNECTIONS)
|
||||||
|
#define DEFAULT_BT_LE_ACL_BUF_SIZE MYNEWT_VAL(BLE_ACL_BUF_SIZE)
|
||||||
|
#define DEFAULT_BT_LE_ACL_BUF_COUNT MYNEWT_VAL(BLE_ACL_BUF_COUNT)
|
||||||
|
#define DEFAULT_BT_LE_HCI_EVT_BUF_SIZE MYNEWT_VAL(BLE_HCI_EVT_BUF_SIZE)
|
||||||
|
#define DEFAULT_BT_LE_EXT_ADV_MAX_SIZE MYNEWT_VAL(BLE_EXT_ADV_MAX_SIZE)
|
||||||
|
#define DEFAULT_BT_LE_MAX_EXT_ADV_INSTANCES MYNEWT_VAL(BLE_MULTI_ADV_INSTANCES)
|
||||||
|
#define DEFAULT_BT_NIMBLE_WHITELIST_SIZE MYNEWT_VAL(BLE_LL_WHITELIST_SIZE)
|
||||||
|
#define DEFAULT_BT_LE_HCI_EVT_HI_BUF_COUNT MYNEWT_VAL(BLE_HCI_EVT_HI_BUF_COUNT)
|
||||||
|
#define DEFAULT_BT_LE_HCI_EVT_LO_BUF_COUNT MYNEWT_VAL(BLE_HCI_EVT_LO_BUF_COUNT)
|
||||||
|
#define DEFAULT_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EFF CONFIG_BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM_EFF
|
||||||
|
|
||||||
|
#else
|
||||||
|
# if defined(CONFIG_BT_LE_MAX_PERIODIC_ADVERTISER_LIST)
|
||||||
|
#define DEFAULT_BT_LE_MAX_PERIODIC_ADVERTISER_LIST (CONFIG_BT_LE_MAX_PERIODIC_ADVERTISER_LIST)
|
||||||
|
#else
|
||||||
|
#define DEFAULT_BT_LE_MAX_PERIODIC_ADVERTISER_LIST (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(CONFIG_BT_LE_MAX_PERIODIC_SYNCS)
|
||||||
|
#define DEFAULT_BT_LE_MAX_PERIODIC_SYNCS (CONFIG_BT_LE_MAX_PERIODIC_SYNCS)
|
||||||
|
#else
|
||||||
|
#define DEFAULT_BT_LE_MAX_PERIODIC_SYNCS (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(CONFIG_BT_LE_MAX_CONNECTIONS)
|
||||||
|
#define DEFAULT_BT_LE_MAX_CONNECTIONS (CONFIG_BT_LE_MAX_CONNECTIONS)
|
||||||
|
#else
|
||||||
|
#define DEFAULT_BT_LE_MAX_CONNECTIONS (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(CONFIG_BT_LE_ACL_BUF_SIZE)
|
||||||
|
#define DEFAULT_BT_LE_ACL_BUF_SIZE (CONFIG_BT_LE_ACL_BUF_SIZE)
|
||||||
|
#else
|
||||||
|
#define DEFAULT_BT_LE_ACL_BUF_SIZE (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(CONFIG_BT_LE_ACL_BUF_COUNT)
|
||||||
|
#define DEFAULT_BT_LE_ACL_BUF_COUNT (CONFIG_BT_LE_ACL_BUF_COUNT)
|
||||||
|
#else
|
||||||
|
#define DEFAULT_BT_LE_ACL_BUF_COUNT (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(CONFIG_BT_LE_HCI_EVT_BUF_SIZE)
|
||||||
|
#define DEFAULT_BT_LE_HCI_EVT_BUF_SIZE (CONFIG_BT_LE_HCI_EVT_BUF_SIZE)
|
||||||
|
#else
|
||||||
|
#define DEFAULT_BT_LE_HCI_EVT_BUF_SIZE (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(CONFIG_BT_LE_EXT_ADV_MAX_SIZE)
|
||||||
|
#define DEFAULT_BT_LE_EXT_ADV_MAX_SIZE (CONFIG_BT_LE_EXT_ADV_MAX_SIZE)
|
||||||
|
#else
|
||||||
|
#define DEFAULT_BT_LE_EXT_ADV_MAX_SIZE (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(CONFIG_BT_LE_MAX_EXT_ADV_INSTANCES)
|
||||||
|
#define DEFAULT_BT_LE_MAX_EXT_ADV_INSTANCES (CONFIG_BT_LE_MAX_EXT_ADV_INSTANCES)
|
||||||
|
#else
|
||||||
|
#define DEFAULT_BT_LE_MAX_EXT_ADV_INSTANCES (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(CONFIG_BT_LE_WHITELIST_SIZE)
|
||||||
|
#define DEFAULT_BT_NIMBLE_WHITELIST_SIZE (CONFIG_BT_LE_WHITELIST_SIZE)
|
||||||
|
#else
|
||||||
|
#define DEFAULT_BT_NIMBLE_WHITELIST_SIZE (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(CONFIG_BT_LE_HCI_EVT_HI_BUF_COUNT)
|
||||||
|
#define DEFAULT_BT_LE_HCI_EVT_HI_BUF_COUNT (CONFIG_BT_LE_HCI_EVT_HI_BUF_COUNT)
|
||||||
|
#else
|
||||||
|
#define DEFAULT_BT_LE_HCI_EVT_HI_BUF_COUNT (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(CONFIG_BT_LE_HCI_EVT_LO_BUF_COUNT)
|
||||||
|
#define DEFAULT_BT_LE_HCI_EVT_LO_BUF_COUNT (CONFIG_BT_LE_HCI_EVT_LO_BUF_COUNT)
|
||||||
|
#else
|
||||||
|
#define DEFAULT_BT_LE_HCI_EVT_LO_BUF_COUNT (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define DEFAULT_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EFF CONFIG_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EFF
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef BT_LE_HCI_INTERFACE_USE_UART
|
||||||
|
#define DEFAULT_BT_LE_HCI_UART_TX_PIN (CONFIG_BT_LE_HCI_UART_TX_PIN)
|
||||||
|
#define DEFAULT_BT_LE_HCI_UART_RX_PIN (CONFIG_BT_LE_HCI_UART_RX_PIN)
|
||||||
|
#define DEFAULT_BT_LE_HCI_UART_PORT (CONFIG_BT_LE_HCI_UART_PORT)
|
||||||
|
#define DEFAULT_BT_LE_HCI_UART_BAUD (CONFIG_BT_LE_HCI_UART_BAUD)
|
||||||
|
#define DEFAULT_BT_LE_HCI_UART_DATA_BITS (CONFIG_BT_LE_HCI_UART_DATA_BITS)
|
||||||
|
#define DEFAULT_BT_LE_HCI_UART_STOP_BITS (CONFIG_BT_LE_HCI_UART_STOP_BITS)
|
||||||
|
#define DEFAULT_BT_LE_HCI_UART_PARITY (CONFIG_BT_LE_HCI_UART_BAUD)
|
||||||
|
#define DEFAULT_BT_LE_HCI_UART_TASK_STACK_SIZE (CONFIG_BT_LE_HCI_UART_TASK_STACK_SIZE)
|
||||||
|
#define DEFAULT_BT_LE_HCI_UART_FLOW_CTRL (CONFIG_BT_LE_HCI_UART_FLOW_CTRL)
|
||||||
|
#else
|
||||||
|
#define DEFAULT_BT_LE_HCI_UART_TX_PIN (0)
|
||||||
|
#define DEFAULT_BT_LE_HCI_UART_RX_PIN (0)
|
||||||
|
#define DEFAULT_BT_LE_HCI_UART_PORT (0)
|
||||||
|
#define DEFAULT_BT_LE_HCI_UART_BAUD (0)
|
||||||
|
#define DEFAULT_BT_LE_HCI_UART_DATA_BITS (8)
|
||||||
|
#define DEFAULT_BT_LE_HCI_UART_STOP_BITS (1)
|
||||||
|
#define DEFAULT_BT_LE_HCI_UART_PARITY (0)
|
||||||
|
#define DEFAULT_BT_LE_HCI_UART_TASK_STACK_SIZE (0)
|
||||||
|
#define DEFAULT_BT_LE_HCI_UART_FLOW_CTRL (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define BT_CONTROLLER_INIT_CONFIG_DEFAULT() { \
|
||||||
|
.config_version = CONFIG_VERSION, \
|
||||||
|
.ble_ll_resolv_list_size = CONFIG_BT_LE_LL_RESOLV_LIST_SIZE, \
|
||||||
|
.ble_hci_evt_hi_buf_count = DEFAULT_BT_LE_HCI_EVT_HI_BUF_COUNT, \
|
||||||
|
.ble_hci_evt_lo_buf_count = DEFAULT_BT_LE_HCI_EVT_LO_BUF_COUNT, \
|
||||||
|
.ble_ll_sync_list_cnt = DEFAULT_BT_LE_MAX_PERIODIC_ADVERTISER_LIST, \
|
||||||
|
.ble_ll_sync_cnt = DEFAULT_BT_LE_MAX_PERIODIC_SYNCS, \
|
||||||
|
.ble_ll_rsp_dup_list_count = CONFIG_BT_LE_LL_DUP_SCAN_LIST_COUNT, \
|
||||||
|
.ble_ll_adv_dup_list_count = CONFIG_BT_LE_LL_DUP_SCAN_LIST_COUNT, \
|
||||||
|
.ble_ll_tx_pwr_dbm = BLE_LL_TX_PWR_DBM_N, \
|
||||||
|
.rtc_freq = RTC_FREQ_N, \
|
||||||
|
.ble_ll_sca = CONFIG_BT_LE_LL_SCA, \
|
||||||
|
.ble_ll_scan_phy_number = BLE_LL_SCAN_PHY_NUMBER_N, \
|
||||||
|
.ble_ll_conn_def_auth_pyld_tmo = BLE_LL_CONN_DEF_AUTH_PYLD_TMO_N, \
|
||||||
|
.ble_ll_jitter_usecs = BLE_LL_JITTER_USECS_N, \
|
||||||
|
.ble_ll_sched_max_adv_pdu_usecs = BLE_LL_SCHED_MAX_ADV_PDU_USECS_N, \
|
||||||
|
.ble_ll_sched_direct_adv_max_usecs = BLE_LL_SCHED_DIRECT_ADV_MAX_USECS_N, \
|
||||||
|
.ble_ll_sched_adv_max_usecs = BLE_LL_SCHED_ADV_MAX_USECS_N, \
|
||||||
|
.ble_scan_rsp_data_max_len = BLE_SCAN_RSP_DATA_MAX_LEN_N, \
|
||||||
|
.ble_ll_cfg_num_hci_cmd_pkts = BLE_LL_CFG_NUM_HCI_CMD_PKTS_N, \
|
||||||
|
.ble_ll_ctrl_proc_timeout_ms = BLE_LL_CTRL_PROC_TIMEOUT_MS_N, \
|
||||||
|
.nimble_max_connections = DEFAULT_BT_LE_MAX_CONNECTIONS, \
|
||||||
|
.ble_whitelist_size = DEFAULT_BT_NIMBLE_WHITELIST_SIZE, \
|
||||||
|
.ble_acl_buf_size = DEFAULT_BT_LE_ACL_BUF_SIZE, \
|
||||||
|
.ble_acl_buf_count = DEFAULT_BT_LE_ACL_BUF_COUNT, \
|
||||||
|
.ble_hci_evt_buf_size = DEFAULT_BT_LE_HCI_EVT_BUF_SIZE, \
|
||||||
|
.ble_multi_adv_instances = DEFAULT_BT_LE_MAX_EXT_ADV_INSTANCES, \
|
||||||
|
.ble_ext_adv_max_size = DEFAULT_BT_LE_EXT_ADV_MAX_SIZE, \
|
||||||
|
.controller_task_stack_size = NIMBLE_LL_STACK_SIZE, \
|
||||||
|
.controller_task_prio = ESP_TASK_BT_CONTROLLER_PRIO, \
|
||||||
|
.controller_run_cpu = 0, \
|
||||||
|
.enable_qa_test = RUN_QA_TEST, \
|
||||||
|
.enable_bqb_test = RUN_BQB_TEST, \
|
||||||
|
.enable_uart_hci = HCI_UART_EN, \
|
||||||
|
.ble_hci_uart_port = DEFAULT_BT_LE_HCI_UART_PORT, \
|
||||||
|
.ble_hci_uart_baud = DEFAULT_BT_LE_HCI_UART_BAUD, \
|
||||||
|
.ble_hci_uart_data_bits = DEFAULT_BT_LE_HCI_UART_DATA_BITS, \
|
||||||
|
.ble_hci_uart_stop_bits = DEFAULT_BT_LE_HCI_UART_STOP_BITS, \
|
||||||
|
.ble_hci_uart_flow_ctrl = DEFAULT_BT_LE_HCI_UART_FLOW_CTRL, \
|
||||||
|
.ble_hci_uart_uart_parity = DEFAULT_BT_LE_HCI_UART_PARITY, \
|
||||||
|
.enable_tx_cca = MYNEWT_VAL(BLE_TX_CCA_ENABLED), \
|
||||||
|
.cca_rssi_thresh = 256 - MYNEWT_VAL(BLE_CCA_RSSI_THRESH), \
|
||||||
|
.sleep_en = NIMBLE_SLEEP_ENABLE, \
|
||||||
|
.coex_phy_coded_tx_rx_time_limit = DEFAULT_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EFF, \
|
||||||
|
.dis_scan_backoff = NIMBLE_DISABLE_SCAN_BACKOFF, \
|
||||||
|
.esp_scan_filter_en = 0, \
|
||||||
|
.config_magic = CONFIG_MAGIC, \
|
||||||
|
};
|
||||||
|
|
||||||
|
esp_err_t esp_bt_controller_init(struct esp_bt_controller_config_t *cfg);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Get BT controller is initialised/de-initialised/enabled/disabled
|
||||||
|
* @return status value
|
||||||
|
*/
|
||||||
|
esp_bt_controller_status_t esp_bt_controller_get_status(void);
|
||||||
|
esp_power_level_t esp_ble_tx_power_get(esp_ble_power_type_t power_type);
|
||||||
|
esp_err_t esp_bt_controller_deinit(void);
|
||||||
|
esp_err_t esp_bt_controller_enable(esp_bt_mode_t mode);
|
||||||
|
esp_err_t esp_bt_controller_disable(void);
|
||||||
|
|
||||||
|
typedef struct esp_vhci_host_callback {
|
||||||
|
void (*notify_host_send_available)(void); /*!< callback used to notify that the host can send packet to controller */
|
||||||
|
int (*notify_host_recv)(uint8_t *data, uint16_t len); /*!< callback used to notify that the controller has a packet to send to the host*/
|
||||||
|
} esp_vhci_host_callback_t;
|
||||||
|
|
||||||
|
/** @brief esp_vhci_host_check_send_available
|
||||||
|
* used for check actively if the host can send packet to controller or not.
|
||||||
|
* @return true for ready to send, false means cannot send packet
|
||||||
|
*/
|
||||||
|
bool esp_vhci_host_check_send_available(void);
|
||||||
|
|
||||||
|
/** @brief esp_vhci_host_send_packet
|
||||||
|
* host send packet to controller
|
||||||
|
*
|
||||||
|
* Should not call this function from within a critical section
|
||||||
|
* or when the scheduler is suspended.
|
||||||
|
*
|
||||||
|
* @param data the packet point
|
||||||
|
* @param len the packet length
|
||||||
|
*/
|
||||||
|
void esp_vhci_host_send_packet(uint8_t *data, uint16_t len);
|
||||||
|
|
||||||
|
/** @brief esp_vhci_host_register_callback
|
||||||
|
* register the vhci reference callback
|
||||||
|
* struct defined by vhci_host_callback structure.
|
||||||
|
* @param callback esp_vhci_host_callback type variable
|
||||||
|
* @return ESP_OK - success, ESP_FAIL - failed
|
||||||
|
*/
|
||||||
|
esp_err_t esp_vhci_host_register_callback(const esp_vhci_host_callback_t *callback);
|
||||||
|
|
||||||
|
/** @brief esp_bt_controller_mem_release
|
||||||
|
* release the controller memory as per the mode
|
||||||
|
*
|
||||||
|
* This function releases the BSS, data and other sections of the controller to heap. The total size is about 70k bytes.
|
||||||
|
*
|
||||||
|
* esp_bt_controller_mem_release(mode) should be called only before esp_bt_controller_init()
|
||||||
|
* or after esp_bt_controller_deinit().
|
||||||
|
*
|
||||||
|
* Note that once BT controller memory is released, the process cannot be reversed. It means you cannot use the bluetooth
|
||||||
|
* mode which you have released by this function.
|
||||||
|
*
|
||||||
|
* If your firmware will later upgrade the Bluetooth controller mode (BLE -> BT Classic or disabled -> enabled)
|
||||||
|
* then do not call this function.
|
||||||
|
*
|
||||||
|
* If the app calls esp_bt_controller_enable(ESP_BT_MODE_BLE) to use BLE only then it is safe to call
|
||||||
|
* esp_bt_controller_mem_release(ESP_BT_MODE_CLASSIC_BT) at initialization time to free unused BT Classic memory.
|
||||||
|
*
|
||||||
|
* If the mode is ESP_BT_MODE_BTDM, then it may be useful to call API esp_bt_mem_release(ESP_BT_MODE_BTDM) instead,
|
||||||
|
* which internally calls esp_bt_controller_mem_release(ESP_BT_MODE_BTDM) and additionally releases the BSS and data
|
||||||
|
* consumed by the BT/BLE host stack to heap. For more details about usage please refer to the documentation of
|
||||||
|
* esp_bt_mem_release() function
|
||||||
|
*
|
||||||
|
* @param mode : the mode want to release memory
|
||||||
|
* @return ESP_OK - success, other - failed
|
||||||
|
*/
|
||||||
|
esp_err_t esp_bt_controller_mem_release(esp_bt_mode_t mode);
|
||||||
|
|
||||||
|
/** @brief esp_bt_mem_release
|
||||||
|
* release controller memory and BSS and data section of the BT/BLE host stack as per the mode
|
||||||
|
*
|
||||||
|
* This function first releases controller memory by internally calling esp_bt_controller_mem_release().
|
||||||
|
* Additionally, if the mode is set to ESP_BT_MODE_BTDM, it also releases the BSS and data consumed by the BT/BLE host stack to heap
|
||||||
|
*
|
||||||
|
* Note that once BT memory is released, the process cannot be reversed. It means you cannot use the bluetooth
|
||||||
|
* mode which you have released by this function.
|
||||||
|
*
|
||||||
|
* If your firmware will later upgrade the Bluetooth controller mode (BLE -> BT Classic or disabled -> enabled)
|
||||||
|
* then do not call this function.
|
||||||
|
*
|
||||||
|
* If you never intend to use bluetooth in a current boot-up cycle, you can call esp_bt_mem_release(ESP_BT_MODE_BTDM)
|
||||||
|
* before esp_bt_controller_init or after esp_bt_controller_deinit.
|
||||||
|
*
|
||||||
|
* For example, if a user only uses bluetooth for setting the WiFi configuration, and does not use bluetooth in the rest of the product operation".
|
||||||
|
* In such cases, after receiving the WiFi configuration, you can disable/deinit bluetooth and release its memory.
|
||||||
|
* Below is the sequence of APIs to be called for such scenarios:
|
||||||
|
*
|
||||||
|
* esp_bluedroid_disable();
|
||||||
|
* esp_bluedroid_deinit();
|
||||||
|
* esp_bt_controller_disable();
|
||||||
|
* esp_bt_controller_deinit();
|
||||||
|
* esp_bt_mem_release(ESP_BT_MODE_BTDM);
|
||||||
|
*
|
||||||
|
* @param mode : the mode whose memory is to be released
|
||||||
|
* @return ESP_OK - success, other - failed
|
||||||
|
*/
|
||||||
|
esp_err_t esp_bt_mem_release(esp_bt_mode_t mode);
|
||||||
|
|
||||||
|
/* Returns random static address or -1 if not present */
|
||||||
|
extern int esp_ble_hw_get_static_addr(esp_ble_addr_t *addr);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* __ESP_BT_H__ */
|
@@ -15,7 +15,9 @@
|
|||||||
|
|
||||||
#include "nimble/nimble_npl.h"
|
#include "nimble/nimble_npl.h"
|
||||||
#include "syscfg/syscfg.h"
|
#include "syscfg/syscfg.h"
|
||||||
|
#if CONFIG_BT_NIMBLE_ENABLED
|
||||||
#include "esp_nimble_cfg.h"
|
#include "esp_nimble_cfg.h"
|
||||||
|
#endif
|
||||||
#include "nimble/ble.h"
|
#include "nimble/ble.h"
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
@@ -23,7 +25,7 @@ extern "C" {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if (SOC_ESP_NIMBLE_CONTROLLER)
|
#if (SOC_ESP_NIMBLE_CONTROLLER)
|
||||||
#define NIMBLE_LL_STACK_SIZE CONFIG_BT_NIMBLE_CONTROLLER_TASK_STACK_SIZE
|
#define NIMBLE_LL_STACK_SIZE CONFIG_BT_LE_CONTROLLER_TASK_STACK_SIZE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -97,6 +99,11 @@ typedef enum {
|
|||||||
ESP_PWR_LVL_INVALID = 0xFF, /*!< Indicates an invalid value */
|
ESP_PWR_LVL_INVALID = 0xFF, /*!< Indicates an invalid value */
|
||||||
} esp_power_level_t;
|
} esp_power_level_t;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
uint8_t type;
|
||||||
|
uint8_t val[6];
|
||||||
|
} esp_ble_addr_t;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Set BLE TX power
|
* @brief Set BLE TX power
|
||||||
* Connection Tx power should only be set after connection created.
|
* Connection Tx power should only be set after connection created.
|
||||||
@@ -173,42 +180,149 @@ struct esp_bt_controller_config_t{
|
|||||||
|
|
||||||
typedef struct esp_bt_controller_config_t esp_bt_controller_config_t;
|
typedef struct esp_bt_controller_config_t esp_bt_controller_config_t;
|
||||||
|
|
||||||
#ifdef CONFIG_BT_NIMBLE_RUN_BQB_TEST
|
|
||||||
#define RUN_BQB_TEST CONFIG_BT_NIMBLE_RUN_BQB_TEST
|
|
||||||
#else
|
|
||||||
#define RUN_BQB_TEST 0
|
#define RUN_BQB_TEST 0
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_BT_NIMBLE_RUN_QA_TEST
|
|
||||||
#define RUN_QA_TEST CONFIG_BT_NIMBLE_RUN_QA_TEST
|
|
||||||
#else
|
|
||||||
#define RUN_QA_TEST 0
|
#define RUN_QA_TEST 0
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_BT_NIMBLE_CONTROL_USE_UART_HCI
|
#ifdef CONFIG_BT_NIMBLE_HCI_INTERFACE_USE_UART
|
||||||
#define HCI_UART_EN CONFIG_BT_NIMBLE_CONTROL_USE_UART_HCI
|
#define HCI_UART_EN CONFIG_BT_NIMBLE_HCI_INTERFACE_USE_UART
|
||||||
#else
|
#else
|
||||||
#define HCI_UART_EN 0 // hci ram mode
|
#define HCI_UART_EN 0 // hci ram mode
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if CONFIG_BT_LE_LL_CFG_FEAT_LE_CODED_PHY
|
||||||
|
#define BLE_LL_SCAN_PHY_NUMBER_N (2)
|
||||||
|
#else
|
||||||
|
#define BLE_LL_SCAN_PHY_NUMBER_N (1)
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_BT_NIMBLE_SLEEP_ENABLE
|
#ifdef CONFIG_BT_NIMBLE_SLEEP_ENABLE
|
||||||
#define NIMBLE_SLEEP_ENABLE CONFIG_BT_NIMBLE_SLEEP_ENABLE
|
#define NIMBLE_SLEEP_ENABLE CONFIG_BT_NIMBLE_SLEEP_ENABLE
|
||||||
#else
|
#else
|
||||||
#define NIMBLE_SLEEP_ENABLE 0
|
#define NIMBLE_SLEEP_ENABLE 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if CONFIG_BT_NIMBLE_ENABLED
|
||||||
|
|
||||||
|
#define DEFAULT_BT_LE_MAX_PERIODIC_ADVERTISER_LIST MYNEWT_VAL(BLE_MAX_PERIODIC_ADVERTISER_LIST)
|
||||||
|
#define DEFAULT_BT_LE_MAX_PERIODIC_SYNCS MYNEWT_VAL(BLE_MAX_PERIODIC_SYNCS)
|
||||||
|
#define DEFAULT_BT_LE_MAX_CONNECTIONS MYNEWT_VAL(BLE_MAX_CONNECTIONS)
|
||||||
|
#define DEFAULT_BT_LE_ACL_BUF_SIZE MYNEWT_VAL(BLE_ACL_BUF_SIZE)
|
||||||
|
#define DEFAULT_BT_LE_ACL_BUF_COUNT MYNEWT_VAL(BLE_ACL_BUF_COUNT)
|
||||||
|
#define DEFAULT_BT_LE_HCI_EVT_BUF_SIZE MYNEWT_VAL(BLE_HCI_EVT_BUF_SIZE)
|
||||||
|
#define DEFAULT_BT_LE_EXT_ADV_MAX_SIZE MYNEWT_VAL(BLE_EXT_ADV_MAX_SIZE)
|
||||||
|
#define DEFAULT_BT_LE_MAX_EXT_ADV_INSTANCES MYNEWT_VAL(BLE_MULTI_ADV_INSTANCES)
|
||||||
|
#define DEFAULT_BT_NIMBLE_WHITELIST_SIZE MYNEWT_VAL(BLE_LL_WHITELIST_SIZE)
|
||||||
|
#define DEFAULT_BT_LE_HCI_EVT_HI_BUF_COUNT MYNEWT_VAL(BLE_HCI_EVT_HI_BUF_COUNT)
|
||||||
|
#define DEFAULT_BT_LE_HCI_EVT_LO_BUF_COUNT MYNEWT_VAL(BLE_HCI_EVT_LO_BUF_COUNT)
|
||||||
|
#define DEFAULT_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EFF CONFIG_BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM_EFF
|
||||||
|
|
||||||
|
#else
|
||||||
|
# if defined(CONFIG_BT_LE_MAX_PERIODIC_ADVERTISER_LIST)
|
||||||
|
#define DEFAULT_BT_LE_MAX_PERIODIC_ADVERTISER_LIST (CONFIG_BT_LE_MAX_PERIODIC_ADVERTISER_LIST)
|
||||||
|
#else
|
||||||
|
#define DEFAULT_BT_LE_MAX_PERIODIC_ADVERTISER_LIST (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(CONFIG_BT_LE_MAX_PERIODIC_SYNCS)
|
||||||
|
#define DEFAULT_BT_LE_MAX_PERIODIC_SYNCS (CONFIG_BT_LE_MAX_PERIODIC_SYNCS)
|
||||||
|
#else
|
||||||
|
#define DEFAULT_BT_LE_MAX_PERIODIC_SYNCS (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(CONFIG_BT_LE_MAX_CONNECTIONS)
|
||||||
|
#define DEFAULT_BT_LE_MAX_CONNECTIONS (CONFIG_BT_LE_MAX_CONNECTIONS)
|
||||||
|
#else
|
||||||
|
#define DEFAULT_BT_LE_MAX_CONNECTIONS (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(CONFIG_BT_LE_ACL_BUF_SIZE)
|
||||||
|
#define DEFAULT_BT_LE_ACL_BUF_SIZE (CONFIG_BT_LE_ACL_BUF_SIZE)
|
||||||
|
#else
|
||||||
|
#define DEFAULT_BT_LE_ACL_BUF_SIZE (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(CONFIG_BT_LE_ACL_BUF_COUNT)
|
||||||
|
#define DEFAULT_BT_LE_ACL_BUF_COUNT (CONFIG_BT_LE_ACL_BUF_COUNT)
|
||||||
|
#else
|
||||||
|
#define DEFAULT_BT_LE_ACL_BUF_COUNT (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(CONFIG_BT_LE_HCI_EVT_BUF_SIZE)
|
||||||
|
#define DEFAULT_BT_LE_HCI_EVT_BUF_SIZE (CONFIG_BT_LE_HCI_EVT_BUF_SIZE)
|
||||||
|
#else
|
||||||
|
#define DEFAULT_BT_LE_HCI_EVT_BUF_SIZE (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(CONFIG_BT_LE_EXT_ADV_MAX_SIZE)
|
||||||
|
#define DEFAULT_BT_LE_EXT_ADV_MAX_SIZE (CONFIG_BT_LE_EXT_ADV_MAX_SIZE)
|
||||||
|
#else
|
||||||
|
#define DEFAULT_BT_LE_EXT_ADV_MAX_SIZE (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(CONFIG_BT_LE_MAX_EXT_ADV_INSTANCES)
|
||||||
|
#define DEFAULT_BT_LE_MAX_EXT_ADV_INSTANCES (CONFIG_BT_LE_MAX_EXT_ADV_INSTANCES)
|
||||||
|
#else
|
||||||
|
#define DEFAULT_BT_LE_MAX_EXT_ADV_INSTANCES (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(CONFIG_BT_LE_WHITELIST_SIZE)
|
||||||
|
#define DEFAULT_BT_NIMBLE_WHITELIST_SIZE (CONFIG_BT_LE_WHITELIST_SIZE)
|
||||||
|
#else
|
||||||
|
#define DEFAULT_BT_NIMBLE_WHITELIST_SIZE (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(CONFIG_BT_LE_HCI_EVT_HI_BUF_COUNT)
|
||||||
|
#define DEFAULT_BT_LE_HCI_EVT_HI_BUF_COUNT (CONFIG_BT_LE_HCI_EVT_HI_BUF_COUNT)
|
||||||
|
#else
|
||||||
|
#define DEFAULT_BT_LE_HCI_EVT_HI_BUF_COUNT (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(CONFIG_BT_LE_HCI_EVT_LO_BUF_COUNT)
|
||||||
|
#define DEFAULT_BT_LE_HCI_EVT_LO_BUF_COUNT (CONFIG_BT_LE_HCI_EVT_LO_BUF_COUNT)
|
||||||
|
#else
|
||||||
|
#define DEFAULT_BT_LE_HCI_EVT_LO_BUF_COUNT (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define DEFAULT_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EFF CONFIG_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EFF
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef BT_LE_HCI_INTERFACE_USE_UART
|
||||||
|
#define DEFAULT_BT_LE_HCI_UART_TX_PIN (CONFIG_BT_LE_HCI_UART_TX_PIN)
|
||||||
|
#define DEFAULT_BT_LE_HCI_UART_RX_PIN (CONFIG_BT_LE_HCI_UART_RX_PIN)
|
||||||
|
#define DEFAULT_BT_LE_HCI_UART_PORT (CONFIG_BT_LE_HCI_UART_PORT)
|
||||||
|
#define DEFAULT_BT_LE_HCI_UART_BAUD (CONFIG_BT_LE_HCI_UART_BAUD)
|
||||||
|
#define DEFAULT_BT_LE_HCI_UART_DATA_BITS (CONFIG_BT_LE_HCI_UART_DATA_BITS)
|
||||||
|
#define DEFAULT_BT_LE_HCI_UART_STOP_BITS (CONFIG_BT_LE_HCI_UART_STOP_BITS)
|
||||||
|
#define DEFAULT_BT_LE_HCI_UART_PARITY (CONFIG_BT_LE_HCI_UART_BAUD)
|
||||||
|
#define DEFAULT_BT_LE_HCI_UART_TASK_STACK_SIZE (CONFIG_BT_LE_HCI_UART_TASK_STACK_SIZE)
|
||||||
|
#define DEFAULT_BT_LE_HCI_UART_FLOW_CTRL (CONFIG_BT_LE_HCI_UART_FLOW_CTRL)
|
||||||
|
#else
|
||||||
|
#warning "DEFAULT_BT_LE_HCI_UART is not set"
|
||||||
|
#define DEFAULT_BT_LE_HCI_UART_TX_PIN (0)
|
||||||
|
#define DEFAULT_BT_LE_HCI_UART_RX_PIN (0)
|
||||||
|
#define DEFAULT_BT_LE_HCI_UART_PORT (0)
|
||||||
|
#define DEFAULT_BT_LE_HCI_UART_BAUD (0)
|
||||||
|
#define DEFAULT_BT_LE_HCI_UART_DATA_BITS (8)
|
||||||
|
#define DEFAULT_BT_LE_HCI_UART_STOP_BITS (1)
|
||||||
|
#define DEFAULT_BT_LE_HCI_UART_PARITY (0)
|
||||||
|
#define DEFAULT_BT_LE_HCI_UART_TASK_STACK_SIZE (0)
|
||||||
|
#define DEFAULT_BT_LE_HCI_UART_FLOW_CTRL (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
#define BT_CONTROLLER_INIT_CONFIG_DEFAULT() { \
|
#define BT_CONTROLLER_INIT_CONFIG_DEFAULT() { \
|
||||||
.config_version = CONFIG_VERSION, \
|
.config_version = CONFIG_VERSION, \
|
||||||
.ble_ll_resolv_list_size = MYNEWT_VAL(BLE_LL_RESOLV_LIST_SIZE), \
|
.ble_ll_resolv_list_size = CONFIG_BT_LE_LL_RESOLV_LIST_SIZE, \
|
||||||
.ble_hci_evt_hi_buf_count = MYNEWT_VAL(BLE_HCI_EVT_HI_BUF_COUNT), \
|
.ble_hci_evt_hi_buf_count = DEFAULT_BT_LE_HCI_EVT_HI_BUF_COUNT, \
|
||||||
.ble_hci_evt_lo_buf_count = MYNEWT_VAL(BLE_HCI_EVT_LO_BUF_COUNT), \
|
.ble_hci_evt_lo_buf_count = DEFAULT_BT_LE_HCI_EVT_LO_BUF_COUNT, \
|
||||||
.ble_ll_sync_list_cnt = BLE_LL_SYNC_LIST_CNT_N, \
|
.ble_ll_sync_list_cnt = DEFAULT_BT_LE_MAX_PERIODIC_ADVERTISER_LIST, \
|
||||||
.ble_ll_sync_cnt = BLE_LL_SYNC_CNT_N, \
|
.ble_ll_sync_cnt = DEFAULT_BT_LE_MAX_PERIODIC_SYNCS, \
|
||||||
.ble_ll_rsp_dup_list_count = CONFIG_BT_NIMBLE_LL_DUP_SCAN_LIST_COUNT, \
|
.ble_ll_rsp_dup_list_count = CONFIG_BT_LE_LL_DUP_SCAN_LIST_COUNT, \
|
||||||
.ble_ll_adv_dup_list_count = CONFIG_BT_NIMBLE_LL_DUP_SCAN_LIST_COUNT, \
|
.ble_ll_adv_dup_list_count = CONFIG_BT_LE_LL_DUP_SCAN_LIST_COUNT, \
|
||||||
.ble_ll_tx_pwr_dbm = BLE_LL_TX_PWR_DBM_N, \
|
.ble_ll_tx_pwr_dbm = BLE_LL_TX_PWR_DBM_N, \
|
||||||
.rtc_freq = RTC_FREQ_N, \
|
.rtc_freq = RTC_FREQ_N, \
|
||||||
.ble_ll_sca = MYNEWT_VAL(BLE_LL_SCA), \
|
.ble_ll_sca = CONFIG_BT_LE_LL_SCA, \
|
||||||
.ble_ll_scan_phy_number = BLE_LL_SCAN_PHY_NUMBER_N, \
|
.ble_ll_scan_phy_number = BLE_LL_SCAN_PHY_NUMBER_N, \
|
||||||
.ble_ll_conn_def_auth_pyld_tmo = BLE_LL_CONN_DEF_AUTH_PYLD_TMO_N, \
|
.ble_ll_conn_def_auth_pyld_tmo = BLE_LL_CONN_DEF_AUTH_PYLD_TMO_N, \
|
||||||
.ble_ll_jitter_usecs = BLE_LL_JITTER_USECS_N, \
|
.ble_ll_jitter_usecs = BLE_LL_JITTER_USECS_N, \
|
||||||
@@ -218,33 +332,32 @@ typedef struct esp_bt_controller_config_t esp_bt_controller_config_t;
|
|||||||
.ble_scan_rsp_data_max_len = BLE_SCAN_RSP_DATA_MAX_LEN_N, \
|
.ble_scan_rsp_data_max_len = BLE_SCAN_RSP_DATA_MAX_LEN_N, \
|
||||||
.ble_ll_cfg_num_hci_cmd_pkts = BLE_LL_CFG_NUM_HCI_CMD_PKTS_N, \
|
.ble_ll_cfg_num_hci_cmd_pkts = BLE_LL_CFG_NUM_HCI_CMD_PKTS_N, \
|
||||||
.ble_ll_ctrl_proc_timeout_ms = BLE_LL_CTRL_PROC_TIMEOUT_MS_N, \
|
.ble_ll_ctrl_proc_timeout_ms = BLE_LL_CTRL_PROC_TIMEOUT_MS_N, \
|
||||||
.nimble_max_connections = MYNEWT_VAL(BLE_MAX_CONNECTIONS), \
|
.nimble_max_connections = DEFAULT_BT_LE_MAX_CONNECTIONS, \
|
||||||
.ble_whitelist_size = MYNEWT_VAL(BLE_LL_WHITELIST_SIZE), \
|
.ble_whitelist_size = DEFAULT_BT_NIMBLE_WHITELIST_SIZE, \
|
||||||
.ble_acl_buf_size = MYNEWT_VAL(BLE_ACL_BUF_SIZE), \
|
.ble_acl_buf_size = DEFAULT_BT_LE_ACL_BUF_SIZE, \
|
||||||
.ble_acl_buf_count = MYNEWT_VAL(BLE_ACL_BUF_COUNT), \
|
.ble_acl_buf_count = DEFAULT_BT_LE_ACL_BUF_COUNT, \
|
||||||
.ble_hci_evt_buf_size = MYNEWT_VAL(BLE_HCI_EVT_BUF_SIZE), \
|
.ble_hci_evt_buf_size = DEFAULT_BT_LE_HCI_EVT_BUF_SIZE, \
|
||||||
.ble_multi_adv_instances = MYNEWT_VAL(BLE_MULTI_ADV_INSTANCES), \
|
.ble_multi_adv_instances = DEFAULT_BT_LE_MAX_EXT_ADV_INSTANCES, \
|
||||||
.ble_ext_adv_max_size = MYNEWT_VAL(BLE_EXT_ADV_MAX_SIZE), \
|
.ble_ext_adv_max_size = DEFAULT_BT_LE_EXT_ADV_MAX_SIZE, \
|
||||||
.controller_task_stack_size = NIMBLE_LL_STACK_SIZE, \
|
.controller_task_stack_size = NIMBLE_LL_STACK_SIZE, \
|
||||||
.controller_task_prio = ESP_TASK_BT_CONTROLLER_PRIO, \
|
.controller_task_prio = ESP_TASK_BT_CONTROLLER_PRIO, \
|
||||||
.controller_run_cpu = 0, \
|
.controller_run_cpu = 0, \
|
||||||
.enable_qa_test = RUN_QA_TEST, \
|
.enable_qa_test = RUN_QA_TEST, \
|
||||||
.enable_bqb_test = RUN_BQB_TEST, \
|
.enable_bqb_test = RUN_BQB_TEST, \
|
||||||
.enable_uart_hci = HCI_UART_EN, \
|
.enable_uart_hci = HCI_UART_EN, \
|
||||||
.ble_hci_uart_port = MYNEWT_VAL(BLE_HCI_UART_PORT), \
|
.ble_hci_uart_port = DEFAULT_BT_LE_HCI_UART_PORT, \
|
||||||
.ble_hci_uart_baud = MYNEWT_VAL(BLE_HCI_UART_BAUD), \
|
.ble_hci_uart_baud = DEFAULT_BT_LE_HCI_UART_BAUD, \
|
||||||
.ble_hci_uart_data_bits = MYNEWT_VAL(BLE_HCI_UART_DATA_BITS), \
|
.ble_hci_uart_data_bits = DEFAULT_BT_LE_HCI_UART_DATA_BITS, \
|
||||||
.ble_hci_uart_stop_bits = MYNEWT_VAL(BLE_HCI_UART_STOP_BITS), \
|
.ble_hci_uart_stop_bits = DEFAULT_BT_LE_HCI_UART_STOP_BITS, \
|
||||||
.ble_hci_uart_flow_ctrl = MYNEWT_VAL(BLE_HCI_UART_FLOW_CTRL), \
|
.ble_hci_uart_flow_ctrl = DEFAULT_BT_LE_HCI_UART_FLOW_CTRL, \
|
||||||
.ble_hci_uart_uart_parity = MYNEWT_VAL(BLE_HCI_UART_PARITY), \
|
.ble_hci_uart_uart_parity = DEFAULT_BT_LE_HCI_UART_PARITY, \
|
||||||
.enable_tx_cca = MYNEWT_VAL(BLE_TX_CCA_ENABLED), \
|
.enable_tx_cca = MYNEWT_VAL(BLE_TX_CCA_ENABLED), \
|
||||||
.cca_rssi_thresh = 256 - MYNEWT_VAL(BLE_CCA_RSSI_THRESH), \
|
.cca_rssi_thresh = 256 - MYNEWT_VAL(BLE_CCA_RSSI_THRESH), \
|
||||||
.sleep_en = NIMBLE_SLEEP_ENABLE, \
|
.sleep_en = NIMBLE_SLEEP_ENABLE, \
|
||||||
.coex_phy_coded_tx_rx_time_limit = CONFIG_BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM_EFF, \
|
.coex_phy_coded_tx_rx_time_limit = DEFAULT_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EFF, \
|
||||||
.config_magic = CONFIG_MAGIC, \
|
.config_magic = CONFIG_MAGIC, \
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
esp_err_t esp_bt_controller_init(struct esp_bt_controller_config_t *cfg);
|
esp_err_t esp_bt_controller_init(struct esp_bt_controller_config_t *cfg);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -345,7 +458,7 @@ esp_err_t esp_bt_controller_mem_release(esp_bt_mode_t mode);
|
|||||||
esp_err_t esp_bt_mem_release(esp_bt_mode_t mode);
|
esp_err_t esp_bt_mem_release(esp_bt_mode_t mode);
|
||||||
|
|
||||||
/* Returns random static address or -1 if not present */
|
/* Returns random static address or -1 if not present */
|
||||||
extern int esp_ble_hw_get_static_addr(ble_addr_t *addr);
|
extern int esp_ble_hw_get_static_addr(esp_ble_addr_t *addr);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
0
components/bt/sdkconfig.rename.esp32c2
Normal file
0
components/bt/sdkconfig.rename.esp32c2
Normal file
@@ -1,34 +0,0 @@
|
|||||||
# sdkconfig replacement configurations for deprecated options formatted as
|
|
||||||
# CONFIG_DEPRECATED_OPTION CONFIG_NEW_OPTION
|
|
||||||
|
|
||||||
CONFIG_BT_NIMBLE_CONTROLLER_ENABLED CONFIG_BT_BLE_CONTROLLER_ENABLED
|
|
||||||
CONFIG_BT_NIMBLE_CONTROL_USE_RAM_HCI CONFIG_BT_BLE_CONTROL_USE_RAM_HCI
|
|
||||||
CONFIG_BT_NIMBLE_CONTROL_USE_UART_HCI CONFIG_BT_BLE_CONTROL_USE_UART_HCI
|
|
||||||
CONFIG_BT_NIMBLE_HCI_EVT_BUF_SIZE CONFIG_BT_BLE_HCI_EVT_BUF_SIZE
|
|
||||||
CONFIG_BT_NIMBLE_MEMORY_SETTINGS CONFIG_BT_BLE_MEMORY_SETTINGS
|
|
||||||
CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT CONFIG_BT_BLE_MSYS_1_BLOCK_COUNT
|
|
||||||
CONFIG_BT_NIMBLE_MSYS_1_BLOCK_SIZE CONFIG_BT_BLE_MSYS_1_BLOCK_SIZE
|
|
||||||
CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT CONFIG_BT_BLE_MSYS_2_BLOCK_COUNT
|
|
||||||
CONFIG_BT_NIMBLE_MSYS_2_BLOCK_SIZE CONFIG_BT_BLE_MSYS_2_BLOCK_SIZE
|
|
||||||
CONFIG_BT_NIMBLE_LL_RESOLV_LIST_SIZE CONFIG_BT_BLE_LL_RESOLV_LIST_SIZE
|
|
||||||
CONFIG_BT_NIMBLE_HCI_EVT_HI_BUF_COUNT CONFIG_BT_BLE_HCI_EVT_HI_BUF_COUNT
|
|
||||||
CONFIG_BT_NIMBLE_HCI_EVT_LO_BUF_COUNT CONFIG_BT_BLE_HCI_EVT_LO_BUF_COUNT
|
|
||||||
CONFIG_BT_NIMBLE_LL_DUP_SCAN_LIST_COUNT CONFIG_BT_BLE_LL_DUP_SCAN_LIST_COUNT
|
|
||||||
CONFIG_BT_NIMBLE_MAX_CONNECTIONS CONFIG_BT_BLE_MAX_CONNECTIONS
|
|
||||||
CONFIG_BT_NIMBLE_ACL_BUF_COUNT CONFIG_BT_BLE_ACL_BUF_COUNT
|
|
||||||
CONFIG_BT_NIMBLE_ACL_BUF_SIZE CONFIG_BT_BLE_ACL_BUF_SIZE
|
|
||||||
CONFIG_BT_NIMBLE_HCI_UART_PORT CONFIG_BT_BLE_HCI_UART_PORT
|
|
||||||
CONFIG_BT_NIMBLE_HCI_UART_BAUD CONFIG_BT_BLE_HCI_UART_BAUD
|
|
||||||
CONFIG_BT_NIMBLE_SLEEP_ENABLE CONFIG_BT_BLE_SLEEP_ENABLE
|
|
||||||
CONFIG_BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM CONFIG_BT_BLE_COEX_PHY_CODED_TX_RX_TLIM
|
|
||||||
CONFIG_BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM_EFF CONFIG_BT_BLE_COEX_PHY_CODED_TX_RX_TLIM_EFF
|
|
||||||
CONFIG_BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM_EN CONFIG_BT_BLE_COEX_PHY_CODED_TX_RX_TLIM_EN
|
|
||||||
CONFIG_BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM_DIS CONFIG_BT_BLE_COEX_PHY_CODED_TX_RX_TLIM_DIS
|
|
||||||
CONFIG_BT_NIMBLE_MAX_BONDS CONFIG_BT_BLE_MAX_BONDS
|
|
||||||
CONFIG_BT_NIMBLE_WHITELIST_SIZE CONFIG_BT_BLE_WHITELIST_SIZE
|
|
||||||
CONFIG_BT_NIMBLE_CONTROLLER_TASK_STACK_SIZE CONFIG_BT_BLE_CONTROLLER_TASK_STACK_SIZE
|
|
||||||
CONFIG_BT_NIMBLE_MEM_ALLOC_MODE CONFIG_BT_BLE_MEM_ALLOC_MODE
|
|
||||||
CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_INTERNAL CONFIG_BT_BLE_MEM_ALLOC_MODE_INTERNAL
|
|
||||||
CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_EXTERNAL CONFIG_BT_BLE_MEM_ALLOC_MODE_EXTERNAL
|
|
||||||
CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_DEFAULT CONFIG_BT_BLE_MEM_ALLOC_MODE_DEFAULT
|
|
||||||
CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_IRAM_8BIT CONFIG_BT_BLE_MEM_ALLOC_MODE_IRAM_8BIT
|
|
||||||
|
@@ -42,7 +42,7 @@ void periph_module_reset(periph_module_t periph)
|
|||||||
portEXIT_CRITICAL_SAFE(&periph_spinlock);
|
portEXIT_CRITICAL_SAFE(&periph_spinlock);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if CONFIG_ESP32_WIFI_ENABLED
|
#if CONFIG_ESP32_WIFI_ENABLED || CONFIG_BT_ENABLED
|
||||||
IRAM_ATTR void wifi_bt_common_module_enable(void)
|
IRAM_ATTR void wifi_bt_common_module_enable(void)
|
||||||
{
|
{
|
||||||
portENTER_CRITICAL_SAFE(&periph_spinlock);
|
portENTER_CRITICAL_SAFE(&periph_spinlock);
|
||||||
|
@@ -98,6 +98,8 @@ static inline uint32_t periph_ll_get_rst_en_mask(periph_module_t periph, bool en
|
|||||||
// Don't assert reset on secure boot, otherwise AES is held in reset
|
// Don't assert reset on secure boot, otherwise AES is held in reset
|
||||||
return SYSTEM_CRYPTO_SHA_RST;
|
return SYSTEM_CRYPTO_SHA_RST;
|
||||||
}
|
}
|
||||||
|
case PERIPH_MODEM_RPA_MODULE:
|
||||||
|
return BLE_RPA_REST_BIT;
|
||||||
default:
|
default:
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -132,6 +134,7 @@ static uint32_t periph_ll_get_rst_en_reg(periph_module_t periph)
|
|||||||
case PERIPH_WIFI_BT_COMMON_MODULE:
|
case PERIPH_WIFI_BT_COMMON_MODULE:
|
||||||
case PERIPH_BT_BASEBAND_MODULE:
|
case PERIPH_BT_BASEBAND_MODULE:
|
||||||
case PERIPH_BT_LC_MODULE:
|
case PERIPH_BT_LC_MODULE:
|
||||||
|
case PERIPH_MODEM_RPA_MODULE:
|
||||||
return SYSTEM_WIFI_RST_EN_REG;
|
return SYSTEM_WIFI_RST_EN_REG;
|
||||||
|
|
||||||
case PERIPH_SHA_MODULE:
|
case PERIPH_SHA_MODULE:
|
||||||
|
@@ -39,10 +39,6 @@ config SOC_BT_SUPPORTED
|
|||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
|
|
||||||
config SOC_BLUEDROID_SUPPORTED
|
|
||||||
bool
|
|
||||||
default y
|
|
||||||
|
|
||||||
config SOC_CLASSIC_BT_SUPPORTED
|
config SOC_CLASSIC_BT_SUPPORTED
|
||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
|
@@ -69,7 +69,6 @@
|
|||||||
#define SOC_MCPWM_SUPPORTED 1
|
#define SOC_MCPWM_SUPPORTED 1
|
||||||
#define SOC_SDMMC_HOST_SUPPORTED 1
|
#define SOC_SDMMC_HOST_SUPPORTED 1
|
||||||
#define SOC_BT_SUPPORTED 1
|
#define SOC_BT_SUPPORTED 1
|
||||||
#define SOC_BLUEDROID_SUPPORTED 1
|
|
||||||
#define SOC_CLASSIC_BT_SUPPORTED 1
|
#define SOC_CLASSIC_BT_SUPPORTED 1
|
||||||
#define SOC_PCNT_SUPPORTED 1
|
#define SOC_PCNT_SUPPORTED 1
|
||||||
#define SOC_WIFI_SUPPORTED 1
|
#define SOC_WIFI_SUPPORTED 1
|
||||||
|
@@ -21,7 +21,11 @@ config SOC_GDMA_SUPPORTED
|
|||||||
|
|
||||||
config SOC_BT_SUPPORTED
|
config SOC_BT_SUPPORTED
|
||||||
bool
|
bool
|
||||||
default n
|
default y
|
||||||
|
|
||||||
|
config SOC_ESP_NIMBLE_CONTROLLER
|
||||||
|
bool
|
||||||
|
default y
|
||||||
|
|
||||||
config SOC_WIFI_SUPPORTED
|
config SOC_WIFI_SUPPORTED
|
||||||
bool
|
bool
|
||||||
|
126
components/soc/esp32c2/include/soc/modem_clkrst_reg.h
Normal file
126
components/soc/esp32c2/include/soc/modem_clkrst_reg.h
Normal file
@@ -0,0 +1,126 @@
|
|||||||
|
/*
|
||||||
|
* SPDX-FileCopyrightText: 2020-2022 Espressif Systems (Shanghai) CO LTD
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
#include "soc/soc.h"
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define MODEM_CLKRST_CLK_CONF_REG (DR_REG_MODEM_CLKRST_BASE + 0x0)
|
||||||
|
/* MODEM_CLKRST_CLK_EN : R/W ;bitpos:[0] ;default: 1'b0 ; */
|
||||||
|
/*description: .*/
|
||||||
|
#define MODEM_CLKRST_CLK_EN (BIT(0))
|
||||||
|
#define MODEM_CLKRST_CLK_EN_M (BIT(0))
|
||||||
|
#define MODEM_CLKRST_CLK_EN_V 0x1
|
||||||
|
#define MODEM_CLKRST_CLK_EN_S 0
|
||||||
|
|
||||||
|
#define MODEM_CLKRST_MODEM_LP_TIMER_CONF_REG (DR_REG_MODEM_CLKRST_BASE + 0x4)
|
||||||
|
/* MODEM_CLKRST_LP_TIMER_CLK_DIV_NUM : R/W ;bitpos:[11:4] ;default: 8'h0 ; */
|
||||||
|
/*description: .*/
|
||||||
|
#define MODEM_CLKRST_LP_TIMER_CLK_DIV_NUM 0x000000FF
|
||||||
|
#define MODEM_CLKRST_LP_TIMER_CLK_DIV_NUM_M ((MODEM_CLKRST_LP_TIMER_CLK_DIV_NUM_V)<<(MODEM_CLKRST_LP_TIMER_CLK_DIV_NUM_S))
|
||||||
|
#define MODEM_CLKRST_LP_TIMER_CLK_DIV_NUM_V 0xFF
|
||||||
|
#define MODEM_CLKRST_LP_TIMER_CLK_DIV_NUM_S 4
|
||||||
|
/* MODEM_CLKRST_LP_TIMER_SEL_XTAL32K : R/W ;bitpos:[3] ;default: 1'b0 ; */
|
||||||
|
/*description: .*/
|
||||||
|
#define MODEM_CLKRST_LP_TIMER_SEL_XTAL32K (BIT(3))
|
||||||
|
#define MODEM_CLKRST_LP_TIMER_SEL_XTAL32K_M (BIT(3))
|
||||||
|
#define MODEM_CLKRST_LP_TIMER_SEL_XTAL32K_V 0x1
|
||||||
|
#define MODEM_CLKRST_LP_TIMER_SEL_XTAL32K_S 3
|
||||||
|
/* MODEM_CLKRST_LP_TIMER_SEL_XTAL : R/W ;bitpos:[2] ;default: 1'b0 ; */
|
||||||
|
/*description: .*/
|
||||||
|
#define MODEM_CLKRST_LP_TIMER_SEL_XTAL (BIT(2))
|
||||||
|
#define MODEM_CLKRST_LP_TIMER_SEL_XTAL_M (BIT(2))
|
||||||
|
#define MODEM_CLKRST_LP_TIMER_SEL_XTAL_V 0x1
|
||||||
|
#define MODEM_CLKRST_LP_TIMER_SEL_XTAL_S 2
|
||||||
|
/* MODEM_CLKRST_LP_TIMER_SEL_8M : R/W ;bitpos:[1] ;default: 1'b0 ; */
|
||||||
|
/*description: .*/
|
||||||
|
#define MODEM_CLKRST_LP_TIMER_SEL_8M (BIT(1))
|
||||||
|
#define MODEM_CLKRST_LP_TIMER_SEL_8M_M (BIT(1))
|
||||||
|
#define MODEM_CLKRST_LP_TIMER_SEL_8M_V 0x1
|
||||||
|
#define MODEM_CLKRST_LP_TIMER_SEL_8M_S 1
|
||||||
|
/* MODEM_CLKRST_LP_TIMER_SEL_RTC_SLOW : R/W ;bitpos:[0] ;default: 1'b0 ; */
|
||||||
|
/*description: .*/
|
||||||
|
#define MODEM_CLKRST_LP_TIMER_SEL_RTC_SLOW (BIT(0))
|
||||||
|
#define MODEM_CLKRST_LP_TIMER_SEL_RTC_SLOW_M (BIT(0))
|
||||||
|
#define MODEM_CLKRST_LP_TIMER_SEL_RTC_SLOW_V 0x1
|
||||||
|
#define MODEM_CLKRST_LP_TIMER_SEL_RTC_SLOW_S 0
|
||||||
|
|
||||||
|
#define MODEM_CLKRST_COEX_LP_CLK_CONF_REG (DR_REG_MODEM_CLKRST_BASE + 0x8)
|
||||||
|
/* MODEM_CLKRST_COEX_LPCLK_DIV_NUM : R/W ;bitpos:[11:4] ;default: 8'h0 ; */
|
||||||
|
/*description: .*/
|
||||||
|
#define MODEM_CLKRST_COEX_LPCLK_DIV_NUM 0x000000FF
|
||||||
|
#define MODEM_CLKRST_COEX_LPCLK_DIV_NUM_M ((MODEM_CLKRST_COEX_LPCLK_DIV_NUM_V)<<(MODEM_CLKRST_COEX_LPCLK_DIV_NUM_S))
|
||||||
|
#define MODEM_CLKRST_COEX_LPCLK_DIV_NUM_V 0xFF
|
||||||
|
#define MODEM_CLKRST_COEX_LPCLK_DIV_NUM_S 4
|
||||||
|
/* MODEM_CLKRST_COEX_LPCLK_SEL_XTAL32K : R/W ;bitpos:[3] ;default: 1'b0 ; */
|
||||||
|
/*description: .*/
|
||||||
|
#define MODEM_CLKRST_COEX_LPCLK_SEL_XTAL32K (BIT(3))
|
||||||
|
#define MODEM_CLKRST_COEX_LPCLK_SEL_XTAL32K_M (BIT(3))
|
||||||
|
#define MODEM_CLKRST_COEX_LPCLK_SEL_XTAL32K_V 0x1
|
||||||
|
#define MODEM_CLKRST_COEX_LPCLK_SEL_XTAL32K_S 3
|
||||||
|
/* MODEM_CLKRST_COEX_LPCLK_SEL_XTAL : R/W ;bitpos:[2] ;default: 1'b0 ; */
|
||||||
|
/*description: .*/
|
||||||
|
#define MODEM_CLKRST_COEX_LPCLK_SEL_XTAL (BIT(2))
|
||||||
|
#define MODEM_CLKRST_COEX_LPCLK_SEL_XTAL_M (BIT(2))
|
||||||
|
#define MODEM_CLKRST_COEX_LPCLK_SEL_XTAL_V 0x1
|
||||||
|
#define MODEM_CLKRST_COEX_LPCLK_SEL_XTAL_S 2
|
||||||
|
/* MODEM_CLKRST_COEX_LPCLK_SEL_8M : R/W ;bitpos:[1] ;default: 1'b0 ; */
|
||||||
|
/*description: .*/
|
||||||
|
#define MODEM_CLKRST_COEX_LPCLK_SEL_8M (BIT(1))
|
||||||
|
#define MODEM_CLKRST_COEX_LPCLK_SEL_8M_M (BIT(1))
|
||||||
|
#define MODEM_CLKRST_COEX_LPCLK_SEL_8M_V 0x1
|
||||||
|
#define MODEM_CLKRST_COEX_LPCLK_SEL_8M_S 1
|
||||||
|
/* MODEM_CLKRST_COEX_LPCLK_SEL_RTC_SLOW : R/W ;bitpos:[0] ;default: 1'b0 ; */
|
||||||
|
/*description: .*/
|
||||||
|
#define MODEM_CLKRST_COEX_LPCLK_SEL_RTC_SLOW (BIT(0))
|
||||||
|
#define MODEM_CLKRST_COEX_LPCLK_SEL_RTC_SLOW_M (BIT(0))
|
||||||
|
#define MODEM_CLKRST_COEX_LPCLK_SEL_RTC_SLOW_V 0x1
|
||||||
|
#define MODEM_CLKRST_COEX_LPCLK_SEL_RTC_SLOW_S 0
|
||||||
|
|
||||||
|
#define MODEM_CLKRST_BLE_TIMER_CLK_CONF_REG (DR_REG_MODEM_CLKRST_BASE + 0xC)
|
||||||
|
/* MODEM_CLKRST_BLETIMER_CLK_IS_ACTIVE : R/W ;bitpos:[1] ;default: 1'b1 ; */
|
||||||
|
/*description: .*/
|
||||||
|
#define MODEM_CLKRST_BLETIMER_CLK_IS_ACTIVE (BIT(1))
|
||||||
|
#define MODEM_CLKRST_BLETIMER_CLK_IS_ACTIVE_M (BIT(1))
|
||||||
|
#define MODEM_CLKRST_BLETIMER_CLK_IS_ACTIVE_V 0x1
|
||||||
|
#define MODEM_CLKRST_BLETIMER_CLK_IS_ACTIVE_S 1
|
||||||
|
/* MODEM_CLKRST_BLETIMER_USE_XTAL : R/W ;bitpos:[0] ;default: 1'b1 ; */
|
||||||
|
/*description: .*/
|
||||||
|
#define MODEM_CLKRST_BLETIMER_USE_XTAL (BIT(0))
|
||||||
|
#define MODEM_CLKRST_BLETIMER_USE_XTAL_M (BIT(0))
|
||||||
|
#define MODEM_CLKRST_BLETIMER_USE_XTAL_V 0x1
|
||||||
|
#define MODEM_CLKRST_BLETIMER_USE_XTAL_S 0
|
||||||
|
|
||||||
|
#define MODEM_CLKRST_ETM_CLK_CONF_REG (DR_REG_MODEM_CLKRST_BASE + 0x10)
|
||||||
|
/* MODEM_CLKRST_ETM_CLK_ACTIVE : R/W ;bitpos:[1] ;default: 1'b0 ; */
|
||||||
|
/*description: .*/
|
||||||
|
#define MODEM_CLKRST_ETM_CLK_ACTIVE (BIT(1))
|
||||||
|
#define MODEM_CLKRST_ETM_CLK_ACTIVE_M (BIT(1))
|
||||||
|
#define MODEM_CLKRST_ETM_CLK_ACTIVE_V 0x1
|
||||||
|
#define MODEM_CLKRST_ETM_CLK_ACTIVE_S 1
|
||||||
|
/* MODEM_CLKRST_ETM_CLK_SEL : R/W ;bitpos:[0] ;default: 1'b0 ; */
|
||||||
|
/*description: .*/
|
||||||
|
#define MODEM_CLKRST_ETM_CLK_SEL (BIT(0))
|
||||||
|
#define MODEM_CLKRST_ETM_CLK_SEL_M (BIT(0))
|
||||||
|
#define MODEM_CLKRST_ETM_CLK_SEL_V 0x1
|
||||||
|
#define MODEM_CLKRST_ETM_CLK_SEL_S 0
|
||||||
|
|
||||||
|
#define MODEM_CLKRST_DATE_REG (DR_REG_MODEM_CLKRST_BASE + 0xC)
|
||||||
|
/* MODEM_CLKRST_DATE : R/W ;bitpos:[27:0] ;default: 28'h2107270 ; */
|
||||||
|
/*description: .*/
|
||||||
|
#define MODEM_CLKRST_DATE 0x0FFFFFFF
|
||||||
|
#define MODEM_CLKRST_DATE_M ((MODEM_CLKRST_DATE_V)<<(MODEM_CLKRST_DATE_S))
|
||||||
|
#define MODEM_CLKRST_DATE_V 0xFFFFFFF
|
||||||
|
#define MODEM_CLKRST_DATE_S 0
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
@@ -32,6 +32,7 @@ typedef enum {
|
|||||||
PERIPH_GDMA_MODULE,
|
PERIPH_GDMA_MODULE,
|
||||||
PERIPH_SYSTIMER_MODULE,
|
PERIPH_SYSTIMER_MODULE,
|
||||||
PERIPH_SARADC_MODULE,
|
PERIPH_SARADC_MODULE,
|
||||||
|
PERIPH_MODEM_RPA_MODULE,
|
||||||
PERIPH_MODULE_MAX
|
PERIPH_MODULE_MAX
|
||||||
} periph_module_t;
|
} periph_module_t;
|
||||||
|
|
||||||
|
@@ -40,5 +40,6 @@
|
|||||||
#define DR_REG_BLE_TIMER_BASE 0x6004B800
|
#define DR_REG_BLE_TIMER_BASE 0x6004B800
|
||||||
#define DR_REG_BLE_SEC_BASE 0x6004C000
|
#define DR_REG_BLE_SEC_BASE 0x6004C000
|
||||||
#define DR_REG_COEX_BIT_BASE 0x6004C400
|
#define DR_REG_COEX_BIT_BASE 0x6004C400
|
||||||
|
#define DR_REG_MODEM_CLKRST_BASE 0x6004d800
|
||||||
#define DR_REG_I2C_MST_BASE 0x6004E800
|
#define DR_REG_I2C_MST_BASE 0x6004E800
|
||||||
#define DR_REG_AES_XTS_BASE 0x600CC000
|
#define DR_REG_AES_XTS_BASE 0x600CC000
|
||||||
|
@@ -29,7 +29,8 @@
|
|||||||
#define SOC_ADC_SUPPORTED 1
|
#define SOC_ADC_SUPPORTED 1
|
||||||
#define SOC_DEDICATED_GPIO_SUPPORTED 1
|
#define SOC_DEDICATED_GPIO_SUPPORTED 1
|
||||||
#define SOC_GDMA_SUPPORTED 1
|
#define SOC_GDMA_SUPPORTED 1
|
||||||
#define SOC_BT_SUPPORTED 0 // Enable during bringup, IDF-4357
|
#define SOC_BT_SUPPORTED 1
|
||||||
|
#define SOC_ESP_NIMBLE_CONTROLLER 1
|
||||||
#define SOC_WIFI_SUPPORTED 1
|
#define SOC_WIFI_SUPPORTED 1
|
||||||
#define SOC_ASYNC_MEMCPY_SUPPORTED 1
|
#define SOC_ASYNC_MEMCPY_SUPPORTED 1
|
||||||
#define SOC_SUPPORTS_SECURE_DL_MODE 1
|
#define SOC_SUPPORTS_SECURE_DL_MODE 1
|
||||||
|
@@ -209,6 +209,7 @@ extern "C" {
|
|||||||
#define BLE_REG_REST_BIT BIT(11)
|
#define BLE_REG_REST_BIT BIT(11)
|
||||||
#define BLE_PWR_REG_REST_BIT BIT(12)
|
#define BLE_PWR_REG_REST_BIT BIT(12)
|
||||||
#define BLE_BB_REG_REST_BIT BIT(13)
|
#define BLE_BB_REG_REST_BIT BIT(13)
|
||||||
|
#define BLE_RPA_REST_BIT BIT(27)
|
||||||
|
|
||||||
#define SYSCON_HOST_INF_SEL_REG (DR_REG_SYSCON_BASE + 0x1C)
|
#define SYSCON_HOST_INF_SEL_REG (DR_REG_SYSCON_BASE + 0x1C)
|
||||||
/* SYSCON_PERI_IO_SWAP : R/W ;bitpos:[7:0] ;default: 8'h0 ; */
|
/* SYSCON_PERI_IO_SWAP : R/W ;bitpos:[7:0] ;default: 8'h0 ; */
|
||||||
|
@@ -27,10 +27,6 @@ config SOC_BT_SUPPORTED
|
|||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
|
|
||||||
config SOC_BLUEDROID_SUPPORTED
|
|
||||||
bool
|
|
||||||
default y
|
|
||||||
|
|
||||||
config SOC_ASYNC_MEMCPY_SUPPORTED
|
config SOC_ASYNC_MEMCPY_SUPPORTED
|
||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
|
@@ -31,7 +31,6 @@
|
|||||||
#define SOC_GDMA_SUPPORTED 1
|
#define SOC_GDMA_SUPPORTED 1
|
||||||
#define SOC_TWAI_SUPPORTED 1
|
#define SOC_TWAI_SUPPORTED 1
|
||||||
#define SOC_BT_SUPPORTED 1
|
#define SOC_BT_SUPPORTED 1
|
||||||
#define SOC_BLUEDROID_SUPPORTED 1
|
|
||||||
#define SOC_ASYNC_MEMCPY_SUPPORTED 1
|
#define SOC_ASYNC_MEMCPY_SUPPORTED 1
|
||||||
#define SOC_USB_SERIAL_JTAG_SUPPORTED 1
|
#define SOC_USB_SERIAL_JTAG_SUPPORTED 1
|
||||||
#define SOC_TEMP_SENSOR_SUPPORTED 1
|
#define SOC_TEMP_SENSOR_SUPPORTED 1
|
||||||
|
@@ -27,10 +27,6 @@ config SOC_BT_SUPPORTED
|
|||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
|
|
||||||
config SOC_BLUEDROID_SUPPORTED
|
|
||||||
bool
|
|
||||||
default y
|
|
||||||
|
|
||||||
config SOC_ESP_NIMBLE_CONTROLLER
|
config SOC_ESP_NIMBLE_CONTROLLER
|
||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
|
@@ -39,7 +39,6 @@
|
|||||||
#define SOC_GDMA_SUPPORTED 1
|
#define SOC_GDMA_SUPPORTED 1
|
||||||
#define SOC_TWAI_SUPPORTED 1
|
#define SOC_TWAI_SUPPORTED 1
|
||||||
#define SOC_BT_SUPPORTED 1
|
#define SOC_BT_SUPPORTED 1
|
||||||
#define SOC_BLUEDROID_SUPPORTED 1
|
|
||||||
#define SOC_ESP_NIMBLE_CONTROLLER 1
|
#define SOC_ESP_NIMBLE_CONTROLLER 1
|
||||||
#define SOC_ASYNC_MEMCPY_SUPPORTED 1
|
#define SOC_ASYNC_MEMCPY_SUPPORTED 1
|
||||||
#define SOC_USB_SERIAL_JTAG_SUPPORTED 1
|
#define SOC_USB_SERIAL_JTAG_SUPPORTED 1
|
||||||
|
@@ -115,10 +115,6 @@ config SOC_BT_SUPPORTED
|
|||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
|
|
||||||
config SOC_BLUEDROID_SUPPORTED
|
|
||||||
bool
|
|
||||||
default y
|
|
||||||
|
|
||||||
config SOC_USB_OTG_SUPPORTED
|
config SOC_USB_OTG_SUPPORTED
|
||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
|
@@ -38,7 +38,6 @@
|
|||||||
#define SOC_ULP_SUPPORTED 1
|
#define SOC_ULP_SUPPORTED 1
|
||||||
#define SOC_RISCV_COPROC_SUPPORTED 1
|
#define SOC_RISCV_COPROC_SUPPORTED 1
|
||||||
#define SOC_BT_SUPPORTED 1
|
#define SOC_BT_SUPPORTED 1
|
||||||
#define SOC_BLUEDROID_SUPPORTED 1
|
|
||||||
#define SOC_USB_OTG_SUPPORTED 1
|
#define SOC_USB_OTG_SUPPORTED 1
|
||||||
#define SOC_USB_SERIAL_JTAG_SUPPORTED 1
|
#define SOC_USB_SERIAL_JTAG_SUPPORTED 1
|
||||||
#define SOC_CCOMP_TIMER_SUPPORTED 1
|
#define SOC_CCOMP_TIMER_SUPPORTED 1
|
||||||
|
Reference in New Issue
Block a user