mirror of
https://github.com/espressif/esp-idf.git
synced 2025-07-30 18:57:19 +02:00
Merge branch 'feat/autopts_and_ssc_fixes_v5.2' into 'release/v5.2'
feat(nimble): Added fixes related to SSC and AutoPTS testing (v5.2) See merge request espressif/esp-idf!38798
This commit is contained in:
@ -40,6 +40,7 @@ extern "C" {
|
|||||||
#define DEFAULT_BT_LE_HCI_EVT_HI_BUF_COUNT MYNEWT_VAL(BLE_TRANSPORT_EVT_COUNT)
|
#define DEFAULT_BT_LE_HCI_EVT_HI_BUF_COUNT MYNEWT_VAL(BLE_TRANSPORT_EVT_COUNT)
|
||||||
#define DEFAULT_BT_LE_HCI_EVT_LO_BUF_COUNT MYNEWT_VAL(BLE_TRANSPORT_EVT_DISCARDABLE_COUNT)
|
#define DEFAULT_BT_LE_HCI_EVT_LO_BUF_COUNT MYNEWT_VAL(BLE_TRANSPORT_EVT_DISCARDABLE_COUNT)
|
||||||
#define DEFAULT_BT_LE_POWER_CONTROL_ENABLED MYNEWT_VAL(BLE_POWER_CONTROL)
|
#define DEFAULT_BT_LE_POWER_CONTROL_ENABLED MYNEWT_VAL(BLE_POWER_CONTROL)
|
||||||
|
#define DEFAULT_BT_LE_SUBRATE_ENABLED MYNEWT_VAL(BLE_CONN_SUBRATING)
|
||||||
#if defined(CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT)
|
#if defined(CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT)
|
||||||
#define DEFAULT_BT_LE_50_FEATURE_SUPPORT (1)
|
#define DEFAULT_BT_LE_50_FEATURE_SUPPORT (1)
|
||||||
#else
|
#else
|
||||||
@ -144,6 +145,8 @@ extern "C" {
|
|||||||
#define DEFAULT_BT_LE_HCI_UART_CTS_PIN (-1)
|
#define DEFAULT_BT_LE_HCI_UART_CTS_PIN (-1)
|
||||||
#define DEFAULT_BT_LE_HCI_UART_RTS_PIN (-1)
|
#define DEFAULT_BT_LE_HCI_UART_RTS_PIN (-1)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define DEFAULT_BT_LE_SUBRATE_ENABLED 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define DEFAULT_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EFF CONFIG_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EFF
|
#define DEFAULT_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EFF CONFIG_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EFF
|
||||||
|
@ -683,46 +683,45 @@ if BT_NIMBLE_50_FEATURE_SUPPORT
|
|||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Enable support for Connectionless and Connection Oriented Direction Finding
|
Enable support for Connectionless and Connection Oriented Direction Finding
|
||||||
|
|
||||||
menuconfig BT_NIMBLE_GATT_CACHING
|
|
||||||
bool "Enable GATT caching"
|
|
||||||
depends on BT_NIMBLE_ENABLED && BT_NIMBLE_50_FEATURE_SUPPORT
|
|
||||||
select BT_NIMBLE_DYNAMIC_SERVICE
|
|
||||||
help
|
|
||||||
Enable GATT caching
|
|
||||||
config BT_NIMBLE_GATT_CACHING_MAX_CONNS
|
|
||||||
int "Maximum connections to be cached"
|
|
||||||
depends on BT_NIMBLE_GATT_CACHING
|
|
||||||
default 1
|
|
||||||
help
|
|
||||||
Set this option to set the upper limit on number of connections to be cached.
|
|
||||||
config BT_NIMBLE_GATT_CACHING_MAX_SVCS
|
|
||||||
int "Maximum number of services per connection"
|
|
||||||
depends on BT_NIMBLE_GATT_CACHING
|
|
||||||
default 64
|
|
||||||
help
|
|
||||||
Set this option to set the upper limit on number of services per connection to be cached.
|
|
||||||
config BT_NIMBLE_GATT_CACHING_MAX_CHRS
|
|
||||||
int "Maximum number of characteristics per connection"
|
|
||||||
depends on BT_NIMBLE_GATT_CACHING
|
|
||||||
default 64
|
|
||||||
help
|
|
||||||
Set this option to set the upper limit on number of characteristics per connection to be cached.
|
|
||||||
config BT_NIMBLE_GATT_CACHING_MAX_DSCS
|
|
||||||
int "Maximum number of descriptors per connection"
|
|
||||||
depends on BT_NIMBLE_GATT_CACHING
|
|
||||||
default 64
|
|
||||||
help
|
|
||||||
Set this option to set the upper limit on number of descriptors per connection to be cached.
|
|
||||||
config BT_NIMBLE_GATT_CACHING_DISABLE_AUTO
|
|
||||||
bool "Do not start discovery procedure automatically upon receiving Out of Sync"
|
|
||||||
depends on BT_NIMBLE_GATT_CACHING
|
|
||||||
default n
|
|
||||||
help
|
|
||||||
When client receives ATT out-of-sync error message, it will not automatically start the discovery procedure
|
|
||||||
to correct the invalid cache.
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
menuconfig BT_NIMBLE_GATT_CACHING
|
||||||
|
bool "Enable GATT caching"
|
||||||
|
depends on BT_NIMBLE_ENABLED
|
||||||
|
select BT_NIMBLE_DYNAMIC_SERVICE
|
||||||
|
help
|
||||||
|
Enable GATT caching
|
||||||
|
config BT_NIMBLE_GATT_CACHING_MAX_CONNS
|
||||||
|
int "Maximum connections to be cached"
|
||||||
|
depends on BT_NIMBLE_GATT_CACHING
|
||||||
|
default BT_NIMBLE_MAX_CONNECTIONS
|
||||||
|
help
|
||||||
|
Set this option to set the upper limit on number of connections to be cached.
|
||||||
|
config BT_NIMBLE_GATT_CACHING_MAX_SVCS
|
||||||
|
int "Maximum number of services per connection"
|
||||||
|
depends on BT_NIMBLE_GATT_CACHING
|
||||||
|
default 64
|
||||||
|
help
|
||||||
|
Set this option to set the upper limit on number of services per connection to be cached.
|
||||||
|
config BT_NIMBLE_GATT_CACHING_MAX_CHRS
|
||||||
|
int "Maximum number of characteristics per connection"
|
||||||
|
depends on BT_NIMBLE_GATT_CACHING
|
||||||
|
default 64
|
||||||
|
help
|
||||||
|
Set this option to set the upper limit on number of characteristics per connection to be cached.
|
||||||
|
config BT_NIMBLE_GATT_CACHING_MAX_DSCS
|
||||||
|
int "Maximum number of descriptors per connection"
|
||||||
|
depends on BT_NIMBLE_GATT_CACHING
|
||||||
|
default 64
|
||||||
|
help
|
||||||
|
Set this option to set the upper limit on number of descriptors per connection to be cached.
|
||||||
|
config BT_NIMBLE_GATT_CACHING_DISABLE_AUTO
|
||||||
|
bool "Do not start discovery procedure automatically upon receiving Out of Sync"
|
||||||
|
depends on BT_NIMBLE_GATT_CACHING
|
||||||
|
default n
|
||||||
|
help
|
||||||
|
When client receives ATT out-of-sync error message, it will not automatically start the discovery procedure
|
||||||
|
to correct the invalid cache.
|
||||||
|
|
||||||
config BT_NIMBLE_WHITELIST_SIZE
|
config BT_NIMBLE_WHITELIST_SIZE
|
||||||
int "BLE white list size"
|
int "BLE white list size"
|
||||||
@ -927,6 +926,12 @@ menu "GAP Service"
|
|||||||
help
|
help
|
||||||
Enable the LE GATT Security Level Characteristic
|
Enable the LE GATT Security Level Characteristic
|
||||||
|
|
||||||
|
config BT_NIMBLE_SVC_GAP_RPA_ONLY
|
||||||
|
bool "Resolvable Private Address Only characteristic"
|
||||||
|
default n
|
||||||
|
help
|
||||||
|
Enable the Resolvable Private Address Only characteristic
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
menu "BLE Services"
|
menu "BLE Services"
|
||||||
|
Submodule components/bt/host/nimble/nimble updated: 571c7246c7...b06d5c175a
@ -1815,6 +1815,11 @@
|
|||||||
CONFIG_BT_NIMBLE_SVC_GAP_GATT_SECURITY_LEVEL
|
CONFIG_BT_NIMBLE_SVC_GAP_GATT_SECURITY_LEVEL
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef MYNEWT_VAL_BLE_SVC_GAP_RPA_ONLY
|
||||||
|
#define MYNEWT_VAL_BLE_SVC_GAP_RPA_ONLY \
|
||||||
|
CONFIG_BT_NIMBLE_SVC_GAP_RPA_ONLY
|
||||||
|
#endif
|
||||||
|
|
||||||
/*** nimble/transport */
|
/*** nimble/transport */
|
||||||
#ifndef MYNEWT_VAL_BLE_HCI_TRANSPORT_EMSPI
|
#ifndef MYNEWT_VAL_BLE_HCI_TRANSPORT_EMSPI
|
||||||
#define MYNEWT_VAL_BLE_HCI_TRANSPORT_EMSPI (0)
|
#define MYNEWT_VAL_BLE_HCI_TRANSPORT_EMSPI (0)
|
||||||
|
@ -272,7 +272,7 @@ typedef struct {
|
|||||||
.ignore_wl_for_direct_adv = 0, \
|
.ignore_wl_for_direct_adv = 0, \
|
||||||
.enable_pcl = DEFAULT_BT_LE_POWER_CONTROL_ENABLED, \
|
.enable_pcl = DEFAULT_BT_LE_POWER_CONTROL_ENABLED, \
|
||||||
.csa2_select = DEFAULT_BT_LE_50_FEATURE_SUPPORT, \
|
.csa2_select = DEFAULT_BT_LE_50_FEATURE_SUPPORT, \
|
||||||
.enable_csr = 0, \
|
.enable_csr = DEFAULT_BT_LE_SUBRATE_ENABLED, \
|
||||||
.ble_aa_check = DEFAULT_BT_LE_CTRL_CHECK_CONNECT_IND_ACCESS_ADDRESS, \
|
.ble_aa_check = DEFAULT_BT_LE_CTRL_CHECK_CONNECT_IND_ACCESS_ADDRESS, \
|
||||||
.ble_llcp_disc_flag = BT_LE_CTRL_LLCP_DISC_FLAG, \
|
.ble_llcp_disc_flag = BT_LE_CTRL_LLCP_DISC_FLAG, \
|
||||||
.scan_backoff_upperlimitmax = BT_CTRL_SCAN_BACKOFF_UPPERLIMITMAX, \
|
.scan_backoff_upperlimitmax = BT_CTRL_SCAN_BACKOFF_UPPERLIMITMAX, \
|
||||||
|
@ -92,5 +92,5 @@ I (50557) HID_DEV_DEMO: Send the volume
|
|||||||
|
|
||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
|
|
||||||
1. When using NimBLE stack, some iOS devices do not show the volume pop up. To fix this, please set CONFIG_BT_NIMBLE_SM_LVL to value 2. iOS needs Authenticated Pairing with Encryption to show up the pop ups.
|
1. When using NimBLE stack, some iOS devices do not show the volume pop up. To fix this, please set CONFIG_BT_NIMBLE_SM_SC_LVL to value 2. iOS needs Authenticated Pairing with Encryption to show up the pop ups.
|
||||||
2. For any technical queries, please open an [issue](https://github.com/espressif/esp-idf/issues) on GitHub. We will get back to you soon.
|
2. For any technical queries, please open an [issue](https://github.com/espressif/esp-idf/issues) on GitHub. We will get back to you soon.
|
||||||
|
@ -994,7 +994,7 @@ nimble_hid_gap_event(struct ble_gap_event *event, void *arg)
|
|||||||
static esp_err_t start_nimble_scan(uint32_t seconds)
|
static esp_err_t start_nimble_scan(uint32_t seconds)
|
||||||
{
|
{
|
||||||
uint8_t own_addr_type;
|
uint8_t own_addr_type;
|
||||||
struct ble_gap_disc_params disc_params;
|
struct ble_gap_disc_params disc_params = {0};
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
/* Figure out address to use while advertising (no privacy for now) */
|
/* Figure out address to use while advertising (no privacy for now) */
|
||||||
|
@ -145,7 +145,7 @@ static void
|
|||||||
ble_cts_cent_scan(void)
|
ble_cts_cent_scan(void)
|
||||||
{
|
{
|
||||||
uint8_t own_addr_type;
|
uint8_t own_addr_type;
|
||||||
struct ble_gap_disc_params disc_params;
|
struct ble_gap_disc_params disc_params = {0};
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
/* Figure out address to use while advertising (no privacy for now) */
|
/* Figure out address to use while advertising (no privacy for now) */
|
||||||
|
@ -183,7 +183,7 @@ static void
|
|||||||
enc_adv_data_cent_scan(void)
|
enc_adv_data_cent_scan(void)
|
||||||
{
|
{
|
||||||
uint8_t own_addr_type;
|
uint8_t own_addr_type;
|
||||||
struct ble_gap_disc_params disc_params;
|
struct ble_gap_disc_params disc_params = {0};
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
/* Figure out address to use while advertising (no privacy for now) */
|
/* Figure out address to use while advertising (no privacy for now) */
|
||||||
|
@ -263,7 +263,7 @@ static void
|
|||||||
ble_htp_cent_scan(void)
|
ble_htp_cent_scan(void)
|
||||||
{
|
{
|
||||||
uint8_t own_addr_type;
|
uint8_t own_addr_type;
|
||||||
struct ble_gap_disc_params disc_params;
|
struct ble_gap_disc_params disc_params = {0};
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
/* Figure out address to use while advertising (no privacy for now) */
|
/* Figure out address to use while advertising (no privacy for now) */
|
||||||
|
@ -190,7 +190,7 @@ static void
|
|||||||
blecent_scan(void)
|
blecent_scan(void)
|
||||||
{
|
{
|
||||||
uint8_t own_addr_type;
|
uint8_t own_addr_type;
|
||||||
struct ble_gap_disc_params disc_params;
|
struct ble_gap_disc_params disc_params = {0};
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
/* Figure out address to use while advertising (no privacy for now) */
|
/* Figure out address to use while advertising (no privacy for now) */
|
||||||
|
@ -26,7 +26,7 @@ static void
|
|||||||
periodic_sync_scan(void)
|
periodic_sync_scan(void)
|
||||||
{
|
{
|
||||||
uint8_t own_addr_type;
|
uint8_t own_addr_type;
|
||||||
struct ble_gap_disc_params disc_params;
|
struct ble_gap_disc_params disc_params = {0};
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
/* Figure out address to use while advertising (no privacy for now) */
|
/* Figure out address to use while advertising (no privacy for now) */
|
||||||
|
@ -187,7 +187,7 @@ static void
|
|||||||
blecent_scan(void)
|
blecent_scan(void)
|
||||||
{
|
{
|
||||||
uint8_t own_addr_type;
|
uint8_t own_addr_type;
|
||||||
struct ble_gap_disc_params disc_params;
|
struct ble_gap_disc_params disc_params = {0};
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
/* Figure out address to use while advertising (no privacy for now) */
|
/* Figure out address to use while advertising (no privacy for now) */
|
||||||
|
@ -180,7 +180,7 @@ static void
|
|||||||
ble_prox_cent_scan(void)
|
ble_prox_cent_scan(void)
|
||||||
{
|
{
|
||||||
uint8_t own_addr_type;
|
uint8_t own_addr_type;
|
||||||
struct ble_gap_disc_params disc_params;
|
struct ble_gap_disc_params disc_params = {0};
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
/* Figure out address to use while advertising (no privacy for now) */
|
/* Figure out address to use while advertising (no privacy for now) */
|
||||||
|
@ -127,7 +127,7 @@ static void
|
|||||||
ble_spp_client_scan(void)
|
ble_spp_client_scan(void)
|
||||||
{
|
{
|
||||||
uint8_t own_addr_type;
|
uint8_t own_addr_type;
|
||||||
struct ble_gap_disc_params disc_params;
|
struct ble_gap_disc_params disc_params = {0};
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
/* Figure out address to use while advertising (no privacy for now) */
|
/* Figure out address to use while advertising (no privacy for now) */
|
||||||
|
@ -433,7 +433,7 @@ static void
|
|||||||
blecent_scan(void)
|
blecent_scan(void)
|
||||||
{
|
{
|
||||||
uint8_t own_addr_type;
|
uint8_t own_addr_type;
|
||||||
struct ble_gap_disc_params disc_params;
|
struct ble_gap_disc_params disc_params = {0};
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
/* Figure out address to use while advertising (no privacy for now) */
|
/* Figure out address to use while advertising (no privacy for now) */
|
||||||
|
@ -466,7 +466,7 @@ static void
|
|||||||
blecent_scan(void)
|
blecent_scan(void)
|
||||||
{
|
{
|
||||||
uint8_t own_addr_type;
|
uint8_t own_addr_type;
|
||||||
struct ble_gap_disc_params disc_params;
|
struct ble_gap_disc_params disc_params = {0};
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
/* Figure out address to use while advertising (no privacy for now) */
|
/* Figure out address to use while advertising (no privacy for now) */
|
||||||
|
Reference in New Issue
Block a user