diff --git a/components/bt/host/nimble/Kconfig.in b/components/bt/host/nimble/Kconfig.in index f8c579de5c..44d6c6ef38 100644 --- a/components/bt/host/nimble/Kconfig.in +++ b/components/bt/host/nimble/Kconfig.in @@ -156,7 +156,7 @@ config BT_NIMBLE_ROLE_BROADCASTER depends on BT_NIMBLE_ENABLED default y help - Enables broadcaster role + Enables broadcaster role config BT_NIMBLE_ROLE_OBSERVER bool "Enable BLE Observer role" @@ -165,6 +165,20 @@ config BT_NIMBLE_ROLE_OBSERVER help Enables observer role +config BT_NIMBLE_GATT_CLIENT + bool "Enable BLE GATT Client support" + depends on BT_NIMBLE_ROLE_CENTRAL + default y + help + Enables support for GATT Client + +config BT_NIMBLE_GATT_SERVER + bool "Enable BLE GATT Server support" + depends on BT_NIMBLE_ROLE_PERIPHERAL + default y + help + Enables support for GATT Server + config BT_NIMBLE_NVS_PERSIST bool "Persist the BLE Bonding keys in NVS" depends on BT_NIMBLE_ENABLED @@ -237,6 +251,13 @@ config BT_NIMBLE_SM_SC_ONLY help Enable Secure Connections Only Mode +config BT_NIMBLE_PRINT_ERR_NAME + bool "Enable feature to print Error description" + depends on BT_NIMBLE_ENABLED + default y + help + Enable feature to give useful explanation for HCI errors + config BT_NIMBLE_DEBUG bool "Enable extra runtime asserts and host debugging" default n @@ -274,6 +295,13 @@ config BT_NIMBLE_ATT_PREFERRED_MTU This is the default value of ATT MTU indicated by the device during an ATT MTU exchange. This value can be changed using API ble_att_set_preferred_mtu() +config BT_NIMBLE_ATT_MAX_PREP_ENTRIES + int "Max Prepare write entries" + depends on BT_NIMBLE_ENABLED + default 64 + help + This is the default value of ATT Maximum prepare entries + config BT_NIMBLE_SVC_GAP_APPEARANCE hex "External appearance of the device" depends on BT_NIMBLE_ENABLED @@ -600,6 +628,13 @@ if BT_NIMBLE_50_FEATURE_SUPPORT will be supported from BLE 5.0 onwards. if BT_NIMBLE_EXT_ADV + config BT_NIMBLE_EXT_ADV_V2 + bool "Enable support for extended adv v2" + default n + depends on BT_NIMBLE_EXT_ADV + help + Enable this option to use Extended Adv V2 command instead of V1. + config BT_NIMBLE_MAX_EXT_ADV_INSTANCES int "Maximum number of extended advertising instances." range 0 4 @@ -707,6 +742,19 @@ menuconfig BT_NIMBLE_GATT_CACHING select BT_NIMBLE_DYNAMIC_SERVICE help Enable GATT caching +config BT_NIMBLE_GATT_CACHING_INCLUDE_SERVICES + bool "Include services in GATT caching" + depends on BT_NIMBLE_GATT_CACHING + default n + help + Enable this option to include *included services* (e.g., services referenced by other services) + in the GATT database cache. Disabling this will skip caching of included service entries. +config BT_NIMBLE_INCL_SVC_DISCOVERY + bool "Enable Included service discovery" + default y if BT_NIMBLE_GATT_CACHING_INCLUDE_SERVICES + default n + help + Enable this option to start discovery for included service. config BT_NIMBLE_GATT_CACHING_MAX_CONNS int "Maximum connections to be cached" depends on BT_NIMBLE_GATT_CACHING @@ -719,6 +767,12 @@ config BT_NIMBLE_GATT_CACHING_MAX_SVCS 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_INCL_SVCS + int "Maximum number of included services per connection" + depends on BT_NIMBLE_GATT_CACHING + default 64 + help + Set this option to set the upper limit on number of included 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 @@ -780,8 +834,172 @@ config BT_NIMBLE_BLE_GATT_BLOB_TRANSFER This option is used when data to be sent is more than 512 bytes. For peripheral role, BT_NIMBLE_MSYS_1_BLOCK_COUNT needs to be increased according to the need. -menu "GAP Service" +menu "BLE Services" + depends on BT_NIMBLE_GATT_SERVER + + config BT_NIMBLE_PROX_SERVICE + bool "Proximity service" + default y + help + Enable Proximity Service support + + config BT_NIMBLE_ANS_SERVICE + bool "Alert Notification service" + default y + help + Enable Alert Notification Service support + + config BT_NIMBLE_CTS_SERVICE + bool "Current Time Service" + default y + help + Enable Current Time Service support + + config BT_NIMBLE_HTP_SERVICE + bool "Health Thermometer service" + default y + help + Enable Health Thermometer Service support + + config BT_NIMBLE_IPSS_SERVICE + bool "Internet Protocol Support service" + default y + help + Enable Internet Protocol Service support + + config BT_NIMBLE_TPS_SERVICE + bool "Tx Power service" + default y + help + Enable Tx Power Service support + + config BT_NIMBLE_IAS_SERVICE + bool "Immediate Alert service" + default y + help + Enable Immediate Alert Service support + + config BT_NIMBLE_LLS_SERVICE + bool "Link Loss service" + default y + help + Enable Link Loss Service support + + config BT_NIMBLE_SPS_SERVICE + bool "Serial Port service" + default y + help + Enable Serial Port Service support + + config BT_NIMBLE_HR_SERVICE + bool "Heart Rate service" + default y + help + Enable HeartRate Service support + + menuconfig BT_NIMBLE_HID_SERVICE + bool "HID service" + default n + help + Enable HID service support + + config BT_NIMBLE_SVC_HID_MAX_INSTANCES + depends on BT_NIMBLE_HID_SERVICE + int "Maximum HID service instances" + default 2 + help + Defines maximum number of HID service instances + + config BT_NIMBLE_SVC_HID_MAX_RPTS + depends on BT_NIMBLE_HID_SERVICE + int "Maximum HID Report characteristics per service instance" + default 3 + help + Defines maximum number of report characteristics per service instance + + menuconfig BT_NIMBLE_BAS_SERVICE + bool "Battery service" + default y + help + Enable Battery service support + + config BT_NIMBLE_SVC_BAS_BATTERY_LEVEL_NOTIFY + depends on BT_NIMBLE_BAS_SERVICE + bool "BAS Battery Level NOTIFY permission" + help + Enable/Disable notifications on BAS Battery Level Characteristic + + menuconfig BT_NIMBLE_DIS_SERVICE + bool "DIS service" + default y + help + Enable DIS service support + + config BT_NIMBLE_SVC_DIS_MANUFACTURER_NAME + depends on BT_NIMBLE_DIS_SERVICE + bool "Manufacturer Name" + default n + help + Enable the DIS characteristic Manufacturer Name String characteristic + + config BT_NIMBLE_SVC_DIS_SERIAL_NUMBER + depends on BT_NIMBLE_DIS_SERVICE + bool "Serial Number" + default n + help + Enable the DIS Serial Number characteristic + + config BT_NIMBLE_SVC_DIS_HARDWARE_REVISION + depends on BT_NIMBLE_DIS_SERVICE + bool "Hardware Revision" + default n + help + Enable the DIS Hardware Revision characteristic + + config BT_NIMBLE_SVC_DIS_FIRMWARE_REVISION + depends on BT_NIMBLE_DIS_SERVICE + bool "Firmware Revision" + default n + help + Enable the DIS Firmware Revision characteristic + + config BT_NIMBLE_SVC_DIS_SOFTWARE_REVISION + depends on BT_NIMBLE_DIS_SERVICE + bool "Software Revision" + default n + help + Enable the DIS Software Revision characteristic + + config BT_NIMBLE_SVC_DIS_SYSTEM_ID + depends on BT_NIMBLE_DIS_SERVICE + bool "System ID" + default n + help + Enable the DIS System ID characteristic + + config BT_NIMBLE_SVC_DIS_PNP_ID + depends on BT_NIMBLE_DIS_SERVICE + bool "PnP ID" + default n + help + Enable the DIS PnP ID characteristic + + config BT_NIMBLE_SVC_DIS_INCLUDED + depends on BT_NIMBLE_DIS_SERVICE + bool "DIS as an Included Service" + default n + help + Use DIS as an included service + + menuconfig BT_NIMBLE_GAP_SERVICE + bool "GAP Service" + default y + help + Enable GAP Service support + menu "GAP Appearance write permissions" + depends on BT_NIMBLE_GAP_SERVICE + config BT_NIMBLE_SVC_GAP_APPEAR_WRITE bool "Write" default n @@ -791,14 +1009,12 @@ menu "GAP Service" config BT_NIMBLE_SVC_GAP_APPEAR_WRITE_ENC depends on BT_NIMBLE_SVC_GAP_APPEAR_WRITE bool "Write with encryption" - default n help Enable write with encryption permission (BLE_GATT_CHR_F_WRITE_ENC) config BT_NIMBLE_SVC_GAP_APPEAR_WRITE_AUTHEN depends on BT_NIMBLE_SVC_GAP_APPEAR_WRITE bool "Write with authentication" - default n help Enable write with authentication permission (BLE_GATT_CHR_F_WRITE_AUTHEN) @@ -808,48 +1024,49 @@ menu "GAP Service" default n help Enable write with authorisation permission (BLE_GATT_CHR_F_WRITE_AUTHOR) + + config BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM + int + default 0 if !BT_NIMBLE_SVC_GAP_APPEAR_WRITE + default 8 if BT_NIMBLE_SVC_GAP_APPEAR_WRITE + + config BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ENC + int + default 0 if !BT_NIMBLE_SVC_GAP_APPEAR_WRITE_ENC + default 4096 if BT_NIMBLE_SVC_GAP_APPEAR_WRITE_ENC + + config BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ATHN + int + default 0 if !BT_NIMBLE_SVC_GAP_APPEAR_WRITE_AUTHEN + default 8192 if BT_NIMBLE_SVC_GAP_APPEAR_WRITE_AUTHEN + + config BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ATHR + int + default 0 if !BT_NIMBLE_SVC_GAP_APPEAR_WRITE_AUTHOR + default 16384 if BT_NIMBLE_SVC_GAP_APPEAR_WRITE_AUTHOR endmenu - config BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM - int - default 0 if !BT_NIMBLE_SVC_GAP_APPEAR_WRITE - default 8 if BT_NIMBLE_SVC_GAP_APPEAR_WRITE - - config BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ENC - int - default 0 if !BT_NIMBLE_SVC_GAP_APPEAR_WRITE_ENC - default 4096 if BT_NIMBLE_SVC_GAP_APPEAR_WRITE_ENC - - config BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ATHN - int - default 0 if !BT_NIMBLE_SVC_GAP_APPEAR_WRITE_AUTHEN - default 8192 if BT_NIMBLE_SVC_GAP_APPEAR_WRITE_AUTHEN - - config BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ATHR - int - default 0 if !BT_NIMBLE_SVC_GAP_APPEAR_WRITE_AUTHOR - default 16384 if BT_NIMBLE_SVC_GAP_APPEAR_WRITE_AUTHOR - choice BT_NIMBLE_SVC_GAP_CENT_ADDR_RESOLUTION prompt "GAP Characteristic - Central Address Resolution" + depends on BT_NIMBLE_GAP_SERVICE default BT_NIMBLE_SVC_GAP_CAR_CHAR_NOT_SUPP help - Weather or not Central Address Resolution characteristic is supported on - the device, and if supported, weather or not Central Address Resolution - is supported. + Weather or not Central Address Resolution characteristic is supported on + the device, and if supported, weather or not Central Address Resolution + is supported. - - Central Address Resolution characteristic not supported - - Central Address Resolution not supported - - Central Address Resolution supported + - Central Address Resolution characteristic not supported + - Central Address Resolution not supported + - Central Address Resolution supported - config BT_NIMBLE_SVC_GAP_CAR_CHAR_NOT_SUPP - bool "Characteristic not supported" + config BT_NIMBLE_SVC_GAP_CAR_CHAR_NOT_SUPP + bool "Characteristic not supported" - config BT_NIMBLE_SVC_GAP_CAR_NOT_SUPP - bool "Central Address Resolution not supported" + config BT_NIMBLE_SVC_GAP_CAR_NOT_SUPP + bool "Central Address Resolution not supported" - config BT_NIMBLE_SVC_GAP_CAR_SUPP - bool "Central Address Resolution supported" + config BT_NIMBLE_SVC_GAP_CAR_SUPP + bool "Central Address Resolution supported" endchoice config BT_NIMBLE_SVC_GAP_CENT_ADDR_RESOLUTION @@ -858,7 +1075,9 @@ menu "GAP Service" default 0 if BT_NIMBLE_SVC_GAP_CAR_NOT_SUPP default 1 if BT_NIMBLE_SVC_GAP_CAR_SUPP + menu "GAP device name write permissions" + depends on BT_NIMBLE_GAP_SERVICE config BT_NIMBLE_SVC_GAP_NAME_WRITE bool "Write" default n @@ -887,6 +1106,40 @@ menu "GAP Service" Enable write with authorisation permission (BLE_GATT_CHR_F_WRITE_AUTHOR) endmenu + menu "PPCP settings" + depends on BT_NIMBLE_GAP_SERVICE + config BT_NIMBLE_SVC_GAP_PPCP_MAX_CONN_INTERVAL + int "PPCP Connection Interval Max (Unit: 1.25 ms)" + depends on BT_NIMBLE_ROLE_PERIPHERAL && BT_NIMBLE_GAP_SERVICE + default 0 + help + Peripheral Preferred Connection Parameter: Connection Interval maximum value + Interval Max = value * 1.25 ms + + config BT_NIMBLE_SVC_GAP_PPCP_MIN_CONN_INTERVAL + int "PPCP Connection Interval Min (Unit: 1.25 ms)" + depends on BT_NIMBLE_ROLE_PERIPHERAL && BT_NIMBLE_GAP_SERVICE + default 0 + help + Peripheral Preferred Connection Parameter: Connection Interval minimum value + Interval Min = value * 1.25 ms + + config BT_NIMBLE_SVC_GAP_PPCP_SLAVE_LATENCY + int "PPCP Slave Latency" + depends on BT_NIMBLE_GAP_SERVICE + default 0 + help + Peripheral Preferred Connection Parameter: Slave Latency + + config BT_NIMBLE_SVC_GAP_PPCP_SUPERVISION_TMO + int "PPCP Supervision Timeout (Uint: 10 ms)" + depends on BT_NIMBLE_GAP_SERVICE + default 0 + help + Peripheral Preferred Connection Parameter: Supervision Timeout + Timeout = Value * 10 ms + endmenu + config BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM int default 0 if !BT_NIMBLE_SVC_GAP_NAME_WRITE @@ -907,35 +1160,6 @@ menu "GAP Service" default 0 if !BT_NIMBLE_SVC_GAP_NAME_WRITE_AUTHOR default 16384 if BT_NIMBLE_SVC_GAP_NAME_WRITE_AUTHOR - config BT_NIMBLE_SVC_GAP_PPCP_MAX_CONN_INTERVAL - int "PPCP Connection Interval Max (Unit: 1.25 ms)" - depends on BT_NIMBLE_ROLE_PERIPHERAL - default 0 - help - Peripheral Preferred Connection Parameter: Connection Interval maximum value - Interval Max = value * 1.25 ms - - config BT_NIMBLE_SVC_GAP_PPCP_MIN_CONN_INTERVAL - int "PPCP Connection Interval Min (Unit: 1.25 ms)" - depends on BT_NIMBLE_ROLE_PERIPHERAL - default 0 - help - Peripheral Preferred Connection Parameter: Connection Interval minimum value - Interval Min = value * 1.25 ms - - config BT_NIMBLE_SVC_GAP_PPCP_SLAVE_LATENCY - int "PPCP Slave Latency" - default 0 - help - Peripheral Preferred Connection Parameter: Slave Latency - - config BT_NIMBLE_SVC_GAP_PPCP_SUPERVISION_TMO - int "PPCP Supervision Timeout (Uint: 10 ms)" - default 0 - help - Peripheral Preferred Connection Parameter: Supervision Timeout - Timeout = Value * 10 ms - config BT_NIMBLE_SVC_GAP_GATT_SECURITY_LEVEL bool "LE GATT Security Level Characteristic" default n @@ -950,94 +1174,6 @@ menu "GAP Service" endmenu -menu "BLE Services" - menuconfig BT_NIMBLE_HID_SERVICE - bool "HID service" - depends on BT_NIMBLE_ENABLED - default n - help - Enable HID service support - - config BT_NIMBLE_SVC_HID_MAX_INSTANCES - depends on BT_NIMBLE_HID_SERVICE - int "Maximum HID service instances" - default 2 - help - Defines maximum number of HID service instances - - config BT_NIMBLE_SVC_HID_MAX_RPTS - depends on BT_NIMBLE_HID_SERVICE - int "Maximum HID Report characteristics per service instance" - default 3 - help - Defines maximum number of report characteristics per service instance - - config BT_NIMBLE_SVC_BAS_BATTERY_LEVEL_NOTIFY - depends on BT_NIMBLE_ENABLED - bool "BAS Battery Level NOTIFY permission" - default n - help - Enable/Disable notifications on BAS Battery Level Characteristic - - menu "Device Information Service" - config BT_NIMBLE_SVC_DIS_MANUFACTURER_NAME - depends on BT_NIMBLE_ENABLED - bool "Manufacturer Name" - default n - help - Enable the DIS characteristic Manufacturer Name String characteristic - - config BT_NIMBLE_SVC_DIS_SERIAL_NUMBER - depends on BT_NIMBLE_ENABLED - bool "Serial Number" - default n - help - Enable the DIS Serial Number characteristic - - config BT_NIMBLE_SVC_DIS_HARDWARE_REVISION - depends on BT_NIMBLE_ENABLED - bool "Hardware Revision" - default n - help - Enable the DIS Hardware Revision characteristic - - config BT_NIMBLE_SVC_DIS_FIRMWARE_REVISION - depends on BT_NIMBLE_ENABLED - bool "Firmware Revision" - default n - help - Enable the DIS Firmware Revision characteristic - - config BT_NIMBLE_SVC_DIS_SOFTWARE_REVISION - depends on BT_NIMBLE_ENABLED - bool "Software Revision" - default n - help - Enable the DIS Software Revision characteristic - - config BT_NIMBLE_SVC_DIS_SYSTEM_ID - depends on BT_NIMBLE_ENABLED - bool "System ID" - default n - help - Enable the DIS System ID characteristic - - config BT_NIMBLE_SVC_DIS_PNP_ID - depends on BT_NIMBLE_ENABLED - bool "PnP ID" - default n - help - Enable the DIS PnP ID characteristic - - config BT_NIMBLE_SVC_DIS_INCLUDED - depends on BT_NIMBLE_ENABLED - bool "DIS as an Included Service" - default n - help - Use DIS as an included service - endmenu -endmenu - config BT_NIMBLE_VS_SUPPORT bool "Enable support for VSC and VSE" help @@ -1074,8 +1210,7 @@ config BT_NIMBLE_HIGH_DUTY_ADV_ITVL config BT_NIMBLE_HOST_ALLOW_CONNECT_WITH_SCAN bool "Allow Connections with scanning in progress" - depends on BT_NIMBLE_ENABLED - depends on (!SOC_ESP_NIMBLE_CONTROLLER || IDF_TARGET_ESP32C6 || IDF_TARGET_ESP32H2) + depends on BT_NIMBLE_ENABLED && !(IDF_TARGET_ESP32C2) help This enables support for user to initiate a new connection with scan in progress diff --git a/components/bt/host/nimble/nimble b/components/bt/host/nimble/nimble index 375cc98772..544e94303c 160000 --- a/components/bt/host/nimble/nimble +++ b/components/bt/host/nimble/nimble @@ -1 +1 @@ -Subproject commit 375cc98772e8a119db05cc717a78e2d28b374e62 +Subproject commit 544e94303ce2a00805027a8f5427df8d6f3b3856 diff --git a/components/bt/host/nimble/port/include/esp_nimble_cfg.h b/components/bt/host/nimble/port/include/esp_nimble_cfg.h index 138b2460f2..6c80ae750c 100644 --- a/components/bt/host/nimble/port/include/esp_nimble_cfg.h +++ b/components/bt/host/nimble/port/include/esp_nimble_cfg.h @@ -98,6 +98,14 @@ #define MYNEWT_VAL_BLE_EXT_ADV (CONFIG_BT_NIMBLE_EXT_ADV) #endif +#ifndef MYNEWT_VAL_BLE_EXT_ADV_V2 +#ifdef CONFIG_BT_NIMBLE_EXT_ADV_V2 +#define MYNEWT_VAL_BLE_EXT_ADV_V2 (CONFIG_BT_NIMBLE_EXT_ADV_V2) +#else +#define MYNEWT_VAL_BLE_EXT_ADV_V2 (0) +#endif +#endif + #ifndef CONFIG_BT_NIMBLE_EXT_ADV_MAX_SIZE #define MYNEWT_VAL_BLE_EXT_ADV_MAX_SIZE (31) #else @@ -129,11 +137,27 @@ #define MYNEWT_VAL_BLE_MAX_PERIODIC_ADVERTISER_LIST (CONFIG_BT_NIMBLE_MAX_PERIODIC_ADVERTISER_LIST) #endif +#ifndef MYNEWT_VAL_BLE_INCL_SVC_DISCOVERY +#ifdef CONFIG_BT_NIMBLE_INCL_SVC_DISCOVERY +#define MYNEWT_VAL_BLE_INCL_SVC_DISCOVERY (CONFIG_BT_NIMBLE_INCL_SVC_DISCOVERY) +#else +#define MYNEWT_VAL_BLE_INCL_SVC_DISCOVERY (0) +#endif +#endif + #ifndef CONFIG_BT_NIMBLE_GATT_CACHING #define MYNEWT_VAL_BLE_GATT_CACHING (0) #else #define MYNEWT_VAL_BLE_GATT_CACHING (CONFIG_BT_NIMBLE_GATT_CACHING) +#ifndef MYNEWT_VAL_BLE_GATT_CACHING_INCLUDE_SERVICES +#ifdef CONFIG_BT_NIMBLE_GATT_CACHING_INCLUDE_SERVICES +#define MYNEWT_VAL_BLE_GATT_CACHING_INCLUDE_SERVICES (CONFIG_BT_NIMBLE_GATT_CACHING_INCLUDE_SERVICES) +#else +#define MYNEWT_VAL_BLE_GATT_CACHING_INCLUDE_SERVICES (0) +#endif +#endif + #ifdef CONFIG_BT_NIMBLE_GATT_CACHING_MAX_CONNS #define MYNEWT_VAL_BLE_GATT_CACHING_MAX_CONNS (CONFIG_BT_NIMBLE_GATT_CACHING_MAX_CONNS) #else @@ -146,6 +170,14 @@ #define MYNEWT_VAL_BLE_GATT_CACHING_MAX_SVCS (0) #endif +#ifndef MYNEWT_VAL_BLE_GATT_CACHING_MAX_INCL_SVCS +#ifdef CONFIG_BT_NIMBLE_GATT_CACHING_MAX_INCL_SVCS +#define MYNEWT_VAL_BLE_GATT_CACHING_MAX_INCL_SVCS (CONFIG_BT_NIMBLE_GATT_CACHING_MAX_INCL_SVCS) +#else +#define MYNEWT_VAL_BLE_GATT_CACHING_MAX_INCL_SVCS (0) +#endif +#endif + #ifdef CONFIG_BT_NIMBLE_GATT_CACHING_MAX_CHRS #define MYNEWT_VAL_BLE_GATT_CACHING_MAX_CHRS (CONFIG_BT_NIMBLE_GATT_CACHING_MAX_CHRS) #else @@ -212,6 +244,18 @@ #define MYNEWT_VAL_BLE_ROLE_PERIPHERAL (CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) #endif +#ifndef CONFIG_BT_NIMBLE_GATT_CLIENT +#define MYNEWT_VAL_BLE_GATTC (0) +#else +#define MYNEWT_VAL_BLE_GATTC (CONFIG_BT_NIMBLE_GATT_CLIENT) +#endif + +#ifndef CONFIG_BT_NIMBLE_GATT_SERVER +#define MYNEWT_VAL_BLE_GATTS (0) +#else +#define MYNEWT_VAL_BLE_GATTS (CONFIG_BT_NIMBLE_GATT_SERVER) +#endif + #ifndef MYNEWT_VAL_BLE_WHITELIST #define MYNEWT_VAL_BLE_WHITELIST (1) #endif @@ -552,7 +596,7 @@ #endif #ifndef MYNEWT_VAL_BLE_ATT_SVR_MAX_PREP_ENTRIES -#define MYNEWT_VAL_BLE_ATT_SVR_MAX_PREP_ENTRIES (64) +#define MYNEWT_VAL_BLE_ATT_SVR_MAX_PREP_ENTRIES CONFIG_BT_NIMBLE_ATT_MAX_PREP_ENTRIES #endif #ifndef MYNEWT_VAL_BLE_ATT_SVR_NOTIFY @@ -2032,4 +2076,16 @@ #endif #endif +#ifndef MYNEWT_VAL_BLE_ERR_CHECK +#ifdef CONFIG_BT_NIMBLE_PRINT_ERR_NAME +#define MYNEWT_VAL_BLE_ERR_CHECK CONFIG_BT_NIMBLE_PRINT_ERR_NAME +#else +#define MYNEWT_VAL_BLE_ERR_CHECK (0) +#endif +#endif + +#ifndef MYNEWT_VAL_BLE_USED_IN_IDF +#define MYNEWT_VAL_BLE_USED_IN_IDF (1) +#endif + #endif diff --git a/examples/bluetooth/blufi/main/blufi_init.c b/examples/bluetooth/blufi/main/blufi_init.c index fcea8c468d..3a23564dd5 100644 --- a/examples/bluetooth/blufi/main/blufi_init.c +++ b/examples/bluetooth/blufi/main/blufi_init.c @@ -211,9 +211,11 @@ esp_err_t esp_blufi_host_init(void) rc = esp_blufi_gatt_svr_init(); assert(rc == 0); +#if CONFIG_BT_NIMBLE_GAP_SERVICE /* Set the default device name. */ rc = ble_svc_gap_device_name_set(BLUFI_DEVICE_NAME); assert(rc == 0); +#endif /* XXX Need to have template for store */ ble_store_config_init(); diff --git a/examples/bluetooth/blufi/sdkconfig.defaults.mini b/examples/bluetooth/blufi/sdkconfig.defaults.mini new file mode 100644 index 0000000000..0ce8d6102d --- /dev/null +++ b/examples/bluetooth/blufi/sdkconfig.defaults.mini @@ -0,0 +1,123 @@ +# Override some defaults so BT stack is enabled +# in this example + +# +# Partition Table +# (It's possible to fit Blufi in 1MB app partition size with some other optimizations, but +# default config is close to 1MB.) +CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE=y + +# +# BT config +# +CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y +CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n +CONFIG_BTDM_CTRL_MODE_BTDM=n +CONFIG_BT_BLUEDROID_ENABLED=n +CONFIG_BT_NIMBLE_ENABLED=y +CONFIG_BT_NIMBLE_MAX_CONNECTIONS=1 +CONFIG_BT_NIMBLE_MAX_BONDS=1 +CONFIG_BT_NIMBLE_MAX_CCCDS=1 +CONFIG_BT_NIMBLE_ROLE_CENTRAL=n +CONFIG_BT_NIMBLE_ROLE_OBSERVER=n +CONFIG_BT_NIMBLE_SM_SC=n +CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=n +CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT=n +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=6 +CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=12 +CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=12 +CONFIG_BT_NIMBLE_TRANSPORT_EVT_COUNT=15 +CONFIG_BT_NIMBLE_ATT_MAX_PREP_ENTRIES=15 +CONFIG_BT_NIMBLE_GATT_CLIENT=n +CONFIG_BT_NIMBLE_PRINT_ERR_NAME=n +CONFIG_BT_ALARM_MAX_NUM=15 +CONFIG_BT_NIMBLE_PRINT_ERR_NAME=n +CONFIG_BT_NIMBLE_PROX_SERVICE=n +CONFIG_BT_NIMBLE_CTS_SERVICE=n +CONFIG_BT_NIMBLE_HTP_SERVICE=n +CONFIG_BT_NIMBLE_IPSS_SERVICE=n +CONFIG_BT_NIMBLE_TPS_SERVICE=n +CONFIG_BT_NIMBLE_IAS_SERVICE=n +CONFIG_BT_NIMBLE_LLS_SERVICE=n +CONFIG_BT_NIMBLE_SPS_SERVICE=n +CONFIG_BT_NIMBLE_HR_SERVICE=n +CONFIG_BT_NIMBLE_DIS_SERVICE=n + + +CONFIG_BT_ALARM_MAX_NUM=15 + +CONFIG_MBEDTLS_HARDWARE_MPI=n +CONFIG_MBEDTLS_DHM_C=y + +CONFIG_BT_NIMBLE_BLUFI_ENABLE=y + +CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU=23 +CONFIG_PM_ENABLE=n +CONFIG_HEAP_POISONING_DISABLED=y + +CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y + +CONFIG_VFS_SUPPORT_TERMIOS=n +CONFIG_VFS_SUPPORT_DIR=n +CONFIG_VFS_SUPPORT_IO=n +CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE=3152 + +# FreeRTOS +CONFIG_FREERTOS_HZ=100 +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1024 +CONFIG_FREERTOS_ISR_STACKSIZE=1024 +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 + +# C Library +CONFIG_LIBC_NEWLIB_NANO_FORMAT=y +CONFIG_LIBC_STDIN_LINE_ENDING_CRLF=n +CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=n + +# Optimization +CONFIG_COMPILER_OPTIMIZATION_SIZE=y +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE=y +CONFIG_COMPILER_CXX_EXCEPTIONS=n + +# Heap +CONFIG_HEAP_POISONING_DISABLED=y +CONFIG_HEAP_TRACING=n + +# Power Management +CONFIG_PM_ENABLE=n + +# No networking +CONFIG_ESP_WIFI_ENABLED=n + +# Application +CONFIG_APP_COMPILE_TIME_DATE=n + + +CONFIG_ESP_COEX_SW_COEXIST_ENABLE=n +CONFIG_ESP_ERR_TO_NAME_LOOKUP=n +CONFIG_SPI_MASTER_ISR_IN_IRA=n +CONFIG_SPI_MASTER_ISR_IN_IRAM=n +CONFIG_SPI_SLAVE_ISR_IN_IRAM=n +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=n +CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC=n +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=n +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=n +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=n +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=n + +#Uncomment below, if security needs to be disabled +#CONFIG_BT_NIMBLE_SECURITY_ENABLE=n + + +#Uncomment below, if logging needs to be disabled +#CONFIG_LOG_DEFAULT_LEVEL_NONE=y +#CONFIG_LOG_DEFAULT_LEVEL=0 + +# +# Controller Options +# + +CONFIG_BT_CTRL_BLE_MAX_ACT=2 +CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=1 +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=n +CONFIG_BT_CTRL_BLE_SCAN_DUPL=n diff --git a/examples/bluetooth/nimble/ble_cts/cts_cent/main/main.c b/examples/bluetooth/nimble/ble_cts/cts_cent/main/main.c index ad3e43740a..cc50017611 100644 --- a/examples/bluetooth/nimble/ble_cts/cts_cent/main/main.c +++ b/examples/bluetooth/nimble/ble_cts/cts_cent/main/main.c @@ -571,9 +571,11 @@ app_main(void) rc = peer_init(MYNEWT_VAL(BLE_MAX_CONNECTIONS), 64, 64, 64); assert(rc == 0); +#if CONFIG_BT_NIMBLE_GAP_SERVICE /* Set the default device name. */ rc = ble_svc_gap_device_name_set("nimble-cts-cent"); assert(rc == 0); +#endif /* XXX Need to have template for store */ ble_store_config_init(); diff --git a/examples/bluetooth/nimble/ble_cts/cts_cent/sdkconfig.defaults.mini b/examples/bluetooth/nimble/ble_cts/cts_cent/sdkconfig.defaults.mini new file mode 100644 index 0000000000..e5fa165ec0 --- /dev/null +++ b/examples/bluetooth/nimble/ble_cts/cts_cent/sdkconfig.defaults.mini @@ -0,0 +1,98 @@ +# Override some defaults so BT stack is enabled +# in this example + +# +# BT config +# +CONFIG_BT_ENABLED=y +CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y +CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n +CONFIG_BTDM_CTRL_MODE_BTDM=n +CONFIG_BT_BLUEDROID_ENABLED=n +CONFIG_BT_NIMBLE_ENABLED=y +CONFIG_BT_NIMBLE_MAX_CONNECTIONS=1 +CONFIG_BT_NIMBLE_MAX_BONDS=1 +CONFIG_BT_NIMBLE_MAX_CCCDS=1 +CONFIG_BT_NIMBLE_ROLE_PERIPHERAL=n +CONFIG_BT_NIMBLE_ROLE_BROADCASTER=n +CONFIG_BT_NIMBLE_SM_SC=n +CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=n +CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT=n +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=6 +CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=0 +CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=12 +CONFIG_BT_NIMBLE_TRANSPORT_EVT_COUNT=15 +CONFIG_BT_NIMBLE_ATT_MAX_PREP_ENTRIES=15 +CONFIG_BT_NIMBLE_GATT_SERVER=n +CONFIG_BT_NIMBLE_PRINT_ERR_NAME=n +CONFIG_BT_ALARM_MAX_NUM=15 + +CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU=23 +CONFIG_PM_ENABLE=n +CONFIG_HEAP_POISONING_DISABLED=y + +CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y + +CONFIG_VFS_SUPPORT_TERMIOS=n +CONFIG_VFS_SUPPORT_DIR=n +CONFIG_VFS_SUPPORT_IO=n +CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE=3152 + +# FreeRTOS +CONFIG_FREERTOS_HZ=100 +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1024 +CONFIG_FREERTOS_ISR_STACKSIZE=1024 +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 + +# C Library +CONFIG_LIBC_NEWLIB_NANO_FORMAT=y +CONFIG_LIBC_STDIN_LINE_ENDING_CRLF=n +CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=n + +# Optimization +CONFIG_COMPILER_OPTIMIZATION_SIZE=y +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE=y +CONFIG_COMPILER_CXX_EXCEPTIONS=n + +# Heap +CONFIG_HEAP_POISONING_DISABLED=y +CONFIG_HEAP_TRACING=n + +# Power Management +CONFIG_PM_ENABLE=n + +# No networking +CONFIG_ESP_WIFI_ENABLED=n + +# Application +CONFIG_APP_COMPILE_TIME_DATE=n + + +CONFIG_ESP_COEX_SW_COEXIST_ENABLE=n +CONFIG_ESP_ERR_TO_NAME_LOOKUP=n +CONFIG_SPI_MASTER_ISR_IN_IRAM=n +CONFIG_SPI_SLAVE_ISR_IN_IRAM=n +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=n +CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC=n +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=n +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=n +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=n +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=n + +#Uncomment below, if security needs to be disabled +#CONFIG_BT_NIMBLE_SECURITY_ENABLE=n + + +#Uncomment below, if logging needs to be disabled +#CONFIG_LOG_DEFAULT_LEVEL_NONE=y +#CONFIG_LOG_DEFAULT_LEVEL=0 + +# +# Controller Options +# + +CONFIG_BT_CTRL_BLE_MAX_ACT=2 +CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=1 +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=n +CONFIG_BT_CTRL_BLE_SCAN_DUPL=n diff --git a/examples/bluetooth/nimble/ble_cts/cts_prph/sdkconfig.defaults.mini b/examples/bluetooth/nimble/ble_cts/cts_prph/sdkconfig.defaults.mini new file mode 100644 index 0000000000..edc3f1f996 --- /dev/null +++ b/examples/bluetooth/nimble/ble_cts/cts_prph/sdkconfig.defaults.mini @@ -0,0 +1,110 @@ +# Override some defaults so BT stack is enabled +# in this example + +# +# BT config +# +CONFIG_BT_ENABLED=y +CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y +CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n +CONFIG_BTDM_CTRL_MODE_BTDM=n +CONFIG_BT_BLUEDROID_ENABLED=n +CONFIG_BT_NIMBLE_ENABLED=y +CONFIG_BT_NIMBLE_MAX_CONNECTIONS=1 +CONFIG_BT_NIMBLE_MAX_BONDS=1 +CONFIG_BT_NIMBLE_MAX_CCCDS=1 +CONFIG_BT_NIMBLE_ROLE_CENTRAL=n +CONFIG_BT_NIMBLE_ROLE_OBSERVER=n +CONFIG_BT_NIMBLE_SM_SC=n +CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=n +CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT=n +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=6 +CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=0 +CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=12 +CONFIG_BT_NIMBLE_TRANSPORT_EVT_COUNT=15 +CONFIG_BT_NIMBLE_ATT_MAX_PREP_ENTRIES=15 +CONFIG_BT_NIMBLE_GATT_CLIENT=n +CONFIG_BT_ALARM_MAX_NUM=15 +CONFIG_BT_NIMBLE_PRINT_ERR_NAME=n +CONFIG_BT_NIMBLE_PROX_SERVICE=n +CONFIG_BT_NIMBLE_HTP_SERVICE=n +CONFIG_BT_NIMBLE_IPSS_SERVICE=n +CONFIG_BT_NIMBLE_TPS_SERVICE=n +CONFIG_BT_NIMBLE_IAS_SERVICE=n +CONFIG_BT_NIMBLE_LLS_SERVICE=n +CONFIG_BT_NIMBLE_SPS_SERVICE=n +CONFIG_BT_NIMBLE_HR_SERVICE=n +CONFIG_BT_NIMBLE_DIS_SERVICE=n + + +CONFIG_BT_ALARM_MAX_NUM=15 + +CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU=23 +CONFIG_PM_ENABLE=n +CONFIG_HEAP_POISONING_DISABLED=y + +CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y + +CONFIG_VFS_SUPPORT_TERMIOS=n +CONFIG_VFS_SUPPORT_DIR=n +CONFIG_VFS_SUPPORT_IO=n +CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE=3152 + +# FreeRTOS +CONFIG_FREERTOS_HZ=100 +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1024 +CONFIG_FREERTOS_ISR_STACKSIZE=1024 +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 + +# C Library +CONFIG_LIBC_NEWLIB_NANO_FORMAT=y +CONFIG_LIBC_STDIN_LINE_ENDING_CRLF=n +CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=n + +# Optimization +CONFIG_COMPILER_OPTIMIZATION_SIZE=y +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE=y +CONFIG_COMPILER_CXX_EXCEPTIONS=n + +# Heap +CONFIG_HEAP_POISONING_DISABLED=y +CONFIG_HEAP_TRACING=n + +# Power Management +CONFIG_PM_ENABLE=n + +# No networking +CONFIG_ESP_WIFI_ENABLED=n + +# Application +CONFIG_APP_COMPILE_TIME_DATE=n + + +CONFIG_ESP_COEX_SW_COEXIST_ENABLE=n +CONFIG_ESP_ERR_TO_NAME_LOOKUP=n +CONFIG_SPI_MASTER_ISR_IN_IRAM=n +CONFIG_SPI_SLAVE_ISR_IN_IRAM=n +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=n +CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC=n +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=n +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=n +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=n +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=n + +#Uncomment below, if security needs to be disabled +#CONFIG_BT_NIMBLE_SECURITY_ENABLE=n + + +#Uncomment below, if logging needs to be disabled +#CONFIG_LOG_DEFAULT_LEVEL_NONE=y +#CONFIG_LOG_DEFAULT_LEVEL=0 + +# +# Controller Options +# + +CONFIG_BT_CTRL_BLE_MAX_ACT=2 +CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=1 +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=n +CONFIG_BT_CTRL_BLE_SCAN_DUPL=n diff --git a/examples/bluetooth/nimble/ble_dynamic_service/sdkconfig.defaults.mini b/examples/bluetooth/nimble/ble_dynamic_service/sdkconfig.defaults.mini new file mode 100644 index 0000000000..fedfd146e9 --- /dev/null +++ b/examples/bluetooth/nimble/ble_dynamic_service/sdkconfig.defaults.mini @@ -0,0 +1,112 @@ +# Override some defaults so BT stack is enabled +# in this example + +# +# BT config +# +CONFIG_BT_ENABLED=y +CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y +CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n +CONFIG_BTDM_CTRL_MODE_BTDM=n +CONFIG_BT_BLUEDROID_ENABLED=n +CONFIG_BT_NIMBLE_ENABLED=y +CONFIG_BT_NIMBLE_DYNAMIC_SERVICE=y +CONFIG_BT_NIMBLE_MAX_CONNECTIONS=1 +CONFIG_BT_NIMBLE_MAX_BONDS=1 +CONFIG_BT_NIMBLE_MAX_CCCDS=1 +CONFIG_BT_NIMBLE_ROLE_CENTRAL=n +CONFIG_BT_NIMBLE_ROLE_OBSERVER=n +CONFIG_BT_NIMBLE_SM_SC=n +CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=n +CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT=n +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=6 +CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=0 +CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=12 +CONFIG_BT_NIMBLE_TRANSPORT_EVT_COUNT=15 +CONFIG_BT_NIMBLE_ATT_MAX_PREP_ENTRIES=15 +CONFIG_BT_NIMBLE_GATT_CLIENT=n +CONFIG_BT_ALARM_MAX_NUM=15 +CONFIG_BT_NIMBLE_PRINT_ERR_NAME=n +CONFIG_BT_NIMBLE_PROX_SERVICE=n +CONFIG_BT_NIMBLE_CTS_SERVICE=n +CONFIG_BT_NIMBLE_HTP_SERVICE=n +CONFIG_BT_NIMBLE_IPSS_SERVICE=n +CONFIG_BT_NIMBLE_TPS_SERVICE=n +CONFIG_BT_NIMBLE_IAS_SERVICE=n +CONFIG_BT_NIMBLE_LLS_SERVICE=n +CONFIG_BT_NIMBLE_SPS_SERVICE=n +CONFIG_BT_NIMBLE_HR_SERVICE=n +CONFIG_BT_NIMBLE_DIS_SERVICE=n + + +CONFIG_BT_ALARM_MAX_NUM=15 + +CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU=23 +CONFIG_PM_ENABLE=n +CONFIG_HEAP_POISONING_DISABLED=y + +CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y + +CONFIG_VFS_SUPPORT_TERMIOS=n +CONFIG_VFS_SUPPORT_DIR=n +CONFIG_VFS_SUPPORT_IO=n +CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE=3152 + +# FreeRTOS +CONFIG_FREERTOS_HZ=100 +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1024 +CONFIG_FREERTOS_ISR_STACKSIZE=1024 +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 + +# C Library +CONFIG_LIBC_NEWLIB_NANO_FORMAT=y +CONFIG_LIBC_STDIN_LINE_ENDING_CRLF=n +CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=n + +# Optimization +CONFIG_COMPILER_OPTIMIZATION_SIZE=y +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE=y +CONFIG_COMPILER_CXX_EXCEPTIONS=n + +# Heap +CONFIG_HEAP_POISONING_DISABLED=y +CONFIG_HEAP_TRACING=n + +# Power Management +CONFIG_PM_ENABLE=n + +# No networking +CONFIG_ESP_WIFI_ENABLED=n + +# Application +CONFIG_APP_COMPILE_TIME_DATE=n + + +CONFIG_ESP_COEX_SW_COEXIST_ENABLE=n +CONFIG_ESP_ERR_TO_NAME_LOOKUP=n +CONFIG_SPI_MASTER_ISR_IN_IRAM=n +CONFIG_SPI_SLAVE_ISR_IN_IRAM=n +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=n +CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC=n +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=n +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=n +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=n +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=n + +#Uncomment below, if security needs to be disabled +#CONFIG_BT_NIMBLE_SECURITY_ENABLE=n + + +#Uncomment below, if logging needs to be disabled +#CONFIG_LOG_DEFAULT_LEVEL_NONE=y +#CONFIG_LOG_DEFAULT_LEVEL=0 + +# +# Controller Options +# + +CONFIG_BT_CTRL_BLE_MAX_ACT=2 +CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=1 +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=n +CONFIG_BT_CTRL_BLE_SCAN_DUPL=n diff --git a/examples/bluetooth/nimble/ble_enc_adv_data/enc_adv_data_cent/main/main.c b/examples/bluetooth/nimble/ble_enc_adv_data/enc_adv_data_cent/main/main.c index 3ceaffc07e..441b2a9eed 100644 --- a/examples/bluetooth/nimble/ble_enc_adv_data/enc_adv_data_cent/main/main.c +++ b/examples/bluetooth/nimble/ble_enc_adv_data/enc_adv_data_cent/main/main.c @@ -625,9 +625,11 @@ app_main(void) rc = peer_init(MYNEWT_VAL(BLE_MAX_CONNECTIONS), 64, 64, 64); assert(rc == 0); +#if CONFIG_BT_NIMBLE_GAP_SERVICE /* Set the default device name. */ rc = ble_svc_gap_device_name_set("enc_adv_data_cent"); assert(rc == 0); +#endif /* XXX Need to have template for store */ ble_store_config_init(); diff --git a/examples/bluetooth/nimble/ble_enc_adv_data/enc_adv_data_cent/sdkconfig.defaults.mini b/examples/bluetooth/nimble/ble_enc_adv_data/enc_adv_data_cent/sdkconfig.defaults.mini new file mode 100644 index 0000000000..0ee8f9eec4 --- /dev/null +++ b/examples/bluetooth/nimble/ble_enc_adv_data/enc_adv_data_cent/sdkconfig.defaults.mini @@ -0,0 +1,100 @@ +# Override some defaults so BT stack is enabled +# in this example + +# +# BT config +# +CONFIG_BT_ENABLED=y +CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y +CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n +CONFIG_BTDM_CTRL_MODE_BTDM=n +CONFIG_BT_BLUEDROID_ENABLED=n +CONFIG_BT_NIMBLE_ENABLED=y +CONFIG_BT_NIMBLE_EXT_ADV=n +CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT=n +CONFIG_BT_NIMBLE_MAX_CONNECTIONS=1 +CONFIG_BT_NIMBLE_MAX_BONDS=1 +CONFIG_BT_NIMBLE_MAX_CCCDS=1 +CONFIG_BT_NIMBLE_ROLE_PERIPHERAL=n +CONFIG_BT_NIMBLE_ROLE_BROADCASTER=n +CONFIG_BT_NIMBLE_SM_SC=n +CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=n +CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT=n +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=6 +CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=0 +CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=12 +CONFIG_BT_NIMBLE_TRANSPORT_EVT_COUNT=15 +CONFIG_BT_NIMBLE_ATT_MAX_PREP_ENTRIES=15 +CONFIG_BT_NIMBLE_GATT_SERVER=n +CONFIG_BT_NIMBLE_PRINT_ERR_NAME=n +CONFIG_BT_ALARM_MAX_NUM=15 + +CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU=23 +CONFIG_PM_ENABLE=n +CONFIG_HEAP_POISONING_DISABLED=y + +CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y + +CONFIG_VFS_SUPPORT_TERMIOS=n +CONFIG_VFS_SUPPORT_DIR=n +CONFIG_VFS_SUPPORT_IO=n +CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE=3152 + +# FreeRTOS +CONFIG_FREERTOS_HZ=100 +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1024 +CONFIG_FREERTOS_ISR_STACKSIZE=1024 +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 + +# C Library +CONFIG_LIBC_NEWLIB_NANO_FORMAT=y +CONFIG_LIBC_STDIN_LINE_ENDING_CRLF=n +CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=n + +# Optimization +CONFIG_COMPILER_OPTIMIZATION_SIZE=y +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE=y +CONFIG_COMPILER_CXX_EXCEPTIONS=n + +# Heap +CONFIG_HEAP_POISONING_DISABLED=y +CONFIG_HEAP_TRACING=n + +# Power Management +CONFIG_PM_ENABLE=n + +# No networking +CONFIG_ESP_WIFI_ENABLED=n + +# Application +CONFIG_APP_COMPILE_TIME_DATE=n + + +CONFIG_ESP_COEX_SW_COEXIST_ENABLE=n +CONFIG_ESP_ERR_TO_NAME_LOOKUP=n +CONFIG_SPI_MASTER_ISR_IN_IRAM=n +CONFIG_SPI_SLAVE_ISR_IN_IRAM=n +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=n +CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC=n +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=n +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=n +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=n +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=n + +#Uncomment below, if security needs to be disabled +#CONFIG_BT_NIMBLE_SECURITY_ENABLE=n + + +#Uncomment below, if logging needs to be disabled +#CONFIG_LOG_DEFAULT_LEVEL_NONE=y +#CONFIG_LOG_DEFAULT_LEVEL=0 + +# +# Controller Options +# + +CONFIG_BT_CTRL_BLE_MAX_ACT=2 +CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=1 +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=n +CONFIG_BT_CTRL_BLE_SCAN_DUPL=n diff --git a/examples/bluetooth/nimble/ble_enc_adv_data/enc_adv_data_prph/sdkconfig.defaults.mini b/examples/bluetooth/nimble/ble_enc_adv_data/enc_adv_data_prph/sdkconfig.defaults.mini new file mode 100644 index 0000000000..3ac42eff28 --- /dev/null +++ b/examples/bluetooth/nimble/ble_enc_adv_data/enc_adv_data_prph/sdkconfig.defaults.mini @@ -0,0 +1,113 @@ +# Override some defaults so BT stack is enabled +# in this example + +# +# BT config +# +CONFIG_BT_ENABLED=y +CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y +CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n +CONFIG_BTDM_CTRL_MODE_BTDM=n +CONFIG_BT_BLUEDROID_ENABLED=n +CONFIG_BT_NIMBLE_ENABLED=y +CONFIG_BT_NIMBLE_EXT_ADV=n +CONFIG_BT_NIMBLE_MAX_CONNECTIONS=1 +CONFIG_BT_NIMBLE_MAX_BONDS=1 +CONFIG_BT_NIMBLE_MAX_CCCDS=1 +CONFIG_BT_NIMBLE_ROLE_CENTRAL=n +CONFIG_BT_NIMBLE_ROLE_OBSERVER=n +CONFIG_BT_NIMBLE_SM_SC=n +CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=n +CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT=n +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=6 +CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=0 +CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=12 +CONFIG_BT_NIMBLE_TRANSPORT_EVT_COUNT=15 +CONFIG_BT_NIMBLE_TRANSPORT_EVT_SIZE=70 +CONFIG_BT_NIMBLE_ATT_MAX_PREP_ENTRIES=15 +CONFIG_BT_NIMBLE_GATT_CLIENT=n +CONFIG_BT_ALARM_MAX_NUM=15 +CONFIG_BT_NIMBLE_PRINT_ERR_NAME=n +CONFIG_BT_NIMBLE_PROX_SERVICE=n +CONFIG_BT_NIMBLE_CTS_SERVICE=n +CONFIG_BT_NIMBLE_HTP_SERVICE=n +CONFIG_BT_NIMBLE_IPSS_SERVICE=n +CONFIG_BT_NIMBLE_TPS_SERVICE=n +CONFIG_BT_NIMBLE_IAS_SERVICE=n +CONFIG_BT_NIMBLE_LLS_SERVICE=n +CONFIG_BT_NIMBLE_SPS_SERVICE=n +CONFIG_BT_NIMBLE_HR_SERVICE=n +CONFIG_BT_NIMBLE_DIS_SERVICE=n + + +CONFIG_BT_ALARM_MAX_NUM=15 + +CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU=23 +CONFIG_PM_ENABLE=n +CONFIG_HEAP_POISONING_DISABLED=y + +CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y + +CONFIG_VFS_SUPPORT_TERMIOS=n +CONFIG_VFS_SUPPORT_DIR=n +CONFIG_VFS_SUPPORT_IO=n +CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE=3152 + +# FreeRTOS +CONFIG_FREERTOS_HZ=100 +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1024 +CONFIG_FREERTOS_ISR_STACKSIZE=1024 +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 + +# C Library +CONFIG_LIBC_NEWLIB_NANO_FORMAT=y +CONFIG_LIBC_STDIN_LINE_ENDING_CRLF=n +CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=n + +# Optimization +CONFIG_COMPILER_OPTIMIZATION_SIZE=y +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE=y +CONFIG_COMPILER_CXX_EXCEPTIONS=n + +# Heap +CONFIG_HEAP_POISONING_DISABLED=y +CONFIG_HEAP_TRACING=n + +# Power Management +CONFIG_PM_ENABLE=n + +# No networking +CONFIG_ESP_WIFI_ENABLED=n + +# Application +CONFIG_APP_COMPILE_TIME_DATE=n + + +CONFIG_ESP_COEX_SW_COEXIST_ENABLE=n +CONFIG_ESP_ERR_TO_NAME_LOOKUP=n +CONFIG_SPI_MASTER_ISR_IN_IRAM=n +CONFIG_SPI_SLAVE_ISR_IN_IRAM=n +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=n +CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC=n +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=n +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=n +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=n +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=n + +#Uncomment below, if security needs to be disabled +#CONFIG_BT_NIMBLE_SECURITY_ENABLE=n + + +#Uncomment below, if logging needs to be disabled +#CONFIG_LOG_DEFAULT_LEVEL_NONE=y +#CONFIG_LOG_DEFAULT_LEVEL=0 + +# +# Controller Options +# + +CONFIG_BT_CTRL_BLE_MAX_ACT=2 +CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=1 +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=n +CONFIG_BT_CTRL_BLE_SCAN_DUPL=n diff --git a/examples/bluetooth/nimble/ble_htp/htp_cent/main/main.c b/examples/bluetooth/nimble/ble_htp/htp_cent/main/main.c index c2e1afed1e..0ac1b7d601 100644 --- a/examples/bluetooth/nimble/ble_htp/htp_cent/main/main.c +++ b/examples/bluetooth/nimble/ble_htp/htp_cent/main/main.c @@ -701,9 +701,11 @@ app_main(void) rc = peer_init(MYNEWT_VAL(BLE_MAX_CONNECTIONS), 64, 64, 64); assert(rc == 0); +#if CONFIG_BT_NIMBLE_GAP_SERVICE /* Set the default device name. */ rc = ble_svc_gap_device_name_set("nimble-htp-cent"); assert(rc == 0); +#endif /* XXX Need to have template for store */ ble_store_config_init(); diff --git a/examples/bluetooth/nimble/ble_htp/htp_cent/sdkconfig.defaults.mini b/examples/bluetooth/nimble/ble_htp/htp_cent/sdkconfig.defaults.mini new file mode 100644 index 0000000000..e5fa165ec0 --- /dev/null +++ b/examples/bluetooth/nimble/ble_htp/htp_cent/sdkconfig.defaults.mini @@ -0,0 +1,98 @@ +# Override some defaults so BT stack is enabled +# in this example + +# +# BT config +# +CONFIG_BT_ENABLED=y +CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y +CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n +CONFIG_BTDM_CTRL_MODE_BTDM=n +CONFIG_BT_BLUEDROID_ENABLED=n +CONFIG_BT_NIMBLE_ENABLED=y +CONFIG_BT_NIMBLE_MAX_CONNECTIONS=1 +CONFIG_BT_NIMBLE_MAX_BONDS=1 +CONFIG_BT_NIMBLE_MAX_CCCDS=1 +CONFIG_BT_NIMBLE_ROLE_PERIPHERAL=n +CONFIG_BT_NIMBLE_ROLE_BROADCASTER=n +CONFIG_BT_NIMBLE_SM_SC=n +CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=n +CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT=n +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=6 +CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=0 +CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=12 +CONFIG_BT_NIMBLE_TRANSPORT_EVT_COUNT=15 +CONFIG_BT_NIMBLE_ATT_MAX_PREP_ENTRIES=15 +CONFIG_BT_NIMBLE_GATT_SERVER=n +CONFIG_BT_NIMBLE_PRINT_ERR_NAME=n +CONFIG_BT_ALARM_MAX_NUM=15 + +CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU=23 +CONFIG_PM_ENABLE=n +CONFIG_HEAP_POISONING_DISABLED=y + +CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y + +CONFIG_VFS_SUPPORT_TERMIOS=n +CONFIG_VFS_SUPPORT_DIR=n +CONFIG_VFS_SUPPORT_IO=n +CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE=3152 + +# FreeRTOS +CONFIG_FREERTOS_HZ=100 +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1024 +CONFIG_FREERTOS_ISR_STACKSIZE=1024 +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 + +# C Library +CONFIG_LIBC_NEWLIB_NANO_FORMAT=y +CONFIG_LIBC_STDIN_LINE_ENDING_CRLF=n +CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=n + +# Optimization +CONFIG_COMPILER_OPTIMIZATION_SIZE=y +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE=y +CONFIG_COMPILER_CXX_EXCEPTIONS=n + +# Heap +CONFIG_HEAP_POISONING_DISABLED=y +CONFIG_HEAP_TRACING=n + +# Power Management +CONFIG_PM_ENABLE=n + +# No networking +CONFIG_ESP_WIFI_ENABLED=n + +# Application +CONFIG_APP_COMPILE_TIME_DATE=n + + +CONFIG_ESP_COEX_SW_COEXIST_ENABLE=n +CONFIG_ESP_ERR_TO_NAME_LOOKUP=n +CONFIG_SPI_MASTER_ISR_IN_IRAM=n +CONFIG_SPI_SLAVE_ISR_IN_IRAM=n +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=n +CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC=n +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=n +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=n +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=n +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=n + +#Uncomment below, if security needs to be disabled +#CONFIG_BT_NIMBLE_SECURITY_ENABLE=n + + +#Uncomment below, if logging needs to be disabled +#CONFIG_LOG_DEFAULT_LEVEL_NONE=y +#CONFIG_LOG_DEFAULT_LEVEL=0 + +# +# Controller Options +# + +CONFIG_BT_CTRL_BLE_MAX_ACT=2 +CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=1 +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=n +CONFIG_BT_CTRL_BLE_SCAN_DUPL=n diff --git a/examples/bluetooth/nimble/ble_htp/htp_prph/sdkconfig.defaults.mini b/examples/bluetooth/nimble/ble_htp/htp_prph/sdkconfig.defaults.mini new file mode 100644 index 0000000000..b353f05968 --- /dev/null +++ b/examples/bluetooth/nimble/ble_htp/htp_prph/sdkconfig.defaults.mini @@ -0,0 +1,110 @@ +# Override some defaults so BT stack is enabled +# in this example + +# +# BT config +# +CONFIG_BT_ENABLED=y +CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y +CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n +CONFIG_BTDM_CTRL_MODE_BTDM=n +CONFIG_BT_BLUEDROID_ENABLED=n +CONFIG_BT_NIMBLE_ENABLED=y +CONFIG_BT_NIMBLE_MAX_CONNECTIONS=1 +CONFIG_BT_NIMBLE_MAX_BONDS=1 +CONFIG_BT_NIMBLE_MAX_CCCDS=1 +CONFIG_BT_NIMBLE_ROLE_CENTRAL=n +CONFIG_BT_NIMBLE_ROLE_OBSERVER=n +CONFIG_BT_NIMBLE_SM_SC=n +CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=n +CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT=n +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=6 +CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=0 +CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=12 +CONFIG_BT_NIMBLE_TRANSPORT_EVT_COUNT=15 +CONFIG_BT_NIMBLE_ATT_MAX_PREP_ENTRIES=15 +CONFIG_BT_NIMBLE_GATT_CLIENT=n +CONFIG_BT_ALARM_MAX_NUM=15 +CONFIG_BT_NIMBLE_PRINT_ERR_NAME=n +CONFIG_BT_NIMBLE_PROX_SERVICE=n +CONFIG_BT_NIMBLE_CTS_SERVICE=n +CONFIG_BT_NIMBLE_IPSS_SERVICE=n +CONFIG_BT_NIMBLE_TPS_SERVICE=n +CONFIG_BT_NIMBLE_IAS_SERVICE=n +CONFIG_BT_NIMBLE_LLS_SERVICE=n +CONFIG_BT_NIMBLE_SPS_SERVICE=n +CONFIG_BT_NIMBLE_HR_SERVICE=n +CONFIG_BT_NIMBLE_DIS_SERVICE=n + + +CONFIG_BT_ALARM_MAX_NUM=15 + +CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU=23 +CONFIG_PM_ENABLE=n +CONFIG_HEAP_POISONING_DISABLED=y + +CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y + +CONFIG_VFS_SUPPORT_TERMIOS=n +CONFIG_VFS_SUPPORT_DIR=n +CONFIG_VFS_SUPPORT_IO=n +CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE=3152 + +# FreeRTOS +CONFIG_FREERTOS_HZ=100 +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1024 +CONFIG_FREERTOS_ISR_STACKSIZE=1024 +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=4000 + +# C Library +CONFIG_LIBC_NEWLIB_NANO_FORMAT=y +CONFIG_LIBC_STDIN_LINE_ENDING_CRLF=n +CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=n + +# Optimization +CONFIG_COMPILER_OPTIMIZATION_SIZE=y +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE=y +CONFIG_COMPILER_CXX_EXCEPTIONS=n + +# Heap +CONFIG_HEAP_POISONING_DISABLED=y +CONFIG_HEAP_TRACING=n + +# Power Management +CONFIG_PM_ENABLE=n + +# No networking +CONFIG_ESP_WIFI_ENABLED=n + +# Application +CONFIG_APP_COMPILE_TIME_DATE=n + + +CONFIG_ESP_COEX_SW_COEXIST_ENABLE=n +CONFIG_ESP_ERR_TO_NAME_LOOKUP=n +CONFIG_SPI_MASTER_ISR_IN_IRAM=n +CONFIG_SPI_SLAVE_ISR_IN_IRAM=n +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=n +CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC=n +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=n +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=n +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=n +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=n + +#Uncomment below, if security needs to be disabled +#CONFIG_BT_NIMBLE_SECURITY_ENABLE=n + + +#Uncomment below, if logging needs to be disabled +#CONFIG_LOG_DEFAULT_LEVEL_NONE=y +#CONFIG_LOG_DEFAULT_LEVEL=0 + +# +# Controller Options +# + +CONFIG_BT_CTRL_BLE_MAX_ACT=2 +CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=1 +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=n +CONFIG_BT_CTRL_BLE_SCAN_DUPL=n diff --git a/examples/bluetooth/nimble/ble_l2cap_coc/coc_blecent/main/main.c b/examples/bluetooth/nimble/ble_l2cap_coc/coc_blecent/main/main.c index cec8b5c1aa..644e19476d 100644 --- a/examples/bluetooth/nimble/ble_l2cap_coc/coc_blecent/main/main.c +++ b/examples/bluetooth/nimble/ble_l2cap_coc/coc_blecent/main/main.c @@ -575,9 +575,11 @@ app_main(void) rc = peer_init(MYNEWT_VAL(BLE_MAX_CONNECTIONS), 64, 64, 64); assert(rc == 0); +#if CONFIG_BT_NIMBLE_GAP_SERVICE /* Set the default device name. */ rc = ble_svc_gap_device_name_set("blecent-l2coc"); assert(rc == 0); +#endif /* XXX Need to have template for store */ ble_store_config_init(); diff --git a/examples/bluetooth/nimble/ble_l2cap_coc/coc_blecent/sdkconfig.defaults.mini b/examples/bluetooth/nimble/ble_l2cap_coc/coc_blecent/sdkconfig.defaults.mini new file mode 100644 index 0000000000..9907dd4f5f --- /dev/null +++ b/examples/bluetooth/nimble/ble_l2cap_coc/coc_blecent/sdkconfig.defaults.mini @@ -0,0 +1,100 @@ +# Override some defaults so BT stack is enabled +# in this example + +# +# BT config +# +CONFIG_BT_ENABLED=y +CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y +CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n +CONFIG_BTDM_CTRL_MODE_BTDM=n +CONFIG_BT_BLUEDROID_ENABLED=n +CONFIG_BT_NIMBLE_ENABLED=y +CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM=1 +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=30 +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_SIZE=512 +CONFIG_BT_NIMBLE_MAX_CONNECTIONS=1 +CONFIG_BT_NIMBLE_MAX_BONDS=1 +CONFIG_BT_NIMBLE_MAX_CCCDS=1 +CONFIG_BT_NIMBLE_ROLE_PERIPHERAL=n +CONFIG_BT_NIMBLE_ROLE_BROADCASTER=n +CONFIG_BT_NIMBLE_SM_SC=n +CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=n +CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT=n +CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=0 +CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=12 +CONFIG_BT_NIMBLE_TRANSPORT_EVT_COUNT=15 +CONFIG_BT_NIMBLE_ATT_MAX_PREP_ENTRIES=15 +CONFIG_BT_NIMBLE_GATT_SERVER=n +CONFIG_BT_NIMBLE_PRINT_ERR_NAME=n +CONFIG_BT_ALARM_MAX_NUM=15 + +CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU=23 +CONFIG_PM_ENABLE=n +CONFIG_HEAP_POISONING_DISABLED=y + +CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y + +CONFIG_VFS_SUPPORT_TERMIOS=n +CONFIG_VFS_SUPPORT_DIR=n +CONFIG_VFS_SUPPORT_IO=n +CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE=3152 + +# FreeRTOS +CONFIG_FREERTOS_HZ=100 +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1024 +CONFIG_FREERTOS_ISR_STACKSIZE=1024 +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 + +# C Library +CONFIG_LIBC_NEWLIB_NANO_FORMAT=y +CONFIG_LIBC_STDIN_LINE_ENDING_CRLF=n +CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=n + +# Optimization +CONFIG_COMPILER_OPTIMIZATION_SIZE=y +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE=y +CONFIG_COMPILER_CXX_EXCEPTIONS=n + +# Heap +CONFIG_HEAP_POISONING_DISABLED=y +CONFIG_HEAP_TRACING=n + +# Power Management +CONFIG_PM_ENABLE=n + +# No networking +CONFIG_ESP_WIFI_ENABLED=n + +# Application +CONFIG_APP_COMPILE_TIME_DATE=n + + +CONFIG_ESP_COEX_SW_COEXIST_ENABLE=n +CONFIG_ESP_ERR_TO_NAME_LOOKUP=n +CONFIG_SPI_MASTER_ISR_IN_IRAM=n +CONFIG_SPI_SLAVE_ISR_IN_IRAM=n +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=n +CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC=n +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=n +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=n +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=n +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=n + +#Uncomment below, if security needs to be disabled +#CONFIG_BT_NIMBLE_SECURITY_ENABLE=n + + +#Uncomment below, if logging needs to be disabled +#CONFIG_LOG_DEFAULT_LEVEL_NONE=y +#CONFIG_LOG_DEFAULT_LEVEL=0 + +# +# Controller Options +# + +CONFIG_BT_CTRL_BLE_MAX_ACT=2 +CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=1 +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=n +CONFIG_BT_CTRL_BLE_SCAN_DUPL=n diff --git a/examples/bluetooth/nimble/ble_l2cap_coc/coc_bleprph/sdkconfig.defaults.mini b/examples/bluetooth/nimble/ble_l2cap_coc/coc_bleprph/sdkconfig.defaults.mini new file mode 100644 index 0000000000..cc1ec7bb64 --- /dev/null +++ b/examples/bluetooth/nimble/ble_l2cap_coc/coc_bleprph/sdkconfig.defaults.mini @@ -0,0 +1,113 @@ +# Override some defaults so BT stack is enabled +# in this example + +# +# BT config +# +CONFIG_BT_ENABLED=y +CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y +CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n +CONFIG_BTDM_CTRL_MODE_BTDM=n +CONFIG_BT_BLUEDROID_ENABLED=n +CONFIG_BT_NIMBLE_ENABLED=y +CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM=1 +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=30 +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_SIZE=512 +CONFIG_BT_NIMBLE_MAX_CONNECTIONS=1 +CONFIG_BT_NIMBLE_MAX_BONDS=1 +CONFIG_BT_NIMBLE_MAX_CCCDS=1 +CONFIG_BT_NIMBLE_ROLE_CENTRAL=n +CONFIG_BT_NIMBLE_ROLE_OBSERVER=n +CONFIG_BT_NIMBLE_SM_SC=n +CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=n +CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT=n +CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=0 +CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=12 +CONFIG_BT_NIMBLE_TRANSPORT_EVT_COUNT=15 +CONFIG_BT_NIMBLE_ATT_MAX_PREP_ENTRIES=15 +CONFIG_BT_NIMBLE_GATT_CLIENT=n +CONFIG_BT_ALARM_MAX_NUM=15 +CONFIG_BT_NIMBLE_PRINT_ERR_NAME=n +CONFIG_BT_NIMBLE_PROX_SERVICE=n +CONFIG_BT_NIMBLE_CTS_SERVICE=n +CONFIG_BT_NIMBLE_HTP_SERVICE=n +CONFIG_BT_NIMBLE_IPSS_SERVICE=n +CONFIG_BT_NIMBLE_TPS_SERVICE=n +CONFIG_BT_NIMBLE_IAS_SERVICE=n +CONFIG_BT_NIMBLE_LLS_SERVICE=n +CONFIG_BT_NIMBLE_SPS_SERVICE=n +CONFIG_BT_NIMBLE_HR_SERVICE=n +CONFIG_BT_NIMBLE_DIS_SERVICE=n + + +CONFIG_BT_ALARM_MAX_NUM=15 + +CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU=23 +CONFIG_PM_ENABLE=n +CONFIG_HEAP_POISONING_DISABLED=y + +CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y + +CONFIG_VFS_SUPPORT_TERMIOS=n +CONFIG_VFS_SUPPORT_DIR=n +CONFIG_VFS_SUPPORT_IO=n +CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE=3152 + +# FreeRTOS +CONFIG_FREERTOS_HZ=100 +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1024 +CONFIG_FREERTOS_ISR_STACKSIZE=1024 +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 + +# C Library +CONFIG_LIBC_NEWLIB_NANO_FORMAT=y +CONFIG_LIBC_STDIN_LINE_ENDING_CRLF=n +CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=n + +# Optimization +CONFIG_COMPILER_OPTIMIZATION_SIZE=y +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE=y +CONFIG_COMPILER_CXX_EXCEPTIONS=n + +# Heap +CONFIG_HEAP_POISONING_DISABLED=y +CONFIG_HEAP_TRACING=n + +# Power Management +CONFIG_PM_ENABLE=n + +# No networking +CONFIG_ESP_WIFI_ENABLED=n + +# Application +CONFIG_APP_COMPILE_TIME_DATE=n + + +CONFIG_ESP_COEX_SW_COEXIST_ENABLE=n +CONFIG_ESP_ERR_TO_NAME_LOOKUP=n +CONFIG_SPI_MASTER_ISR_IN_IRAM=n +CONFIG_SPI_SLAVE_ISR_IN_IRAM=n +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=n +CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC=n +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=n +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=n +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=n +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=n + +#Uncomment below, if security needs to be disabled +#CONFIG_BT_NIMBLE_SECURITY_ENABLE=n + + +#Uncomment below, if logging needs to be disabled +#CONFIG_LOG_DEFAULT_LEVEL_NONE=y +#CONFIG_LOG_DEFAULT_LEVEL=0 + +# +# Controller Options +# + +CONFIG_BT_CTRL_BLE_MAX_ACT=2 +CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=1 +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=n +CONFIG_BT_CTRL_BLE_SCAN_DUPL=n diff --git a/examples/bluetooth/nimble/ble_multi_adv/main/main.c b/examples/bluetooth/nimble/ble_multi_adv/main/main.c index f54e382dcc..b8393aa806 100644 --- a/examples/bluetooth/nimble/ble_multi_adv/main/main.c +++ b/examples/bluetooth/nimble/ble_multi_adv/main/main.c @@ -498,9 +498,11 @@ app_main(void) rc = gatt_svr_init(); assert(rc == 0); +#if CONFIG_BT_NIMBLE_GAP_SERVICE /* Set the default device name. */ rc = ble_svc_gap_device_name_set("nimble-multi-adv"); assert(rc == 0); +#endif /* XXX Need to have template for store */ ble_store_config_init(); diff --git a/examples/bluetooth/nimble/ble_multi_adv/sdkconfig.defaults.mini b/examples/bluetooth/nimble/ble_multi_adv/sdkconfig.defaults.mini new file mode 100644 index 0000000000..aedfe116c7 --- /dev/null +++ b/examples/bluetooth/nimble/ble_multi_adv/sdkconfig.defaults.mini @@ -0,0 +1,112 @@ +# Override some defaults so BT stack is enabled +# in this example + +# +# BT config +# +CONFIG_BT_ENABLED=y +CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y +CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n +CONFIG_BTDM_CTRL_MODE_BTDM=n +CONFIG_BT_BLUEDROID_ENABLED=n +CONFIG_BT_NIMBLE_ENABLED=y +CONFIG_BT_NIMBLE_MAX_CONNECTIONS=1 +CONFIG_BT_NIMBLE_MAX_BONDS=1 +CONFIG_BT_NIMBLE_MAX_CCCDS=1 +CONFIG_BT_NIMBLE_ROLE_CENTRAL=n +CONFIG_BT_NIMBLE_ROLE_OBSERVER=n +CONFIG_BT_NIMBLE_SM_SC=n +CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=n +CONFIG_BT_NIMBLE_EXT_ADV=y +CONFIG_BT_NIMBLE_MAX_EXT_ADV_INSTANCES=4 +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=6 +CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=0 +CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=12 +CONFIG_BT_NIMBLE_TRANSPORT_EVT_COUNT=15 +CONFIG_BT_NIMBLE_ATT_MAX_PREP_ENTRIES=15 +CONFIG_BT_NIMBLE_GATT_CLIENT=n +CONFIG_BT_ALARM_MAX_NUM=15 +CONFIG_BT_NIMBLE_PRINT_ERR_NAME=n +CONFIG_BT_NIMBLE_PROX_SERVICE=n +CONFIG_BT_NIMBLE_CTS_SERVICE=n +CONFIG_BT_NIMBLE_HTP_SERVICE=n +CONFIG_BT_NIMBLE_IPSS_SERVICE=n +CONFIG_BT_NIMBLE_TPS_SERVICE=n +CONFIG_BT_NIMBLE_IAS_SERVICE=n +CONFIG_BT_NIMBLE_LLS_SERVICE=n +CONFIG_BT_NIMBLE_SPS_SERVICE=n +CONFIG_BT_NIMBLE_HR_SERVICE=n +CONFIG_BT_NIMBLE_DIS_SERVICE=n + + +CONFIG_BT_ALARM_MAX_NUM=15 + +CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU=23 +CONFIG_PM_ENABLE=n +CONFIG_HEAP_POISONING_DISABLED=y + +CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y + +CONFIG_VFS_SUPPORT_TERMIOS=n +CONFIG_VFS_SUPPORT_DIR=n +CONFIG_VFS_SUPPORT_IO=n +CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE=3152 + +# FreeRTOS +CONFIG_FREERTOS_HZ=100 +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1024 +CONFIG_FREERTOS_ISR_STACKSIZE=1024 +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 + +# C Library +CONFIG_LIBC_NEWLIB_NANO_FORMAT=y +CONFIG_LIBC_STDIN_LINE_ENDING_CRLF=n +CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=n + +# Optimization +CONFIG_COMPILER_OPTIMIZATION_SIZE=y +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE=y +CONFIG_COMPILER_CXX_EXCEPTIONS=n + +# Heap +CONFIG_HEAP_POISONING_DISABLED=y +CONFIG_HEAP_TRACING=n + +# Power Management +CONFIG_PM_ENABLE=n + +# No networking +CONFIG_ESP_WIFI_ENABLED=n + +# Application +CONFIG_APP_COMPILE_TIME_DATE=n + + +CONFIG_ESP_COEX_SW_COEXIST_ENABLE=n +CONFIG_ESP_ERR_TO_NAME_LOOKUP=n +CONFIG_SPI_MASTER_ISR_IN_IRAM=n +CONFIG_SPI_SLAVE_ISR_IN_IRAM=n +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=n +CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC=n +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=n +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=n +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=n +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=n + +#Uncomment below, if security needs to be disabled +#CONFIG_BT_NIMBLE_SECURITY_ENABLE=n + + +#Uncomment below, if logging needs to be disabled +#CONFIG_LOG_DEFAULT_LEVEL_NONE=y +#CONFIG_LOG_DEFAULT_LEVEL=0 + +# +# Controller Options +# + +CONFIG_BT_CTRL_BLE_MAX_ACT=5 +CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=1 +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=n +CONFIG_BT_CTRL_BLE_SCAN_DUPL=n diff --git a/examples/bluetooth/nimble/ble_periodic_adv/sdkconfig.defaults.mini b/examples/bluetooth/nimble/ble_periodic_adv/sdkconfig.defaults.mini new file mode 100644 index 0000000000..4c9ca092ce --- /dev/null +++ b/examples/bluetooth/nimble/ble_periodic_adv/sdkconfig.defaults.mini @@ -0,0 +1,113 @@ +# Override some defaults so BT stack is enabled +# in this example + +# +# BT config +# +CONFIG_BT_ENABLED=y +CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y +CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n +CONFIG_BTDM_CTRL_MODE_BTDM=n +CONFIG_BT_BLUEDROID_ENABLED=n +CONFIG_BT_NIMBLE_ENABLED=y +CONFIG_EXAMPLE_EXTENDED_ADV=y +CONFIG_BT_NIMBLE_EXT_ADV=y +CONFIG_BT_NIMBLE_MAX_PERIODIC_SYNCS=1 +CONFIG_BT_NIMBLE_MAX_CONNECTIONS=1 +CONFIG_BT_NIMBLE_MAX_BONDS=1 +CONFIG_BT_NIMBLE_MAX_CCCDS=1 +CONFIG_BT_NIMBLE_ROLE_CENTRAL=n +CONFIG_BT_NIMBLE_ROLE_OBSERVER=n +CONFIG_BT_NIMBLE_SM_SC=n +CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=n +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=6 +CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=0 +CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=12 +CONFIG_BT_NIMBLE_TRANSPORT_EVT_COUNT=15 +CONFIG_BT_NIMBLE_ATT_MAX_PREP_ENTRIES=15 +CONFIG_BT_NIMBLE_GATT_CLIENT=n +CONFIG_BT_ALARM_MAX_NUM=15 +CONFIG_BT_NIMBLE_PRINT_ERR_NAME=n +CONFIG_BT_NIMBLE_PROX_SERVICE=n +CONFIG_BT_NIMBLE_CTS_SERVICE=n +CONFIG_BT_NIMBLE_HTP_SERVICE=n +CONFIG_BT_NIMBLE_IPSS_SERVICE=n +CONFIG_BT_NIMBLE_TPS_SERVICE=n +CONFIG_BT_NIMBLE_IAS_SERVICE=n +CONFIG_BT_NIMBLE_LLS_SERVICE=n +CONFIG_BT_NIMBLE_SPS_SERVICE=n +CONFIG_BT_NIMBLE_HR_SERVICE=n +CONFIG_BT_NIMBLE_DIS_SERVICE=n + + +CONFIG_BT_ALARM_MAX_NUM=15 + +CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU=23 +CONFIG_PM_ENABLE=n +CONFIG_HEAP_POISONING_DISABLED=y + +CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y + +CONFIG_VFS_SUPPORT_TERMIOS=n +CONFIG_VFS_SUPPORT_DIR=n +CONFIG_VFS_SUPPORT_IO=n +CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE=3152 + +# FreeRTOS +CONFIG_FREERTOS_HZ=100 +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1024 +CONFIG_FREERTOS_ISR_STACKSIZE=1024 +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 + +# C Library +CONFIG_LIBC_NEWLIB_NANO_FORMAT=y +CONFIG_LIBC_STDIN_LINE_ENDING_CRLF=n +CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=n + +# Optimization +CONFIG_COMPILER_OPTIMIZATION_SIZE=y +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE=y +CONFIG_COMPILER_CXX_EXCEPTIONS=n + +# Heap +CONFIG_HEAP_POISONING_DISABLED=y +CONFIG_HEAP_TRACING=n + +# Power Management +CONFIG_PM_ENABLE=n + +# No networking +CONFIG_ESP_WIFI_ENABLED=n + +# Application +CONFIG_APP_COMPILE_TIME_DATE=n + + +CONFIG_ESP_COEX_SW_COEXIST_ENABLE=n +CONFIG_ESP_ERR_TO_NAME_LOOKUP=n +CONFIG_SPI_MASTER_ISR_IN_IRAM=n +CONFIG_SPI_SLAVE_ISR_IN_IRAM=n +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=n +CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC=n +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=n +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=n +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=n +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=n + +#Uncomment below, if security needs to be disabled +#CONFIG_BT_NIMBLE_SECURITY_ENABLE=n + + +#Uncomment below, if logging needs to be disabled +#CONFIG_LOG_DEFAULT_LEVEL_NONE=y +#CONFIG_LOG_DEFAULT_LEVEL=0 + +# +# Controller Options +# + +CONFIG_BT_CTRL_BLE_MAX_ACT=2 +CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=1 +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=n +CONFIG_BT_CTRL_BLE_SCAN_DUPL=n diff --git a/examples/bluetooth/nimble/ble_periodic_sync/main/main.c b/examples/bluetooth/nimble/ble_periodic_sync/main/main.c index 4ec6d98ec9..869a4d32bc 100644 --- a/examples/bluetooth/nimble/ble_periodic_sync/main/main.c +++ b/examples/bluetooth/nimble/ble_periodic_sync/main/main.c @@ -206,9 +206,11 @@ app_main(void) rc = peer_init(MYNEWT_VAL(BLE_MAX_CONNECTIONS), 64, 64, 64); assert(rc == 0); +#if CONFIG_BT_NIMBLE_GAP_SERVICE /* Set the default device name. */ rc = ble_svc_gap_device_name_set("nimble_periodic_sync"); assert(rc == 0); +#endif /* XXX Need to have template for store */ ble_store_config_init(); diff --git a/examples/bluetooth/nimble/ble_periodic_sync/sdkconfig.defaults.mini b/examples/bluetooth/nimble/ble_periodic_sync/sdkconfig.defaults.mini new file mode 100644 index 0000000000..a718452e62 --- /dev/null +++ b/examples/bluetooth/nimble/ble_periodic_sync/sdkconfig.defaults.mini @@ -0,0 +1,100 @@ +# Override some defaults so BT stack is enabled +# in this example + +# +# BT config +# +CONFIG_BT_ENABLED=y +CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y +CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n +CONFIG_BTDM_CTRL_MODE_BTDM=n +CONFIG_BT_BLUEDROID_ENABLED=n +CONFIG_BT_NIMBLE_ENABLED=y +CONFIG_EXAMPLE_EXTENDED_ADV=y +CONFIG_BT_NIMBLE_EXT_ADV=y +CONFIG_BT_NIMBLE_MAX_PERIODIC_SYNCS=1 +CONFIG_BT_NIMBLE_MAX_CONNECTIONS=1 +CONFIG_BT_NIMBLE_MAX_BONDS=1 +CONFIG_BT_NIMBLE_MAX_CCCDS=1 +CONFIG_BT_NIMBLE_ROLE_PERIPHERAL=n +CONFIG_BT_NIMBLE_ROLE_BROADCASTER=n +CONFIG_BT_NIMBLE_SM_SC=n +CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=n +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=6 +CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=0 +CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=12 +CONFIG_BT_NIMBLE_TRANSPORT_EVT_COUNT=15 +CONFIG_BT_NIMBLE_ATT_MAX_PREP_ENTRIES=15 +CONFIG_BT_NIMBLE_GATT_SERVER=n +CONFIG_BT_NIMBLE_PRINT_ERR_NAME=n +CONFIG_BT_ALARM_MAX_NUM=15 + +CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU=23 +CONFIG_PM_ENABLE=n +CONFIG_HEAP_POISONING_DISABLED=y + +CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y + +CONFIG_VFS_SUPPORT_TERMIOS=n +CONFIG_VFS_SUPPORT_DIR=n +CONFIG_VFS_SUPPORT_IO=n +CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE=3152 + +# FreeRTOS +CONFIG_FREERTOS_HZ=100 +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1024 +CONFIG_FREERTOS_ISR_STACKSIZE=1024 +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 + +# C Library +CONFIG_LIBC_NEWLIB_NANO_FORMAT=y +CONFIG_LIBC_STDIN_LINE_ENDING_CRLF=n +CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=n + +# Optimization +CONFIG_COMPILER_OPTIMIZATION_SIZE=y +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE=y +CONFIG_COMPILER_CXX_EXCEPTIONS=n + +# Heap +CONFIG_HEAP_POISONING_DISABLED=y +CONFIG_HEAP_TRACING=n + +# Power Management +CONFIG_PM_ENABLE=n + +# No networking +CONFIG_ESP_WIFI_ENABLED=n + +# Application +CONFIG_APP_COMPILE_TIME_DATE=n + + +CONFIG_ESP_COEX_SW_COEXIST_ENABLE=n +CONFIG_ESP_ERR_TO_NAME_LOOKUP=n +CONFIG_SPI_MASTER_ISR_IN_IRAM=n +CONFIG_SPI_SLAVE_ISR_IN_IRAM=n +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=n +CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC=n +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=n +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=n +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=n +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=n + +#Uncomment below, if security needs to be disabled +#CONFIG_BT_NIMBLE_SECURITY_ENABLE=n + + +#Uncomment below, if logging needs to be disabled +#CONFIG_LOG_DEFAULT_LEVEL_NONE=y +#CONFIG_LOG_DEFAULT_LEVEL=0 + +# +# Controller Options +# + +CONFIG_BT_CTRL_BLE_MAX_ACT=2 +CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=1 +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=n +CONFIG_BT_CTRL_BLE_SCAN_DUPL=n diff --git a/examples/bluetooth/nimble/ble_phy/phy_cent/main/main.c b/examples/bluetooth/nimble/ble_phy/phy_cent/main/main.c index 88b7ac4deb..c6520f98fc 100644 --- a/examples/bluetooth/nimble/ble_phy/phy_cent/main/main.c +++ b/examples/bluetooth/nimble/ble_phy/phy_cent/main/main.c @@ -556,9 +556,11 @@ app_main(void) rc = peer_init(MYNEWT_VAL(BLE_MAX_CONNECTIONS), 64, 64, 64); assert(rc == 0); +#if CONFIG_BT_NIMBLE_GAP_SERVICE /* Set the default device name. */ rc = ble_svc_gap_device_name_set("blecent-phy"); assert(rc == 0); +#endif /* XXX Need to have template for store */ ble_store_config_init(); diff --git a/examples/bluetooth/nimble/ble_phy/phy_cent/sdkconfig.defaults.mini b/examples/bluetooth/nimble/ble_phy/phy_cent/sdkconfig.defaults.mini new file mode 100644 index 0000000000..31a641823d --- /dev/null +++ b/examples/bluetooth/nimble/ble_phy/phy_cent/sdkconfig.defaults.mini @@ -0,0 +1,100 @@ +# Override some defaults so BT stack is enabled +# in this example + +# +# BT config +# +CONFIG_BT_ENABLED=y +CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y +CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n +CONFIG_BTDM_CTRL_MODE_BTDM=n +CONFIG_BT_BLUEDROID_ENABLED=n +CONFIG_BT_NIMBLE_ENABLED=y +CONFIG_BT_NIMBLE_EXT_ADV=y +CONFIG_BT_NIMBLE_BLE_GATT_BLOB_TRANSFER=y +CONFIG_BT_NIMBLE_MAX_CONNECTIONS=1 +CONFIG_BT_NIMBLE_MAX_BONDS=1 +CONFIG_BT_NIMBLE_MAX_CCCDS=1 +CONFIG_BT_NIMBLE_ROLE_PERIPHERAL=n +CONFIG_BT_NIMBLE_ROLE_BROADCASTER=n +CONFIG_BT_NIMBLE_SM_SC=n +CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=n +CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT=y +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=8 +CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=12 +CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=12 +CONFIG_BT_NIMBLE_TRANSPORT_EVT_COUNT=15 +CONFIG_BT_NIMBLE_ATT_MAX_PREP_ENTRIES=15 +CONFIG_BT_NIMBLE_GATT_SERVER=n +CONFIG_BT_NIMBLE_PRINT_ERR_NAME=n +CONFIG_BT_ALARM_MAX_NUM=15 + +CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU=23 +CONFIG_PM_ENABLE=n +CONFIG_HEAP_POISONING_DISABLED=y + +CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y + +CONFIG_VFS_SUPPORT_TERMIOS=n +CONFIG_VFS_SUPPORT_DIR=n +CONFIG_VFS_SUPPORT_IO=n +CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE=3152 + +# FreeRTOS +CONFIG_FREERTOS_HZ=100 +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1024 +CONFIG_FREERTOS_ISR_STACKSIZE=1024 +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 + +# C Library +CONFIG_LIBC_NEWLIB_NANO_FORMAT=y +CONFIG_LIBC_STDIN_LINE_ENDING_CRLF=n +CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=n + +# Optimization +CONFIG_COMPILER_OPTIMIZATION_SIZE=y +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE=y +CONFIG_COMPILER_CXX_EXCEPTIONS=n + +# Heap +CONFIG_HEAP_POISONING_DISABLED=y +CONFIG_HEAP_TRACING=n + +# Power Management +CONFIG_PM_ENABLE=n + +# No networking +CONFIG_ESP_WIFI_ENABLED=n + +# Application +CONFIG_APP_COMPILE_TIME_DATE=n + + +CONFIG_ESP_COEX_SW_COEXIST_ENABLE=n +CONFIG_ESP_ERR_TO_NAME_LOOKUP=n +CONFIG_SPI_MASTER_ISR_IN_IRAM=n +CONFIG_SPI_SLAVE_ISR_IN_IRAM=n +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=n +CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC=n +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=n +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=n +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=n +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=n + +#Uncomment below, if security needs to be disabled +#CONFIG_BT_NIMBLE_SECURITY_ENABLE=n + + +#Uncomment below, if logging needs to be disabled +#CONFIG_LOG_DEFAULT_LEVEL_NONE=y +#CONFIG_LOG_DEFAULT_LEVEL=0 + +# +# Controller Options +# + +CONFIG_BT_CTRL_BLE_MAX_ACT=2 +CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=1 +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=n +CONFIG_BT_CTRL_BLE_SCAN_DUPL=n diff --git a/examples/bluetooth/nimble/ble_phy/phy_prph/sdkconfig.defaults.mini b/examples/bluetooth/nimble/ble_phy/phy_prph/sdkconfig.defaults.mini new file mode 100644 index 0000000000..e58fb3a2ac --- /dev/null +++ b/examples/bluetooth/nimble/ble_phy/phy_prph/sdkconfig.defaults.mini @@ -0,0 +1,113 @@ +# Override some defaults so BT stack is enabled +# in this example + +# +# BT config +# +CONFIG_BT_ENABLED=y +CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y +CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n +CONFIG_BTDM_CTRL_MODE_BTDM=n +CONFIG_BT_BLUEDROID_ENABLED=n +CONFIG_BT_NIMBLE_ENABLED=y +CONFIG_BT_NIMBLE_EXT_ADV=y +CONFIG_BT_NIMBLE_BLE_GATT_BLOB_TRANSFER=y +CONFIG_BT_NIMBLE_MAX_CONNECTIONS=1 +CONFIG_BT_NIMBLE_MAX_BONDS=1 +CONFIG_BT_NIMBLE_MAX_CCCDS=1 +CONFIG_BT_NIMBLE_ROLE_CENTRAL=n +CONFIG_BT_NIMBLE_ROLE_OBSERVER=n +CONFIG_BT_NIMBLE_SM_SC=n +CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=n +CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT=y +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=6 +CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=12 +CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=12 +CONFIG_BT_NIMBLE_TRANSPORT_EVT_COUNT=15 +CONFIG_BT_NIMBLE_ATT_MAX_PREP_ENTRIES=15 +CONFIG_BT_NIMBLE_GATT_CLIENT=n +CONFIG_BT_ALARM_MAX_NUM=15 +CONFIG_BT_NIMBLE_PRINT_ERR_NAME=n +CONFIG_BT_NIMBLE_PROX_SERVICE=n +CONFIG_BT_NIMBLE_CTS_SERVICE=n +CONFIG_BT_NIMBLE_HTP_SERVICE=n +CONFIG_BT_NIMBLE_IPSS_SERVICE=n +CONFIG_BT_NIMBLE_TPS_SERVICE=n +CONFIG_BT_NIMBLE_IAS_SERVICE=n +CONFIG_BT_NIMBLE_LLS_SERVICE=n +CONFIG_BT_NIMBLE_SPS_SERVICE=n +CONFIG_BT_NIMBLE_HR_SERVICE=n +CONFIG_BT_NIMBLE_DIS_SERVICE=n + + +CONFIG_BT_ALARM_MAX_NUM=15 + +CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU=23 +CONFIG_PM_ENABLE=n +CONFIG_HEAP_POISONING_DISABLED=y + +CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y + +CONFIG_VFS_SUPPORT_TERMIOS=n +CONFIG_VFS_SUPPORT_DIR=n +CONFIG_VFS_SUPPORT_IO=n +CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE=3152 + +# FreeRTOS +CONFIG_FREERTOS_HZ=100 +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1024 +CONFIG_FREERTOS_ISR_STACKSIZE=1024 +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 + +# C Library +CONFIG_LIBC_NEWLIB_NANO_FORMAT=y +CONFIG_LIBC_STDIN_LINE_ENDING_CRLF=n +CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=n + +# Optimization +CONFIG_COMPILER_OPTIMIZATION_SIZE=y +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE=y +CONFIG_COMPILER_CXX_EXCEPTIONS=n + +# Heap +CONFIG_HEAP_POISONING_DISABLED=y +CONFIG_HEAP_TRACING=n + +# Power Management +CONFIG_PM_ENABLE=n + +# No networking +CONFIG_ESP_WIFI_ENABLED=n + +# Application +CONFIG_APP_COMPILE_TIME_DATE=n + + +CONFIG_ESP_COEX_SW_COEXIST_ENABLE=n +CONFIG_ESP_ERR_TO_NAME_LOOKUP=n +CONFIG_SPI_MASTER_ISR_IN_IRAM=n +CONFIG_SPI_SLAVE_ISR_IN_IRAM=n +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=n +CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC=n +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=n +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=n +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=n +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=n + +#Uncomment below, if security needs to be disabled +#CONFIG_BT_NIMBLE_SECURITY_ENABLE=n + + +#Uncomment below, if logging needs to be disabled +#CONFIG_LOG_DEFAULT_LEVEL_NONE=y +#CONFIG_LOG_DEFAULT_LEVEL=0 + +# +# Controller Options +# + +CONFIG_BT_CTRL_BLE_MAX_ACT=2 +CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=1 +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=n +CONFIG_BT_CTRL_BLE_SCAN_DUPL=n diff --git a/examples/bluetooth/nimble/ble_proximity_sensor/proximity_sensor_cent/main/main.c b/examples/bluetooth/nimble/ble_proximity_sensor/proximity_sensor_cent/main/main.c index a3bbfcbb67..452c881554 100644 --- a/examples/bluetooth/nimble/ble_proximity_sensor/proximity_sensor_cent/main/main.c +++ b/examples/bluetooth/nimble/ble_proximity_sensor/proximity_sensor_cent/main/main.c @@ -725,9 +725,11 @@ app_main(void) rc = peer_init(MYNEWT_VAL(BLE_MAX_CONNECTIONS), 64, 64, 64); assert(rc == 0); +#if CONFIG_BT_NIMBLE_GAP_SERVICE /* Set the default device name. */ rc = ble_svc_gap_device_name_set("nimble-prox-cent"); assert(rc == 0); +#endif /* XXX Need to have template for store */ ble_store_config_init(); diff --git a/examples/bluetooth/nimble/ble_proximity_sensor/proximity_sensor_cent/sdkconfig.defaults.mini b/examples/bluetooth/nimble/ble_proximity_sensor/proximity_sensor_cent/sdkconfig.defaults.mini new file mode 100644 index 0000000000..e5fa165ec0 --- /dev/null +++ b/examples/bluetooth/nimble/ble_proximity_sensor/proximity_sensor_cent/sdkconfig.defaults.mini @@ -0,0 +1,98 @@ +# Override some defaults so BT stack is enabled +# in this example + +# +# BT config +# +CONFIG_BT_ENABLED=y +CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y +CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n +CONFIG_BTDM_CTRL_MODE_BTDM=n +CONFIG_BT_BLUEDROID_ENABLED=n +CONFIG_BT_NIMBLE_ENABLED=y +CONFIG_BT_NIMBLE_MAX_CONNECTIONS=1 +CONFIG_BT_NIMBLE_MAX_BONDS=1 +CONFIG_BT_NIMBLE_MAX_CCCDS=1 +CONFIG_BT_NIMBLE_ROLE_PERIPHERAL=n +CONFIG_BT_NIMBLE_ROLE_BROADCASTER=n +CONFIG_BT_NIMBLE_SM_SC=n +CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=n +CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT=n +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=6 +CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=0 +CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=12 +CONFIG_BT_NIMBLE_TRANSPORT_EVT_COUNT=15 +CONFIG_BT_NIMBLE_ATT_MAX_PREP_ENTRIES=15 +CONFIG_BT_NIMBLE_GATT_SERVER=n +CONFIG_BT_NIMBLE_PRINT_ERR_NAME=n +CONFIG_BT_ALARM_MAX_NUM=15 + +CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU=23 +CONFIG_PM_ENABLE=n +CONFIG_HEAP_POISONING_DISABLED=y + +CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y + +CONFIG_VFS_SUPPORT_TERMIOS=n +CONFIG_VFS_SUPPORT_DIR=n +CONFIG_VFS_SUPPORT_IO=n +CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE=3152 + +# FreeRTOS +CONFIG_FREERTOS_HZ=100 +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1024 +CONFIG_FREERTOS_ISR_STACKSIZE=1024 +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 + +# C Library +CONFIG_LIBC_NEWLIB_NANO_FORMAT=y +CONFIG_LIBC_STDIN_LINE_ENDING_CRLF=n +CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=n + +# Optimization +CONFIG_COMPILER_OPTIMIZATION_SIZE=y +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE=y +CONFIG_COMPILER_CXX_EXCEPTIONS=n + +# Heap +CONFIG_HEAP_POISONING_DISABLED=y +CONFIG_HEAP_TRACING=n + +# Power Management +CONFIG_PM_ENABLE=n + +# No networking +CONFIG_ESP_WIFI_ENABLED=n + +# Application +CONFIG_APP_COMPILE_TIME_DATE=n + + +CONFIG_ESP_COEX_SW_COEXIST_ENABLE=n +CONFIG_ESP_ERR_TO_NAME_LOOKUP=n +CONFIG_SPI_MASTER_ISR_IN_IRAM=n +CONFIG_SPI_SLAVE_ISR_IN_IRAM=n +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=n +CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC=n +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=n +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=n +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=n +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=n + +#Uncomment below, if security needs to be disabled +#CONFIG_BT_NIMBLE_SECURITY_ENABLE=n + + +#Uncomment below, if logging needs to be disabled +#CONFIG_LOG_DEFAULT_LEVEL_NONE=y +#CONFIG_LOG_DEFAULT_LEVEL=0 + +# +# Controller Options +# + +CONFIG_BT_CTRL_BLE_MAX_ACT=2 +CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=1 +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=n +CONFIG_BT_CTRL_BLE_SCAN_DUPL=n diff --git a/examples/bluetooth/nimble/ble_proximity_sensor/proximity_sensor_prph/sdkconfig.defaults.mini b/examples/bluetooth/nimble/ble_proximity_sensor/proximity_sensor_prph/sdkconfig.defaults.mini new file mode 100644 index 0000000000..5efef9a761 --- /dev/null +++ b/examples/bluetooth/nimble/ble_proximity_sensor/proximity_sensor_prph/sdkconfig.defaults.mini @@ -0,0 +1,110 @@ +# Override some defaults so BT stack is enabled +# in this example + +# +# BT config +# +CONFIG_BT_ENABLED=y +CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y +CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n +CONFIG_BTDM_CTRL_MODE_BTDM=n +CONFIG_BT_BLUEDROID_ENABLED=n +CONFIG_BT_NIMBLE_ENABLED=y +CONFIG_BT_NIMBLE_MAX_CONNECTIONS=1 +CONFIG_BT_NIMBLE_MAX_BONDS=1 +CONFIG_BT_NIMBLE_MAX_CCCDS=1 +CONFIG_BT_NIMBLE_ROLE_CENTRAL=n +CONFIG_BT_NIMBLE_ROLE_OBSERVER=n +CONFIG_BT_NIMBLE_SM_SC=n +CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=n +CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT=n +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=6 +CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=0 +CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=12 +CONFIG_BT_NIMBLE_TRANSPORT_EVT_COUNT=15 +CONFIG_BT_NIMBLE_ATT_MAX_PREP_ENTRIES=15 +CONFIG_BT_NIMBLE_GATT_CLIENT=n +CONFIG_BT_ALARM_MAX_NUM=15 +CONFIG_BT_NIMBLE_PRINT_ERR_NAME=n +CONFIG_BT_NIMBLE_CTS_SERVICE=n +CONFIG_BT_NIMBLE_HTP_SERVICE=n +CONFIG_BT_NIMBLE_IPSS_SERVICE=n +CONFIG_BT_NIMBLE_TPS_SERVICE=n +CONFIG_BT_NIMBLE_IAS_SERVICE=n +CONFIG_BT_NIMBLE_LLS_SERVICE=n +CONFIG_BT_NIMBLE_SPS_SERVICE=n +CONFIG_BT_NIMBLE_HR_SERVICE=n +CONFIG_BT_NIMBLE_DIS_SERVICE=n + + +CONFIG_BT_ALARM_MAX_NUM=15 + +CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU=23 +CONFIG_PM_ENABLE=n +CONFIG_HEAP_POISONING_DISABLED=y + +CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y + +CONFIG_VFS_SUPPORT_TERMIOS=n +CONFIG_VFS_SUPPORT_DIR=n +CONFIG_VFS_SUPPORT_IO=n +CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE=3152 + +# FreeRTOS +CONFIG_FREERTOS_HZ=100 +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1024 +CONFIG_FREERTOS_ISR_STACKSIZE=1024 +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 + +# C Library +CONFIG_LIBC_NEWLIB_NANO_FORMAT=y +CONFIG_LIBC_STDIN_LINE_ENDING_CRLF=n +CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=n + +# Optimization +CONFIG_COMPILER_OPTIMIZATION_SIZE=y +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE=y +CONFIG_COMPILER_CXX_EXCEPTIONS=n + +# Heap +CONFIG_HEAP_POISONING_DISABLED=y +CONFIG_HEAP_TRACING=n + +# Power Management +CONFIG_PM_ENABLE=n + +# No networking +CONFIG_ESP_WIFI_ENABLED=n + +# Application +CONFIG_APP_COMPILE_TIME_DATE=n + + +CONFIG_ESP_COEX_SW_COEXIST_ENABLE=n +CONFIG_ESP_ERR_TO_NAME_LOOKUP=n +CONFIG_SPI_MASTER_ISR_IN_IRAM=n +CONFIG_SPI_SLAVE_ISR_IN_IRAM=n +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=n +CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC=n +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=n +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=n +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=n +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=n + +#Uncomment below, if security needs to be disabled +#CONFIG_BT_NIMBLE_SECURITY_ENABLE=n + + +#Uncomment below, if logging needs to be disabled +#CONFIG_LOG_DEFAULT_LEVEL_NONE=y +#CONFIG_LOG_DEFAULT_LEVEL=0 + +# +# Controller Options +# + +CONFIG_BT_CTRL_BLE_MAX_ACT=2 +CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=1 +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=n +CONFIG_BT_CTRL_BLE_SCAN_DUPL=n diff --git a/examples/bluetooth/nimble/ble_spp/spp_client/main/main.c b/examples/bluetooth/nimble/ble_spp/spp_client/main/main.c index 1664d41100..8e9136de96 100644 --- a/examples/bluetooth/nimble/ble_spp/spp_client/main/main.c +++ b/examples/bluetooth/nimble/ble_spp/spp_client/main/main.c @@ -491,9 +491,11 @@ app_main(void) rc = peer_init(MYNEWT_VAL(BLE_MAX_CONNECTIONS), 64, 64, 64); assert(rc == 0); +#if CONFIG_BT_NIMBLE_GAP_SERVICE /* Set the default device name. */ rc = ble_svc_gap_device_name_set("nimble-ble-spp-client"); assert(rc == 0); +#endif /* XXX Need to have template for store */ ble_store_config_init(); diff --git a/examples/bluetooth/nimble/ble_spp/spp_server/sdkconfig.defaults.mini b/examples/bluetooth/nimble/ble_spp/spp_server/sdkconfig.defaults.mini new file mode 100644 index 0000000000..749ed66c83 --- /dev/null +++ b/examples/bluetooth/nimble/ble_spp/spp_server/sdkconfig.defaults.mini @@ -0,0 +1,111 @@ +# Override some defaults so BT stack is enabled +# in this example + +# +# BT config +# +CONFIG_BT_ENABLED=y +CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y +CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n +CONFIG_BTDM_CTRL_MODE_BTDM=n +CONFIG_BT_BLUEDROID_ENABLED=n +CONFIG_BT_NIMBLE_ENABLED=y +CONFIG_BT_NIMBLE_MAX_CONNECTIONS=1 +CONFIG_BT_NIMBLE_MAX_BONDS=1 +CONFIG_BT_NIMBLE_MAX_CCCDS=1 +CONFIG_BT_NIMBLE_ROLE_CENTRAL=n +CONFIG_BT_NIMBLE_ROLE_OBSERVER=n +CONFIG_BT_NIMBLE_SM_SC=n +CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=n +CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT=n +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=6 +CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=12 +CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=12 +CONFIG_BT_NIMBLE_TRANSPORT_EVT_COUNT=15 +CONFIG_BT_NIMBLE_ATT_MAX_PREP_ENTRIES=15 +CONFIG_BT_NIMBLE_GATT_CLIENT=n +CONFIG_BT_ALARM_MAX_NUM=15 +CONFIG_BT_NIMBLE_PRINT_ERR_NAME=n +CONFIG_BT_NIMBLE_PROX_SERVICE=n +CONFIG_BT_NIMBLE_CTS_SERVICE=n +CONFIG_BT_NIMBLE_HTP_SERVICE=n +CONFIG_BT_NIMBLE_IPSS_SERVICE=n +CONFIG_BT_NIMBLE_TPS_SERVICE=n +CONFIG_BT_NIMBLE_IAS_SERVICE=n +CONFIG_BT_NIMBLE_LLS_SERVICE=n +CONFIG_BT_NIMBLE_SPS_SERVICE=n +CONFIG_BT_NIMBLE_HR_SERVICE=n +CONFIG_BT_NIMBLE_DIS_SERVICE=n + + +CONFIG_BT_ALARM_MAX_NUM=15 + +CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU=23 +CONFIG_PM_ENABLE=n +CONFIG_HEAP_POISONING_DISABLED=y + +CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y + +CONFIG_VFS_SUPPORT_TERMIOS=n +CONFIG_VFS_SUPPORT_DIR=n +CONFIG_VFS_SUPPORT_IO=n +CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE=3152 + +# FreeRTOS +CONFIG_FREERTOS_HZ=100 +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1024 +CONFIG_FREERTOS_ISR_STACKSIZE=1024 +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 + +# C Library +CONFIG_LIBC_NEWLIB_NANO_FORMAT=y +CONFIG_LIBC_STDIN_LINE_ENDING_CRLF=n +CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=n + +# Optimization +CONFIG_COMPILER_OPTIMIZATION_SIZE=y +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE=y +CONFIG_COMPILER_CXX_EXCEPTIONS=n + +# Heap +CONFIG_HEAP_POISONING_DISABLED=y +CONFIG_HEAP_TRACING=n + +# Power Management +CONFIG_PM_ENABLE=n + +# No networking +CONFIG_ESP_WIFI_ENABLED=n + +# Application +CONFIG_APP_COMPILE_TIME_DATE=n + + +CONFIG_ESP_COEX_SW_COEXIST_ENABLE=n +CONFIG_ESP_ERR_TO_NAME_LOOKUP=n +CONFIG_SPI_MASTER_ISR_IN_IRAM=n +CONFIG_SPI_SLAVE_ISR_IN_IRAM=n +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=n +CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC=n +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=n +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=n +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=n +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=n + +#Uncomment below, if security needs to be disabled +#CONFIG_BT_NIMBLE_SECURITY_ENABLE=n + + +#Uncomment below, if logging needs to be disabled +#CONFIG_LOG_DEFAULT_LEVEL_NONE=y +#CONFIG_LOG_DEFAULT_LEVEL=0 + +# +# Controller Options +# + +CONFIG_BT_CTRL_BLE_MAX_ACT=2 +CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=1 +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=n +CONFIG_BT_CTRL_BLE_SCAN_DUPL=n diff --git a/examples/bluetooth/nimble/blecent/main/main.c b/examples/bluetooth/nimble/blecent/main/main.c index e2c37b1ffe..d2254d9239 100644 --- a/examples/bluetooth/nimble/blecent/main/main.c +++ b/examples/bluetooth/nimble/blecent/main/main.c @@ -27,6 +27,9 @@ #include "console/console.h" #include "services/gap/ble_svc_gap.h" #include "blecent.h" +#if MYNEWT_VAL(BLE_GATT_CACHING) +#include "host/ble_esp_gattc_cache.h" +#endif #if CONFIG_EXAMPLE_USE_CI_ADDRESS #ifdef CONFIG_IDF_TARGET_ESP32 @@ -50,6 +53,7 @@ #endif #endif +#if MYNEWT_VAL(BLE_GATTC) /*** The UUID of the service containing the subscribable characteristic ***/ static const ble_uuid_t * remote_svc_uuid = BLE_UUID128_DECLARE(0x2d, 0x71, 0xa2, 0x59, 0xb4, 0x58, 0xc8, 0x12, @@ -59,6 +63,7 @@ static const ble_uuid_t * remote_svc_uuid = static const ble_uuid_t * remote_chr_uuid = BLE_UUID128_DECLARE(0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x22, 0x22, 0x22, 0x22, 0x33, 0x33, 0x33, 0x33); +#endif static const char *tag = "NimBLE_BLE_CENT"; static int blecent_gap_event(struct ble_gap_event *event, void *arg); @@ -70,6 +75,7 @@ static uint16_t bearers; void ble_store_config_init(void); +#if MYNEWT_VAL(BLE_GATTC) /** * Application Callback. Called when the custom subscribable chatacteristic * in the remote GATT server is read. @@ -427,6 +433,7 @@ blecent_on_disc_complete(const struct peer *peer, int status, void *arg) */ blecent_read_write_subscribe(peer); } +#endif //MYNEWT_VAL(BLE_GATTC) /** * Initiates the GAP general discovery procedure. @@ -779,6 +786,7 @@ blecent_gap_event(struct ble_gap_event *event, void *arg) MODLOG_DFLT(INFO, "Connection secured\n"); } #else +#if MYNEWT_VAL(BLE_GATTC) /* Perform service discovery */ rc = peer_disc_all(event->connect.conn_handle, blecent_on_disc_complete, NULL); @@ -786,6 +794,7 @@ blecent_gap_event(struct ble_gap_event *event, void *arg) MODLOG_DFLT(ERROR, "Failed to discover services; rc=%d\n", rc); return 0; } +#endif #endif } else { /* Connection attempt failed; resume scanning. */ @@ -830,7 +839,7 @@ blecent_gap_event(struct ble_gap_event *event, void *arg) assert(rc == 0); print_conn_desc(&desc); #if !MYNEWT_VAL(BLE_EATT_CHAN_NUM) -#if CONFIG_EXAMPLE_ENCRYPTION +#if CONFIG_EXAMPLE_ENCRYPTION && MYNEWT_VAL(BLE_GATTC) /*** Go for service discovery after encryption has been successfully enabled ***/ rc = peer_disc_all(event->enc_change.conn_handle, blecent_on_disc_complete, NULL); @@ -946,7 +955,7 @@ blecent_gap_event(struct ble_gap_event *event, void *arg) MODLOG_DFLT(INFO, "Cannot set default EATT bearer, rc = %d\n", rc); return rc; } - +#if MYNEWT_VAL(BLE_GATTC) /* Perform service discovery */ rc = peer_disc_all(event->eatt.conn_handle, blecent_on_disc_complete, NULL); @@ -954,6 +963,7 @@ blecent_gap_event(struct ble_gap_event *event, void *arg) MODLOG_DFLT(ERROR, "Failed to discover services; rc=%d\n", rc); return 0; } +#endif #endif return 0; default: @@ -1052,12 +1062,19 @@ app_main(void) ble_hs_cfg.store_status_cb = ble_store_util_status_rr; /* Initialize data structures to track connected peers. */ +#if MYNEWT_VAL(BLE_INCL_SVC_DISCOVERY) || MYNEWT_VAL(BLE_GATT_CACHING_INCLUDE_SERVICES) + rc = peer_init(MYNEWT_VAL(BLE_MAX_CONNECTIONS), 64, 64, 64, 64); + assert(rc == 0); +#else rc = peer_init(MYNEWT_VAL(BLE_MAX_CONNECTIONS), 64, 64, 64); assert(rc == 0); +#endif +#if CONFIG_BT_NIMBLE_GAP_SERVICE /* Set the default device name. */ rc = ble_svc_gap_device_name_set("nimble-blecent"); assert(rc == 0); +#endif /* XXX Need to have template for store */ ble_store_config_init(); diff --git a/examples/bluetooth/nimble/blecent/sdkconfig.defaults.mini b/examples/bluetooth/nimble/blecent/sdkconfig.defaults.mini new file mode 100644 index 0000000000..0738b3cce0 --- /dev/null +++ b/examples/bluetooth/nimble/blecent/sdkconfig.defaults.mini @@ -0,0 +1,98 @@ +# Override some defaults so BT stack is enabled +# in this example + +# +# BT config +# +CONFIG_BT_ENABLED=y +CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y +CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n +CONFIG_BTDM_CTRL_MODE_BTDM=n +CONFIG_BT_BLUEDROID_ENABLED=n +CONFIG_BT_NIMBLE_ENABLED=y +CONFIG_BT_NIMBLE_MAX_CONNECTIONS=1 +CONFIG_BT_NIMBLE_MAX_BONDS=1 +CONFIG_BT_NIMBLE_MAX_CCCDS=1 +CONFIG_BT_NIMBLE_ROLE_PERIPHERAL=n +CONFIG_BT_NIMBLE_ROLE_BROADCASTER=n +CONFIG_BT_NIMBLE_SM_SC=n +CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=n +CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT=n +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=6 +CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=12 +CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=12 +CONFIG_BT_NIMBLE_TRANSPORT_EVT_COUNT=15 +CONFIG_BT_NIMBLE_ATT_MAX_PREP_ENTRIES=15 +CONFIG_BT_NIMBLE_GATT_SERVER=n +CONFIG_BT_NIMBLE_PRINT_ERR_NAME=n +CONFIG_BT_ALARM_MAX_NUM=15 + +CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU=23 +CONFIG_PM_ENABLE=n +CONFIG_HEAP_POISONING_DISABLED=y + +CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y + +CONFIG_VFS_SUPPORT_TERMIOS=n +CONFIG_VFS_SUPPORT_DIR=n +CONFIG_VFS_SUPPORT_IO=n +CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE=3152 + +# FreeRTOS +CONFIG_FREERTOS_HZ=100 +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1024 +CONFIG_FREERTOS_ISR_STACKSIZE=1024 +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 + +# C Library +CONFIG_LIBC_NEWLIB_NANO_FORMAT=y +CONFIG_LIBC_STDIN_LINE_ENDING_CRLF=n +CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=n + +# Optimization +CONFIG_COMPILER_OPTIMIZATION_SIZE=y +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE=y +CONFIG_COMPILER_CXX_EXCEPTIONS=n + +# Heap +CONFIG_HEAP_POISONING_DISABLED=y +CONFIG_HEAP_TRACING=n + +# Power Management +CONFIG_PM_ENABLE=n + +# No networking +CONFIG_ESP_WIFI_ENABLED=n + +# Application +CONFIG_APP_COMPILE_TIME_DATE=n + + +CONFIG_ESP_COEX_SW_COEXIST_ENABLE=n +CONFIG_ESP_ERR_TO_NAME_LOOKUP=n +CONFIG_SPI_MASTER_ISR_IN_IRAM=n +CONFIG_SPI_SLAVE_ISR_IN_IRAM=n +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=n +CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC=n +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=n +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=n +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=n +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=n + +#Uncomment below, if security needs to be disabled +#CONFIG_BT_NIMBLE_SECURITY_ENABLE=n + + +#Uncomment below, if logging needs to be disabled +#CONFIG_LOG_DEFAULT_LEVEL_NONE=y +#CONFIG_LOG_DEFAULT_LEVEL=0 + +# +# Controller Options +# + +CONFIG_BT_CTRL_BLE_MAX_ACT=2 +CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=1 +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=n +CONFIG_BT_CTRL_BLE_SCAN_DUPL=n diff --git a/examples/bluetooth/nimble/blecsc/sdkconfig.defaults.mini b/examples/bluetooth/nimble/blecsc/sdkconfig.defaults.mini new file mode 100644 index 0000000000..b7ab3e6f96 --- /dev/null +++ b/examples/bluetooth/nimble/blecsc/sdkconfig.defaults.mini @@ -0,0 +1,111 @@ +# Override some defaults so BT stack is enabled +# in this example + +# +# BT config +# +CONFIG_BT_ENABLED=y +CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y +CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n +CONFIG_BTDM_CTRL_MODE_BTDM=n +CONFIG_BT_BLUEDROID_ENABLED=n +CONFIG_BT_NIMBLE_ENABLED=y +CONFIG_BT_NIMBLE_MAX_CONNECTIONS=1 +CONFIG_BT_NIMBLE_MAX_BONDS=1 +CONFIG_BT_NIMBLE_MAX_CCCDS=1 +CONFIG_BT_NIMBLE_ROLE_CENTRAL=n +CONFIG_BT_NIMBLE_ROLE_OBSERVER=n +CONFIG_BT_NIMBLE_SM_SC=n +CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=n +CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT=n +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=6 +CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=0 +CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=12 +CONFIG_BT_NIMBLE_TRANSPORT_EVT_COUNT=15 +CONFIG_BT_NIMBLE_ATT_MAX_PREP_ENTRIES=15 +CONFIG_BT_NIMBLE_GATT_CLIENT=n +CONFIG_BT_ALARM_MAX_NUM=15 +CONFIG_BT_NIMBLE_PRINT_ERR_NAME=n +CONFIG_BT_NIMBLE_PROX_SERVICE=n +CONFIG_BT_NIMBLE_CTS_SERVICE=n +CONFIG_BT_NIMBLE_HTP_SERVICE=n +CONFIG_BT_NIMBLE_IPSS_SERVICE=n +CONFIG_BT_NIMBLE_TPS_SERVICE=n +CONFIG_BT_NIMBLE_IAS_SERVICE=n +CONFIG_BT_NIMBLE_LLS_SERVICE=n +CONFIG_BT_NIMBLE_SPS_SERVICE=n +CONFIG_BT_NIMBLE_HR_SERVICE=n +CONFIG_BT_NIMBLE_DIS_SERVICE=n + + +CONFIG_BT_ALARM_MAX_NUM=15 + +CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU=23 +CONFIG_PM_ENABLE=n +CONFIG_HEAP_POISONING_DISABLED=y + +CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y + +CONFIG_VFS_SUPPORT_TERMIOS=n +CONFIG_VFS_SUPPORT_DIR=n +CONFIG_VFS_SUPPORT_IO=n +CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE=3152 + +# FreeRTOS +CONFIG_FREERTOS_HZ=100 +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1024 +CONFIG_FREERTOS_ISR_STACKSIZE=1024 +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 + +# C Library +CONFIG_LIBC_NEWLIB_NANO_FORMAT=y +CONFIG_LIBC_STDIN_LINE_ENDING_CRLF=n +CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=n + +# Optimization +CONFIG_COMPILER_OPTIMIZATION_SIZE=y +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE=y +CONFIG_COMPILER_CXX_EXCEPTIONS=n + +# Heap +CONFIG_HEAP_POISONING_DISABLED=y +CONFIG_HEAP_TRACING=n + +# Power Management +CONFIG_PM_ENABLE=n + +# No networking +CONFIG_ESP_WIFI_ENABLED=n + +# Application +CONFIG_APP_COMPILE_TIME_DATE=n + + +CONFIG_ESP_COEX_SW_COEXIST_ENABLE=n +CONFIG_ESP_ERR_TO_NAME_LOOKUP=n +CONFIG_SPI_MASTER_ISR_IN_IRAM=n +CONFIG_SPI_SLAVE_ISR_IN_IRAM=n +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=n +CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC=n +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=n +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=n +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=n +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=n + +#Uncomment below, if security needs to be disabled +#CONFIG_BT_NIMBLE_SECURITY_ENABLE=n + + +#Uncomment below, if logging needs to be disabled +#CONFIG_LOG_DEFAULT_LEVEL_NONE=y +#CONFIG_LOG_DEFAULT_LEVEL=0 + +# +# Controller Options +# + +CONFIG_BT_CTRL_BLE_MAX_ACT=2 +CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=1 +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=n +CONFIG_BT_CTRL_BLE_SCAN_DUPL=n diff --git a/examples/bluetooth/nimble/blehr/sdkconfig.defaults.mini b/examples/bluetooth/nimble/blehr/sdkconfig.defaults.mini new file mode 100644 index 0000000000..749ed66c83 --- /dev/null +++ b/examples/bluetooth/nimble/blehr/sdkconfig.defaults.mini @@ -0,0 +1,111 @@ +# Override some defaults so BT stack is enabled +# in this example + +# +# BT config +# +CONFIG_BT_ENABLED=y +CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y +CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n +CONFIG_BTDM_CTRL_MODE_BTDM=n +CONFIG_BT_BLUEDROID_ENABLED=n +CONFIG_BT_NIMBLE_ENABLED=y +CONFIG_BT_NIMBLE_MAX_CONNECTIONS=1 +CONFIG_BT_NIMBLE_MAX_BONDS=1 +CONFIG_BT_NIMBLE_MAX_CCCDS=1 +CONFIG_BT_NIMBLE_ROLE_CENTRAL=n +CONFIG_BT_NIMBLE_ROLE_OBSERVER=n +CONFIG_BT_NIMBLE_SM_SC=n +CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=n +CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT=n +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=6 +CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=12 +CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=12 +CONFIG_BT_NIMBLE_TRANSPORT_EVT_COUNT=15 +CONFIG_BT_NIMBLE_ATT_MAX_PREP_ENTRIES=15 +CONFIG_BT_NIMBLE_GATT_CLIENT=n +CONFIG_BT_ALARM_MAX_NUM=15 +CONFIG_BT_NIMBLE_PRINT_ERR_NAME=n +CONFIG_BT_NIMBLE_PROX_SERVICE=n +CONFIG_BT_NIMBLE_CTS_SERVICE=n +CONFIG_BT_NIMBLE_HTP_SERVICE=n +CONFIG_BT_NIMBLE_IPSS_SERVICE=n +CONFIG_BT_NIMBLE_TPS_SERVICE=n +CONFIG_BT_NIMBLE_IAS_SERVICE=n +CONFIG_BT_NIMBLE_LLS_SERVICE=n +CONFIG_BT_NIMBLE_SPS_SERVICE=n +CONFIG_BT_NIMBLE_HR_SERVICE=n +CONFIG_BT_NIMBLE_DIS_SERVICE=n + + +CONFIG_BT_ALARM_MAX_NUM=15 + +CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU=23 +CONFIG_PM_ENABLE=n +CONFIG_HEAP_POISONING_DISABLED=y + +CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y + +CONFIG_VFS_SUPPORT_TERMIOS=n +CONFIG_VFS_SUPPORT_DIR=n +CONFIG_VFS_SUPPORT_IO=n +CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE=3152 + +# FreeRTOS +CONFIG_FREERTOS_HZ=100 +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1024 +CONFIG_FREERTOS_ISR_STACKSIZE=1024 +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 + +# C Library +CONFIG_LIBC_NEWLIB_NANO_FORMAT=y +CONFIG_LIBC_STDIN_LINE_ENDING_CRLF=n +CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=n + +# Optimization +CONFIG_COMPILER_OPTIMIZATION_SIZE=y +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE=y +CONFIG_COMPILER_CXX_EXCEPTIONS=n + +# Heap +CONFIG_HEAP_POISONING_DISABLED=y +CONFIG_HEAP_TRACING=n + +# Power Management +CONFIG_PM_ENABLE=n + +# No networking +CONFIG_ESP_WIFI_ENABLED=n + +# Application +CONFIG_APP_COMPILE_TIME_DATE=n + + +CONFIG_ESP_COEX_SW_COEXIST_ENABLE=n +CONFIG_ESP_ERR_TO_NAME_LOOKUP=n +CONFIG_SPI_MASTER_ISR_IN_IRAM=n +CONFIG_SPI_SLAVE_ISR_IN_IRAM=n +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=n +CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC=n +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=n +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=n +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=n +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=n + +#Uncomment below, if security needs to be disabled +#CONFIG_BT_NIMBLE_SECURITY_ENABLE=n + + +#Uncomment below, if logging needs to be disabled +#CONFIG_LOG_DEFAULT_LEVEL_NONE=y +#CONFIG_LOG_DEFAULT_LEVEL=0 + +# +# Controller Options +# + +CONFIG_BT_CTRL_BLE_MAX_ACT=2 +CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=1 +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=n +CONFIG_BT_CTRL_BLE_SCAN_DUPL=n diff --git a/examples/bluetooth/nimble/bleprph/main/main.c b/examples/bluetooth/nimble/bleprph/main/main.c index ec155a2752..5d01fe9604 100644 --- a/examples/bluetooth/nimble/bleprph/main/main.c +++ b/examples/bluetooth/nimble/bleprph/main/main.c @@ -589,8 +589,10 @@ app_main(void) ble_hs_cfg.sm_their_key_dist |= BLE_SM_PAIR_KEY_DIST_ID; #endif +#if MYNEWT_VAL(BLE_GATTS) rc = gatt_svr_init(); assert(rc == 0); +#endif /* Set the default device name. */ rc = ble_svc_gap_device_name_set("nimble-bleprph"); diff --git a/examples/bluetooth/nimble/bleprph/sdkconfig.defaults.mini b/examples/bluetooth/nimble/bleprph/sdkconfig.defaults.mini new file mode 100644 index 0000000000..749ed66c83 --- /dev/null +++ b/examples/bluetooth/nimble/bleprph/sdkconfig.defaults.mini @@ -0,0 +1,111 @@ +# Override some defaults so BT stack is enabled +# in this example + +# +# BT config +# +CONFIG_BT_ENABLED=y +CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y +CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n +CONFIG_BTDM_CTRL_MODE_BTDM=n +CONFIG_BT_BLUEDROID_ENABLED=n +CONFIG_BT_NIMBLE_ENABLED=y +CONFIG_BT_NIMBLE_MAX_CONNECTIONS=1 +CONFIG_BT_NIMBLE_MAX_BONDS=1 +CONFIG_BT_NIMBLE_MAX_CCCDS=1 +CONFIG_BT_NIMBLE_ROLE_CENTRAL=n +CONFIG_BT_NIMBLE_ROLE_OBSERVER=n +CONFIG_BT_NIMBLE_SM_SC=n +CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=n +CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT=n +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=6 +CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=12 +CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=12 +CONFIG_BT_NIMBLE_TRANSPORT_EVT_COUNT=15 +CONFIG_BT_NIMBLE_ATT_MAX_PREP_ENTRIES=15 +CONFIG_BT_NIMBLE_GATT_CLIENT=n +CONFIG_BT_ALARM_MAX_NUM=15 +CONFIG_BT_NIMBLE_PRINT_ERR_NAME=n +CONFIG_BT_NIMBLE_PROX_SERVICE=n +CONFIG_BT_NIMBLE_CTS_SERVICE=n +CONFIG_BT_NIMBLE_HTP_SERVICE=n +CONFIG_BT_NIMBLE_IPSS_SERVICE=n +CONFIG_BT_NIMBLE_TPS_SERVICE=n +CONFIG_BT_NIMBLE_IAS_SERVICE=n +CONFIG_BT_NIMBLE_LLS_SERVICE=n +CONFIG_BT_NIMBLE_SPS_SERVICE=n +CONFIG_BT_NIMBLE_HR_SERVICE=n +CONFIG_BT_NIMBLE_DIS_SERVICE=n + + +CONFIG_BT_ALARM_MAX_NUM=15 + +CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU=23 +CONFIG_PM_ENABLE=n +CONFIG_HEAP_POISONING_DISABLED=y + +CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y + +CONFIG_VFS_SUPPORT_TERMIOS=n +CONFIG_VFS_SUPPORT_DIR=n +CONFIG_VFS_SUPPORT_IO=n +CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE=3152 + +# FreeRTOS +CONFIG_FREERTOS_HZ=100 +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1024 +CONFIG_FREERTOS_ISR_STACKSIZE=1024 +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 + +# C Library +CONFIG_LIBC_NEWLIB_NANO_FORMAT=y +CONFIG_LIBC_STDIN_LINE_ENDING_CRLF=n +CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=n + +# Optimization +CONFIG_COMPILER_OPTIMIZATION_SIZE=y +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE=y +CONFIG_COMPILER_CXX_EXCEPTIONS=n + +# Heap +CONFIG_HEAP_POISONING_DISABLED=y +CONFIG_HEAP_TRACING=n + +# Power Management +CONFIG_PM_ENABLE=n + +# No networking +CONFIG_ESP_WIFI_ENABLED=n + +# Application +CONFIG_APP_COMPILE_TIME_DATE=n + + +CONFIG_ESP_COEX_SW_COEXIST_ENABLE=n +CONFIG_ESP_ERR_TO_NAME_LOOKUP=n +CONFIG_SPI_MASTER_ISR_IN_IRAM=n +CONFIG_SPI_SLAVE_ISR_IN_IRAM=n +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=n +CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC=n +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=n +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=n +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=n +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=n + +#Uncomment below, if security needs to be disabled +#CONFIG_BT_NIMBLE_SECURITY_ENABLE=n + + +#Uncomment below, if logging needs to be disabled +#CONFIG_LOG_DEFAULT_LEVEL_NONE=y +#CONFIG_LOG_DEFAULT_LEVEL=0 + +# +# Controller Options +# + +CONFIG_BT_CTRL_BLE_MAX_ACT=2 +CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=1 +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=n +CONFIG_BT_CTRL_BLE_SCAN_DUPL=n diff --git a/examples/bluetooth/nimble/common/nimble_central_utils/esp_central.h b/examples/bluetooth/nimble/common/nimble_central_utils/esp_central.h index 396d416ea7..45fbb6ab0e 100644 --- a/examples/bluetooth/nimble/common/nimble_central_utils/esp_central.h +++ b/examples/bluetooth/nimble/common/nimble_central_utils/esp_central.h @@ -38,14 +38,24 @@ struct peer_chr { struct peer_dsc_list dscs; }; SLIST_HEAD(peer_chr_list, peer_chr); +SLIST_HEAD(peer_svc_list, peer_svc); + +#if MYNEWT_VAL(BLE_INCL_SVC_DISCOVERY) || MYNEWT_VAL(BLE_GATT_CACHING_INCLUDE_SERVICES) +struct peer_incl_svc { + SLIST_ENTRY(peer_incl_svc) next; + struct ble_gatt_incl_svc svc; +}; +SLIST_HEAD(peer_incl_svc_list, peer_incl_svc); +#endif struct peer_svc { SLIST_ENTRY(peer_svc) next; struct ble_gatt_svc svc; - +#if MYNEWT_VAL(BLE_INCL_SVC_DISCOVERY) || MYNEWT_VAL(BLE_GATT_CACHING_INCLUDE_SERVICES) + struct peer_incl_svc_list incl_svc; +#endif struct peer_chr_list chrs; }; -SLIST_HEAD(peer_svc_list, peer_svc); struct peer; typedef void peer_disc_fn(const struct peer *peer, int status, void *arg); @@ -95,7 +105,11 @@ const struct peer_svc * peer_svc_find_uuid(const struct peer *peer, const ble_uuid_t *uuid); int peer_delete(uint16_t conn_handle); int peer_add(uint16_t conn_handle); +#if MYNEWT_VAL(BLE_INCL_SVC_DISCOVERY) || MYNEWT_VAL(BLE_GATT_CACHING_INCLUDE_SERVICES) +int peer_init(int max_peers, int max_svcs, int max_incl_svcs, int max_chrs, int max_dscs); +#else int peer_init(int max_peers, int max_svcs, int max_chrs, int max_dscs); +#endif struct peer * peer_find(uint16_t conn_handle); #if MYNEWT_VAL(ENC_ADV_DATA) diff --git a/examples/bluetooth/nimble/common/nimble_central_utils/peer.c b/examples/bluetooth/nimble/common/nimble_central_utils/peer.c index 87bcf094a8..5635b26b4f 100644 --- a/examples/bluetooth/nimble/common/nimble_central_utils/peer.c +++ b/examples/bluetooth/nimble/common/nimble_central_utils/peer.c @@ -12,6 +12,10 @@ static void *peer_svc_mem; static struct os_mempool peer_svc_pool; +#if MYNEWT_VAL(BLE_INCL_SVC_DISCOVERY) || MYNEWT_VAL(BLE_GATT_CACHING_INCLUDE_SERVICES) +static void *peer_incl_svc_mem; +static struct os_mempool peer_incl_svc_pool; +#endif static void *peer_chr_mem; static struct os_mempool peer_chr_pool; @@ -44,6 +48,13 @@ static int peer_dsc_disced(uint16_t conn_handle, const struct ble_gatt_error *error, uint16_t chr_val_handle, const struct ble_gatt_dsc *dsc, void *arg); +#if MYNEWT_VAL(BLE_INCL_SVC_DISCOVERY) || MYNEWT_VAL(BLE_GATT_CACHING_INCLUDE_SERVICES) +static int +peer_inc_disced(uint16_t conn_handle, const struct ble_gatt_error *error, + const struct ble_gatt_incl_svc *service, void *arg); +static void +peer_disc_incs(struct peer *peer); +#endif struct peer * peer_find(uint16_t conn_handle) @@ -419,6 +430,189 @@ peer_disc_chrs(struct peer *peer) peer_disc_dscs(peer); } +#if (MYNEWT_VAL(BLE_INCL_SVC_DISCOVERY) || MYNEWT_VAL(BLE_GATT_CACHING_INCLUDE_SERVICES)) +static struct peer_incl_svc * +peer_incl_svc_find_prev(const struct peer_svc *svc, uint16_t incl_svc_handle) +{ + struct peer_incl_svc *prev; + struct peer_incl_svc *incl_svc; + + prev = NULL; + SLIST_FOREACH(incl_svc, &svc->incl_svc, next) { + if (incl_svc->svc.handle >= incl_svc_handle) { + break; + } + + prev = incl_svc; + } + + return prev; +} + +static struct peer_incl_svc * +peer_incl_svc_find(const struct peer_svc *svc, uint16_t incl_svc_handle, + struct peer_incl_svc **out_prev) +{ + struct peer_incl_svc *prev; + struct peer_incl_svc *incl_svc; + + prev = peer_incl_svc_find_prev(svc, incl_svc_handle); + if (prev == NULL) { + incl_svc = SLIST_FIRST(&svc->incl_svc); + } else { + incl_svc = SLIST_NEXT(prev, next); + } + + if (incl_svc != NULL && incl_svc->svc.handle != incl_svc_handle) { + incl_svc = NULL; + } + + if (out_prev != NULL) { + *out_prev = prev; + } + return incl_svc; +} + +static void +peer_incl_svc_delete(struct peer_incl_svc *incl_svc) +{ + os_memblock_put(&peer_incl_svc_pool, incl_svc); +} + +static int +peer_inc_add(struct peer *peer, uint16_t svc_start_handle, + const struct ble_gatt_incl_svc *gatt_incl_svc) +{ + struct peer_incl_svc *incl_svc; + struct peer_incl_svc *incl_svc_prev; + struct peer_svc *cur_svc; + struct peer_svc *svc; + struct peer_svc *prev; + + svc = peer_svc_find(peer, gatt_incl_svc->start_handle, &prev); + + if (!svc) { + /* secondary service */ + svc = os_memblock_get(&peer_svc_pool); + if (svc == NULL) { + /* out of memory */ + return BLE_HS_ENOMEM; + } + + memset(svc, 0, sizeof *svc); + svc->svc.start_handle = gatt_incl_svc->start_handle; + svc->svc.end_handle = gatt_incl_svc->end_handle; + memcpy(&svc->svc.uuid, &gatt_incl_svc->uuid, sizeof(ble_uuid_any_t)); + + SLIST_INIT(&svc->chrs); + SLIST_INIT(&svc->incl_svc); + + if (prev == NULL) { + SLIST_INSERT_HEAD(&peer->svcs, svc, next); + } else { + SLIST_INSERT_AFTER(prev, svc, next); + } + } + + /* Including the services into inlucding list */ + + cur_svc = peer_svc_find_range(peer, gatt_incl_svc->handle); + + if (cur_svc == NULL) { + /* Can't find service for discovered included service; this shouldn't + * happen. + */ + assert(0); + return BLE_HS_EUNKNOWN; + } + + incl_svc = peer_incl_svc_find(cur_svc, gatt_incl_svc->handle, &incl_svc_prev); + if (incl_svc != NULL) { + /* Already discovered */ + return 0; + } + + incl_svc = os_memblock_get(&peer_incl_svc_pool); + if (incl_svc == NULL) { + return BLE_HS_ENOMEM; + } + + incl_svc->svc = *gatt_incl_svc; + + if (incl_svc_prev == NULL) { + SLIST_INSERT_HEAD(&cur_svc->incl_svc, incl_svc, next); + } else { + SLIST_INSERT_AFTER(incl_svc_prev, incl_svc, next); + } + + BLE_HS_LOG(DEBUG, "Inc Service added with handle = %d", gatt_incl_svc->handle); + + return 0; +} + + +static int +peer_inc_disced(uint16_t conn_handle, const struct ble_gatt_error *error, + const struct ble_gatt_incl_svc *service, void *arg) +{ + struct peer *peer; + int rc; + + peer = arg; + assert(peer->conn_handle == conn_handle); + + switch (error->status) { + case 0: + rc = peer_inc_add(peer, peer->cur_svc->svc.start_handle, service); + break; + + case BLE_HS_EDONE: + peer_disc_incs(peer); + rc = 0; + break; + + default: + rc = error->status; + break; + } + + if (rc != 0) { + /* Error; abort discovery. */ + peer_disc_complete(peer, rc); + } + + return rc; +} + +static void +peer_disc_incs(struct peer *peer) +{ + struct peer_svc *svc; + int rc; + + if (peer->cur_svc == NULL) { + peer->cur_svc = SLIST_FIRST(&peer->svcs); + } else { + peer->cur_svc = SLIST_NEXT(peer->cur_svc, next); + if (peer->cur_svc == NULL) { + if (peer->disc_prev_chr_val > 0) { + peer_disc_chrs(peer); + return; + } + } + } + + svc = peer->cur_svc; + rc = ble_gattc_find_inc_svcs(peer->conn_handle, + svc->svc.start_handle, + svc->svc.end_handle, + peer_inc_disced, peer); + if (rc != 0) { + peer_disc_chrs(peer); + } +} +#endif + int peer_svc_is_empty(const struct peer_svc *svc) { @@ -575,6 +769,14 @@ peer_svc_delete(struct peer_svc *svc) { struct peer_chr *chr; +#if MYNEWT_VAL(BLE_INCL_SVC_DISCOVERY) || MYNEWT_VAL(BLE_GATT_CACHING_INCLUDE_SERVICES) + struct peer_incl_svc *incl_svc; + + while ((incl_svc = SLIST_FIRST(&svc->incl_svc)) != NULL) { + SLIST_REMOVE_HEAD(&svc->incl_svc, next); + peer_incl_svc_delete(incl_svc); + } +#endif while ((chr = SLIST_FIRST(&svc->chrs)) != NULL) { SLIST_REMOVE_HEAD(&svc->chrs, next); peer_chr_delete(chr); @@ -599,10 +801,16 @@ peer_svc_disced(uint16_t conn_handle, const struct ble_gatt_error *error, break; case BLE_HS_EDONE: + /* All services discovered; start discovering incs.*/ +#if (MYNEWT_VAL(BLE_INCL_SVC_DISCOVERY) || MYNEWT_VAL(BLE_GATT_CACHING_INCLUDE_SERVICES)) + peer->cur_svc = NULL; + peer_disc_incs(peer); +#else /* All services discovered; start discovering characteristics. */ if (peer->disc_prev_chr_val > 0) { peer_disc_chrs(peer); } +#endif rc = 0; break; @@ -773,6 +981,10 @@ peer_free_mem(void) free(peer_svc_mem); peer_svc_mem = NULL; +#if MYNEWT_VAL(BLE_INCL_SVC_DISCOVERY) || MYNEWT_VAL(BLE_GATT_CACHING_INCLUDE_SERVICES) + free(peer_incl_svc_mem); + peer_incl_svc_mem = NULL; +#endif free(peer_chr_mem); peer_chr_mem = NULL; @@ -780,8 +992,13 @@ peer_free_mem(void) peer_dsc_mem = NULL; } +#if MYNEWT_VAL(BLE_INCL_SVC_DISCOVERY) || MYNEWT_VAL(BLE_GATT_CACHING_INCLUDE_SERVICES) +int +peer_init(int max_peers, int max_svcs, int max_incl_svcs, int max_chrs, int max_dscs) +#else int peer_init(int max_peers, int max_svcs, int max_chrs, int max_dscs) +#endif { int rc; @@ -818,8 +1035,26 @@ peer_init(int max_peers, int max_svcs, int max_chrs, int max_dscs) goto err; } +#if MYNEWT_VAL(BLE_INCL_SVC_DISCOVERY) || MYNEWT_VAL(BLE_GATT_CACHING_INCLUDE_SERVICES) + peer_incl_svc_mem = malloc( + OS_MEMPOOL_BYTES(max_incl_svcs, sizeof(struct peer_incl_svc))); + + if (peer_incl_svc_mem == NULL) { + rc = BLE_HS_ENOMEM; + goto err; + } + + rc = os_mempool_init(&peer_incl_svc_pool, max_incl_svcs, + sizeof(struct peer_incl_svc), peer_incl_svc_mem, + "peer_incl_svc_pool"); + if (rc != 0) { + rc = BLE_HS_EOS; + goto err; + } +#endif peer_chr_mem = malloc( OS_MEMPOOL_BYTES(max_chrs, sizeof (struct peer_chr))); + if (peer_chr_mem == NULL) { rc = BLE_HS_ENOMEM; goto err; diff --git a/examples/bluetooth/nimble/power_save/main/main.c b/examples/bluetooth/nimble/power_save/main/main.c index 4028b29f6e..f9cc06e36b 100644 --- a/examples/bluetooth/nimble/power_save/main/main.c +++ b/examples/bluetooth/nimble/power_save/main/main.c @@ -625,9 +625,11 @@ app_main(void) rc = gatt_svr_init(); assert(rc == 0); +#if CONFIG_BT_NIMBLE_GAP_SERVICE /* Set the default device name. */ rc = ble_svc_gap_device_name_set("nimble-bleprph"); assert(rc == 0); +#endif /* XXX Need to have template for store */ ble_store_config_init(); diff --git a/examples/bluetooth/nimble/power_save/sdkconfig.defaults.mini b/examples/bluetooth/nimble/power_save/sdkconfig.defaults.mini new file mode 100644 index 0000000000..f8e34064fc --- /dev/null +++ b/examples/bluetooth/nimble/power_save/sdkconfig.defaults.mini @@ -0,0 +1,121 @@ +# Override some defaults so BT stack is enabled +# in this example + +# +# BT config +# +CONFIG_BT_ENABLED=y +CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y +CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n +CONFIG_BTDM_CTRL_MODE_BTDM=n +CONFIG_BT_BLUEDROID_ENABLED=n +CONFIG_BT_NIMBLE_ENABLED=y +CONFIG_BT_NIMBLE_MAX_CONNECTIONS=1 +CONFIG_BT_NIMBLE_MAX_BONDS=1 +CONFIG_BT_NIMBLE_MAX_CCCDS=1 +CONFIG_BT_NIMBLE_ROLE_CENTRAL=n +CONFIG_BT_NIMBLE_ROLE_OBSERVER=n +CONFIG_BT_NIMBLE_SM_SC=n +CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=n +CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT=n +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=6 +CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=12 +CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=12 +CONFIG_BT_NIMBLE_TRANSPORT_EVT_COUNT=15 +CONFIG_BT_NIMBLE_ATT_MAX_PREP_ENTRIES=15 +CONFIG_BT_NIMBLE_GATT_CLIENT=n +CONFIG_BT_ALARM_MAX_NUM=15 +CONFIG_BT_NIMBLE_PRINT_ERR_NAME=n +CONFIG_BT_NIMBLE_PROX_SERVICE=n +CONFIG_BT_NIMBLE_CTS_SERVICE=n +CONFIG_BT_NIMBLE_HTP_SERVICE=n +CONFIG_BT_NIMBLE_IPSS_SERVICE=n +CONFIG_BT_NIMBLE_TPS_SERVICE=n +CONFIG_BT_NIMBLE_IAS_SERVICE=n +CONFIG_BT_NIMBLE_LLS_SERVICE=n +CONFIG_BT_NIMBLE_SPS_SERVICE=n +CONFIG_BT_NIMBLE_HR_SERVICE=n +CONFIG_BT_NIMBLE_DIS_SERVICE=n + +# Enable support for power management +CONFIG_PM_ENABLE=y +# Enable tickless idle mode +CONFIG_FREERTOS_USE_TICKLESS_IDLE=y +# Set the tick rate at which FreeRTOS does pre-emptive context switching. + + + + +CONFIG_BT_ALARM_MAX_NUM=15 + +CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU=23 + +CONFIG_HEAP_POISONING_DISABLED=y + +CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y + +CONFIG_VFS_SUPPORT_TERMIOS=n +CONFIG_VFS_SUPPORT_DIR=n +CONFIG_VFS_SUPPORT_IO=n +CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE=3152 + +# FreeRTOS +CONFIG_FREERTOS_HZ=1000 +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1024 +CONFIG_FREERTOS_ISR_STACKSIZE=1024 +# Minimum number of ticks to enter sleep mode for +CONFIG_FREERTOS_IDLE_TIME_BEFORE_SLEEP=3 +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=4000 + +# C Library +CONFIG_LIBC_NEWLIB_NANO_FORMAT=y +CONFIG_LIBC_STDIN_LINE_ENDING_CRLF=n +CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=n + +# Optimization +CONFIG_COMPILER_OPTIMIZATION_SIZE=y +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE=y +CONFIG_COMPILER_CXX_EXCEPTIONS=n + +# Heap +CONFIG_HEAP_POISONING_DISABLED=y +CONFIG_HEAP_TRACING=n + +# Power Management +CONFIG_PM_ENABLE=n + +# No networking +CONFIG_ESP_WIFI_ENABLED=n + +# Application +CONFIG_APP_COMPILE_TIME_DATE=n + + +CONFIG_ESP_COEX_SW_COEXIST_ENABLE=n +CONFIG_ESP_ERR_TO_NAME_LOOKUP=n +CONFIG_SPI_MASTER_ISR_IN_IRAM=n +CONFIG_SPI_SLAVE_ISR_IN_IRAM=n +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=n +CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC=n +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=n +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=n +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=n +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=n + +#Uncomment below, if security needs to be disabled +#CONFIG_BT_NIMBLE_SECURITY_ENABLE=n + + +#Uncomment below, if logging needs to be disabled +#CONFIG_LOG_DEFAULT_LEVEL_NONE=y +#CONFIG_LOG_DEFAULT_LEVEL=0 + +# +# Controller Options +# + +CONFIG_BT_CTRL_BLE_MAX_ACT=2 +CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=1 +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=n +CONFIG_BT_CTRL_BLE_SCAN_DUPL=n