diff --git a/CMakeLists.txt b/CMakeLists.txt index e86fcc6..90fc1a0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,4 +3,4 @@ cmake_minimum_required(VERSION 3.22) include($ENV{IDF_PATH}/tools/cmake/project.cmake) # "Trim" the build. Include the minimal set of components, main, and anything it depends on. idf_build_set_property(MINIMAL_BUILD ON) -project(esp-anchor VERSION 0.1.0) +project(esp-anchor VERSION 0.2.0) diff --git a/components/ble_scanner/CMakeLists.txt b/components/ble_scanner/CMakeLists.txt index 5a5c495..5bf6177 100644 --- a/components/ble_scanner/CMakeLists.txt +++ b/components/ble_scanner/CMakeLists.txt @@ -1,5 +1,5 @@ idf_component_register( SRCS "src/ble_scanner.c" INCLUDE_DIRS "include" - REQUIRES bt esp_event + REQUIRES esp_event bt ) diff --git a/components/ble_scanner/Kconfig b/components/ble_scanner/Kconfig new file mode 100644 index 0000000..41b9182 --- /dev/null +++ b/components/ble_scanner/Kconfig @@ -0,0 +1,21 @@ +menu "BLE Scanner" + + config BLE_SCAN_INTERVAL_MS + int "Scan interval (ms)" + default 100 + range 3 10240 + help + Time between the start of consecutive scan windows (0.625 ms units + internally). Larger values reduce duty cycle and leave more airtime + for WiFi. + + config BLE_SCAN_WINDOW_MS + int "Scan window (ms)" + default 80 + range 3 10240 + help + Duration of each active scan window. Must be <= scan interval. + Default 80 ms gives 80% duty cycle (up from 50% with previous + defaults) without starving WiFi TX. + +endmenu diff --git a/components/ble_scanner/include/ble_scanner.h b/components/ble_scanner/include/ble_scanner.h index d296791..35ef28d 100644 --- a/components/ble_scanner/include/ble_scanner.h +++ b/components/ble_scanner/include/ble_scanner.h @@ -23,8 +23,8 @@ typedef struct { typedef void (*ble_scanner_cb_t)(const ble_beacon_t *beacon); /** - * Initialise the Bluedroid BLE stack and register the scan callback. - * Must be called once after esp_bt_controller_init / esp_bluedroid_init. + * Initialise the NimBLE stack and register the scan callback. Must be called + * once before ble_scanner_start(). Starts the NimBLE host task internally. */ void ble_scanner_init(ble_scanner_cb_t cb); diff --git a/components/ble_scanner/src/ble_scanner.c b/components/ble_scanner/src/ble_scanner.c index 31be448..c7ad63b 100644 --- a/components/ble_scanner/src/ble_scanner.c +++ b/components/ble_scanner/src/ble_scanner.c @@ -1,24 +1,21 @@ #include "ble_scanner.h" -#include "esp_bt.h" -#include "esp_bt_main.h" -#include "esp_gap_ble_api.h" +#include "nimble/nimble_port.h" +#include "nimble/nimble_port_freertos.h" +#include "host/ble_hs.h" +#include "host/ble_gap.h" #include "esp_log.h" #include -#include + +static int gap_event_cb(struct ble_gap_event *event, void *arg); #define TAG "ble_scanner" -static ble_scanner_cb_t s_cb = NULL; +/* Units: 1 tick = 0.625 ms */ +#define MS_TO_BLE_TICKS(ms) ((ms) * 1000 / 625) -/* Passive scan: 100ms interval, 50ms window (50% duty cycle) */ -static esp_ble_scan_params_t s_scan_params = { - .scan_type = BLE_SCAN_TYPE_PASSIVE, - .own_addr_type = BLE_ADDR_TYPE_PUBLIC, - .scan_filter_policy = BLE_SCAN_FILTER_ALLOW_ALL, - .scan_interval = 0xA0, /* 100ms: 0xA0 * 0.625ms */ - .scan_window = 0x50, /* 50ms: 0x50 * 0.625ms */ - .scan_duplicate = BLE_SCAN_DUPLICATE_DISABLE, -}; +static ble_scanner_cb_t s_cb = NULL; +static bool s_scan_active = false; +static uint8_t s_own_addr_type; /* Eddystone URL expansion codes 0x00-0x0D per spec */ static const char *const s_url_expansions[] = { @@ -150,69 +147,72 @@ static bool parse_beacon(const uint8_t *data, uint8_t len, ble_beacon_t *out) return false; } -static void gap_event_handler(esp_gap_ble_cb_event_t event, - esp_ble_gap_cb_param_t *param) +static void do_start_scan(void) { - switch (event) { - case ESP_GAP_BLE_SCAN_PARAM_SET_COMPLETE_EVT: - if (param->scan_param_cmpl.status == ESP_BT_STATUS_SUCCESS) { - esp_ble_gap_start_scanning(0); /* 0 = scan indefinitely */ - } else { - ESP_LOGE(TAG, "Scan param set failed: %d", param->scan_param_cmpl.status); - } - break; + struct ble_gap_disc_params p = { + .itvl = MS_TO_BLE_TICKS(CONFIG_BLE_SCAN_INTERVAL_MS), + .window = MS_TO_BLE_TICKS(CONFIG_BLE_SCAN_WINDOW_MS), + .filter_policy = 0, /* accept all, no whitelist */ + .limited = 0, + .passive = 1, + .filter_duplicates = 0, /* report every advertisement for live RSSI */ + }; + int rc = ble_gap_disc(s_own_addr_type, BLE_HS_FOREVER, &p, gap_event_cb, NULL); + if (rc != 0) + ESP_LOGE(TAG, "ble_gap_disc failed: %d", rc); +} - case ESP_GAP_BLE_SCAN_START_COMPLETE_EVT: - if (param->scan_start_cmpl.status != ESP_BT_STATUS_SUCCESS) { - ESP_LOGE(TAG, "Scan start failed: %d", param->scan_start_cmpl.status); - } - break; - - case ESP_GAP_BLE_SCAN_RESULT_EVT: { - esp_ble_gap_cb_param_t *p = param; - if (p->scan_rst.search_evt == ESP_GAP_SEARCH_INQ_RES_EVT && s_cb) { - ble_beacon_t beacon = {0}; - beacon.rssi = (int8_t)p->scan_rst.rssi; - if (parse_beacon(p->scan_rst.ble_adv, p->scan_rst.adv_data_len, &beacon)) { - s_cb(&beacon); - } - } - break; +static int gap_event_cb(struct ble_gap_event *event, void *arg) +{ + if (event->type == BLE_GAP_EVENT_DISC && s_cb) { + ble_beacon_t beacon = {0}; + beacon.rssi = event->disc.rssi; + if (parse_beacon(event->disc.data, event->disc.length_data, &beacon)) + s_cb(&beacon); } + return 0; +} - case ESP_GAP_BLE_SCAN_STOP_COMPLETE_EVT: - ESP_LOGI(TAG, "Scan stopped"); - break; +static void on_nimble_sync(void) +{ + ble_hs_id_infer_auto(0, &s_own_addr_type); + if (s_scan_active) + do_start_scan(); +} - default: - break; - } +static void on_nimble_reset(int reason) +{ + ESP_LOGW(TAG, "NimBLE reset: %d", reason); +} + +static void nimble_host_task(void *arg) +{ + nimble_port_run(); + nimble_port_freertos_deinit(); } void ble_scanner_init(ble_scanner_cb_t cb) { s_cb = cb; - - ESP_ERROR_CHECK(esp_bt_controller_mem_release(ESP_BT_MODE_CLASSIC_BT)); - - esp_bt_controller_config_t bt_cfg = BT_CONTROLLER_INIT_CONFIG_DEFAULT(); - ESP_ERROR_CHECK(esp_bt_controller_init(&bt_cfg)); - ESP_ERROR_CHECK(esp_bt_controller_enable(ESP_BT_MODE_BLE)); - ESP_ERROR_CHECK(esp_bluedroid_init()); - ESP_ERROR_CHECK(esp_bluedroid_enable()); - - ESP_ERROR_CHECK(esp_ble_gap_register_callback(gap_event_handler)); - ESP_LOGI(TAG, "BLE scanner initialised"); + nimble_port_init(); + ble_hs_cfg.sync_cb = on_nimble_sync; + ble_hs_cfg.reset_cb = on_nimble_reset; + nimble_port_freertos_init(nimble_host_task); + ESP_LOGI(TAG, "BLE scanner initialised (NimBLE)"); } void ble_scanner_start(void) { - ESP_LOGI(TAG, "Starting BLE scan"); - ESP_ERROR_CHECK(esp_ble_gap_set_scan_params(&s_scan_params)); - /* Scanning begins in the param-set callback once confirmed */ + ESP_LOGI(TAG, "Starting BLE scan (interval=%dms window=%dms)", + CONFIG_BLE_SCAN_INTERVAL_MS, CONFIG_BLE_SCAN_WINDOW_MS); + s_scan_active = true; + if (ble_hs_synced()) + do_start_scan(); + /* else: on_nimble_sync() will start scanning once host syncs with controller */ } void ble_scanner_stop(void) { - esp_ble_gap_stop_scanning(); + s_scan_active = false; + ble_gap_disc_cancel(); } diff --git a/main/CMakeLists.txt b/main/CMakeLists.txt index bd4c0ef..2f37de4 100644 --- a/main/CMakeLists.txt +++ b/main/CMakeLists.txt @@ -16,4 +16,5 @@ idf_component_register( app_update driver esp_driver_gpio + esp_coex ) diff --git a/main/main.c b/main/main.c index d54bb1e..7e6f048 100644 --- a/main/main.c +++ b/main/main.c @@ -5,6 +5,7 @@ #include "led_indicator.h" #include "ota_manager.h" #include "esp_ota_ops.h" +#include "esp_coexist.h" #include "esp_wifi.h" #include "esp_event.h" @@ -236,6 +237,8 @@ void app_main(void) ESP_LOGI(TAG, "OTA rollback cancelled - firmware validated"); } + esp_coex_preference_set(ESP_COEX_PREFER_BALANCE); + // init BLE scanner ble_scanner_init(on_ble_scan_result); ble_scanner_start(); diff --git a/sdkconfig b/sdkconfig index 0114667..e72e205 100644 --- a/sdkconfig +++ b/sdkconfig @@ -786,8 +786,8 @@ CONFIG_COMPILER_CXX_GLIBCXX_CONSTEXPR_NO_CHANGE=y # Bluetooth # CONFIG_BT_ENABLED=y -CONFIG_BT_BLUEDROID_ENABLED=y -# CONFIG_BT_NIMBLE_ENABLED is not set +# CONFIG_BT_BLUEDROID_ENABLED is not set +CONFIG_BT_NIMBLE_ENABLED=y # CONFIG_BT_CONTROLLER_ONLY is not set # default: CONFIG_BT_CONTROLLER_ENABLED=y @@ -795,460 +795,376 @@ CONFIG_BT_CONTROLLER_ENABLED=y # CONFIG_BT_CONTROLLER_DISABLED is not set # -# Bluedroid Options +# NimBLE Options # -# default: -CONFIG_BT_BTC_TASK_STACK_SIZE=3072 -# default: -CONFIG_BT_BLUEDROID_PINNED_TO_CORE_0=y -# default: -# CONFIG_BT_BLUEDROID_PINNED_TO_CORE_1 is not set -# default: -CONFIG_BT_BLUEDROID_PINNED_TO_CORE=0 -# default: -CONFIG_BT_BTU_TASK_STACK_SIZE=4352 -# default: -CONFIG_BT_BLUEDROID_ESP_COEX_VSC=y -# default: -# CONFIG_BT_CLASSIC_ENABLED is not set -# default: -CONFIG_BT_BLE_ENABLED=y -# default: -CONFIG_BT_GATTS_ENABLE=y -# default: -# CONFIG_BT_GATTS_PPCP_CHAR_GAP is not set -# default: -# CONFIG_BT_BLE_BLUFI_ENABLE is not set -# default: -CONFIG_BT_GATT_MAX_SR_PROFILES=8 -# default: -CONFIG_BT_GATT_MAX_SR_ATTRIBUTES=100 -# default: -# CONFIG_BT_GATTS_SEND_SERVICE_CHANGE_MANUAL is not set -# default: -CONFIG_BT_GATTS_SEND_SERVICE_CHANGE_AUTO=y -# default: -CONFIG_BT_GATTS_SEND_SERVICE_CHANGE_MODE=0 -# default: -# CONFIG_BT_GATTS_ROBUST_CACHING_ENABLED is not set -# default: -# CONFIG_BT_GATTS_DEVICE_NAME_WRITABLE is not set -# default: -# CONFIG_BT_GATTS_APPEARANCE_WRITABLE is not set -# default: -# CONFIG_BT_GATTS_SECURITY_LEVELS_CHAR is not set -# default: -# CONFIG_BT_GATTS_KEY_MATERIAL_CHAR is not set -# default: -CONFIG_BT_GATTC_ENABLE=y -# default: -CONFIG_BT_GATTC_MAX_CACHE_CHAR=40 -# default: -CONFIG_BT_GATTC_NOTIF_REG_MAX=5 -# default: -# CONFIG_BT_GATTC_CACHE_NVS_FLASH is not set -# default: -CONFIG_BT_GATTC_CONNECT_RETRY_COUNT=3 -# default: -CONFIG_BT_BLE_ESTAB_LINK_CONN_TOUT=30 -# default: -CONFIG_BT_BLE_SMP_ENABLE=y -# default: -# CONFIG_BT_SMP_SLAVE_CON_PARAMS_UPD_ENABLE is not set -# default: -# CONFIG_BT_BLE_SMP_ID_RESET_ENABLE is not set -# default: -CONFIG_BT_BLE_SMP_BOND_NVS_FLASH=y -# default: -# CONFIG_BT_BLE_RPA_SUPPORTED is not set # -# Bluedroid debug option +# General # # default: -# CONFIG_BT_BLUEDROID_MEM_DEBUG is not set +CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y # default: -# CONFIG_BT_BLUEDROID_MEM_STATS is not set +# CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_DEFAULT is not set # default: -# CONFIG_BT_BLUEDROID_THREAD_DEBUG is not set -# end of Bluedroid debug option - +CONFIG_BT_NIMBLE_PINNED_TO_CORE=0 +CONFIG_BT_NIMBLE_PINNED_TO_CORE_0=y +# CONFIG_BT_NIMBLE_PINNED_TO_CORE_1 is not set +CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE=4096 # default: -# CONFIG_BT_STACK_NO_LOG is not set +CONFIG_BT_NIMBLE_LEGACY_VHCI_ENABLE=y +# end of General # -# BT DEBUG LOG LEVEL +# Roles and Profiles # # default: -# CONFIG_BT_LOG_HCI_TRACE_LEVEL_NONE is not set +CONFIG_BT_NIMBLE_ROLE_CENTRAL=y # default: -# CONFIG_BT_LOG_HCI_TRACE_LEVEL_ERROR is not set +CONFIG_BT_NIMBLE_ROLE_PERIPHERAL=y # default: -CONFIG_BT_LOG_HCI_TRACE_LEVEL_WARNING=y +CONFIG_BT_NIMBLE_ROLE_BROADCASTER=y # default: -# CONFIG_BT_LOG_HCI_TRACE_LEVEL_API is not set +CONFIG_BT_NIMBLE_ROLE_OBSERVER=y # default: -# CONFIG_BT_LOG_HCI_TRACE_LEVEL_EVENT is not set +CONFIG_BT_NIMBLE_GATT_CLIENT=y # default: -# CONFIG_BT_LOG_HCI_TRACE_LEVEL_DEBUG is not set -# default: -# CONFIG_BT_LOG_HCI_TRACE_LEVEL_VERBOSE is not set -# default: -CONFIG_BT_LOG_HCI_TRACE_LEVEL=2 -# default: -# CONFIG_BT_LOG_BTM_TRACE_LEVEL_NONE is not set -# default: -# CONFIG_BT_LOG_BTM_TRACE_LEVEL_ERROR is not set -# default: -CONFIG_BT_LOG_BTM_TRACE_LEVEL_WARNING=y -# default: -# CONFIG_BT_LOG_BTM_TRACE_LEVEL_API is not set -# default: -# CONFIG_BT_LOG_BTM_TRACE_LEVEL_EVENT is not set -# default: -# CONFIG_BT_LOG_BTM_TRACE_LEVEL_DEBUG is not set -# default: -# CONFIG_BT_LOG_BTM_TRACE_LEVEL_VERBOSE is not set -# default: -CONFIG_BT_LOG_BTM_TRACE_LEVEL=2 -# default: -# CONFIG_BT_LOG_L2CAP_TRACE_LEVEL_NONE is not set -# default: -# CONFIG_BT_LOG_L2CAP_TRACE_LEVEL_ERROR is not set -# default: -CONFIG_BT_LOG_L2CAP_TRACE_LEVEL_WARNING=y -# default: -# CONFIG_BT_LOG_L2CAP_TRACE_LEVEL_API is not set -# default: -# CONFIG_BT_LOG_L2CAP_TRACE_LEVEL_EVENT is not set -# default: -# CONFIG_BT_LOG_L2CAP_TRACE_LEVEL_DEBUG is not set -# default: -# CONFIG_BT_LOG_L2CAP_TRACE_LEVEL_VERBOSE is not set -# default: -CONFIG_BT_LOG_L2CAP_TRACE_LEVEL=2 -# default: -# CONFIG_BT_LOG_RFCOMM_TRACE_LEVEL_NONE is not set -# default: -# CONFIG_BT_LOG_RFCOMM_TRACE_LEVEL_ERROR is not set -# default: -CONFIG_BT_LOG_RFCOMM_TRACE_LEVEL_WARNING=y -# default: -# CONFIG_BT_LOG_RFCOMM_TRACE_LEVEL_API is not set -# default: -# CONFIG_BT_LOG_RFCOMM_TRACE_LEVEL_EVENT is not set -# default: -# CONFIG_BT_LOG_RFCOMM_TRACE_LEVEL_DEBUG is not set -# default: -# CONFIG_BT_LOG_RFCOMM_TRACE_LEVEL_VERBOSE is not set -# default: -CONFIG_BT_LOG_RFCOMM_TRACE_LEVEL=2 -# default: -# CONFIG_BT_LOG_SDP_TRACE_LEVEL_NONE is not set -# default: -# CONFIG_BT_LOG_SDP_TRACE_LEVEL_ERROR is not set -# default: -CONFIG_BT_LOG_SDP_TRACE_LEVEL_WARNING=y -# default: -# CONFIG_BT_LOG_SDP_TRACE_LEVEL_API is not set -# default: -# CONFIG_BT_LOG_SDP_TRACE_LEVEL_EVENT is not set -# default: -# CONFIG_BT_LOG_SDP_TRACE_LEVEL_DEBUG is not set -# default: -# CONFIG_BT_LOG_SDP_TRACE_LEVEL_VERBOSE is not set -# default: -CONFIG_BT_LOG_SDP_TRACE_LEVEL=2 -# default: -# CONFIG_BT_LOG_GAP_TRACE_LEVEL_NONE is not set -# default: -# CONFIG_BT_LOG_GAP_TRACE_LEVEL_ERROR is not set -# default: -CONFIG_BT_LOG_GAP_TRACE_LEVEL_WARNING=y -# default: -# CONFIG_BT_LOG_GAP_TRACE_LEVEL_API is not set -# default: -# CONFIG_BT_LOG_GAP_TRACE_LEVEL_EVENT is not set -# default: -# CONFIG_BT_LOG_GAP_TRACE_LEVEL_DEBUG is not set -# default: -# CONFIG_BT_LOG_GAP_TRACE_LEVEL_VERBOSE is not set -# default: -CONFIG_BT_LOG_GAP_TRACE_LEVEL=2 -# default: -# CONFIG_BT_LOG_BNEP_TRACE_LEVEL_NONE is not set -# default: -# CONFIG_BT_LOG_BNEP_TRACE_LEVEL_ERROR is not set -# default: -CONFIG_BT_LOG_BNEP_TRACE_LEVEL_WARNING=y -# default: -# CONFIG_BT_LOG_BNEP_TRACE_LEVEL_API is not set -# default: -# CONFIG_BT_LOG_BNEP_TRACE_LEVEL_EVENT is not set -# default: -# CONFIG_BT_LOG_BNEP_TRACE_LEVEL_DEBUG is not set -# default: -# CONFIG_BT_LOG_BNEP_TRACE_LEVEL_VERBOSE is not set -# default: -CONFIG_BT_LOG_BNEP_TRACE_LEVEL=2 -# default: -# CONFIG_BT_LOG_PAN_TRACE_LEVEL_NONE is not set -# default: -# CONFIG_BT_LOG_PAN_TRACE_LEVEL_ERROR is not set -# default: -CONFIG_BT_LOG_PAN_TRACE_LEVEL_WARNING=y -# default: -# CONFIG_BT_LOG_PAN_TRACE_LEVEL_API is not set -# default: -# CONFIG_BT_LOG_PAN_TRACE_LEVEL_EVENT is not set -# default: -# CONFIG_BT_LOG_PAN_TRACE_LEVEL_DEBUG is not set -# default: -# CONFIG_BT_LOG_PAN_TRACE_LEVEL_VERBOSE is not set -# default: -CONFIG_BT_LOG_PAN_TRACE_LEVEL=2 -# default: -# CONFIG_BT_LOG_A2D_TRACE_LEVEL_NONE is not set -# default: -# CONFIG_BT_LOG_A2D_TRACE_LEVEL_ERROR is not set -# default: -CONFIG_BT_LOG_A2D_TRACE_LEVEL_WARNING=y -# default: -# CONFIG_BT_LOG_A2D_TRACE_LEVEL_API is not set -# default: -# CONFIG_BT_LOG_A2D_TRACE_LEVEL_EVENT is not set -# default: -# CONFIG_BT_LOG_A2D_TRACE_LEVEL_DEBUG is not set -# default: -# CONFIG_BT_LOG_A2D_TRACE_LEVEL_VERBOSE is not set -# default: -CONFIG_BT_LOG_A2D_TRACE_LEVEL=2 -# default: -# CONFIG_BT_LOG_AVDT_TRACE_LEVEL_NONE is not set -# default: -# CONFIG_BT_LOG_AVDT_TRACE_LEVEL_ERROR is not set -# default: -CONFIG_BT_LOG_AVDT_TRACE_LEVEL_WARNING=y -# default: -# CONFIG_BT_LOG_AVDT_TRACE_LEVEL_API is not set -# default: -# CONFIG_BT_LOG_AVDT_TRACE_LEVEL_EVENT is not set -# default: -# CONFIG_BT_LOG_AVDT_TRACE_LEVEL_DEBUG is not set -# default: -# CONFIG_BT_LOG_AVDT_TRACE_LEVEL_VERBOSE is not set -# default: -CONFIG_BT_LOG_AVDT_TRACE_LEVEL=2 -# default: -# CONFIG_BT_LOG_AVCT_TRACE_LEVEL_NONE is not set -# default: -# CONFIG_BT_LOG_AVCT_TRACE_LEVEL_ERROR is not set -# default: -CONFIG_BT_LOG_AVCT_TRACE_LEVEL_WARNING=y -# default: -# CONFIG_BT_LOG_AVCT_TRACE_LEVEL_API is not set -# default: -# CONFIG_BT_LOG_AVCT_TRACE_LEVEL_EVENT is not set -# default: -# CONFIG_BT_LOG_AVCT_TRACE_LEVEL_DEBUG is not set -# default: -# CONFIG_BT_LOG_AVCT_TRACE_LEVEL_VERBOSE is not set -# default: -CONFIG_BT_LOG_AVCT_TRACE_LEVEL=2 -# default: -# CONFIG_BT_LOG_AVRC_TRACE_LEVEL_NONE is not set -# default: -# CONFIG_BT_LOG_AVRC_TRACE_LEVEL_ERROR is not set -# default: -CONFIG_BT_LOG_AVRC_TRACE_LEVEL_WARNING=y -# default: -# CONFIG_BT_LOG_AVRC_TRACE_LEVEL_API is not set -# default: -# CONFIG_BT_LOG_AVRC_TRACE_LEVEL_EVENT is not set -# default: -# CONFIG_BT_LOG_AVRC_TRACE_LEVEL_DEBUG is not set -# default: -# CONFIG_BT_LOG_AVRC_TRACE_LEVEL_VERBOSE is not set -# default: -CONFIG_BT_LOG_AVRC_TRACE_LEVEL=2 -# default: -# CONFIG_BT_LOG_MCA_TRACE_LEVEL_NONE is not set -# default: -# CONFIG_BT_LOG_MCA_TRACE_LEVEL_ERROR is not set -# default: -CONFIG_BT_LOG_MCA_TRACE_LEVEL_WARNING=y -# default: -# CONFIG_BT_LOG_MCA_TRACE_LEVEL_API is not set -# default: -# CONFIG_BT_LOG_MCA_TRACE_LEVEL_EVENT is not set -# default: -# CONFIG_BT_LOG_MCA_TRACE_LEVEL_DEBUG is not set -# default: -# CONFIG_BT_LOG_MCA_TRACE_LEVEL_VERBOSE is not set -# default: -CONFIG_BT_LOG_MCA_TRACE_LEVEL=2 -# default: -# CONFIG_BT_LOG_HID_TRACE_LEVEL_NONE is not set -# default: -# CONFIG_BT_LOG_HID_TRACE_LEVEL_ERROR is not set -# default: -CONFIG_BT_LOG_HID_TRACE_LEVEL_WARNING=y -# default: -# CONFIG_BT_LOG_HID_TRACE_LEVEL_API is not set -# default: -# CONFIG_BT_LOG_HID_TRACE_LEVEL_EVENT is not set -# default: -# CONFIG_BT_LOG_HID_TRACE_LEVEL_DEBUG is not set -# default: -# CONFIG_BT_LOG_HID_TRACE_LEVEL_VERBOSE is not set -# default: -CONFIG_BT_LOG_HID_TRACE_LEVEL=2 -# default: -# CONFIG_BT_LOG_APPL_TRACE_LEVEL_NONE is not set -# default: -# CONFIG_BT_LOG_APPL_TRACE_LEVEL_ERROR is not set -# default: -CONFIG_BT_LOG_APPL_TRACE_LEVEL_WARNING=y -# default: -# CONFIG_BT_LOG_APPL_TRACE_LEVEL_API is not set -# default: -# CONFIG_BT_LOG_APPL_TRACE_LEVEL_EVENT is not set -# default: -# CONFIG_BT_LOG_APPL_TRACE_LEVEL_DEBUG is not set -# default: -# CONFIG_BT_LOG_APPL_TRACE_LEVEL_VERBOSE is not set -# default: -CONFIG_BT_LOG_APPL_TRACE_LEVEL=2 -# default: -# CONFIG_BT_LOG_GATT_TRACE_LEVEL_NONE is not set -# default: -# CONFIG_BT_LOG_GATT_TRACE_LEVEL_ERROR is not set -# default: -CONFIG_BT_LOG_GATT_TRACE_LEVEL_WARNING=y -# default: -# CONFIG_BT_LOG_GATT_TRACE_LEVEL_API is not set -# default: -# CONFIG_BT_LOG_GATT_TRACE_LEVEL_EVENT is not set -# default: -# CONFIG_BT_LOG_GATT_TRACE_LEVEL_DEBUG is not set -# default: -# CONFIG_BT_LOG_GATT_TRACE_LEVEL_VERBOSE is not set -# default: -CONFIG_BT_LOG_GATT_TRACE_LEVEL=2 -# default: -# CONFIG_BT_LOG_SMP_TRACE_LEVEL_NONE is not set -# default: -# CONFIG_BT_LOG_SMP_TRACE_LEVEL_ERROR is not set -# default: -CONFIG_BT_LOG_SMP_TRACE_LEVEL_WARNING=y -# default: -# CONFIG_BT_LOG_SMP_TRACE_LEVEL_API is not set -# default: -# CONFIG_BT_LOG_SMP_TRACE_LEVEL_EVENT is not set -# default: -# CONFIG_BT_LOG_SMP_TRACE_LEVEL_DEBUG is not set -# default: -# CONFIG_BT_LOG_SMP_TRACE_LEVEL_VERBOSE is not set -# default: -CONFIG_BT_LOG_SMP_TRACE_LEVEL=2 -# default: -# CONFIG_BT_LOG_BTIF_TRACE_LEVEL_NONE is not set -# default: -# CONFIG_BT_LOG_BTIF_TRACE_LEVEL_ERROR is not set -# default: -CONFIG_BT_LOG_BTIF_TRACE_LEVEL_WARNING=y -# default: -# CONFIG_BT_LOG_BTIF_TRACE_LEVEL_API is not set -# default: -# CONFIG_BT_LOG_BTIF_TRACE_LEVEL_EVENT is not set -# default: -# CONFIG_BT_LOG_BTIF_TRACE_LEVEL_DEBUG is not set -# default: -# CONFIG_BT_LOG_BTIF_TRACE_LEVEL_VERBOSE is not set -# default: -CONFIG_BT_LOG_BTIF_TRACE_LEVEL=2 -# default: -# CONFIG_BT_LOG_BTC_TRACE_LEVEL_NONE is not set -# default: -# CONFIG_BT_LOG_BTC_TRACE_LEVEL_ERROR is not set -# default: -CONFIG_BT_LOG_BTC_TRACE_LEVEL_WARNING=y -# default: -# CONFIG_BT_LOG_BTC_TRACE_LEVEL_API is not set -# default: -# CONFIG_BT_LOG_BTC_TRACE_LEVEL_EVENT is not set -# default: -# CONFIG_BT_LOG_BTC_TRACE_LEVEL_DEBUG is not set -# default: -# CONFIG_BT_LOG_BTC_TRACE_LEVEL_VERBOSE is not set -# default: -CONFIG_BT_LOG_BTC_TRACE_LEVEL=2 -# default: -# CONFIG_BT_LOG_OSI_TRACE_LEVEL_NONE is not set -# default: -# CONFIG_BT_LOG_OSI_TRACE_LEVEL_ERROR is not set -# default: -CONFIG_BT_LOG_OSI_TRACE_LEVEL_WARNING=y -# default: -# CONFIG_BT_LOG_OSI_TRACE_LEVEL_API is not set -# default: -# CONFIG_BT_LOG_OSI_TRACE_LEVEL_EVENT is not set -# default: -# CONFIG_BT_LOG_OSI_TRACE_LEVEL_DEBUG is not set -# default: -# CONFIG_BT_LOG_OSI_TRACE_LEVEL_VERBOSE is not set -# default: -CONFIG_BT_LOG_OSI_TRACE_LEVEL=2 -# default: -# CONFIG_BT_LOG_BLUFI_TRACE_LEVEL_NONE is not set -# default: -# CONFIG_BT_LOG_BLUFI_TRACE_LEVEL_ERROR is not set -# default: -CONFIG_BT_LOG_BLUFI_TRACE_LEVEL_WARNING=y -# default: -# CONFIG_BT_LOG_BLUFI_TRACE_LEVEL_API is not set -# default: -# CONFIG_BT_LOG_BLUFI_TRACE_LEVEL_EVENT is not set -# default: -# CONFIG_BT_LOG_BLUFI_TRACE_LEVEL_DEBUG is not set -# default: -# CONFIG_BT_LOG_BLUFI_TRACE_LEVEL_VERBOSE is not set -# default: -CONFIG_BT_LOG_BLUFI_TRACE_LEVEL=2 -# end of BT DEBUG LOG LEVEL +CONFIG_BT_NIMBLE_GATT_SERVER=y +# end of Roles and Profiles +# +# Security (SMP) +# # default: -CONFIG_BT_ACL_CONNECTIONS=4 +CONFIG_BT_NIMBLE_SECURITY_ENABLE=y # default: -CONFIG_BT_MULTI_CONNECTION_ENBALE=y +CONFIG_BT_NIMBLE_SM_LEGACY=y # default: -# CONFIG_BT_ALLOCATION_FROM_SPIRAM_FIRST is not set +CONFIG_BT_NIMBLE_SM_SC=y # default: -# CONFIG_BT_BLE_DYNAMIC_ENV_MEMORY is not set +# CONFIG_BT_NIMBLE_SM_SC_DEBUG_KEYS is not set # default: -CONFIG_BT_SMP_ENABLE=y +CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_ENCRYPTION=y # default: -CONFIG_BT_SMP_MAX_BONDS=15 +CONFIG_BT_NIMBLE_SM_LVL=0 # default: -# CONFIG_BT_BLE_ACT_SCAN_REP_ADV_SCAN is not set +CONFIG_BT_NIMBLE_SM_SC_ONLY=0 # default: -CONFIG_BT_MAX_DEVICE_NAME_LEN=32 +# CONFIG_BT_NIMBLE_SMP_ID_RESET is not set # default: -CONFIG_BT_BLE_RPA_TIMEOUT=900 -CONFIG_BT_BLE_42_FEATURES_SUPPORTED=y +# CONFIG_BT_NIMBLE_NVS_PERSIST is not set # default: -CONFIG_BT_BLE_42_DTM_TEST_EN=y +CONFIG_BT_NIMBLE_MAX_BONDS=3 # default: -CONFIG_BT_BLE_42_ADV_EN=y +# CONFIG_BT_NIMBLE_HANDLE_REPEAT_PAIRING_DELETION is not set +# end of Security (SMP) + +# +# GAP +# # default: -CONFIG_BT_BLE_42_SCAN_EN=y +CONFIG_BT_NIMBLE_RPA_TIMEOUT=900 # default: -CONFIG_BT_BLE_VENDOR_HCI_EN=y +CONFIG_BT_NIMBLE_WHITELIST_SIZE=12 # default: -# CONFIG_BT_BLE_HIGH_DUTY_ADV_INTERVAL is not set +# CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT is not set # default: -# CONFIG_BT_ABORT_WHEN_ALLOCATION_FAILS is not set -# end of Bluedroid Options +CONFIG_BT_NIMBLE_HS_PVCY=y +# default: +# CONFIG_BT_NIMBLE_HOST_BASED_PRIVACY is not set +# default: +# CONFIG_BT_NIMBLE_HOST_ALLOW_CONNECT_WITH_SCAN is not set +# default: +# CONFIG_BT_NIMBLE_HOST_QUEUE_CONG_CHECK is not set +CONFIG_BT_NIMBLE_MAX_CONNECTIONS=1 +# default: +CONFIG_BT_NIMBLE_MAX_CCCDS=8 +# default: +CONFIG_BT_NIMBLE_CRYPTO_STACK_MBEDTLS=y +# default: +CONFIG_BT_NIMBLE_HS_STOP_TIMEOUT_MS=2000 +# default: +CONFIG_BT_NIMBLE_USE_ESP_TIMER=y +# default: +CONFIG_BT_NIMBLE_HS_FLOW_CTRL=y +# default: +CONFIG_BT_NIMBLE_HS_FLOW_CTRL_ITVL=1000 +# default: +CONFIG_BT_NIMBLE_HS_FLOW_CTRL_THRESH=2 +# default: +CONFIG_BT_NIMBLE_HS_FLOW_CTRL_TX_ON_DISCONNECT=y +# end of GAP + +# +# GATT / ATT +# +# default: +CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU=256 +# default: +CONFIG_BT_NIMBLE_ATT_MAX_PREP_ENTRIES=64 +# default: +CONFIG_BT_NIMBLE_GATT_MAX_PROCS=4 +# default: +# CONFIG_BT_NIMBLE_BLE_GATT_BLOB_TRANSFER is not set +# default: +# CONFIG_BT_NIMBLE_GATT_CACHING is not set +# default: +# CONFIG_BT_NIMBLE_INCL_SVC_DISCOVERY is not set +# end of GATT / ATT + +# +# L2CAP +# +# default: +CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM=0 +# end of L2CAP + +# +# Memory Settings +# +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=16 +# default: +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_SIZE=256 +CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=12 +CONFIG_BT_NIMBLE_MSYS_2_BLOCK_SIZE=320 +# default: +CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=24 +# default: +CONFIG_BT_NIMBLE_TRANSPORT_ACL_SIZE=255 +# default: +CONFIG_BT_NIMBLE_TRANSPORT_EVT_SIZE=70 +# default: +CONFIG_BT_NIMBLE_TRANSPORT_EVT_COUNT=30 +# default: +CONFIG_BT_NIMBLE_TRANSPORT_EVT_DISCARD_COUNT=8 +# default: +CONFIG_BT_NIMBLE_L2CAP_COC_SDU_BUFF_COUNT=1 +# default: +# CONFIG_BT_NIMBLE_MEMPOOL_RUNTIME_ALLOC is not set +# end of Memory Settings + +# +# BLE 5.x Features +# +# end of BLE 5.x Features + +# +# Services +# +# default: +CONFIG_BT_NIMBLE_PROX_SERVICE=y +# default: +CONFIG_BT_NIMBLE_ANS_SERVICE=y +# default: +CONFIG_BT_NIMBLE_CTS_SERVICE=y +# default: +CONFIG_BT_NIMBLE_HTP_SERVICE=y +# default: +CONFIG_BT_NIMBLE_IPSS_SERVICE=y +# default: +CONFIG_BT_NIMBLE_TPS_SERVICE=y +# default: +CONFIG_BT_NIMBLE_IAS_SERVICE=y +# default: +CONFIG_BT_NIMBLE_LLS_SERVICE=y +# default: +CONFIG_BT_NIMBLE_SPS_SERVICE=y +# default: +CONFIG_BT_NIMBLE_HR_SERVICE=y +# default: +# CONFIG_BT_NIMBLE_HID_SERVICE is not set +# default: +CONFIG_BT_NIMBLE_BAS_SERVICE=y +# default: +# CONFIG_BT_NIMBLE_SVC_BAS_BATTERY_LEVEL_NOTIFY is not set +# default: +CONFIG_BT_NIMBLE_DIS_SERVICE=y +# default: +# CONFIG_BT_NIMBLE_SVC_DIS_MANUFACTURER_NAME is not set +# default: +# CONFIG_BT_NIMBLE_SVC_DIS_SERIAL_NUMBER is not set +# default: +# CONFIG_BT_NIMBLE_SVC_DIS_HARDWARE_REVISION is not set +# default: +# CONFIG_BT_NIMBLE_SVC_DIS_FIRMWARE_REVISION is not set +# default: +# CONFIG_BT_NIMBLE_SVC_DIS_SOFTWARE_REVISION is not set +# default: +# CONFIG_BT_NIMBLE_SVC_DIS_SYSTEM_ID is not set +# default: +# CONFIG_BT_NIMBLE_SVC_DIS_PNP_ID is not set +# default: +# CONFIG_BT_NIMBLE_SVC_DIS_INCLUDED is not set +# default: +CONFIG_BT_NIMBLE_GAP_SERVICE=y +# default: +CONFIG_BT_NIMBLE_SVC_GAP_DEVICE_NAME="nimble" +# default: +CONFIG_BT_NIMBLE_GAP_DEVICE_NAME_MAX_LEN=31 +# default: +CONFIG_BT_NIMBLE_SVC_GAP_APPEARANCE=0 +# default: +CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM=0 +# default: +CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_ENC=0 +# default: +CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_AUTHEN=0 +# default: +CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_AUTHOR=0 +# default: +# CONFIG_BT_NIMBLE_SVC_GAP_GATT_SECURITY_LEVEL is not set +# default: +# CONFIG_BT_NIMBLE_SVC_GAP_RPA_ONLY is not set +# default: +CONFIG_BT_NIMBLE_SVC_GAP_CAR_CHAR_NOT_SUPP=y +# default: +# CONFIG_BT_NIMBLE_SVC_GAP_CAR_NOT_SUPP is not set +# default: +# CONFIG_BT_NIMBLE_SVC_GAP_CAR_SUPP is not set +# default: +CONFIG_BT_NIMBLE_SVC_GAP_CENT_ADDR_RESOLUTION=-1 + +# +# GAP Appearance write permissions +# +# default: +# CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE is not set +# default: +CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM=0 +# default: +CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ENC=0 +# default: +CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ATHN=0 +# default: +CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ATHR=0 +# end of GAP Appearance write permissions + +# +# GAP device name write permissions +# +# default: +# CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE is not set +# end of GAP device name write permissions + +# +# Peripheral Preferred Connection Parameters (PPCP) settings +# +# default: +CONFIG_BT_NIMBLE_SVC_GAP_PPCP_MAX_CONN_INTERVAL=0 +# default: +CONFIG_BT_NIMBLE_SVC_GAP_PPCP_MIN_CONN_INTERVAL=0 +# default: +CONFIG_BT_NIMBLE_SVC_GAP_PPCP_SLAVE_LATENCY=0 +# default: +CONFIG_BT_NIMBLE_SVC_GAP_PPCP_SUPERVISION_TMO=0 +# end of Peripheral Preferred Connection Parameters (PPCP) settings +# end of Services + +# +# Extra Features +# +# default: +# CONFIG_BT_NIMBLE_DYNAMIC_SERVICE is not set +# default: +# CONFIG_BT_NIMBLE_BLUFI_ENABLE is not set +# default: +# CONFIG_BT_NIMBLE_ENC_ADV_DATA is not set +# default: +# CONFIG_BT_NIMBLE_ADV_UUID_CONCAT is not set +# default: +# CONFIG_BT_NIMBLE_GATTC_PROC_PREEMPTION_PROTECT is not set +# default: +# CONFIG_BT_NIMBLE_GATTC_AUTO_PAIR is not set +# default: +CONFIG_BT_NIMBLE_EATT_CHAN_NUM=0 +# default: +# CONFIG_BT_NIMBLE_SUBRATE is not set +# default: +# CONFIG_BT_NIMBLE_STATIC_PASSKEY is not set +# default: +CONFIG_BT_NIMBLE_DTM_MODE_TEST=y +# default: +CONFIG_BT_NIMBLE_MEM_OPTIMIZATION=y +# default: +CONFIG_BT_NIMBLE_STATIC_TO_DYNAMIC=y +# default: +CONFIG_BT_NIMBLE_SM_SIGN_CNT=y +# default: +CONFIG_BT_NIMBLE_CPFD_CAFD=y +# default: +CONFIG_BT_NIMBLE_RECONFIG_MTU=y +# default: +# CONFIG_BT_NIMBLE_LOW_SPEED_MODE is not set +# end of Extra Features + +# +# NimBLE Mesh +# +# default: +# CONFIG_BT_NIMBLE_MESH is not set +# end of NimBLE Mesh + +# +# Host-controller Transport +# +# default: +CONFIG_UART_HW_FLOWCTRL_DISABLE=y +# default: +# CONFIG_UART_HW_FLOWCTRL_CTS_RTS is not set +# default: +CONFIG_BT_NIMBLE_HCI_UART_FLOW_CTRL=0 +# default: +CONFIG_BT_NIMBLE_HCI_UART_RTS_PIN=19 +# default: +CONFIG_BT_NIMBLE_HCI_UART_CTS_PIN=23 +# end of Host-controller Transport + +# +# Debugging/Testing +# +# default: +# CONFIG_BT_NIMBLE_MEM_DEBUG is not set +# default: +# CONFIG_BT_NIMBLE_LOG_LEVEL_NONE is not set +# default: +# CONFIG_BT_NIMBLE_LOG_LEVEL_ERROR is not set +# default: +# CONFIG_BT_NIMBLE_LOG_LEVEL_WARNING is not set +# default: +CONFIG_BT_NIMBLE_LOG_LEVEL_INFO=y +# default: +# CONFIG_BT_NIMBLE_LOG_LEVEL_DEBUG is not set +# default: +CONFIG_BT_NIMBLE_LOG_LEVEL=1 +# default: +CONFIG_BT_NIMBLE_PRINT_ERR_NAME=y +# default: +# CONFIG_BT_NIMBLE_DEBUG is not set +# default: +# CONFIG_BT_NIMBLE_TEST_THROUGHPUT_TEST is not set +# end of Debugging/Testing + +# +# Vendor / Optimization +# +# default: +# CONFIG_BT_NIMBLE_VS_SUPPORT is not set +# default: +# CONFIG_BT_NIMBLE_OPTIMIZE_MULTI_CONN is not set +# default: +# CONFIG_BT_NIMBLE_HIGH_DUTY_ADV_ITVL is not set +# end of Vendor / Optimization + +# +# Helper Utils +# +# default: +CONFIG_BT_NIMBLE_CHK_HOST_STATUS=y +# default: +CONFIG_BT_NIMBLE_UTIL_API=y +# default: +CONFIG_BT_NIMBLE_EXTRA_ADV_FIELDS=y +# end of Helper Utils +# end of NimBLE Options # # Controller Options @@ -1322,9 +1238,7 @@ CONFIG_BTDM_CTRL_FULL_SCAN_SUPPORTED=y # CONFIG_BTDM_CTRL_SCAN_BACKOFF_UPPERLIMITMAX is not set # default: # CONFIG_BTDM_CTRL_CHECK_CONNECT_IND_ACCESS_ADDRESS is not set -# default: CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_SUPP=y -# default: CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_NUM=100 # default: CONFIG_BTDM_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 @@ -1356,8 +1270,6 @@ CONFIG_BTDM_CTRL_HLI=y # default: CONFIG_BT_ALARM_MAX_NUM=50 # default: -# CONFIG_BT_SMP_CRYPTO_STACK_NATIVE is not set -# default: CONFIG_BT_SMP_CRYPTO_STACK_TINYCRYPT=y # default: # CONFIG_BT_SMP_CRYPTO_STACK_MBEDTLS is not set @@ -1472,7 +1384,6 @@ CONFIG_ESP_TLS_DYN_BUF_STRATEGY_SUPPORTED=y # # default: CONFIG_ESP_COEX_ENABLED=y -# default: CONFIG_ESP_COEX_SW_COEXIST_ENABLE=y # default: # CONFIG_ESP_COEX_POWER_MANAGEMENT is not set @@ -2112,10 +2023,8 @@ CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y CONFIG_ESP_WIFI_RX_BA_WIN=6 # default: CONFIG_ESP_WIFI_NVS_ENABLED=y -# default: -CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_0=y -# default: -# CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_1 is not set +# CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_0 is not set +CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_1=y # default: CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752 # default: @@ -3333,6 +3242,15 @@ CONFIG_SENSOR_RESET_GPIO=0 CONFIG_SENSOR_RESET_HOLD_MS=5000 # end of Sensor Configuration +# +# BLE Scanner +# +# default: +CONFIG_BLE_SCAN_INTERVAL_MS=100 +# default: +CONFIG_BLE_SCAN_WINDOW_MS=80 +# end of BLE Scanner + # # cJSON # @@ -3423,8 +3341,9 @@ CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y # CONFIG_MQTT_REPORT_DELETED_MESSAGES is not set # default: # CONFIG_MQTT_USE_CUSTOM_CONFIG is not set -# default: -# CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED is not set +CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED=y +# CONFIG_MQTT_USE_CORE_0 is not set +CONFIG_MQTT_USE_CORE_1=y # default: # CONFIG_MQTT_CUSTOM_OUTBOX is not set # end of ESP-MQTT Configurations @@ -3441,6 +3360,8 @@ CONFIG_NETWORK_PROV_AUTOSTOP_TIMEOUT=30 # default: # CONFIG_NETWORK_PROV_BLE_BONDING is not set # default: +CONFIG_NETWORK_PROV_BLE_SEC_CONN=y +# default: # CONFIG_NETWORK_PROV_BLE_FORCE_ENCRYPTION is not set # default: # CONFIG_NETWORK_PROV_BLE_NOTIFY is not set @@ -3491,187 +3412,46 @@ CONFIG_STACK_CHECK_NONE=y # CONFIG_STACK_CHECK_STRONG is not set # CONFIG_STACK_CHECK_ALL is not set # CONFIG_WARN_WRITE_STRINGS is not set -CONFIG_BLUEDROID_ENABLED=y -# CONFIG_NIMBLE_ENABLED is not set -CONFIG_BTC_TASK_STACK_SIZE=3072 -CONFIG_BLUEDROID_PINNED_TO_CORE_0=y -# CONFIG_BLUEDROID_PINNED_TO_CORE_1 is not set -CONFIG_BLUEDROID_PINNED_TO_CORE=0 -CONFIG_BTU_TASK_STACK_SIZE=4352 -# CONFIG_CLASSIC_BT_ENABLED is not set -CONFIG_GATTS_ENABLE=y -# CONFIG_GATTS_SEND_SERVICE_CHANGE_MANUAL is not set -CONFIG_GATTS_SEND_SERVICE_CHANGE_AUTO=y -CONFIG_GATTS_SEND_SERVICE_CHANGE_MODE=0 -CONFIG_GATTC_ENABLE=y -# CONFIG_GATTC_CACHE_NVS_FLASH is not set -CONFIG_BLE_ESTABLISH_LINK_CONNECTION_TIMEOUT=30 -CONFIG_BLE_SMP_ENABLE=y -# CONFIG_SMP_SLAVE_CON_PARAMS_UPD_ENABLE is not set -# CONFIG_BLUEDROID_MEM_DEBUG is not set -# CONFIG_HCI_TRACE_LEVEL_NONE is not set -# CONFIG_HCI_TRACE_LEVEL_ERROR is not set -CONFIG_HCI_TRACE_LEVEL_WARNING=y -# CONFIG_HCI_TRACE_LEVEL_API is not set -# CONFIG_HCI_TRACE_LEVEL_EVENT is not set -# CONFIG_HCI_TRACE_LEVEL_DEBUG is not set -# CONFIG_HCI_TRACE_LEVEL_VERBOSE is not set -CONFIG_HCI_INITIAL_TRACE_LEVEL=2 -# CONFIG_BTM_TRACE_LEVEL_NONE is not set -# CONFIG_BTM_TRACE_LEVEL_ERROR is not set -CONFIG_BTM_TRACE_LEVEL_WARNING=y -# CONFIG_BTM_TRACE_LEVEL_API is not set -# CONFIG_BTM_TRACE_LEVEL_EVENT is not set -# CONFIG_BTM_TRACE_LEVEL_DEBUG is not set -# CONFIG_BTM_TRACE_LEVEL_VERBOSE is not set -CONFIG_BTM_INITIAL_TRACE_LEVEL=2 -# CONFIG_L2CAP_TRACE_LEVEL_NONE is not set -# CONFIG_L2CAP_TRACE_LEVEL_ERROR is not set -CONFIG_L2CAP_TRACE_LEVEL_WARNING=y -# CONFIG_L2CAP_TRACE_LEVEL_API is not set -# CONFIG_L2CAP_TRACE_LEVEL_EVENT is not set -# CONFIG_L2CAP_TRACE_LEVEL_DEBUG is not set -# CONFIG_L2CAP_TRACE_LEVEL_VERBOSE is not set -CONFIG_L2CAP_INITIAL_TRACE_LEVEL=2 -# CONFIG_RFCOMM_TRACE_LEVEL_NONE is not set -# CONFIG_RFCOMM_TRACE_LEVEL_ERROR is not set -CONFIG_RFCOMM_TRACE_LEVEL_WARNING=y -# CONFIG_RFCOMM_TRACE_LEVEL_API is not set -# CONFIG_RFCOMM_TRACE_LEVEL_EVENT is not set -# CONFIG_RFCOMM_TRACE_LEVEL_DEBUG is not set -# CONFIG_RFCOMM_TRACE_LEVEL_VERBOSE is not set -CONFIG_RFCOMM_INITIAL_TRACE_LEVEL=2 -# CONFIG_SDP_TRACE_LEVEL_NONE is not set -# CONFIG_SDP_TRACE_LEVEL_ERROR is not set -CONFIG_SDP_TRACE_LEVEL_WARNING=y -# CONFIG_SDP_TRACE_LEVEL_API is not set -# CONFIG_SDP_TRACE_LEVEL_EVENT is not set -# CONFIG_SDP_TRACE_LEVEL_DEBUG is not set -# CONFIG_SDP_TRACE_LEVEL_VERBOSE is not set -CONFIG_BTH_LOG_SDP_INITIAL_TRACE_LEVEL=2 -# CONFIG_GAP_TRACE_LEVEL_NONE is not set -# CONFIG_GAP_TRACE_LEVEL_ERROR is not set -CONFIG_GAP_TRACE_LEVEL_WARNING=y -# CONFIG_GAP_TRACE_LEVEL_API is not set -# CONFIG_GAP_TRACE_LEVEL_EVENT is not set -# CONFIG_GAP_TRACE_LEVEL_DEBUG is not set -# CONFIG_GAP_TRACE_LEVEL_VERBOSE is not set -CONFIG_GAP_INITIAL_TRACE_LEVEL=2 -CONFIG_BNEP_INITIAL_TRACE_LEVEL=2 -# CONFIG_PAN_TRACE_LEVEL_NONE is not set -# CONFIG_PAN_TRACE_LEVEL_ERROR is not set -CONFIG_PAN_TRACE_LEVEL_WARNING=y -# CONFIG_PAN_TRACE_LEVEL_API is not set -# CONFIG_PAN_TRACE_LEVEL_EVENT is not set -# CONFIG_PAN_TRACE_LEVEL_DEBUG is not set -# CONFIG_PAN_TRACE_LEVEL_VERBOSE is not set -CONFIG_PAN_INITIAL_TRACE_LEVEL=2 -# CONFIG_A2D_TRACE_LEVEL_NONE is not set -# CONFIG_A2D_TRACE_LEVEL_ERROR is not set -CONFIG_A2D_TRACE_LEVEL_WARNING=y -# CONFIG_A2D_TRACE_LEVEL_API is not set -# CONFIG_A2D_TRACE_LEVEL_EVENT is not set -# CONFIG_A2D_TRACE_LEVEL_DEBUG is not set -# CONFIG_A2D_TRACE_LEVEL_VERBOSE is not set -CONFIG_A2D_INITIAL_TRACE_LEVEL=2 -# CONFIG_AVDT_TRACE_LEVEL_NONE is not set -# CONFIG_AVDT_TRACE_LEVEL_ERROR is not set -CONFIG_AVDT_TRACE_LEVEL_WARNING=y -# CONFIG_AVDT_TRACE_LEVEL_API is not set -# CONFIG_AVDT_TRACE_LEVEL_EVENT is not set -# CONFIG_AVDT_TRACE_LEVEL_DEBUG is not set -# CONFIG_AVDT_TRACE_LEVEL_VERBOSE is not set -CONFIG_AVDT_INITIAL_TRACE_LEVEL=2 -# CONFIG_AVCT_TRACE_LEVEL_NONE is not set -# CONFIG_AVCT_TRACE_LEVEL_ERROR is not set -CONFIG_AVCT_TRACE_LEVEL_WARNING=y -# CONFIG_AVCT_TRACE_LEVEL_API is not set -# CONFIG_AVCT_TRACE_LEVEL_EVENT is not set -# CONFIG_AVCT_TRACE_LEVEL_DEBUG is not set -# CONFIG_AVCT_TRACE_LEVEL_VERBOSE is not set -CONFIG_AVCT_INITIAL_TRACE_LEVEL=2 -# CONFIG_AVRC_TRACE_LEVEL_NONE is not set -# CONFIG_AVRC_TRACE_LEVEL_ERROR is not set -CONFIG_AVRC_TRACE_LEVEL_WARNING=y -# CONFIG_AVRC_TRACE_LEVEL_API is not set -# CONFIG_AVRC_TRACE_LEVEL_EVENT is not set -# CONFIG_AVRC_TRACE_LEVEL_DEBUG is not set -# CONFIG_AVRC_TRACE_LEVEL_VERBOSE is not set -CONFIG_AVRC_INITIAL_TRACE_LEVEL=2 -# CONFIG_MCA_TRACE_LEVEL_NONE is not set -# CONFIG_MCA_TRACE_LEVEL_ERROR is not set -CONFIG_MCA_TRACE_LEVEL_WARNING=y -# CONFIG_MCA_TRACE_LEVEL_API is not set -# CONFIG_MCA_TRACE_LEVEL_EVENT is not set -# CONFIG_MCA_TRACE_LEVEL_DEBUG is not set -# CONFIG_MCA_TRACE_LEVEL_VERBOSE is not set -CONFIG_MCA_INITIAL_TRACE_LEVEL=2 -# CONFIG_HID_TRACE_LEVEL_NONE is not set -# CONFIG_HID_TRACE_LEVEL_ERROR is not set -CONFIG_HID_TRACE_LEVEL_WARNING=y -# CONFIG_HID_TRACE_LEVEL_API is not set -# CONFIG_HID_TRACE_LEVEL_EVENT is not set -# CONFIG_HID_TRACE_LEVEL_DEBUG is not set -# CONFIG_HID_TRACE_LEVEL_VERBOSE is not set -CONFIG_HID_INITIAL_TRACE_LEVEL=2 -# CONFIG_APPL_TRACE_LEVEL_NONE is not set -# CONFIG_APPL_TRACE_LEVEL_ERROR is not set -CONFIG_APPL_TRACE_LEVEL_WARNING=y -# CONFIG_APPL_TRACE_LEVEL_API is not set -# CONFIG_APPL_TRACE_LEVEL_EVENT is not set -# CONFIG_APPL_TRACE_LEVEL_DEBUG is not set -# CONFIG_APPL_TRACE_LEVEL_VERBOSE is not set -CONFIG_APPL_INITIAL_TRACE_LEVEL=2 -# CONFIG_GATT_TRACE_LEVEL_NONE is not set -# CONFIG_GATT_TRACE_LEVEL_ERROR is not set -CONFIG_GATT_TRACE_LEVEL_WARNING=y -# CONFIG_GATT_TRACE_LEVEL_API is not set -# CONFIG_GATT_TRACE_LEVEL_EVENT is not set -# CONFIG_GATT_TRACE_LEVEL_DEBUG is not set -# CONFIG_GATT_TRACE_LEVEL_VERBOSE is not set -CONFIG_GATT_INITIAL_TRACE_LEVEL=2 -# CONFIG_SMP_TRACE_LEVEL_NONE is not set -# CONFIG_SMP_TRACE_LEVEL_ERROR is not set -CONFIG_SMP_TRACE_LEVEL_WARNING=y -# CONFIG_SMP_TRACE_LEVEL_API is not set -# CONFIG_SMP_TRACE_LEVEL_EVENT is not set -# CONFIG_SMP_TRACE_LEVEL_DEBUG is not set -# CONFIG_SMP_TRACE_LEVEL_VERBOSE is not set -CONFIG_SMP_INITIAL_TRACE_LEVEL=2 -# CONFIG_BTIF_TRACE_LEVEL_NONE is not set -# CONFIG_BTIF_TRACE_LEVEL_ERROR is not set -CONFIG_BTIF_TRACE_LEVEL_WARNING=y -# CONFIG_BTIF_TRACE_LEVEL_API is not set -# CONFIG_BTIF_TRACE_LEVEL_EVENT is not set -# CONFIG_BTIF_TRACE_LEVEL_DEBUG is not set -# CONFIG_BTIF_TRACE_LEVEL_VERBOSE is not set -CONFIG_BTIF_INITIAL_TRACE_LEVEL=2 -# CONFIG_BTC_TRACE_LEVEL_NONE is not set -# CONFIG_BTC_TRACE_LEVEL_ERROR is not set -CONFIG_BTC_TRACE_LEVEL_WARNING=y -# CONFIG_BTC_TRACE_LEVEL_API is not set -# CONFIG_BTC_TRACE_LEVEL_EVENT is not set -# CONFIG_BTC_TRACE_LEVEL_DEBUG is not set -# CONFIG_BTC_TRACE_LEVEL_VERBOSE is not set -CONFIG_BTC_INITIAL_TRACE_LEVEL=2 -# CONFIG_OSI_TRACE_LEVEL_NONE is not set -# CONFIG_OSI_TRACE_LEVEL_ERROR is not set -CONFIG_OSI_TRACE_LEVEL_WARNING=y -# CONFIG_OSI_TRACE_LEVEL_API is not set -# CONFIG_OSI_TRACE_LEVEL_EVENT is not set -# CONFIG_OSI_TRACE_LEVEL_DEBUG is not set -# CONFIG_OSI_TRACE_LEVEL_VERBOSE is not set -CONFIG_OSI_INITIAL_TRACE_LEVEL=2 -# CONFIG_BLUFI_TRACE_LEVEL_NONE is not set -# CONFIG_BLUFI_TRACE_LEVEL_ERROR is not set -CONFIG_BLUFI_TRACE_LEVEL_WARNING=y -# CONFIG_BLUFI_TRACE_LEVEL_API is not set -# CONFIG_BLUFI_TRACE_LEVEL_EVENT is not set -# CONFIG_BLUFI_TRACE_LEVEL_DEBUG is not set -# CONFIG_BLUFI_TRACE_LEVEL_VERBOSE is not set -CONFIG_BLUFI_INITIAL_TRACE_LEVEL=2 -CONFIG_SMP_ENABLE=y -# CONFIG_BLE_ACTIVE_SCAN_REPORT_ADV_SCAN_RSP_INDIVIDUALLY is not set +# CONFIG_BLUEDROID_ENABLED is not set +CONFIG_NIMBLE_ENABLED=y +CONFIG_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y +# CONFIG_NIMBLE_MEM_ALLOC_MODE_DEFAULT is not set +CONFIG_NIMBLE_PINNED_TO_CORE=0 +CONFIG_NIMBLE_PINNED_TO_CORE_0=y +# CONFIG_NIMBLE_PINNED_TO_CORE_1 is not set +CONFIG_NIMBLE_TASK_STACK_SIZE=4096 +CONFIG_BT_NIMBLE_TASK_STACK_SIZE=4096 +CONFIG_NIMBLE_ROLE_CENTRAL=y +CONFIG_NIMBLE_ROLE_PERIPHERAL=y +CONFIG_NIMBLE_ROLE_BROADCASTER=y +CONFIG_NIMBLE_ROLE_OBSERVER=y +CONFIG_NIMBLE_SM_LEGACY=y +CONFIG_NIMBLE_SM_SC=y +# CONFIG_NIMBLE_SM_SC_DEBUG_KEYS is not set +CONFIG_BT_NIMBLE_SM_SC_LVL=0 +# CONFIG_NIMBLE_NVS_PERSIST is not set +CONFIG_NIMBLE_MAX_BONDS=3 +CONFIG_NIMBLE_RPA_TIMEOUT=900 +CONFIG_NIMBLE_MAX_CONNECTIONS=1 +CONFIG_NIMBLE_MAX_CCCDS=8 +CONFIG_NIMBLE_CRYPTO_STACK_MBEDTLS=y +CONFIG_NIMBLE_HS_FLOW_CTRL=y +CONFIG_NIMBLE_HS_FLOW_CTRL_ITVL=1000 +CONFIG_NIMBLE_HS_FLOW_CTRL_THRESH=2 +CONFIG_NIMBLE_HS_FLOW_CTRL_TX_ON_DISCONNECT=y +CONFIG_NIMBLE_ATT_PREFERRED_MTU=256 +CONFIG_NIMBLE_L2CAP_COC_MAX_NUM=0 +CONFIG_BT_NIMBLE_MSYS1_BLOCK_COUNT=16 +CONFIG_BT_NIMBLE_ACL_BUF_COUNT=24 +CONFIG_BT_NIMBLE_ACL_BUF_SIZE=255 +CONFIG_BT_NIMBLE_HCI_EVT_BUF_SIZE=70 +CONFIG_BT_NIMBLE_HCI_EVT_HI_BUF_COUNT=30 +CONFIG_BT_NIMBLE_HCI_EVT_LO_BUF_COUNT=8 +CONFIG_NIMBLE_SVC_GAP_DEVICE_NAME="nimble" +CONFIG_NIMBLE_GAP_DEVICE_NAME_MAX_LEN=31 +CONFIG_NIMBLE_SVC_GAP_APPEARANCE=0x0 +# CONFIG_NIMBLE_MESH is not set +# CONFIG_NIMBLE_DEBUG is not set CONFIG_BTDM_CONTROLLER_MODE_BLE_ONLY=y # CONFIG_BTDM_CONTROLLER_MODE_BR_EDR_ONLY is not set # CONFIG_BTDM_CONTROLLER_MODE_BTDM is not set @@ -3813,8 +3593,8 @@ CONFIG_ESP32_WIFI_TX_BA_WIN=6 CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y CONFIG_ESP32_WIFI_RX_BA_WIN=6 CONFIG_ESP32_WIFI_NVS_ENABLED=y -CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y -# CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1 is not set +# CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0 is not set +CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1=y CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 CONFIG_ESP32_WIFI_IRAM_OPT=y diff --git a/sdkconfig.defaults b/sdkconfig.defaults index 0e57c66..7022011 100644 --- a/sdkconfig.defaults +++ b/sdkconfig.defaults @@ -1,7 +1,18 @@ CONFIG_BT_ENABLED=y CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y -CONFIG_BT_BLUEDROID_ENABLED=y -CONFIG_BT_BLE_42_FEATURES_SUPPORTED=y +CONFIG_BT_NIMBLE_ENABLED=y +# NimBLE host task pinned to core 0 alongside the BT controller (WiFi stays core 1) +CONFIG_BT_NIMBLE_PINNED_TO_CORE_0=y +# Only provisioning needs 1 connection; scanning needs 0 +CONFIG_BT_NIMBLE_MAX_CONNECTIONS=1 +# mbuf pool sized for high-throughput advertisement reports +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=16 +CONFIG_BT_NIMBLE_MSYS_2_BLOCK_SIZE=320 +CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=6 +CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE=4096 +# Advertisement report flow control +CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_SUPP=y +CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_NUM=100 # WiFi CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10